转自:http://blog.sina.com.cn/s/blog_bf97bd7e0102wl2y.html

这几天在公司看了SAE推行的 J1939标准(SAE:美国汽车工程协会),这里整理下学习要点,主要包含以下几个协议:

物理层 SAE  J1939-11(未看)

数据链路层  SAE  J1939-21

网络层 SAE  J1939-31(未看)

应用层 SAE  J1939-71

故障诊断 SAE  J1939-73

网络管理层 SAE  J1939-81

下面主要介绍数据链路层和应用层:

介绍前,首先介绍下缩写:

PGN:参数组(群)编号

PDU:协议数据单元

SPN:可疑参数编号

SOF:帧起始位

SRR:代用远程请求

RTR:远程传输请求

IDE:标识符扩展为

DLC:数据长度码

J1939-21 数据链路层:

数据链路层:为物理链接之间提供一种可靠的数据传输(发送CAN数据帧必需的同步、出错控制、顺序控制和流控制)。

有几个概念先介绍下:

帧 (Frame):组成一个完整信息的一系列有序的数据位;

其中CAN帧以帧起始(SOF)开始,以帧结束(EOF)结尾;

标准帧:定义为11位标识符

扩展帧:定义为29位标识符

报文(Message):一个或多个具有相同参数组编号(PGN)的CAN数据帧;(一个或多个

CAN数据帧具有相 同PGN号,就是报文)

包(Packet):一个单一的CAN数据帧就是1个包;(一个报文包含参数组的长度小于等

于8字节,也称为包)

多包报文:当具有相同参数组编号(PGN)的所有数据需要使用多个CAN数据帧来传输时使

用的一种J1939报 文。(每个CAN数据帧拥有相同的标识符,但每个包中数据不同)

协议数据单元(PDU):

格式如下图:

 

优先级

扩展数据页(保留)

数据页位

PDU格式

PDU特定域

源地址

数据域

P

R

DP

PF

PS

SA

DATA

3

1

1

8

8

8

8Byte

                 

其中,

优先级(P):3位用来表示优先级范围,所有控制 消息的缺省值是3(0112),其他所有信息、专用、请求和ACK的缺省优先级是6(1102)

数据页位(DP):数据页位选择参数群描述的辅助页。在分配页一的PGN之前,先分配完页零的可用PGN。

数据扩展页(EDP)和数据页(P)关系:

扩展数据页位

(EDP)

数据页位

(DP)

功能描述

0

0

SAE J1939 第0页PGN

0

1

SAE J1939 第1页PGN

1

0

SAE J1939 保留

1

1

定义位ISO 15765-3报文

PDU格式(PF)和PDU特定域(PS)的关系:

PDU格式(PF)

PDU格式

PDU特定域(PS)

PF<240

PDU1格式

PS是目标地址(DA)

PF = 240-255

PDU2格式

PS是组扩展(GE)值

 

PDU1和PDU2时的参数组编号(PGN)数目为:

EDP 

 

DP

PF

PS 

 

PDU1时参数组编号

0

0或者1

0-239

目标地址

 2X240(PF的值)=480

 

EDP

DP

PF

PS

PDU2时参数组编号

0

0或者1

 

240-255共16个数

组扩展值0-255

(共256个数)

2X16X256=8192

其中PGN计算公式为:

PGN = DP<<|PF<<8|PS;

例:数据页位:0,PDU格式:235,特定PDU段:目标地址(对于TP.CM_BAM数据传送使用全局地址(DA=255))(对于RTS/CTS数据传送不允许用全局地址)

则PGN = 235*256+0 = 60160(0xEB0016)

11101011<<8|0

多包发送:

BAM:广播通知/公告消息

DT:数据传送消息

多包数据发送拆装与重组:大于8字节消息发送,必须拆分,

拆分原则:数据域的首字节定义为数据包序列编号:1-255;

最大拆分数据长度是255包*7字节/包 = 1785个字节

其中,RTS(发送者),请求发送

CTS(响应者),准备发送

广播数据传送次序如下图:

上图中广播公告消息格式为(TP.CM_BAM):全局目标地址

字节:

1

控制字节=32,广播公告消息(BAM)

2,3

整个消息大小,字节数目

4

全部数据包的数目

5

保留给SAE设定使用,该字节应设为FF16

6-8

所装载数据的参数群编号

而数据传送消息格式(TP.DT):

Byte:       1           序列号 1-255(1Byte)

2-8         分组数据(7 Bytes)

注意多包参数组的最后一个包可能需要不到8个字节数据,

多余的字节填充0xff16

故障诊断

故障诊断代码DTC构成:

a、可以参数编号(SPN)

b、故障模式标志(FMI)

c、发生次数(OC)

d、可以参数标号的转换方式(CM)

其中,DM1:当前故障码(正在发送的所有故障)

DM2:历史故障码

DTC由四个字节构成

DTC

字节3

SPN低8位

(第8位为最高有效位)

字节4

SPN第2字节

