J1939协议简介

合集下载

J1939介绍

J1939介绍

8 bits
8 bits
源地址 8 bits
表示PDU2 表示PDU1
SAE 1939/21 – 帧格式
J1939 的29位标志符是按下图构建的:
优先级, 3 bits
保留位, 1 bit 数据页, 1 bit PDU 格式(PF), 8 bits PDU细节 (PS), 8bits 源地址
仲裁处理过程中使用报文的优先级, 8个等级, 0表示最高级 ,7表示最低级 以备将来使用,默认为0 一般设为 0, 若设为1表示扩展参数组数目 定义报文的类型:广播或者目的地址 它的定义取决于PDU格式(PF)域的内容
SAE 1939汽车内部网络
SAE J1939
SAE J1939体系结构
SAE 1939概述
• SAE J1939
– J1939 是 SAE定义,卡车与公共汽车电气电子委员会控制与通信网络分 会开发的一个规范汽车内部网络的标准。该协议主要使用在重型交通工 具上 (比如卡车、大巴车、拖拉机等) 。
十进制为: 61444
实例 – J1939/71
实例- 数据
Data FF
FF
82
DF
1A
FF
FF
FF
Byte
Position 1
2
3
4
5
6
7
8
在例子中,数据字 1, 2, 6, 7 ,8 无效,因此设置为 0xFF。没有任何参数的有效 值是 0xFF的
实例 – J1939 报文
Data FF
SAE 1939/11 – 物理特性
• 物理特性
– 屏蔽双绞线。 – 最远距离40米。 – 速率为250 kbit/s。 – 最多可连接30个节点(ECUs)。 – 基于ISO11898标准。 – 在 ECU 和总线之间可以用分支短线直接连接起来。 – 网络由网段组成,之间用网桥连接。

1939 故障诊断协议

1939 故障诊断协议

J1939故障诊断协议本协议旨在明确在J1939通讯协议下,故障诊断过程中各方的责任、权利和义务,以确保故障诊断的准确性和高效性。

本协议适用于采用J1939通讯协议进行故障诊断的所有相关方。

一、协议范围本协议适用于使用J1939通讯协议进行故障诊断的车辆、设备和系统,包括但不限于商用车、工业设备和农业机械等。

二、术语定义1.J1939通讯协议:一种用于车辆通信的网络协议,广泛应用于商用车、工业设备和农业机械等领域。

2.故障诊断:通过对车辆、设备和系统的运行状态进行监测和分析,识别并定位故障的过程。

3.故障码:用于标识特定故障的一组代码,便于故障诊断和维修。

三、协议内容1.故障诊断流程(1)相关方应遵循J1939通讯协议的标准和规范进行故障诊断。

(2)在故障诊断过程中,相关方应确保数据的准确性和完整性,并及时共享必要的信息。

(3)故障诊断完成后,相关方应提供详细的故障报告和维修建议。

— 1 —2.故障码管理(1)相关方应建立统一的故障码管理体系,确保故障码的准确性和一致性。

(2)相关方应及时更新和维护故障码数据库,以便在故障诊断过程中快速准确地识别故障。

3.技术支持和培训(1)相关方应提供必要的技术支持和培训,确保故障诊断人员具备相应的技能和能力。

(2)相关方应定期评估故障诊断人员的技能水平,并提供必要的培训和提高计划。

四、协议执行和监督1.本协议的执行和监督由相关方共同负责。

2.相关方应定期评估协议的执行情况,并对存在的问题进行及时改进和优化。

3.对于违反本协议规定的行为,相关方有权采取相应的措施予以纠正和处理。

五、附则1.本协议未尽事宜可由相关方另行协商补充。

2.本协议的修改和终止应由相关方共同协商决定。

3.本协议自签署之日起生效,有效期为______年。

到期后可根据实际情况进行续签或修改。

— 2 —。

j1939协议

j1939协议

j1939协议
J1939协议是一种面向车辆电子控制系统的通信协议。

它是由美国卡车制造商和发动机制造商联合制定,主要用于汽车、卡车和工程机械等领域中各种电子设备之间的通讯。

J1939协议采用了CAN总线通讯方式,并且在CAN 数据
帧中设置有特定的标识符和数据格式,以保证各个设备之间的通讯与协同。

J1939协议可应用于各种车辆控制系统中的所有
功能,例如:发动机控制、变速器控制、制动系统、显示器、灯光控制等。

通过J1939协议,一个设备可以与其他设备进行双向通信。

J1939协议定义了许多参数集(PGN)和服务集(SPN)。

PGN包含协议中的所有信息,是通信的最小单位,用于定义消
息的内容和分区。

例如,PGN65265(0x00FEE1)是汽车接近传感器信息的标准信息,包含了车辆的距离、速度和车道信息。

而SPN则是一个16位的数字,用于表示参数的识别号。

它指
定了每个参数的编码方式、数据格式和范围等信息。

例如,SPN100(0x0064)表示刹车踏板信号的实际值。

J1939协议在实际应用中具有广泛的应用,例如车辆故障诊断、车辆远程监控、车辆自动驾驶等。

通过使用J1939协议,车辆控制系统中的各个设备可以高效地协同工作,有效地提高了汽车的安全性和可靠性。

同时,也为汽车制造商提供了更多的数据和故障诊断信息,促进了汽车制造和维修的进一步发展。

j1939协议

j1939协议

j1939协议J1939协议是一种用于重型商用车辆之间通信的协议。

该协议基于CAN总线,旨在提供一种标准化的数据通信方式,以便不同设备之间可以相互交换信息。

J1939协议定义了一套规范,包括消息格式、数据结构和网络管理等方面的内容。

它为商用车辆提供了一种灵活的通信方式,使不同的设备可以通过CAN总线发送和接收信息。

