J1939协议通信原理

合集下载

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 错误处理机制:错误处理机制应能够检测和处理数据传输过程中的错误,包括但不限于传输错误、接收错误和校验错误等。

CAN卡与使用J1939应用层协议设备间的通信

CAN卡与使用J1939应用层协议设备间的通信

CAN卡与使用J1939应用层协议设备间的通信CAN(控制器局域网)是一种广泛应用于汽车和工业领域的通信协议。

它是一种高速且可靠的通信协议,可以在设备之间传输数据。

J1939应用层协议是一种基于CAN协议的汽车网络协议,主要用于传输车辆的数据和控制信息。

CAN卡与使用J1939应用层协议的设备之间的通信是通过CAN总线完成的。

CAN总线上的每个设备都有一个唯一的标识符,用于识别设备和数据的发送者和接收者。

设备可以通过CAN总线上的消息进行通信,并使用J1939协议定义的数据格式和命令进行交互。

在通信过程中,设备可以发送和接收不同类型的消息。

例如,设备可以发送数据消息,用于传输车辆传感器的测量值或控制命令。

设备还可以发送控制消息,用于设置其他设备的状态或配置参数。

所有的消息都有一个固定的格式,包括消息ID、消息数据和校验字段。

CAN卡在通信过程中扮演着关键的角色。

它负责将消息从一个设备传输到另一个设备,并确保消息的正确传输和接收。

CAN卡上的硬件和软件模块实现了CAN协议的功能,包括消息的发送和接收、消息的过滤和缓冲等。

为了进行CAN与J1939协议的通信,需要使用适配器将CAN卡的接口转换为J1939协议的接口。

适配器相当于一个转换器,它能够读取CAN总线上的CAN消息,并将其转换为J1939协议可以理解的格式。

适配器还可以将J1939协议的消息转换为CAN消息,发送到CAN总线上。

通过CAN卡和适配器,设备可以实现与其他设备之间的通信和数据交换。

例如,在汽车上,各种传感器可以使用CAN卡与车辆的控制器通信,传输引擎温度、车速等数据。

同时,控制器也可以通过CAN卡发送命令到其他设备,实现对车辆的控制和调节。

总之,CAN卡与使用J1939应用层协议的设备之间的通信是通过CAN 总线和适配器实现的。

CAN卡负责处理CAN协议的硬件和软件功能,而适配器负责将CAN消息转换为J1939协议的格式。

这种通信方式在汽车和工业领域得到了广泛应用,可以实现设备之间的高速和可靠的数据传输。

J1939协议

J1939协议

CAN总线的特点及J1939协议通信原理、内容和应用众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。

迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。

在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。

但货车和客车在这方面却远未能满足排放法规的要求。

计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。

因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。

采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。

1 CAN总线特点及其发展控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。

CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。

CAN的应用范围遍及从高速网络到低成本底多线路网络。

在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。

同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。

它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。

CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。

网络上的节点可分为不通优先级,满足不同的实时要求。

采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。

具有点对点、一点对多点及全局广播接收传送数据的功能。

随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。

1991年9月Philips Semiconductors制定并发布了CAN 技术规范(Versio 2.0)。

J1939协议理解

J1939协议理解

J1939协议理解今天读了J1939协议的介绍文档,下面主要说说我的理解: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的格式PDU是J1939传输数据的格式,它基于CAN协议的扩展帧传输方式。

即它的标识符是29位的。

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

所有控制报文的缺省优先级是3(011 )。

扩展数据页(EDP)和数据页(DP)的关系:什么是第0页PGN,什么是第1页PGN?作用有什么不同?还不是太清楚PDU 格式(PF)和PDU 特定域(PS)的关系PDU 格式(PF)PDU格式PDU 特定域(PS)PF<240PDU1格式PS是目标地址(DA)PF=240‾255PDU2格式PS是组扩展(GE)值PDU1和PDU2时的参数组编号(PGN)数目EDP DP PF PS PDU1时参数组编号00或者10-239目标地址2X240(PF的值)=480 EDP DP PF PS PDU2时参数组编号00或者1240-255共16个数组扩展值0-255(共256个数)2X16X256=8192在说说J1939的标识符合CAN协议的对应格式:J1939的29位标识符格式CAN协议扩展帧格式首先,J1939的标识符是29位的,所以它使用的是CAN协议的扩展帧格式来传输数据。

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码:指故障诊断码,用于标识设备故障的类型和位置。