(第8位为最高有效位)

字节5

SPN高3位(第8位为最高有效位)

FMI低5位(第5位为最高有效位)

字节6

SPN

FMI

CM

OC

8bit

3bit

5bit

1bit

7bit

CAN协议 J1939相关推荐

  1. 详解CAN的高层协议(三)

    CAN做为应用比较广泛的通信总线,受到了越来越多的客户喜欢和青睐,广泛应用于工业和汽车,常见的高层协议有CANopen,J1939,DeviceNet等,在公众号曾经分享过超过15篇有关CAN的高层协 ...

  2. 学习笔记10--CAN总线技术

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  3. 速锐得从冷链管理数字网关看工业物联网的发展与创新

    工业互联网倡导者将其称为"第三次创新".但如果真是这样,我们就仍处于发展初期,因为数字互联网技术的全部潜能尚未在工业技术领域全面实现. 我们可以看到智能设备和智能系统开始与工业机器 ...

  4. AUTOSAR协议解析篇(一)-J1939协议解析

    SAE J1939协议是基于CAN2.0B协议之上的应用层协议,但是SAE J1939协议并不仅仅是个应用层协议,她对物理层,数据链路层,网络层,应用层,故障诊断, 网络层管理层等都做了详细的规定,只 ...

  5. J1939协议中CAN ID 与PGN互换--遇到了广播报文

    Ref:J1939 Explained - A Simple Intro (2021)– CSS Electronics Ref:CAN 帧ID 与J1939 PGN 转换例子_horse_2007s ...

  6. UDS,ISO14229,ISO15765,ISO15031,J1939车辆诊断协议入门系列

    (图片来源于网络) 目录 摘要 1. 基础概念 1.1 诊断的概念 1.2 诊断的目标 1.3 诊断的实现 1.4 诊断是分层的 2. 项目应用 3. 协议栈开发 摘要 回想当年刚进去汽车行业,做新能 ...

  7. CAN2.0和J1939协议的关系

    转发自http://www.cankau.cn/support/help/can-vs-j1939.html 很长时间没搞明白j1939与CAN2.0的关系,这篇文章让我明白了. CAN2.0是一种总 ...

  8. J1939协议与CAN2.0对应关系图表

    SAE J1939 消息帧格式定义与CAN 2.0B帧格式对应关系 J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度.数据类型.分辨率.范围及参考标签,并为每个参数分配了一个 ...

  9. 使用Wireshark分析工控协议

    在工控系统中通信协议存在众多标准,也存在众多私有协议,如果你有过使用组态软件的经历,你便会发现,在第一步连接设备时除连接设备的方式有以太网/串行等方式外,各家基本上都存在自己的私有通信协议. 上图为, ...

  10. CANopen协议及应用

    文章目录 CANopen协议 CAN总线 CAN报文 CANopen概述 对象字典(Object Dictionary) 概述 通讯对象子协议区 制造商特定子协议 CANopen报文 NMT网络管理 ...

最新文章

  1. MySQL-数据类型
  2. CentOS7 1.搭建环境脚本
  3. linux实验三makefile,实验平台上Makefile详细的解释
  4. 超越cookie - 使用DOM sessionStorage和localStorage来保存更多信
  5. search engine
  6. 临时限速服务器系统ppt,临时限速系统讲解.pptx
  7. 【HDU - 4565】So Easy!【数学思维题】
  8. MFC windows程序设计(第三版)课后习题第一章
  9. Texture贴图材质资源网站分享
  10. 网络上的计算机找不到打印机,网络打印机找不到,详细教您网络打印机找不到怎么办...
  11. 摩申网络:浅析网络棋牌游戏用户群体
  12. 海尔全球十一连冠背后: 生态时代的无限游戏
  13. qrcode二维码生成工具
  14. 潮汕明代皇封御葬古墓受损追踪:当地相关部门介入
  15. 00812中国现当代作家作品专题研究简答论述题【湖北卷2110考期】
  16. 专利申请怎样做快速预审?
  17. Android 当EditextText失去焦点,或者点击Activity的时候关闭软键盘或者其他布局
  18. raid5阵列两块硬盘掉线如何恢复阵列中的数据库
  19. android 查找联系人方法(支持首拼,全拼,英文)
  20. 2018.8.21 广州科目三展茂东满分飘技巧

热门文章

  1. 计算机毕业论文指导过程记录表6,毕业论文指导记录表范文
  2. wiley期刊AMA-lato,latex字体安装问题
  3. chrome Flash Player离线安装包下载
  4. java基于Springboot+vue的鲜花销售商城网站
  5. 汇编语言中sbb是什么意思_汇编语言的所有指令
  6. 驰为hi8pro 刷win10单系统
  7. 阉割版BeagleBone Black从SD卡运行Debain操作系统
  8. python反编译_反编译 python
  9. python 趋势线计算式_[原创]图表趋势线公式系数的计算公式
  10. 测试用例设计方法-正交试验常用正交表