J1939协议的消息格式是基于CAN数据帧的,由一个11位的标识符和一个8字节的数据字段组成。

标识符用于标识不同类型的消息,而数据字段则用于传输实际的数据。

在J1939协议中,有一些预定义的消息格式,如DM1、DM2和TPDT等。

这些消息格式包含了与车辆故障诊断和数据传输相关的信息。

通过这些消息格式,设备可以向车辆发送警告信息,并接收来自车辆的故障诊断数据。

除了消息格式外,J1939协议还定义了一套数据结构和网络管理规则。

数据结构用于描述不同类型的数据,在传输过程中保持一致性和可靠性。

而网络管理规则用于管理CAN总线的通信,包括网络初始化、错误处理和带宽分配等。

J1939协议在重型商用车辆中有广泛的应用。

例如,它可以用于车辆的故障诊断系统,通过发送故障码来检测和诊断车辆的故障。

它还可以用于车辆的监控系统,通过传输车辆状态数据来实时监测车辆的性能。

此外,J1939协议还支持数据传输和实时控制。

通过发送和接收数据报文,设备可以实现实时的数据传输和控制功能。

例如,它可以用于车辆的制动系统,通过发送制动指令来控制车辆的制动力。

总体而言,J1939协议为重型商用车辆提供了一种标准化的数据通信方式。

它通过定义消息格式、数据结构和网络管理规则,使不同设备之间可以方便地进行信息交换。

这种通信方式不仅提高了车辆的性能和可靠性,还为车辆的故障诊断和数据传输提供了便利。

J1939协议

J1939协议

J1939协议一、协议目的本协议旨在规范和定义J1939协议的通信规则和数据格式,以便确保各种车辆和设备之间的互操作性和数据交换的一致性。

二、协议范围本协议适用于使用J1939协议进行通信的各种车辆和设备,包括但不限于商用车辆、农业机械、建筑设备、发电机组、船舶和工业自动化设备等。

三、术语和定义1. J1939协议:一种用于车辆和设备之间的通信的协议,基于CAN总线技术。

2. 数据帧:J1939协议中的数据传输单元,包含源地址、目标地址、数据内容等信息。

3. 参数组:J1939协议中的一种数据结构,用于封装和传输特定的数据项。

4. PGN:参数组号码(Parameter Group Number),用于唯一标识一个参数组。

5. SPN:信号参数号码(Suspect Parameter Number),用于唯一标识一个参数组中的一个信号。

四、协议规则1. 数据帧格式1.1 数据帧由CAN总线上的标准帧组成,帧格式为11位标识符。

1.2 数据帧包含11位标识符、数据长度代码(DLC)、数据字节和CRC校验码。

1.3 数据帧的标识符中包含源地址、优先级、数据页、PGN等信息。

1.4 数据帧的DLC定义了数据帧中数据字节的数量。

1.5 数据帧的CRC校验码用于验证数据的完整性。

2. 参数组格式2.1 参数组由一个PGN和一个或多个SPN组成。

2.2 PGN由18位标识符的前3个字节组成。

2.3 SPN由16位标识符的后两个字节组成。

2.4 参数组中的数据按照大端字节序排列。

3. 数据传输3.1 数据传输通过CAN总线进行。

3.2 数据帧的发送和接收由源地址和目标地址进行控制。

3.3 数据传输的优先级由数据帧的标识符中的优先级字段确定。

3.4 数据传输的频率和时序由应用层协议定义。

4. 错误处理4.1 错误帧:当接收到错误的数据帧时,应立即发送错误帧作为响应。

4.2 错误处理机制:错误处理机制应能够检测和处理数据传输过程中的错误,包括但不限于传输错误、接收错误和校验错误等。

最新J1939协议理解资料

最新J1939协议理解资料

J1939协议理解今天读了只939协议的介绍文档,下面主要说说我的理解:1、网络应用分为几个层物理层 SAE J1939-11数据链路层SAE J1939-21网络层 SAE J1939-31应用层 SAE J1939-71故障诊断SAE J1939-73网络管理层SAE J1939-812、下面主要说说数据链路层和应用层数据链路层:为物理连接之间提供可靠的数据传输。

包括发送CAN数据帧所必需的同步、顺序控制、出错控制和流控制。

首先要明白几个概念PGN:参数组编号帧(Frame):组成一个完整信息的一系列有序的数据位。

帧又被划分成几个域,每个域包括了预定义类型的数据。

CAN数据帧(CAN Data Frame):组成CAN协议帧所必需的有序位域,以帧起始(SOF) 开始以帧结束(EOF)结尾。

标准帧(Standard Frame):CAN2.0A规范中定义的使用11位标识符的CAN数据帧。

扩展帧(Extended Frame):CAN2.0 B规范中定义的使用29位标志符的CAN数据帧。

包(Packet):一个单一的CAN数据帧就是一个包。

当一条报文包含参数组的数据长度小于等于8个字节时,这样的报文也称为包。

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

也就是说只要一个或多个CAN数据帧具有相同的PGN号,那他们就是属于一个报文。

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

每个CAN数据帧拥有相同的标识符,但在每个包中数据不同。

协议数据单元PDU的格式PDUH.------------------------------------------29精品文档PDU是J1939传输数据的格式,它基于CAN协议的扩展帧传输方式。

即它的标识符是29位的。

优先级:最高0 (000)设置到最低7(111)。

J1939应用层协议详细描述

J1939应用层协议详细描述

J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度、数据类型、分辨率、范围及参考标签,并为每个参数分配了一个编号(SPN)。

由于J1939协议是以协议数据单元(PDU)的形式进行传输,而一个PDU包含8个字节数据,因此,需要对这些参数进行组合。

