http://www.fastfieros.com/tech/vpw_communication_protocol.htm

Breakdown of the j1850 3 byte Header format

Byte1 = priority

Bits 7,6 and 5 are priority 0=High, 7=Low

Bit 4 is header style (0=3 byte header-GM, 1=1 byte header-??)

Bit 3 is In Frame Response (0=Required-Ford, 1=Not allowed-GM)
Bit 2 is addressing mode (1=Physical, 0=Functional)
Bit 1,0 is message type: (depending on bit 2 and 3 see below)

Bit 3 2 1 0
-----------
Functional

1 0 0 0 Function
1 0 0 1 Broadcast
1 0 1 0 Query
1 0 1 1 Read

Physical

1 1 0 0 Node to Node
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

Byte2 = physical ID of destination

Byte3 = physical ID of source 

Typical Physical ID's, PCM = $10, Off-board scan tool = $F1

Header Byte 

$48 : 001-0-1-0-00 : Priority 1, 3 byte header,  In Frame Response Not Alloed ( GM), Functional Addressing

$68 : 011-0-1-0-00 : Priority 3, 3 byte header,  In Frame Response Not Alloed ( GM), Functional Addressing

$6C : 011-0-1-1-00 : Priority 3, 3 byte header,  In Frame Response Not Alloed ( GM), Physical Addressing

Functional Addresses:

ID           Function
-----       ----------------------------
$6A       Request Legislated Diagnostics (bit 0 (W bit) = 0 Command)
$6B       Report Legislated Dianostics (bit 0 (W bit) = 1 Status)

Request current value of PID ($00..$20)

Send: $68,$6A,$F1 :$01,$PID

Recv: $48,$6B,$10 : $41,$PID,[up to 5 data bytes]

Physical Node Addresses:

ID                 Module
---------       ----------------------------
$00-$1F Powertrain controllers

$00-$0F Integration/Manufacturer Expansion
$10-$17 Engine controllers
$18-$1F Transmission controllers

$20-$3F Chassis controllers

$20-$27 Integration/Manufacturer Expansion
$28-$2F Brake controllers
$30-$37 Sterring controllers
$38-$3F Suspension controllers

$40-$C7 Body controllers

$40-$57 Integration/Manufacturer Expansion
$48-$5F Restraints
$60-$6F Driver information/Diplays
$70-$7F Lighting
$80-$8F Enterntainment
$90-$97 Personal communications
$98-$9F Climate control (HVAC)
$A0-$BF Convenience (doos, Seats, Windows, etc.)
$C0-$C7 Security

$C8-$CB Electric Vehicle Energy Transfer System (EV-ETS)

$C8 Utility connection services
$C9 AC to AC conversion
$CA AC to DC conversion
$CB Energy storage management

$CC-$CF Future expansion

$D0-$EF Manufacturer specific

$F0-$FD Off-Board Testers/Diagnostic scan tools

$FE All nodes

$FF Null node

Examples of VPW Code (Functional Messages)
For the OBDII mandated diagnostics, requsts are actually made to the functional address $6A,
with whatever processor is responsible for this function answering the request.
Theoretically many different processors can respond to a single functional request,
each contributing their insight as to the information requested.

Request current value of PID ($00..$20):

  • Send: $68,$6A,$F1,$01,$PID
  • Recv: $48,$6B,$10,$41,$PID,[up to 5 data bytes]

Request freeze frame value of PID ($00..$20):

  • Send: $68,$6A,$F1,$02,$PID,$FRAME
  • Recv: $48,$6B,$10,$42,$PID,$FRAME,[up to 5 data bytes] 
    where FRAME is $01..$06 and is the freeze frame number from which to retrieve the PID's history data.

Examples of VPW Code (Physical Messages)

Request GM VIN:

  • Send: $6C,$10,$F1,$3C,$01
  • Recv: $6C,$F1,$10,$7C,$01,[VIN segment 1 data]
  • Send: $6C,$10,$F1,$3C,$02
  • Recv: $6C,$F1,$10,$7C,$02,[VIN segment 2 data]
  • Send: $6C,$10,$F1,$3C,$03
  • Recv: $6C,$F1,$10,$7C,$03,[VIN segment 3 data]

