目录
简介
SAE J1850协议是由美国汽车工程师学会(SAE)制定的一个标准,主要用于汽车的诊断系统。SAE J1850协议有两种主要的实现方式:VPW(Variable Pulse Width)和PWM(Pulse Width Modulation)。这两种协议都被广泛用于汽车诊断通信,但它们在物理层和通信方法上有所不同。
1. SAE J1850 VPW协议(Variable Pulse Width)
VPW协议使用变宽脉冲的方式进行数据传输,通常用于较早的美国汽车(尤其是通用汽车)。VPW协议采用的传输速率为10.4 kbps(10400bps)。
- 工作原理:在VPW协议中,数据通过一个线(单线)进行传输,脉冲的宽度变化代表不同的数据位。通常,数据传输是基于两种状态:高电平和低电平。
- 通讯方式:在VPW协议中,通信通过变宽脉冲来传输信息。一个脉冲的宽度代表一个位(0或1)。脉冲宽度的变化形成了数据流,而接收端根据这些变化来解码数据。
- 特点:
单线通信:仅需要一根数据线进行传输。 较低的传输速率:41.6 kbps,适用于较老的车辆。
较简单的实现:使用较少的硬件和通信技术,适合当时的汽车电子系统
2. SAE J1850 VPW的波形特征
基础参数
采用单线传输(OBD接口的2号引脚),速率为10.4 Kbps。
逻辑电平:与PWM相同,高电平为4.25V~20V,低电平低于3.5V。
逻辑0与逻辑1的波形
逻辑0:由64 μs低电平或128 μs高电平表示(电平持续时间不同)。
逻辑1:由64 μs高电平或128 μs低电平表示。
帧结构:
SOF(起始位):200 μs高电平。
DATA(数据位):通过电平翻转表示数据(例如:前一次为高电平,翻转后若持续64 μs低电平则为逻辑0,若持续128 μs则为逻辑1)。
EOF(结束位):280 μs低电平。
3. SAE J1850 PWM协议(Pulse Width Modulation)
PWM协议使用的是脉宽调制的技术,也是一种用于汽车诊断的通信协议。和VPW不同,PWM协议的传输速率较高,通常为41.6 kbps(41600bps),并且采用不同的编码方式。
- 工作原理:PWM协议的传输数据是通过对脉冲宽度进行调制来传递信息。不同的脉冲宽度代表不同的数据位(0或1)。通常,PWM协议在信号的高电平部分有明确的标准定义,决定了数据的传输和接收方式。
- 通讯方式:数据传输基于脉冲的宽度,信号会在高电平和低电平之间切换,通过测量脉冲的宽度来获取数据。
- 特点:
使用调制技术:通过调制脉冲的宽度来编码数据。 相对较高的传输速率:41.6 kbps,与VPW协议相同,但它实现的数据传输方式不同。
适用于不同车型:尤其是福特等汽车制造商采用此协议进行车辆诊断和信息交换。
4. SAE J1850 PWM的波形特征
基础参数
采用双线差分传输(OBD接口的2号和10号引脚),速率为41.6 Kbps。
逻辑电平:高电平为4.25V~20V,低电平低于3.5V。
逻辑0与逻辑1的波形
逻辑0:周期固定为24 μs,其中高电平持续16 μs(上升沿),低电平持续8 μs(下降沿)。
逻辑1:周期同样为24 μs,但高电平仅持续8 μs(上升沿),低电平持续16 μs(下降沿)。
帧结构:
SOF(起始位):48 μs高电平。
DATA(数据位):按上述逻辑0/1的周期组合排列。
EOF(结束位):72 μs低电平。
5.波形对比总结
参数 | PWM(脉宽调制) | VPW(可变脉宽调制) |
---|---|---|
传输方式 | 双线差分(2号+10号引脚) | 单线(仅2号引脚) |
位周期 | 固定24 μs | 可变(64 μs或128 μs) |
逻辑0 | 高电平16 μs + 低电平8 μs | 64 μs低电平或128 μs高电平 |
逻辑1 | 高电平8 μs + 低电平16 μs | 64 μs高电平或128 μs低电平 |
起始位 | 48 μs高电平4 | 200 μs高电平15 |
结束位 | 72 μs低电平4 | 280 μs低电平15 |
6.SAE J1850 VPW与PWM的区别
特性 | SAE J1850 PWM | SAE J1850 VPW |
---|---|---|
传输方式 | 双线差分(引脚2和10) | 单线(仅引脚2) |
速率 | 41.6 kbps | 10.4 kbps |
逻辑编码 | 正负脉冲宽度表示0/1 | 高/低电平宽度表示0/1 |
主要应用车型 | 福特、马自达 | 通用、克莱斯勒 |
抗干扰能力 | 高(差分信号) | 中(依赖信号滤波) |
硬件成本 | 较高(需双线收发器) | 较低(单线设计) |
这些协议为汽车电子系统提供了诊断和数据交换的基础,使维修技师能够与汽车的ECU(电子控制单元)进行交互,从而进行故障排查、数据读取和系统调整等工作。