在J1939应用层协议中还详细定义了参数组,包括每组参数的更新率、有效数据长度、数据页、PDU格式、PDU细节、默认优先权及参数组的内容,并为每个参数组分配一个参数组编号(PGN)。

PGN(parameter group number)是一个24位的值,包括保留位、数据页位、PF(PDU格式场)和PS(群扩展场)等要素。

SPN(SPN: Suspect Parameter Number)是PG(参数组)下面的具体参数的一个编号,而PGN是参数组编号,可以理解为一个PGN包含了按一定方法分类的一组参数,而每个具体参数又有它自己的编号(就是SPN)。

SAE J1939的应用层以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。

18 EB 00 F9 是一个报文的29位标示符,70 E3 FF FF FF FF FF FF是后面的数据域。

18EB00F9化成2进制就是 110 00 1110 1011 0000 0000 1111 1001把这个按照PDU的格式代进去就知道这条报文的意思了。

后面的数据域含义可以通过前面得到的PFPS知道PGN,然后查看J1939应用层关于该PGN的数据位就能知道这个数据的含义。

在各个位转化到PGN的过程中,如果PF的值小于240(十进制)时,PGN的低字节置零(个人理解当PF的值小于240时,PS的置0)。

举一个例子:请求PGN的数据页位(DP)=0;PF=234(#EA)那么她的参数群编号PGN=#00EA00。

因为PF=234<240,所以PS=#00注:PF(PDU格式场)和PS(群扩展场)都是八位CAN通讯协议中PGN的计算数据链路层通过协议数据单元(PDU)组织数据帧中的协议相关信息。

J1939协议

J1939协议

J1939协议协议名称:J1939协议一、引言J1939协议是一种用于重型商用车辆和柴油发动机之间通信的标准协议。

它定义了数据通信、电气连接和网络管理的规范,以实现不同设备之间的互操作性和数据交换。

本协议旨在提供一种统一的通信标准,以便各种设备能够有效地进行数据交换和协同工作。

二、范围本协议适合于重型商用车辆、柴油发动机及其相关设备,包括但不限于卡车、挖掘机、拖拉机、发机电组等。

它涵盖了数据通信、网络拓扑、通信速率、传输协议、数据格式和故障诊断等方面的规范。

三、术语和定义3.1 J1939:指J1939协议的简称。

3.2 数据链路层:指协议栈的一部份,负责提供可靠的数据传输和错误检测。

3.3 物理层:指协议栈的一部份,负责定义电气连接和传输介质的规范。

四、数据通信4.1 数据格式4.1.1 数据帧:J1939协议使用数据帧进行数据传输,每一个数据帧包含一个标识符和一个数据字段。

4.1.2 标识符:数据帧的惟一标识,用于区分不同的数据源和数据类型。

4.1.3 数据字段:数据帧中的有效数据,用于传输实际的信息内容。

4.2 数据传输4.2.1 数据链路层:J1939协议使用数据链路层提供可靠的数据传输,包括数据帧的发送和接收、错误检测和纠正等功能。

4.2.2 物理层:J1939协议定义了多种物理层规范,包括CAN总线、RS-485等,用于实现数据的物理传输。

五、网络管理5.1 地址分配5.1.1 节点地址:J1939协议使用29位的节点地址进行设备的惟一标识,节点地址由网络管理器进行分配。

5.1.2 功能地址:J1939协议定义了一些特殊的功能地址,用于广播和特定功能的通信。

5.2 网络拓扑5.2.1 单总线拓扑:J1939协议支持单总线拓扑,即所有设备通过一个总线进行通信。

5.2.2 多总线拓扑:J1939协议还支持多总线拓扑,即多个总线之间通过网关进行通信。

六、故障诊断6.1 DTC码6.1.1 DTC码:指故障诊断码,用于标识设备故障的类型和位置。

诊断协议解析-J1939

诊断协议解析-J1939

J1939诊断协议解析目录目录 (2)1 范围 (3)1.1 文档说明 (3)1.2 文档范围 (3)2 规范性引用文件 (3)3 术语和定义及缩写 (3)3.1术语定义 (3)3.2英文缩写 (6)4 协议定义 (6)4.1总体架构 (6)4.2数据链路层 (6)4.2.1消息/帧格式 (6)4.2.2 协议数据单元(PDU) (7)4.2.3消息类型 (9)4.2.4传输协议功能 (9)4.3应用层——诊断 (11)4.3.1诊断故障码定义 (11)4.3.2激活状态的诊断故障码DM1 (12)附录 (16)1 范围1.1 文档说明针对每个模块的诊断功能的开发,除了本文档以外可能还需要另一个单独针对此模块的文档——《XX模块诊断内容》,这个文档定义了DM1 服务中的故障码,以及其他需要单独说明的内容。

即:1) 一个电器模块的诊断功能开发需要的全部文档包括——本文档以及《XX模块诊断内容》1.2 文档范围2 规范性引用文件下列文件中的条款通过本协议的引用而成为本协议的条款。

凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本协议,然而,鼓励根据本协议达成协议的各方研究是否可使用这些文件的最新版本。

凡是不注日期的引用文件,其最新版本适用于本协议。

SAE 1939-21:2001 商用车控制系统局域网络(CAN)通信协议第四部分数据链路层SAE 1939-73:2004 商用车控制系统局域网络(CAN)通信协议第六部分应用层-诊断3 术语和定义及缩写本协议引用SAE J1939-21及SAE J1939-73中术语及定义。

本协议涉及到的英文缩写:3.1术语定义●帧Frame组成一个完整消息的一系列数据位。

帧又被划分成几个域,每个域包括了预定义类型的数据。

●CAN 数据帧CAN Data Frame组成传输数据的CAN 协议帧所必需的有序位域,以帧起始(SOF)开始以帧结束(EOF)结尾。

