VPW_BUS协议
来源:互联网 发布:恒指用什么软件看盘 编辑:程序博客网 时间:2024/06/06 18:09
SAE J1850 VPW协议是OBDII标准中的一种,通常用于GM车系中。
VPW:可变脉宽调制
物理层特性:
采用10.4KB/S的波特率,通讯电平通常为7.5V,每个字节采用8位二进制数形式,没有起始位、停止位和校验位。通讯引脚为J1850Bus+,即为OBD-2PIN。
电平接口:
初始电平为0,在第1帧数据前有一个163至239微妙(us)的高电平表示SOF(帧头即数据开始标志)
接下来以不同长短的高低电平表示二进制数据0或1,其中:
高电平宽度介于34-96us表示“1”,高电平宽度介于96-163us表示“0”
低电平宽度介于34-96us表示“0”,高电平宽度介于96-163us表示“1”
传输时按字节顺序,且每个字节都是高位在前,低位在后的顺序,高低电平相间用于表示传输的数据,字节与字节之间没有间隔,传送完一帧数据之后有一个宽度大于239us的电平表示EOF(帧尾即帧结束标志)
帧结构:
GM车型中的帧结构:
tools:0x6c+ECU地址+设备地址+Fun_ID+(command information)+CRC
ECU:0x6c+设备地址+ECU地址+Fun_ID+(command information)+CRC
OBDII中的帧结构:
Tools:0x68+0x6a+ECU地址+Fun_ID+(command information)+CRC
ECU:0x48+0x6b+设备地址+Fun_ID+(command information)+CRC
ECU地址为每个系统的标示号,设备地址一般为0xF1或0xF0;
而Fun_ID为不同功能的标示号,ECU响应的Fun_ID在tool命令的基础上+0x40;
CRC(循环冗余校验)为校验字节。
命令交互:
命令交互通常情况下为1对1,但也存在1对多或者多对1的情况。
例子:
GM:
Tools: 6CH 10H F1H 20H 64H
ECU: 6CH F1H 10H 60H 72H
OBDII:
Tools: 68H 6AH F1H 01H 00H 17H
ECU: 48H 6BH 10H 41H 00H BEH 3FH B8H 10H C9H
在命令交互中,因为发送命令的对象不一样,所以目标地址和源地址是进行了互换;
同时,ECU相应设备的命令字在设备命令字的基础上+0x40
交互时间参数:
设备发出命令后到ECU应答命令的时间间隔为320微秒(us)到100毫秒(ms)
ECU应答命令后到设备发下一条命令的时间间隔为320微秒(us)到100ms
如果设备或ECU同时发送多帧命令时,每帧之间的时间间隔为3到5ms.
同一帧命令中的字节与字节之间无时间间隔。
- VPW_BUS协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- 协议
- Java基础8(Javaoo3)——继承
- java比较日期大小
- 洛谷2085最小函数值(minval) + 洛谷1631序列合并
- 成长,进一寸有一寸的欢喜
- 数据分组-可视分箱
- VPW_BUS协议
- [hdu 5952 Counting Cliques]暴搜
- 数据结构实验之串一:KMP简单应用
- BP神经网络初识
- 【NOIP 模拟题】[T1](递推+乱搞)
- Codeforces Gym 101061 J Cola (巧妙的思维题)
- 简单的SpringMvc实例
- Linux内核结构
- 2016.10.30