Request GM PCM#:

  • Send: $6C,$10,$F1,$3C,$04
  • Recv: $6C,$F1,$10,$7C,$04,[PCM #, 4 data bytes]

Request enhanced PID ($0000..$FFFF):

  • Send: $6C,$10,$F1,$22,$PID-hsb,$PID-lsb,$01
  • Recv: $6C,$F1,$10,$62,$PID-hsb,$PID-lsb,[up to 5 data bytes]

Requesting a DTC

The $XX byte in the following command: $6C,$10,$F1,$19,$XX,$FF,$00 
is the status byte. It has the following "bitmapped" values:

  • $80 - MIL is illuminated
  • $40 - Pending trouble code
  • $20 - Old code - MIL was illuminated for this code but is no longer illuminated.
  • $10 - History code with freeze frame data available.
  • $08 - Manufacturer specific status (I do not know what this means).
  • $04 - Manufacturer specific status (I do not know what this means).
  • $02 - Current code.
  • $01 - Immature code.

To get real trouble codes you should request only
$80+$10+$02=$C2

To get real trouble codes AND pending trouble codes request:
$80+$40+$10+$02=$D2

VPW Communication Protocol的更多相关文章

  1. Vehicle’s communication protocol

    http://www.crecorder.com/techInfo/commuProtocols.jsp COMMUNICATION PROTOCOLS A “communication protoc ...

  2. MySQL8.0.16新特性:The Communication Protocol In Group Replication

    MGR优雅升级到MySQL8.0.16 传统的升级手段之一,5.7 MGR集群与8.0 MGR集群进行数据传输,程序切换新集群后测试是否正常. 如果不正常,要么将新集群的新增数据同步回旧集群,要么就舍 ...

  3. DB2 和 有道词典冲突: A communication error has been detected. Communication protocol being used: Reply.fill().

    我在本机安装了DB2 9.5. 使用java jdbc连接,一直没有问题. QC for db2 连接 也一直没有问题. 突然有一天 Java程序连接 报错: A communication erro ...

  4. Serial Communication Protocol Design Hints And Reference

    前面转载的几篇文章详细介绍了UART.RS-232和RS-485的相关内容,可以知道,串口通信的双方在硬件层面需要约定如波特率.数据位.校验位和停止位等属性,才可以正常收发数据.实际项目中使用串口通信 ...

  5. 无线电源传输 Wireless Power Consortium (WPC) Communication

    Universally Compatible Wireless Power Using the Qi Protocol Wireless charging of portable electronic ...

  6. Design Your Own Protocol In Five Minutes

    https://mayaposch.wordpress.com/2011/10/03/design-your-own-protocol-in-five-minutes ---------------- ...

  7. 分布式计算 要不要把写日志独立成一个Server Remote Procedure Call Protocol

    w https://en.wikipedia.org/wiki/Remote_procedure_call In distributed computing a remote procedure ca ...

  8. 前端学HTTP之网络基础

    × 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...

  9. WCF学习系列二---【WCF Interview Questions – Part 2 翻译系列】

    http://www.topwcftutorials.net/2012/09/wcf-faqs-part2.html WCF Interview Questions – Part 2 This WCF ...

随机推荐

  1. Apache PHP 安装问题 (SUSE Linux)

    1. SUSE Linux配置命令如下: './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql' 2. 接下来 ...

  2. ECSide标签属性说明之<ec:table>

    <ec:table>标签说明 ◆ 属性: tableId描述: 设置列表的唯一标识,默认为"ec",当一个页面内有多个ECSIDE列表时,必须为每个列表指定不同的tab ...

  3. 1.解剖Linq to object

    LINQ想必大家都不陌生了,它的出现使得我们的代码变得更短.更优雅了.至于LINQ是什么,Linq to object这类的扩展方法到底做了些什么.我们使用的EF是如何实现的(如何解析Expressi ...

  4. Dyslexic Gollum

    题意: 求长度是n的二进制串中,不含长度大于等于k的回文串的个数 分析: dp[i][j][k]表示长度i,后11位状态是j不含长度大于等于k的回文串的个数(因为k最大是10,所把后11位状态压缩,d ...

  5. 【转】linux打包压缩命令

    转自:http://www.cnblogs.com/end/archive/2011/04/20/2022614.html tar命令 [root@linux ~]# tar [-cxtzjvfpPN ...

  6. 精品手游《里奥的财富》高清版逆向移植家用机与PC平台(转)

    冒险动作游戏<里奥的财富>于去年10月登陆移动平台,曾荣获App Store“年度优秀游戏”.开发商宣布将推出其HD版本,近期会陆续登陆PS4.PC.MAC.Xbox One平台. 由瑞典 ...

  7. cocos2dx 水波纹Shader

    // on "init" you need to initialize your instance bool HelloWorld::init() { ////////////// ...

  8. C语言实现strlen

    strlen: #ifndef STRLEN_H #define STRLEN_H #include <stdio.h> // 参考微软的写法 int cat_strlen(const c ...

  9. Leetcode 210 Course Schedule II

    here are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prere ...

  10. 棒棒的毛笔字PS教程

    跟大家分享一下毛笔字怎么做出来的,主要通过字体和素材叠加,十分简单,喜欢的一起练习.做完记得交作业. 先看看最终效果: 在网上是不是经常看这些碉堡了的毛笔感觉是不是很羡慕啊,现在我就教大家怎么做出这样 ...