浅析J1939协议附下载

浅析J1939协议附下载

浅析J1939协议附下载SAE J1939协议是基于CAN2.0B协议之上的应⽤层协议,但是SAE J1939协议并不仅仅是个应⽤层协议,她对物理层,数据链路层,⽹络层,应⽤层,故障诊断,⽹络层管理层等都做了详细的规定,只不过这其中很多规定都跟CAN2.0B⼀致。

我们这⾥只介绍J1939的应⽤层,对软件开发来说已经⾜够。

对熟悉CAN2.0B协议的⼩伙伴来说,其实只要掌握下⾯⼏个关键点,J1939就瞬间不再神秘。

J1939协议是基于CAN2.0B的应⽤层协议,所有J1939报⽂都是使⽤29位标志符。

CAN报⽂中我们有11位标志符的标准帧也有29位标志符的扩展帧,在J1939协议中,我们所有报⽂都是29位标志符, 数据域则跟CAN报⽂的数据没有区别。

CAN报⽂是基于ID的,⽽J1939协议是基于PGN的。

这⼀点⼏乎就是J1939协议的全部内容。

CAN2.0B使⽤29位的标志符来区分不同的报⽂,J1939对这29标志符进⾏了重新的分类和解释。

打个不是很恰当的⽐⽅,以前CAN2.0B协议根据⼈的体重来区分不同的⼈,只要⼀样重(ID)就认为是相同的⼈群,体重越瘦的就越是受CAN2.0B协议喜欢(优先级越⾼),现在J1939也是测量体重,只不过是把⼈的脑袋,躯⼲,双⼿,双腿分别测量,然后对这⼏个重量进⾏某种运算(⽐如脑袋重量的平⽅,躯⼲重量与双⼿重量乘积,以及双腿重量这三个数字之和), 只要运算的结果(PGN)⼀致,就认为这些⼈是⼀个⼈群。

也就是说,J1939对CAN2.0B中的29位标志进⾏了重新解释,我们使⽤下⾯这张图来说明⼀下:J1939对CAN ID进⾏了重新划分,加上最多8个字节的数据域,构成了J1939 的协议数据单元(Protocol Data Unit, PDU),其中前3位表⽰优先级位(Priority, P),之后是扩展数据页位(Extended Data Page, EDP),数据页位(Data Page,DP), PDU格式位(PDU Format, PF), PDU特定域位(PDU Specific, PS), 源地址位(Source Address,SA) 以及数据域(Data Filed)。

sae1939协议的架构

sae1939协议的架构

sae1939协议的架构SAE J1939协议是一种用于车辆和重型机械设备之间进行通信的协议。

它是一种基于控制器局域网络(CAN)的协议,旨在提供可靠的数据交换和通信。

SAE J1939协议的架构可以从以下几个方面来进行说明:1. 物理层,SAE J1939协议使用CAN总线作为物理层的通信介质。

CAN总线是一种串行通信协议,可以用于多个节点之间的数据传输。

2. 数据链路层,在SAE J1939协议中,数据链路层负责将数据分成较小的数据包,并添加必要的校验和和控制信息。

这些数据包被称为Protocol Data Units(PDU),并且可以通过CAN总线进行传输。

3. 网络层,SAE J1939协议的网络层定义了节点之间的通信规则和协议。

每个节点在网络中都有唯一的地址,并且可以通过广播或点对点方式进行通信。

网络层还定义了一些重要的参数,如数据传输速率、消息优先级和节点状态等。

4. 传输层,传输层负责确保数据的可靠传输。

它使用一种称为Transport Protocol(TP)的机制来处理大型数据包的分段和重组。

传输层还提供了错误检测和纠正的功能,以确保数据的完整性。

5. 应用层,SAE J1939协议的应用层定义了一套标准的数据格式和消息类型,用于不同节点之间的数据交换。

这些消息类型包括车辆状态、传感器数据、控制命令等。

应用层还定义了一些标准的参数和参数组,用于描述和识别不同的数据和功能。

总体而言,SAE J1939协议的架构是一个分层的结构,每一层都有不同的功能和责任。

它提供了一种标准化的方式,使得车辆和重型机械设备之间可以进行可靠的数据交换和通信。

这种协议的使用可以提高设备的互操作性和系统的可靠性,同时也方便了设备的维护和故障排除。

J1939协议

J1939协议

J1939协议一、引言J1939协议是一种用于重型商用车辆和工程机械的通信协议,旨在实现不同设备之间的数据交换和通信。

本协议的目标是提供一种标准化的通信架构,以确保各种设备的互操作性和数据一致性。

本协议详细规定了通信的物理层、数据链路层和应用层的要求和规范。

二、物理层1. 传输介质J1939协议支持多种传输介质,包括双绞线、光纤和无线电等。

传输介质的选择应根据具体应用场景和要求进行合理选择。

2. 传输速率J1939协议支持不同的传输速率,包括250kbps、500kbps和1Mbps等。

传输速率的选择应根据实际需求和设备性能进行合理配置。

3. 连接器和接口J1939协议规定了连接器和接口的类型和规范,以确保设备之间的正确连接和通信。

连接器和接口应符合相关标准,并具备良好的可靠性和稳定性。

三、数据链路层1. 帧格式J1939协议定义了数据链路层的帧格式,包括帧起始符、帧ID、数据长度、数据域和校验等。

帧格式的定义应符合J1939协议的规定,并确保数据的正确传输和解析。

2. 帧类型J1939协议定义了不同类型的帧,包括数据帧、远程帧和错误帧等。

不同类型的帧应根据具体应用场景和通信需求进行合理选择和配置。

3. 流控制J1939协议支持流控制机制,以确保数据的可靠传输。