CAN卡与使用J1939应用层协议设备间的通信

CAN卡与使用J1939应用层协议设备间的通信

CAN卡与使用J1939应用层协议设备间的通信CAN总线协议:对CAN协议的媒体访问控制子层的一些概念和特征做如下说明: (1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。

当总线空闲时,任何一个网络上的节点都可以发送报文。

(2)信息路由(Information Routing) 在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。

因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。

(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。

信息以广播方式在网络上发送,所有节点都可以接收到。

节点通过标识符判定是否接收这帧信息。

  (4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。

(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。

(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。

标识符越小,优先权越高。

(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。

回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。

(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。

如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。

通过使用标识符的逐位仲裁可以解决这个碰撞。

仲裁的机制确保了报文和时间均不损失。

当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。

在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。

如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。

J1939协议理解

J1939协议理解

J1939协议理解今天读了J1939协议的介绍文档,下面主要说说我的理解: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的格式PDU是J1939传输数据的格式,它基于CAN协议的扩展帧传输方式。

即它的标识符是29位的。

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

所有控制报文的缺省优先级是3(011 )。

扩展数据页(EDP)和数据页(DP)的关系:什么是第0页PGN,什么是第1页PGN?作用有什么不同?还不是太清楚PDU1和PDU2时的参数组编号(PGN)数目在说说J1939的标识符合CAN协议的对应格式:J1939的29位标识符格式CAN协议扩展帧格式首先,J1939的标识符是29位的,所以它使用的是CAN协议的扩展帧格式来传输数据。

诊断协议解析-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)结尾。

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位功能域中被定义。

SAE J1939 协议简介(一)

SAE J1939 协议简介(一)

SAE J1939 协议简介(一)微信公众号:嵌入式程序猿QQ:280192619提到SAE J1939协议就不得不提CAN通讯,大家都知道CAN是目前比较流行的一种现场总线,CAN 总线是一种串行数据通信协议,最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。

CAN 推出之后,世界上各大半导体生产厂商迅速推出各种集成有CAN 协议的产品,由于得到众多产品的支持,使得CAN 在短期内得到广泛应用。

CAN 在全世界范围的应用和用户在不断扩大。

具体的CAN 基本协议,可以参考BOSCH公司的官方文档。

CAN只规定了底层的协议,对高层的应用协议并没有做具体规定,这就给一些高层协议的开发留下了很大的空间,像CANOpen,Devicenet,以及SAE J1939等都是比较流行的CAN高层协议。

SAEJ1939 协议是由汽车工程协会(SAE)定义的,SAE J1939 协议在商用车辆、舰船、轨道机车、农业机械和大型发动机中是应用最广泛的应用层协议,基于传输可靠性能优越的CAN-bus总线,可达到250Kbps的通讯速率。

在协议中,不仅指定了传输类型、报文结构及其分段、流量检查等,而且报文内容本身也做了精确的定义,SAE J1939 协议由美国SAE( Society of Automotive Engineer)组织维护和推广。

CAN 总线的特点… 多主站依据优先权进行总线访问;… 非破坏性的基于优先权的总线仲裁;… 借助接收滤波的多地址信息传送;… 远程数据请求;… 配置灵活;… 全系统的数据相容性;… 错误检测和出错信令;… 发送期间若丢失仲裁或由于出错而遭破坏的数据包可自动重发;… 暂时错误和永久性故障节点的判别以及故障节点与CAN 总线的自动脱离。

主要协议文档:J1939/11J1939/13J1939/15J1939/21J1939/31J1939/71J1939/73J1939/74J1939/75J1939/81J1939/84具体协议内容可以参考官方文档。

CAN总线的特点及J1939协议通信原理

CAN总线的特点及J1939协议通信原理

CAN总线的特点及J1939协议通信原理1. 高速传输:CAN总线的标准通信速率可达到1 Mbps的速度,满足高速数据传输的需求。

2.高可靠性:CAN总线采用差分驱动和抗干扰设计,能够抵抗电磁干扰和噪音等外界因素的干扰,保证数据传输的可靠性。

3.多主机通信:CAN总线采用分布式控制模式,多个节点可以同时发送和接收数据,实现了多主机之间的并行通信。

4.灵活性:CAN总线支持节点的动态扩展和删除,系统维护方便灵活,能够适应不同的应用场景。

5.低成本:CAN总线采用双线制结构,线缆连接简单,成本较低。

J1939协议通信原理:J1939协议是一种用于商用车辆的CAN总线通信协议,具有以下特点:1.数据帧结构:J1939协议使用帧结构进行数据传输,分为数据链路层和应用层。

数据链路层负责数据的传输和错误检测,应用层负责数据的格式解析和处理。

2.参数标识:J1939协议采用参数标识符(PGN)来唯一标识数据,每个PGN对应一个特定的数据类型和数据格式。

3.多节点通信:J1939协议支持多节点之间的并行通信,节点之间可以同时发送和接收数据。

4.数据传输方式:J1939协议支持点对点传输和广播传输两种方式。

点对点传输是指数据只发送给特定的节点,广播传输是指数据发送给所有节点。

5.优先级规则:J1939协议定义了数据帧的优先级规则,不同的PGN 根据其重要性和紧急程度进行优先级排序。

高优先级的数据帧可以中断低优先级的数据帧的传输。

6.故障容错:J1939协议采用冗余机制和错误检测技术,能够提高系统的可靠性和容错性。

如果一个节点发生故障,其他节点可以继续正常工作。

J1939协议通信原理可以简略概括为以下几个步骤:1.初始化:每个节点在启动时需要进行初始化,进行总线访问、参数配置等操作。

2.数据传输:节点之间通过总线发送和接收数据帧,数据帧可以是点对点传输或广播传输。

3.优先级处理:接收到的数据帧按照优先级进行处理,高优先级的数据帧可以中断低优先级的数据帧的传输。

CAN总线的特点及J1939协议通信原理内容和应用

CAN总线的特点及J1939协议通信原理内容和应用

CAN总线的特点及J1939协议通信原理内容和应用1.高度可靠性:CAN总线采用了差分信号线的设计,可以有效抵抗电磁干扰和噪声,保证通信的稳定性和可靠性。

2.实时性强:CAN总线的通信速率高,能够快速传输数据,实现实时性要求高的应用。

3.多主机通信:CAN总线采用了仲裁机制,可以实现多个节点的同时通信,提高总线的利用率。

4.线路简单:CAN总线仅需要两根差分信号线和一个地线即可完成通信,布线简洁,成本低。

5.安全性高:CAN总线具有错误检测和纠正能力,可以及时检测通信中的错误,并进行相应的纠正。

6.扩展性强:CAN总线支持节点的动态加入和退出,使得系统的扩展性更强。

J1939协议通信原理:J1939是一种基于CAN总线的工业通信协议,主要应用于商用车辆和重型机械设备。

它采用了点到点通信的方式,通过发送和接收不同类型的消息来实现数据的传输。

J1939协议的通信原理如下:1.消息格式:J1939协议中的消息由一个29位的ID、8字节的数据和一个优先级组成。

ID用于标识消息的类型,数据用于传输实际的信息,优先级用于确定消息的重要性和处理顺序。

2.帧格式:J1939协议中的消息被分为4个不同的帧类型,分别是数据链路层帧、网络层帧、传输层帧和应用层帧。

每个帧类型都有不同的格式和功能,用于完成数据的传输和处理。

3. 仲裁机制:J1939协议采用了CSMA/CD(Carrier Sense Multiple Access with Collision Detection)仲裁机制,通过监听总线上的数据来判断是否有其他节点正在发送消息,以避免冲突。

4.时钟同步:J1939协议要求所有节点使用相同的时间基准,通过同步时钟来确保节点之间的通信顺序和时间同步。

5.网络管理:J1939协议中的每个节点都有一个唯一的节点地址,通过网络管理机制来管理节点的加入和退出,以及节点之间的关系和通信规则。

J1939协议通信内容:J1939协议定义了多种不同类型的数据消息,包括数据传输消息、诊断消息、控制消息等。

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协议通信原理

CAN总线的特点及J1939协议通信原理、内容和应用众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。

迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。

在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。

但货车和客车在这方面却远未能满足排放法规的要求。

计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。

因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。

采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。

1 CAN总线特点及其发展控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。

CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。

CAN的应用范围遍及从高速网络到低成本底多线路网络。

在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。

同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。

它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。

CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。

网络上的节点可分为不通优先级,满足不同的实时要求。

采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。

具有点对点、一点对多点及全局广播接收传送数据的功能。

随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。

1991年9月Philips Semiconductors制定并发布了CAN技术规范(Versio 2.0)。

SAE J1939 协议简介(二)

SAE J1939 协议简介(二)

SAE J1939 协议简介(二)微信公众号:嵌入式程序猿QQ:280192619在简单介绍完J1939协议后,今天我们来讲讲J1939的数据链路层,熟悉数据链路层是开发任何一种协议软件的基础,数据链路层中的协议数据单元(PDU)格式是非常重要的。

SAE J1939 PDU(Protocol Data Unit)P 优先级这三位仅在总线传输中用来优化消息延迟,接收机必须对其做全局屏蔽(即忽略)。

消息优先级可从最高0设置到最低7。

所有控制消息的缺省优先级是3。

其他所有信息、专用、请求和ACK 消息的缺省优先级是6。

当定义新的参数组编号,或总线上通信量变化时,优先级可以升高或降低。

当消息被添加到应用层,将给出一个推荐的优先级。

OEM 可以对网络做相应调整,优先级域应当是可重编程的。

R 保留位保留此位以备今后开发使用。

不能将此位与CAN 保留位混淆。

所有消息应在传输中将SAE 保留位置0。

今后新的定义可能扩展PDU 格式域,定义新的PDU 格式,扩展优先级段或增加地址空间DP 数据页数据页位选择参数组描述的辅助页。

在分配页一的PGN 之前,先分配完页零的可用PGN。

PF PDU 格式PF 域,8位。

确定PDU 的格式,也是确定数据域对应参数组编号的域之一。

参数组编号用来确定或标识命令、数据、请求、确认和否定等参数组编号所确定或标识的信息需要一个或多个CAN 数据帧进行通信。

若消息长于8 字节,必须将消息分包发送。

如消息长小等于8 字节,则使用单个CAN 数据帧。

PS 特定PDU特定PDU 是一个8 位域,它的定义取决于PDU 格式,根据PDU 格式它可能是目标地址或者组扩展。

若PDU 格式(PF)域的值小于240,特定PDU 域是目标地址。

SA 源地址这个域定义了消息发送的特定目标地址。

注意,对于任何设备,如果源地址与接收到消息的目标地址不相同应忽略此消息。

所有设备作为消息响应者应对全局目标地址(255)作出监听和响应。

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

CAN总线的特点及J1939协议通信原理、内
容和应用
众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。

迄今已有多种网络标准,如专门用于货车和客车上的SAE的
J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。

在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。

但货车和客车在这方面却远未能满足排放法规的要求。

计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。

因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。

采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。

1 CAN总线特点及其发展
控制器局域网络(CAN)是德国Robert bosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。

CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。

CAN的应用范围遍及从高速网络到低成本底多线路网络。

在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。

同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。

它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。

CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。

网络上的节点可分为不通优先级,满足不同的实时要求。

采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。

具有点对点、一点对多点及全局广播接收传送数据的功能。

随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。

1991年9月Philips Semiconductors制定并发布了CAN技术规范(Versio 2.0)。

该技术包括A和B两部分。

2.OA给出了CAN报文标准格式,而2.OB给出了标准的和扩展的两种格式。

1993年11月ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网(CAN)国际标准ISO11898,为控制局域网的标准化和规范化铺平了道路。

美国的汽车工程学会SAE于2000年提出的J1939,成为货车和客车中控制器局域网的通用标准。

2.J1939协议通信原理及内容
(1)J1939与CAN
J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。

主要运用于载货车和客车上。

它是以CAN2.0为网络核心。

表1介绍了CAN2.0的标准和扩展格式,及J1939协议所定义的格式。

表2则给出了J1939年的一个协议报文单元的具体格式。

可以看出,J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。

而报文单元还包括64位的数据场。

表1 CAN2.0的标准和扩展格式及J1939协议所定义的格式
表2 J1939协议报文单元的具体格式
(2)数据传转协议
J1939通信中的核心是负责数据传输的传输协议。

它的功能分为两部分:
(1)数据的拆分打包和重组。

一个J1939的报文单元只有8个字节的数据场。

因此如果所要发送的数据超过了8字节,就应该分成几个小的数据包分批发送。

数据场的第一个字节从1开始作为报文的序号,后7个字节用来存放数据。

所以可以发送255×7=1785个字节的数据。

报文被接收以后按序号重新组合成原来的数据。

(2)连接管理。

主要对节点之间连接的建立和关闭,数据的传送进行管理。

其中定义了5种帧结构:发送请求帧、发送清除帧、结束应答帧、连接失败帧以及用来全局接收的广播帧。

节点之间的连接通过一个节点向目的地址发送一个发送请求帧而建立。

在接收发送请求帧以后,节点如果有足够的空间来接收
数据并且数据有效,则发送一个发送清除帧,开始数据的传送。

如果存储空间不够或者数据无效等原因,节点需要拒绝连接,则发送连接失败帧,连接关闭。

如果数据接收全部完成。

则节点发送一个结束应答帧,连接关闭。

(3)J1939的参数格式
J1939中还定义了参数的具体格式,如标识符、优先级、数据长度、参数的范围等。

参数又划分为状态参数和测量参数。

状态参数表示具有多态信号的某一种状态,如发动机刹车使能/禁能、巡航控制激活/关闭,扭矩/速度控制超载模式、错误代码等。

而测量参数则表示所接收到的信号的值的具体大小,如缸内爆发压力、最大巡航速度、发动机转速等。

3.J1939协议的应用
(1)J1939应用于网络构建
J1939网络层中定义了如何构建网络及连接的功能。

网络层的功能包括数据的过滤、重新打包和转发。

分别由以下各部分实现。

a.中继器。

可以增强数据信号,使数据传输更远的距离。

b.网桥。

数据的转发和过滤。

它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。

c.路由。

可以使网络段具有独立的地址空间不同的数据传输率和媒介。

d.网关。

可以在不同的协议和数据设置的网段之间传送数据。

图1为典型的汽车网络连接。

(2)J1939应用于故障诊断
J1939包括在线故障诊断功能,由诊断应用层定义。

诊断应用层面向以下几方面。

a.安全。

在数据链路层上定义一个安全的框架,使得符合工业标准的开发工具执行必要的诊断任务。

包括获取诊断信息,获取节点配置信息,标定控制模式。

但对非开放型的数据加密。

b.连接。

建立J1939网络节点与开发工具之间的连接。

连接器的设计也必须符合J1939协议。

c.诊断状态数据支持。

提供一系列的数据格式。

包括读取出错数据、清除错误数据、监测通信参数、获取节点的配置以及其他的一些信息。

d.诊断测试支持。

可以使开发工具把各种控制节点放到具体的测试模式中以正确设计子网体系。

诊断工具通过连接器与其他节点进行通信以获取诊断数据。

因此所有的控制节点都应该具备以下功能:读取诊断故障代码、清除诊断故障代码、获取实时信息。

而诊断故障代码记载了出错的参数及所在的节点等主要信息。

驾驶室监视仪
网桥
传动系统
发动机系统
制动系统
制动器
路由
拖车机构
网桥
到下一拖车系统
250 K
拖车子网
轴/悬挂系统
制动
照明
牵引动力总线
图1典型汽车网络连接
4.节点设计及数据通信
最小化节点的主控制芯片采用51系列的单片机,控制器采用PHILIPS 公司的SJA1000,控制器接口采用82c250。

为了构建CAN总线局域网络,采用了研华公司生产的双端口CAAN控制卡PCL-841,每块PCL-841卡集成了两块PHILIPS的SJA1000控制器和82c250控制器接口。

这样两块控制卡就有四个端□,相当于四个独立的节点,用数据线连接起来,就组成了基本的CAN局域网。

如图2所示。

节点1
节点2
节点3
节点4
PC机
CAN总线
图2 CAN局域网
软件的编写主要包括对寄存器的配置、硬件初始化、中断调用、数据通信几大模块。

中断调用中包括数据中的中断接收、中断发送,以及错误处理、报警等模块。

通信模块又分为数据的发送、接收、请求等。

综上所述,J1939通信协议解决了如下问题。

(I)优先权问题。

如自动换挡要求减油门,巡航控制同时要求增油,而ASR则要求减油门以维持驱动轴的低扭矩。

根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。

(2)灵活性问题。

因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在一起的能力。

(3)可扩展性。

即需要增加新的子系统时,不需要对基本系统作修改。

(4)独立性。

每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。

(5)为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。

(6)车辆状态共享。

如发动机转速、车速、轮速等数据必须各子系统共享,数据的传输及刷新时间取决于各个子系统的特性,并由此决定优先权。

相关文档
最新文档