http://www.dpfdoctor.net/content/?220.html

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. 使用Setup Factory安装包制作工具制作安装包
  2. java 27 - 6 反射之 通过配置文件运行类中的方法
  3. android 缓存Bitmap 使用内存缓存
  4. ural 1156. Two Rounds
  5. dp与px之间的转换
  6. IntelliJ IDEA SVN的账号修改 信息清除
  7. requirejs 合并方案
  8. Java面向对象之抽象类,接口
  9. 利用Arduino快速制作Teensy BadUSB, 攻击计算机
  10. nodejs安装及故障解决
  11. eclipse下配置Spring环境
  12. SQLGetEnvAttr
  13. Golang socket
  14. Ubuntu下ClickHouse安装
  15. 新浪微博基于MySQL的分布式数据库实践
  16. 在SpringMVC中使用Jackson并格式化时间
  17. itunes connect 沙盒帐号地区的问题导致无法进行充值
  18. 13个实用的Linux find命令示例
  19. UndertowServer+SpringMVC+Thymeleaf模板引擎构建轻量级的web项目
  20. MongoDB集群搭建-分片

热门文章

  1. C#对Excel打印时,PageSetup 对象详解
  2. [再寄小读者之数学篇](2014-11-19 $\tan x/x$ 在 $(0,\pi/2)$ 上递增)
  3. XRPictureBox z
  4. 转:使用 JMeter 完成常用的压力测试
  5. InputFormat 总结
  6. DOM笔记(七):开发JQuery插件
  7. 数往知来SQL SERVER 视图 触发器 <九>
  8. CentOS下安装R
  9. 用js完成blog项目
  10. BITED-Windows8应用开发学习札记之三:如何在Win8应用中实现数据绑定