流控制应根据具体应用场景和数据交换需求进行合理配置和管理。

四、应用层1. 数据格式J1939协议规定了应用层数据的格式和结构,包括数据标识符、数据长度和数据内容等。

数据格式的定义应符合J1939协议的规定,并确保数据的正确解析和处理。

2. 数据解析J1939协议规定了数据的解析方法和算法,以确保设备能够正确解析和处理接收到的数据。

数据解析的方法和算法应根据具体应用场景和数据格式进行合理选择和配置。

3. 数据交换J1939协议定义了数据交换的方法和规范,包括数据的发送和接收等。

数据交换的方法和规范应根据具体应用场景和通信需求进行合理配置和管理。

J1939_概述

J1939_概述

第一部分:概述一. 定义应答:确认所要求的动作已经被理解并完成;地址:一个(或一些)8位域,用于定义消息(例如,发动机,变速箱等)的源节点(或在适用情况下为目的节点);仲裁:一个或多个ECU在获取对共享总线的访问权时,用于解决冲突的过程。

位填充:一个被用来保证发送或接收消息具有最小1-0跳变,并使CAN数据帧中的比特流能够正确的再同步的处理方式。

(详见CAN协议)桥接器:两个1939网段之间存储并转发消息的设备。

它能对不同网段间介质、电器接口和数据传输率进行转换。

网桥两端的协议和地址空间均一致。

但请注意,为了尽可能减小各网段总线的负载,网桥可能会选择性的过滤掉某些通过它的消息;总线:见网段CAN数据帧:组成传送数据的CAN协议帧所必需的有序比特流,以帧起始开始,以帧结束结尾。

循环冗余校验:一种错误控制算法。

这里使用15位的CRC来检测传输错误。

对于k比特的消息或帧,发送器产生一个n位帧检测序列。

这样由k+n位组成的结果帧是能够被某个预先定义的数整除的。

接收器用该数除以收到的数据,若没有余数则可认为没有错误发生。

数据域:CAN数据帧中包含的本通讯协议应用层中定义的0-64位数据。

数据页:CAN仲裁域中的标志符的一位,用来在两页参数群编号中选择其中一页。

它为参数群编号将来的扩展提供了可能。

它也是用来确定CAN数据帧中的数据域的参数群编号的域之一。

目标地址:用来指出要接收消息的ECU的29位CAN标志符中的特定协议数据单元域。

设备:具有一个或多个ECU和网络连接的实际的部件。

电控单元:可以按照本通讯协议规定收发消息的电子计算机。

帧结束:标志CAN数据帧结束的7位的域。

扩展帧:CAN2.0规范中定义的使用29位标志符的CAN数据帧。

帧:形成整个消息的一系列数据位。

帧又被划分成几个域,每个域包括了预定义类型的数据。

参见CAN数据帧。

功能:具有一个或多个连接在总线网段上的ECU的车辆系统的能力。

功能的值在64位ECU 名称中的8位功能域中被定义。

第3章 SAEJ1939协议

第3章 SAEJ1939协议
5
CAN与SAE J1939的关系
安全性 社会发展 经济性 舒适性 电喷 主动悬架 可靠性下降 故障检测难 ABS 线束增多 减少线束 电子技术 提高信号 利用率 网络技术 诊断 CAN SAE J1939
6Hale Waihona Puke SAE J1939与OSI模型的关系
+
CAN 2.0B
OSI
SAE J1939
与OSI七层模型对应的SAE J1939协议分层模型
9
物理层基本要求
以J1939/11为例 物理介质为特征阻抗120Ω的屏蔽双绞线 传输速率为250 kbit/s 差动电压方式传输信号 终端电阻为120Ω 最大传输线长度为40M 考虑到总线上的电气负担,同一网络内最多ECU数目为 30个
速率kbps 距离 m 1000 40 500 130 250 270 125 530 100 620 50 1300 20 3300 10 6700 5 10000
符号
最小值
额定值
最大值
单位
条件 不包括电缆短截线
L
S d d0
0
0 0.1 0
40
1 40
m
m m m
RL 不位于 ECU 之内
20
屏蔽线接地规范
基本要求:屏蔽线不能断线,且只能在一点接地 接地点推荐的选择次序: (1)连接到最小的电子噪声点处; (2)使用阻抗尽可能低的连接;
(3)采用与网络中心最近的连接点接地。
8
3.2 物理层(Physical Layer)
物理层主要定义电气接口和物理介质,实现网络中电控单元 (ECU)之间的电连接
机械特性—指明接口所用接线器的形状和尺寸、引线数目 和排列、固定和锁定装置等等 电气特性—指明在接口电缆的各条线上出现的电压范围 功能特性—指明某条线上出现的某一电平的电压表示何种 意义 实现方式:由半导体厂家以及其他元器件生产厂家提供器件 来实现。

J1939协议

J1939协议

J1939协议协议名称:J1939协议一、引言J1939协议是一种用于车辆网络通信的标准协议,旨在实现车辆之间的数据交换和通信。

本协议旨在规范J1939协议的标准格式和通信规则,以确保车辆系统之间的互操作性和数据交换的准确性。

二、范围本协议适用于所有实施J1939协议的车辆和设备,包括但不限于汽车、卡车、摩托车、农用车辆和工程机械等。

三、术语和定义在本协议中,以下术语和定义适用:1. J1939协议:一种用于车辆网络通信的标准协议,基于CAN总线通信。

2. CAN总线:控制器局域网络,一种广泛应用于汽车电子系统的串行通信协议。

3. 数据帧:在J1939协议中用于传输数据的基本单元,包括标识符、数据域、校验码等。

4. 源地址:发送数据帧的设备的唯一标识符。

5. 目标地址:接收数据帧的设备的唯一标识符。

