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. uploadify scriptData参数无法传参的问题

    最近需要使用到uploadify,需要向后台传递参数,使用script最多只能够传递一个参数,当然也可以通过合并参数然后再在服务器段拆分参数的方法来传递多个参数,而uploadify插件提供的scri ...

  2. postgresql编译安装与调试(二)

    接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在 ...

  3. DOS攻击和DDOS攻击有啥区别啊

    DDOS是DOS攻击中的一种方法. DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务. ...

  4. 【HTTP】GET和POST的区别

    [HTTP]GET和POST的区别   HTTP定义了与服务器交互的不同方法,最基本的方法有四种:GET.POST.PUT.DELETE. URL全程是资源描述符,用于描述网上的资源.以上四种方式就是 ...

  5. 黑马程序员——Foundation中的OC结构体

    <span style="font-size:14px">------<a target="_blank" href="http:/ ...

  6. Java 面向对象概念

    Interface 接口 An interface defines a protocol of communication between two objects. An interface decl ...

  7. FlatBuffers要点

    FlatBuffers发布出来一周多,周末便抽时间先研究下它的使用方法.Flatbuffers的idl的语法主要参考[http://google.github.io/flatbuffers/md__s ...

  8. django 搭建自己的博客

    原文链接:http://www.errdev.com/post/4/ 每一个爱折腾的程序员都有自己的博客,好吧,虽然我不太喜欢写博客,但是这样骚包的想法却不断涌现.博客园虽好,可以没有完全的掌控感,搭 ...

  9. poj 1581 A Contesting Decision

    题目大意:有四个题目,有某些队做题,写一个判断程序如:Stars 2 20 5 0 4 190 3 220Stars是队名,2是提交的次数,20是花费的时间,花费时间为0则说明题目提交错误,错误的忽略 ...

  10. 如何调试最新的asp.net mvc源码

    vs2013调试 一.源码当前为5.2.0.0,按下面改为5.0.0.1 二./web.config 版本为5.0.0.0 改为5.0.0.1 三.vs2013 x86 本机工具命令提示 sn.exe ...