完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
SAE J1850 VPW协议也是OBD II标准中的一种,通常应用于GM车系中。 VPW英文全称是Variable Pulse Width Modulated,即可变脉宽调制。 下面从物理层特性、电平接口、帧结构、命令交互、交互时间参数、常用命令字等几个方面来介绍这种协议。 Ø 物理层特性: 采用10.4KB/S的波特率;通讯电平通常为7.5V;每个字节采用8位二进制数形式,没有起始位、停止位和校验位;通讯引脚为J1850 BUS+,既为OBD-2PIN。 Ø 电平接口: 协议通讯采用10.4Kbps VPW方式,初始电平为0V,在第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在tools命令的基础上+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。 同一帧命令中的字节与字节之间无时间间隔。 Ø 常用命令字: GM车型中的常用命令字: 系统进入:20H 数据流设置:2CH 数据流读取:2AH 读故障码:19HH 清除故障码:14H 读版本信息:3CH OBD II中常用命令字: 读数据流:01H 读故障码:03H 清除故障码:04H 读版本信息:09H |
|
相关推荐
1个回答
|
|
Ø 帧结构:VPW协议通讯帧包含:同步字节、模块ID、数据字节和校验字节四部分。其中同步字节用于标识通讯开始,模块ID用于标识接收方模块,数据字节用于传输实际数据,校验字节用于检验数据的正确性。
Ø 命令交互:在VPW协议中,通常由车载诊断仪向车辆电子控制单元(ECU)发送诊断命令,ECU收到命令后根据命令内容进行数据传输或者执行相应的操作,然后将结果返回给诊断仪。 Ø 交互时间参数:VPW协议中定义了一些时间参数,如交互超时时间、接收响应时间等,用于控制命令交互的时序和可靠性。 Ø 常用命令字:VPW协议中定义了一些常用的命令字,如读取故障码、清除故障码、读取实时数据等。这些命令可以通过车载诊断仪发送给ECU,用于诊断车辆故障和获取车辆状态信息。 总体来说,VPW协议是一种较为简单的OBD II通讯协议,具有较高的可靠性和实时性,但由于其波特率较低,数据传输速度较慢,数据传输容量也有限。 |
|
|
|
只有小组成员才能发言,加入小组>>
3294 浏览 9 评论
2970 浏览 16 评论
3473 浏览 1 评论
9023 浏览 16 评论
4061 浏览 18 评论
1140浏览 3评论
589浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
579浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2313浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1876浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:37 , Processed in 1.288349 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号