6. 参数组:在J1939协议中,用于组织和传输特定类型数据的一组数据帧。

四、数据帧格式J1939协议的数据帧由以下部分组成:1. 标识符:包括源地址、目标地址、优先级和数据页等信息。

2. 数据域:包含实际传输的数据。

3. 校验码:用于验证数据的完整性。

4. 结束符:表示数据帧的结束。

五、通信规则1. 数据帧的发送和接收必须遵循以下规则:a. 发送设备必须在总线空闲时发送数据帧。

b. 接收设备必须在接收到数据帧后进行确认应答。

c. 发送设备必须在一定时间内接收到应答,否则重新发送数据帧。

2. 数据帧的优先级:a. 数据帧的优先级由标识符中的优先级字段确定,数值越小,优先级越高。

b. 高优先级的数据帧可以打断低优先级的数据帧传输。

3. 数据帧的过滤:a. 接收设备可以根据标识符中的源地址和目标地址进行数据帧的过滤。

b. 只有满足过滤条件的数据帧才会被接收设备接收和处理。

六、参数组1. 参数组是J1939协议中用于组织和传输特定类型数据的一组数据帧。

2. 参数组由一个首帧和多个数据帧组成,首帧包含参数组的标识符和数据长度等信息。

J1939协议简介

J1939协议简介

J1939协议简介缩写ACK Acknowledgment:应答BAM Broadcast Announce Message:广播通知消息CAN ontroller Area Network:控制器局域网CRC Cyclic Redundancy Check:循环冗余校验CTS Clear-To-Send:清除发送DA Destination Address:目标地址DLC Data Length Code:数据长度代码DP Data Page:数据页EOF End of Frame:框架结束或帧结束ID Identifier:标志符IDE Identifier Extension Bit:标志符扩展位LLC Logical Link Control:逻辑连接控制LSB Least Significant Byte or Least Significant Bit:最小有意义位或字节MAC Medium Access Control:媒体通道控制MF Manufacturer:制造商MSB Most Significant Byte or Most Significant Bit:最大有意义位或字节NA not Allowed:不应答NACK Negative-Acknowledgment:错误应答P Priority:优先级PDU Protocol Data Unit:协议数据单元PF PDU Format:协议数据单元格式PGN Parameter Group Number:参数组代码PS PDU Specific:协议数据单元细节GE Group Extension:组扩展DA Destination Address:目标单元地址R Reserved:保留RTR Remote Transmission Request:远程传输请求RTS Request-To-Send:发送请求SA Source Address:原地址SOF Start of Frame:帧开始SRR Substitute Remote Request:替代远程请求TP Transport Protocol:传送协议T h Hold Time:保持时间T r Response Time:响应时间un Undefined:没有定义CAN2.0B包含两种格式的说明:标准格式和扩展格式。

j1939协议

j1939协议

j1939协议J1939协议是一种用于车辆通信的标准协议。

它是由SAE (美国汽车工程师协会)制定的一种协议,旨在为汽车电子控制系统提供统一的通信标准,以实现不同厂商制造的车辆控制器之间的交互和协调。

J1939协议已经被广泛应用于汽车、重型车辆、农业机械、工程机械等领域。

J1939协议的设计使其适用于各种应用场合,并提供了一些基本的功能。

例如,它支持多种物理层接口,包括CAN和其他现有的数据总线;它提供了一系列标准的报文格式,允许通信的控制器进行简单的数据交换;它还提供了一些必要的通信保障和错误处理机制,以确保通信的可靠性和正确性。

在J1939协议中,每一个控制器被称作“节点”,每个节点都有唯一的标识符。

这个标识符是一个29位的数值,在J1939协议中称为“源地址”(SA)。

当一个节点需要发送数据时,它首先要选择一个接收方,然后构建一个符合J1939协议格式的报文,并将其发送出去。

接收方在接收到报文后,将会根据协议规定的方式对报文进行解析和处理。

J1939协议的报文格式分为四个部分:先导字节、ID、数据段和CRC。

其中,ID部分是最重要的部分,它可以用来描述报文的类型、发送方和接收方等信息。

数据段则包含了实际的数据,可以是控制命令、传感器数据或者是故障信息等内容。

CRC部分则用来检验报文的正确性,以保证传输的设备是正常的。

J1939协议中,每个节点都有不同的功能和角色。

例如,某些节点可能负责采集数据,将其传输到其他节点;某些节点可能负责接收控制命令,并将其转发到系统中的其他节点。

为了让这些不同的节点能够协同工作,J1939协议规定了一些标准的数据格式和交互方式。

除了基本的通信功能之外,J1939还提供了一些高级的功能,如故障诊断和管理。

在汽车电子控制系统中,各个控制器可能会出现各种故障,为了避免这些故障对整个系统造成影响,J1939协议定义了一套故障诊断和管理系统。

通过这个系统,各个控制器可以及时地发现和处理故障,保证整个系统的可靠性和安全性。

J1939协议简介

J1939协议简介

J1939协议简介缩写ACK Acknowledgment:应答BAM Broadcast Announce Message:广播通知消息CAN ontroller Area Network:控制器局域网CRC Cyclic Redundancy Check:循环冗余校验CTS Clear-To-Send:清除发送DA Destination Address:目标地址DLC Data Length Code:数据长度代码DP Data Page:数据页EOF End of Frame:框架结束或帧结束ID Identifier:标志符IDE Identifier Extension Bit:标志符扩展位LLC Logical Link Control:逻辑连接控制LSB Least Significant Byte or Least Significant Bit:最小有意义位或字节MAC Medium Access Control:媒体通道控制MF Manufacturer:制造商MSB Most Significant Byte or Most Significant Bit:最大有意义位或字节NA not Allowed:不应答NACK Negative-Acknowledgment:错误应答P Priority:优先级PDU Protocol Data Unit:协议数据单元PF PDU Format:协议数据单元格式PGN Parameter Group Number:参数组代码PS PDU Specific:协议数据单元细节GE Group Extension:组扩展DA Destination Address:目标单元地址R Reserved:保留RTR Remote Transmission Request:远程传输请求RTS Request-To-Send:发送请求SA Source Address:原地址SOF Start of Frame:帧开始SRR Substitute Remote Request:替代远程请求TP Transport Protocol:传送协议Th Hold Time:保持时间Tr Response Time:响应时间un Undefined:没有定义CAN2.0B包含两种格式的说明:标准格式和扩展格式。

