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. bootstrap-datetimepicker在经过GC(Google Closure Compiler)压缩后无法使用的解决方案

    将压缩级别由simple改成whitespace 问题就是这样之后压缩后的文件大了很多 <?xml version="1.0"?> <project name=& ...

  2. Linux中用stat命令查看文件时3个时间点解析

    有些时候,我们需要在Linux中使用stat命令来查看文件的详细信息.另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下. 首先,我 ...

  3. 白盒测试之初识gtest工具

    因为公司最近对软件产品质量提高了要求,之前项目组中黑盒测试方法就越来越无法满足公司的要求.虽然作为研发,但是也要求对白盒测试有一个系统的了解(毕竟之前没有系统的接触过白盒测试). 单元测试工具有很多种 ...

  4. LeetCode Database: Consecutive Numbers

    Consecutive Numbers Write a SQL query to find all numbers that appear at least three times consecuti ...

  5. 二叉树单色路径最长&&穿珠子

    对树的操作,特别理解递归的好处. //对于一棵由黑白点组成的二叉树,我们需要找到其中最长的单色简单路径,其中简单路径的定义是从树上的某点开始沿树边走不重复的点到树上的 //另一点结束而形成的路径,而路 ...

  6. bundle install rake-10.4.2

    这个是由于被墙了的原因,提供一个不用FQ解决的方法 淘宝做了一个gem镜像,地址是http://ruby.taobao.org/  为什么有这个? 由于国内网络原因(你懂的),导致 rubygems. ...

  7. 使用arm开发板搭建无线mesh网络(一)

    由于项目的需要,老板让我使用arm开发板(友善之臂的tiny6410)搭建无线mesh网络.一般而言,无线自组织网络的网络设备都是由用户的终端设备来充当,这些终端设备既要处理用户的应用数据,比如娱乐, ...

  8. js 剪切板应用clipboardData

    http://blog.csdn.net/fox123871/article/details/6454634 <a href="http://blog.csdn.net/fox1238 ...

  9. Hadoop系列(二)hadoop2.2.0伪分布式安装

    一.环境配置 安装虚拟机vmware,并在该虚拟机机中安装CentOS 6.4: 修改hostname(修改配置文件/etc/sysconfig/network中的HOSTNAME=hadoop),修 ...

  10. WPF 简介

    简介 一.   WPF产生的背景 因为人们的生活水平不断提前,审美观也随着提升,而软件的应用发展水平目前无法赶上大家的审美观和使用要求:比如:像电影中的软件能够方便的使用,而且有动态的效果同时附加形象 ...