打印
[牛人杂谈]

VPW协议解析

[复制链接]
895|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小明的同学|  楼主 | 2020-3-11 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

使用特权

评论回复
沙发
小明的同学|  楼主 | 2020-3-11 22:15 | 只看该作者
刚看到,新唐有个单片机支持这个协议,不知道有没有人有这个协议的资料分享分享。

使用特权

评论回复
板凳
antusheng| | 2020-3-12 08:08 | 只看该作者
是个新的东西吗

使用特权

评论回复
地板
zhuomuniao110| | 2020-3-20 11:38 | 只看该作者
不是很懂。

使用特权

评论回复
5
mintspring| | 2020-3-20 15:36 | 只看该作者
车上用的一种通信协议?

使用特权

评论回复
6
wanduzi| | 2020-3-20 19:22 | 只看该作者
车辆上的通信协议?

使用特权

评论回复
7
wahahaheihei| | 2020-3-20 22:14 | 只看该作者
哪个汽车品牌用这个

使用特权

评论回复
8
598330983| | 2020-3-22 09:07 | 只看该作者
大于239us的低电平表示EOF
类似18B20那种利用脉冲长度表示。

使用特权

评论回复
9
conditio| | 2020-3-22 11:05 | 只看该作者
没听过这个协议,了解下涨点知识

使用特权

评论回复
10
wiba| | 2020-4-2 13:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
zljiu| | 2020-4-2 13:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
12
coshi| | 2020-4-2 13:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

135

主题

1425

帖子

2

粉丝