j1939应用层协议详细描述

j1939应用层协议详细描述

j1939应用层协议详细描述J1939应用层协议详细描述了用于J1939网络的每个参数,包括其数据长度、数据类型、分辨率、范围及参考标签,并为每个参数分配了一个编号(SPN)。

由于J1939协议是以协议数据单元(PDU)的形式进行传输,而一个PDU包含8个字节数据,因此,需要对这些参数进行组合。

在J1939应用层协议中还详细定义了参数组,包括每组参数的更新率、有效数据长度、数据页、PDU格式、PDU细节、默认优先权及参数组的内容,并为每个参数组分配一个参数组编号(PGN)。

PGN(parameter group number)是一个24位的值,包括保留位、数据页位、PF(PDU格式场)和PS(群扩展场)等要素。

SPN(SPN: Suspect Parameter Number)是PG(参数组)下面的具体参数的一个编号,而PGN是参数组编号,可以理解为一个PGN包含了按一定方法分类的一组参数,而每个具体参数又有它自己的编号(就是SPN)。

SAE J1939的应用层以PGN和SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。

18 EB 00 F9 是一个报文的29位标示符,70 E3 FF FF FF FF FF FF是后面的数据域。

18EB00F9化成2进制就是 110 00 1110 1011 0000 0000 1111 1001把这个按照PDU的格式代进去就知道这条报文的意思了。

后面的数据域含义可以通过前面得到的PFPS知道PGN,然后查看J1939应用层关于该PGN的数据位就能知道这个数据的含义。

在各个位转化到PGN的过程中,如果PF的值小于240(十进制)时,PGN的低字节置零(个人理解当PF的值小于240时,PS的置0)。

举一个例子:请求PGN的数据页位(DP)=0;PF=234(#EA) 那么她的参数群编号PGN=#00EA00。

因为PF=234<240,所以PS=#00注:PF(PDU格式场)和PS(群扩展场)都是八位CAN通讯协议中PGN的计算数据链路层通过协议数据单元(PDU)组织数据帧中的协议相关信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J1939协议简介缩写ACK Acknowledgment:应答BAM Broadcast Announce Message:广播通知消息CAN ontroller Area Network:控制器局域网CRC Cyclic Redundancy Check:循环冗余校验CTS Clear-To-Send:清除发送DA Destination Address:目标地址DLC Data Length Code:数据长度代码DP Data Page:数据页EOF End of Frame:框架结束或帧结束ID Identifier:标志符IDE Identifier Extension Bit:标志符扩展位LLC Logical Link Control:逻辑连接控制LSB Least Significant Byte or Least Significant Bit:最小有意义位或字节MAC Medium Access Control:媒体通道控制MF Manufacturer:制造商MSB Most Significant Byte or Most Significant Bit:最大有意义位或字节NA not Allowed:不应答NACK Negative-Acknowledgment:错误应答P Priority:优先级PDU Protocol Data Unit:协议数据单元PF PDU Format:协议数据单元格式PGN Parameter Group Number:参数组代码PS PDU Specific:协议数据单元细节GE Group Extension:组扩展DA Destination Address:目标单元地址R Reserved:保留RTR Remote Transmission Request:远程传输请求RTS Request-To-Send:发送请求SA Source Address:原地址SOF Start of Frame:帧开始SRR Substitute Remote Request:替代远程请求TP Transport Protocol:传送协议T h Hold Time:保持时间T r Response Time:响应时间un Undefined:没有定义CAN2.0B包含两种格式的说明:标准格式和扩展格式。

SAE J1939必须使用扩展格式。

在CAN网络上也可以有标准格式图1:标准格式图2:扩展格式SAE J1939信息框架格式――CAN扩展格式信息,如图2所示,包含了一个协议数据单元(PDU)。

PDU包含7个预先定义的部分:优先级、保留位、数据页、PDU格式、PDU细节、原地址和数据部分。

29位标志符CAN 29位标志符J1939 位的位置11位标志符CAN11位标志符J1939(1)SOF SOF(2) 1 SOF SOF(2) ID28 P3 2 ID11 P3DI27 P2 3 ID10 P2ID26 P1 4 ID9 P1ID25 R1 5 ID8 SA8 ID24 DP 6 ID7 SA7 ID23 PF8 7 ID6 SA6 ID22 PF7 8 ID5 SA5 ID21 PF6 9 ID4 SA4 ID20 PF5 10 ID3 SA3 ID19 PF4 11 ID2 SA2 ID18 PF3 12 ID1 SA1 SRR(r) SRR(r) (2) 13 RTR(x) RTR(2)(d) IDE(r) IDE(r) (2) 14 IDE(d) IDE(2) ID17 PF2 15 r 0 r 0(2)1.11位标志位要求的格式2.CAN定义位,在SAE J1939里面没有改变3.注释:SOF - Start of Frame Bit :框架开始位ID## - Identifier Bit #n :标志符位SRR - Substitute Remote Request :替代远程请求RTR - Remote Transmission Request Bit :远程传送请求IDE - Identifier Extension Bit :标志符扩展位r# - CAN Reserved Bit #n :CAN保留位DLC# - Data Length Code Bit #n :数据长度代码位(d) - dominant bit :显性位(r) - recessive bit :影性位(x) - bit state dependent on message :位状态,有信息决定P# - SAE J1939 Priority Bit #n :SAE J1939优先级位R# - SAE J1939 Reserved Bit #n :SAE J1939保留位SA# - SAE J1939 Source Address Bit#n :SAE J1939原地址位DP - SAE J1939 Data Page :SAE J1939数据页PF# - SAE J1939 PDU Format Bit #n :SAE J1939 PDU 格式位PS# - SAE J1939 PDU Specific Bit #n :SAE J1939 PDU详细位表1 显示了29位标志符CAN、J1939,11位标志符的CAN、J1939仲裁和控制字段。

在5。

2章节里面定义了每一个SAE J1939的完整定义。

参数组代码:PGN。

在CAN数据框架内有必要标志一个参数组,参数组代码用24位表示。

PGN参数组代码是一个24位的值,由如下要素组成:保留位、数据页位、PDU格式域和组扩展域。

将域位转换成PGN参数组代码有如下规格。

如果PF的值小于240(F0),PGN的低字节设置为0。

注意并不是所有的131071个组合都是可用的。

Protocol Data Unit (PDU):协议数据单元应用层或网络层会对PDU进行处理。

SAE J1939协议数据单元由7部分组成,他们分别是优先级、保留位、数据页、PDU格式、PDU细节(可以是目标单元地址、组扩展或所有权)、原地址和数据段。

这7个部分会被封装成一个或多个CAN数据框架并且通过物理层发送给其他的网络设备。

每一个CAN数据框架只有一个PDU。

需要注意的是一些PGN定义需要多个CAN数据框架去发送相应的数据。

CAN数据框架中的一些段并没有定义在PDU里面,因为他们是由CAN规格定义的,对于数据链接层之上的OSI层是不可见的。

这些字段是由CAN协议定义的在SAE J1939里面没有改变。

这些字段包括:SOF、SRR、IDE、RTR、CRC、ACK、EOF。

在图3中显示了这7个字段。

在PDU中的每一个字段在后来的应用中都有定义。

图3P:优先级R:保留位DP:数据页PF:PDU格式PS:PDU细节SA:原地址Date Field:数据字段P优先级:有三个位用来表示信息发送到总线的优先级。

对于接收者来说这三个位应该都认为0,被忽略掉。

信息的优先级可以设置为0,最高,或者7,最低。

所有控制信息默认的优先级是3,所有的其他的优先级默认为6。

R保留位:SAE为了以后应用保留下来的,暂时无意义。

DP数据页:对于参数组描述选色一个辅助的页。

请参考图4。

PDU Format(PF):协议数据单元格式。

PF是一个8位的字段,由这8个位决定了PDU的格式。

这8个位是决定PGN参数组代码字段的一部分。

PGN参数组代码是用来确定或者标志命令、数据、一些请求、应答或不应答。

PGN参数组代码确定或标志的信息要求一个或多个CAN数据框架发送这些信息。

如果多于8个字节的需要描述的话就需要发送多个CAN 数据。

如果是8个或者少于8个字节可以描述的信息,则只需要一个CAN 数据即可。

一个PGN参数组代码可以描述一个或多个参数信息。

当然一个PGN参数组信息可以只描述一个参数,但是推荐尽可能将一个CAN数据的8个字节全都用上。

PDU Specific(PS)协议数据单元细节:PS是一个8个位字段描述,它由PDU FORMA T格式决定。

由PF决定PS是目的单元地址还是组扩展。

如果PF字段的值小于240,PS字段表示的是目的单元地址。

如果PF字段的值是240~255,PS字段表示组扩展值。

见表3,参考图4 PGN参数组代码范围。

PDU Format(PF) Field PDU Specified(PS) Field PDU1 Format 0~239 Destination AddressPDU2 Format 240~255 Group Extension Destination Address(DA)目的单元地址:这个字段定义了信息发送的特殊地址。

注意所有其他的设备应该忽略这个字段。

全局目的单元地址(255)要求所有接收到这个信息的设备都必须相应这个信息。

DP = Date Page(1 bit) GE=Group Extension(8bits)PF = PDU Format (8bits) P=PriorityPS = PDU Specific(8bits) NA=Not AllowedDA = Destination Address(8bits) un=UndefinedPGN =Parameter Group Number(3bytes)图4:SAE J1939 PARAMETER GROUP NUMBER TEMPLATEGroup Extension(GE)参数组扩展:参数组扩展字段,由PF字段的高四位决定(当PF高四位都为1后,PS字段就为GE)。

每一页有4096个参数组。

这些4096个参数组只能用PDU2格式。

另外使用PDU1格式每一页可以有240个参数组提供。

总共有8672个参数组是可以使用的。

可以使用的参数组的数目可以通过一下发放计算:(240+(16 * 256))*2=8672240 =每一页可以使用的PDU格式的数据(例如PDU1格式,PS字段表示为目的单元地址)16=每一个组扩展值的PDU格式的值(例如PDU2格式)256=所有可以使用的组扩展值的个数(例如PDU2格式)2=数据页的状态(两种PDU格式)Source Address(SA)原地址:8位。

在一个网络里面每一个设备应该有一个唯一的原地址。

原地址保证了CAN通讯标志符的是唯一的。

原地址的管理和分配在SAE J1939-81里面有描述。

Date Field:数据字段。

当8个或者小于8个的字节可以描述一个给定的参数组,一个CAN 数据框架的8个字节都可以使用。

当描述一个给定的参数组需要9~1785个字节时,需要多个CAN数据框架描述。

相关文档
最新文档