搜档网
当前位置:搜档网 › J1939协议分析指南

J1939协议分析指南

广州致远电子有限公司

修订历史

目录

1. SAE J1939协议分析插件简介 (1)

1.1 SAE J1939协议及其插件简介 (1)

1.2 SAE J1939协议插件安装说明 (1)

1.3 SAE J1939数据分析结果的实例 (2)

2. SAE J1939协议分析的方法 (3)

2.1 分析SAE J1939协议帧 (3)

2.2 发送SAE J1939协议帧 (5)

3. 免责声明 (9)

1. SAE J1939协议分析插件简介

1.1 SAE J1939协议及其插件简介

SAE J1939协议是由汽车工程协会(SAE)定义的,SAE J1939协议在商用车辆、舰船、轨道机车、农业机械和大型发动机中是应用最广泛的应用层协议,基于传输可靠性能优越的CAN-bus总线,可达到250Kbps的通讯速率。在协议中,不仅指定了传输类型、报文结构及其分段、流量检查等,而且报文内容本身也做了精确的定义,SAE J1939协议由美国SAE( Society of Automotive Engineer)组织维护和推广

SAE J1939(以下简称J1939)协议分析插件是CANPro协议分析平台的一部分,与CAN 分析仪配套使用。用于分析J1939网络的数据、错误状态、网络负载,或模拟J1939应用终端的工作状态等,是J1939网络开发工程师的好帮手,可以大大缩短开发周期,方便实现网络维护、查错、管理等复杂工作。

1.2 SAE J1939协议插件安装说明

要使用J1939协议插件对J1939网络进行分析,您需要两个安装包:CANPro协议分析平台安装包和J1939协议分析插件安装包。安装包可以从广州致远电子有限公司的网站上下载:https://www.sodocs.net/doc/8818187988.html,/products/CANalyst/CANalyst.asp。

请注意,在安装J1939协议分析插件之前,必须已安装好CANPro协议分析平台软件,且CANPro协议分析平台软件需要1.40或更高的版本。否则,安装失败。出现下面的错误提示:

图1-1 插件安装错误提示(1)

图1-2 插件安装错误提示(2)

安装1.40或更高版本的CANPro协议分析平台后,就可以成功安装J1939协议分析插件,开始分析J1939网络数据了。

由于现在协议分析插件和协议分析平台都作了较大的修改,V1.00的插件只能和V1.40的CANPro协议分析平台配套使用,建议用户需要时,协议分析插件和协议分析平台均使用最新的版本。

1.3 SAE J1939数据分析结果的实例

下面是SAE J1939协议分析仪分析J1939数据帧的实例截图:

图1-3 SAE J1939数据分析实例截图

2. SAE J1939协议分析的方法

2.1 分析SAE J1939协议帧

J1939协议分析插件位于CANPro协议分析平台中的脚本协议工具中,因此首先要选择脚本协议工具数据列表页面,再点击“协议管理”,弹出协议管理对话框,如下图所示:

图2-1 SAE J1939协议分析插件

选择“SAE J1939 X.XX”,点击“选择”。界面如下图所示:

图2-2 SAE J1939协议分析界面

SAE J1939协议的结构如下图所示:

图2-3 SAE J1939协议的结构SAE J1939协议包括两种报文:PDU1和PDU2

1、PDU1 具有PDU1协议数据单元格式的J1939报文

(1)、Priority PDU1报文的优先级值

(2)、R PDU1报文的保留位

(3)、DP PDU1报文的数据页面位

(4)、PF PDU1报文的PDU格式场的值

(5)、DA PDU1报文的目标地址

(6)、SA PDU1报文的源地址

(7)、PGN PDU1报文的参数组号码

(8)、Data Field PDU1报文的数据域

2、PDU2 具有PDU2协议数据单元格式的J1939报文

(1)、Priority PDU2报文的优先级值

(2)、R PDU2报文的保留位

(3)、DP PDU2报文的数据页面位

(4)、PF PDU2报文的PDU格式场的值

(5)、GE PDU2报文的组扩展

(6)、SA PDU2报文的源地址

(7)、PGN PDU2报文的参数组号码

(8)、Data Field PDU2报文的数据域

打开设备、抓取协议数据等操作方法请参考CANPro帮助文档。

2.2 发送SAE J1939协议帧

这里简述设置J1939协议帧的步骤,详细的数据发送操作请参考CANPro帮助文档。

选择脚本协议工具的数据列表页面,并选择好J1939协议后,点击“数据发送”按钮,弹出数据发送窗口:

图2-4 SAE J1939数据发送窗口

首先,先将帧类型设置为扩展帧,帧格式设置为数据帧。然后填好相应的DLC参数值,如下图所示

图2-5 SAE J1939报文设置(1)

接下来在报文类型下拉列表中选择您需要发送的报文类型(未知报文是不可选的),如下图所示:

图2-6 SAE J1939报文设置(2)

最后再设置报文段的内容,J1939的报文段设置都是在报文列表中直接填写数值,没有预定义的段值名供选择,填值时应注意当前的显示方式是十进制还是十六进制。

图2-7 SAE J1939报文设置(3)

设置好J1939报文,并设置好发送参数后,就可以往外发送报文了。

3. 免责声明

本文档提供有关致远电子产品的信息。本文档并未授予任何知识产权的许可,并未以明示或暗示,或以禁止发言或其它方式授予任何知识产权许可。除致远电子在其产品的销售条款和条件中声明的责任之外,致远电子概不承担任何其它责任。并且,致远电子对致远电子产品的销售和(或)使用不作任何明示或暗示的担保,包括对产品的特定用途适用性、适销性或对任何专利权、版权或其它知识产权的侵权责任等,均不作担保。致远电子产品并非设计用于医疗、救生或维生等用途。致远电子可能随时对产品规格及产品描述做出修改,恕不另行通知。

SAE J1939协议分析插件可能包含某些设计缺陷或错误,一经发现将收入勘误表,并因此可能导致产品与已出版的规格有所差异。如客户索取,可提供最新的勘误表。在订购产品之前,请您与当地的致远电子销售处或分销商联系,以获取最新的规格说明。本文档中提及的含有订购号的文档以及其它致远电子文献可通过访问广州致远电子有限公司的万维网站点获得,网址是:

https://www.sodocs.net/doc/8818187988.html,/ 或致电+86-20-22644249 查询。

Copyright ? 2009,ZHIYUAN electronics. 保留所有权利。

CANopen协议讲解

根据DS301的内容进行介绍 1、CAN总线 CAN标准报文

2、CANopen应用层协议 CANopen 协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。同时,CANopen 完全基于CAN 标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。 一个标准的CANopen 节点(下图),在数据链路层之上,添加了应用层。该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。 一个标准的CANopen 节点 CANopen 应用层协议细化了CAN 总线协议中关于标识符的定义。定义标准报文的11 比特标识符中高4 比特为功能码,后7 比特为节点号,重命名为通讯对象标识符(COB-ID)。功能码将所有的报文分为7个优先级,按照优先级从高至低依次为: 网络命令报文(NMT) 同步报文(SYNC) 紧急报文(EMERGENCY) 时间戳(TIME)

过程数据对象(PDO) 服务数据对象(SDO) 节点状态报文(NMT Err Control) 7 位的节点号则表明CANopen 网络最多可支持127个节点共存(0 号节点为主站)。 下表给出了各报文的COB-ID 范围。 NMT 命令为最高优先级报文,由CANopen 主站发出,用以更改从节点的运行状态。 SYNC 报文定期由CANopen 主站发出,所有的同步PDO 根据SYNC报文发送。 EMERGENCY报文由出现紧急状态的从节点发出,任何具备紧急事件监控与

处理能力的节点会接收并处理紧急报文。

TIME 报文由CANopen 主站发出,用于同步所有从站的内部时钟。 PDO 分为4 对发送和接收PDO,每一个节点默认拥有4对发送PDO 和接收PDO,用于过程数据的传递。 SDO 分为发送SDO 和接收SDO,用于读写对象字典。 MT Error Control报文由从节点发出,用以监测从节点的运行状态。 状态机 CANopen 的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当前支持的通讯方式以及节点行为。 初始化时,节点将自动设置自身参数和CANopen 对象字典,发出节点启动报文,并不接收任何网络报文。 初始化完成后,自动进入预运行状态。在该状态,节点等待主站的网络命令,接收主站的配置请求,因此可以接收和发送除了PDO 以外的所有报文。 运行状态为节点的正常工作状态,接收并发送所有通讯报文。 停止状态为一种临时状态,只能接收主站的网络命令,以恢复运行或者重新启动。

CAN总线的特点及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)。该技术包括A和B两部分。2.OA给出了CAN报文标准格式,而2.OB给出了标准的和扩展的两种格式。1993年11月ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网(CAN)国际标准ISO11898,为控制局域网的标准化和规范化铺平了道路。美国的汽车工程学会SAE于2000年提出的J1939,成为货车和客车中控制器局域网的通用标准。 2.J1939协议通信原理及内容 (1)J1939与CAN

sae,j1939协议下载

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 sae,j1939协议下载 甲方:___________________ 乙方:___________________ 日期:___________________

sae,j1939协议下载 篇一:saej1939 协议 saej1939协议_综述(转载) 发表于20xx/10/2611:16:06 saej1939协议是由美国汽车工程师协会一一卡车和公 共汽车电气电子委员会下的卡车和公共汽车控制和通讯网 络分委员会制定的高层can网络通讯协议。它主要用于为重型道路车辆上电子部件间的通讯提供标准的体系结构[1]。1saej1939协议构成文件 saej1939协议包括如下几部分内容: saej1939-11物理层,250kbits/s ,屏蔽双绞线 saej1939-13物理层,离线诊断连接器 saej1939-15简化的物理层,250kbits/s ,非屏蔽双绞 线 saej1939-21 数据链路层 saej1939-31 网络层 saej1939-71 车辆应用层 saej1939-73应用层-诊断 saej1939-81j1939 网络管理协议

2各层协议的功能 2.1物理层 saej1939的物理层规范包含saej1939-11 (物理层, 250kbits/s ,屏蔽双绞线)、saej1939-15 (简化的物理层, 250kbits/s ,非屏蔽双绞线)和saej1939-13 (物理层,离 线诊断连接器)三部分。其中saej1939-11 和saej1939-15 给出了物理层为屏蔽双绞线和非屏蔽双绞线时的网络物理 描述、功能描述、电气规范、兼容性测试、总线错误讨论。 而saej1939-13 (物理层,离线诊断连接器)则定义了离线 诊断连接器的通用需求、性能需求和物理需求。 2.2数据链路层 saej1939的数据链路层在物理层之上提供了可靠的数 据传输功能。通过数据链路层的组织,发送的can数据帧具 有必需的同步、顺序控制、错误控制和流控制等功能。其中, 流控制是通过一致的信息帧格式完成[2]。 数据链路层的功能通过命令、请求、广播/响应、应答、 组功能和传输协议来实现。其中传输协议用于长度大于8个 字节的参数组(pgn)的收发。传输协议涉及报文的拆装和 重组,通讯方式乂分为广播和点对点会话,对传输过程还定义了超时监测和错误处理,是数据链路层最复杂的部分。 2.3网络层

saej1939协议(中文)

竭诚为您提供优质文档/双击可除saej1939协议(中文) 篇一:saej1939协议 saej1939协议_综述(转载) 发表于20xx/10/2611:16:06 saej1939协议是由美国汽车工程师协会——卡车和公共汽车电气电子委员会下的卡车和公共汽车控制和通讯网络分委员会制定的高层can网络通讯协议。它主要用于为重型道路车辆上电子部件间的通讯提供标准的体系结构[1]。1saej1939协议构成文件 saej1939协议包括如下几部分内容: saej1939-11物理层,250kbits/s,屏蔽双绞线 saej1939-13物理层,离线诊断连接器 saej1939-15简化的物理层,250kbits/s,非屏蔽双绞线 saej1939-21数据链路层 saej1939-31网络层 saej1939-71车辆应用层 saej1939-73应用层-诊断

saej1939-81j1939网络管理协议 ----------------------------------------------------------------------------------- 2各层协议的功能 2.1物理层 saej1939的物理层规范包含saej1939-11(物理层,250kbits/s,屏蔽双绞线)、saej1939-15(简化的物理层,250kbits/s,非屏蔽双绞线)和saej1939-13(物理层,离线诊断连接器)三部分。其中saej1939-11和saej1939-15给出了物理层为屏蔽双绞线和非屏蔽双绞线时的网络物理 描述、功能描述、电气规范、兼容性测试、总线错误讨论。而saej1939-13(物理层,离线诊断连接器)则定义了离线诊断连接器的通用需求、性能需求和物理需求。 2.2数据链路层 saej1939的数据链路层在物理层之上提供 了可靠的数据传输功能。通过数据链路层的组织,发送的can 数据帧具有必需的同步、顺序控制、错误控制和流控制等功能。其中,流控制是通过一致的信息帧格式完成[2]。 数据链路层的功能通过命令、请求、广播/响应、应答、组功能和传输协议来实现。其中传输协议用于长度大于8个字节的参数组(pgn)的收发。传输协议涉及报文的拆装和

CANopen协议介绍

CANopen ?????????CAN-bus????

?? 1??? (1) 2?CAL ?? (2) 3?CANopen (3) 3ˊ1 ????OD (3) 3ˊ2 CANopen?? (4) 3ˊ3 CANopen8?Н??▊ (6) 3ˊ4 CANopen????? (8) 3ˊ5 CANopen boot-up?? (8) 3ˊ6 CANopen?????? (9) 4??? (18) 5??? (19)

1??? ?OSI????????????????????????1???ˊ????2??????????7?????????????????????????????3????????4???????г????5???????6?????????? CAN?Controller Area Network????????Н??1???2???ISO11898?????┉??Ё????????????????????????????Software?????Firmware????????????? ???CAN??Н?ˊ?????????????????????????????????НCAN??Ё?11/29?????8?????????????CAN??????????Ё?????????????????????????????CAN??????????????????CAN ??Ё????????????????????????????????ˊ???z ????Application layer?????Ё??????????????????????? z ?????Communication profile???????????????Н??Н???????z ?????Device proflile?????????????????? ??????????CAN??????CAL?????CAL?????CANopen???CANopen ???CAN-in-Automation(CiA)?Н???П?????????Й?????????????????CANopen?????????CAN?????Ё?:??????????????????????????????????????????????????????????????ā????ā???Ё?????ā????ā?Н????????????????????CANopen????????????????????????? ?OSI??Ё?CAN???CANopen??П?????????? C iA DS P-401C iA DS P-404 CiA DSP-xxx Application C hip Data Link Physical Layer ?1.1 CAN?CANopen???OSI????Ё?????

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包含两种格式的说明:标准格式和扩展格式。SAE J1939必须使用扩展格式。在CAN网络上也可以有标准格式 图1:标准格式

J1939协议理解

J1939协议理解 今天读了J1939协议的介绍文档,下面主要说说我的理解: 1、网络应用分为几个层 物理层 SAE J1939-11 数据链路层 SAE J1939-21 网络层 SAE J1939-31 应用层 SAE J1939-71 故障诊断 SAE J1939-73 网络管理层 SAE J1939-81 2、下面主要说说数据链路层和应用层 数据链路层:为物理连接之间提供可靠的数据传输。包括发送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的格式

CAN总线与CANopen协议

CAN总线与CANOpen协议 一CAN总线简介 1.1 引言 在20世纪90年代的汽车研究领域,采用总线分布式控制获得了很大的成功。用户要求汽车的控制系统具有优越的性能以保证汽车的安全性和舒适性,因此越来越多的具有超强计算能力的电子设备加载在汽车上。这就要求不同的电子设备之间能够进行通信和数据交换,以达到信息共享协调工作的目的。德国的博世公司(Bosch)率先将CAN总线(Controller Area Network)应用于汽车电子控制系统,解决了控制系统的部件之间的以及控制系统与测试设备主机的数据交换问题,替代了原有网络(用于车体控制的LIN网络、用于厂内环境控制的MOST 网络及原有车内通信的Flecray网络等)实现的功能。由于其独特的设计思想和高可靠性,在不同总线标准的竞争中获得了广泛的认可,并逐渐成为汽车最基本的控制网络,广泛应用于火车、机器人、楼宇控制、机械制造、数字机床、医疗器械、自动化仪表等领域。 图1.1 早期的ECU(汽车电子控制单元)通信 CAN总线是一种串行通信协议,具有较高的通信速率的和较强的抗干扰能力,可以作为现场总线应用于电磁噪声较大的场合。由于CAN总线本身只定义ISO/OSI模型中的第一层(物理层)和第二层(数据链路层),通常情况下CAN 总线网络都是独立的网络,所以没有网络层。在实际使用中,用户还需要自己定义应用层的协议,因此在CAN总线的发展过程中出现了各种版本的CAN应用

层协议,现阶段最流行的CAN应用层协议主要有CANopen、DeviceNet和J1939等协议。 图1.2 基于总线(CAN)的ECU通信 1.2 CAN总线的特点 CAN总线并不采用物理地址的模式传送数据,而是每个消息有自己的标识符用来识别总线上的节点。标识符主要有2个功能:消息滤波和消息优先级确定。节点利用标识符确定是否接收总线上的传送的消息当有2个或更多节点需要传送数据时,根据标识符确定消息的优先级。总线访问采用多主原则,所有节点都可以作为主节点占用总线。CAN总线相对于Ethernet具有非破坏性避免总线冲突的特点(CSMA/CA协议,与CSMA/CD协议相似),这种方式可以保证在产生总线冲突的情况下,具有更高优先级的信息没有被延时传输。 其物理传输层详细和高效的定义,使得CAN总线具有其它总线无法达到的优势,注定其在工业现场总线中占有不可动摇的地位,CAN总线通信主要具有如下所示的优势和特点: (1)CAN总线上任意节点均可在任意时刻主动的向其它节点发起通信,节点没有主从之分,但在同一时刻优先级高的节点能获得总线的使用权,在高优先级的节点释放总线后,任意节点都可使用总线; (2)CAN总线传输波特率为5Kbps~1Mbps,在5Kbps的通信波特率下最远传输距离可以达到10Km,即使在1Mbps的波特率下也能传输40m的距离。在1Mbps波特率下节点发送一帧数据最多需要134μs; (3)CAN总线采用载波监听多路访问、逐位仲裁的非破坏性总线仲裁技术。在节点需要发送信息时,节点先监听总线是否空闲,只有节点监听到总线空

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)。该技术包括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位的数据场。

J1939协议理解

J1939协议理解 今天读了 J1939协议的介绍文档,下面主要说说我的理解: 1、网络应用分为几个层 物理层 SAE J1939-11 数据链路层SAE J1939-21 网络层 SAE J1939-31 应用层 SAE J1939-71 故障诊断SAE J1939-73 网络管理层SAE J1939-81 2、下面主要说说数据链路层和应用层 数据链路层:为物理连接之间提供可靠的数据传输。包括发送 步、顺序控制、 出错控制和流控制。 CAN 数据帧所必需的同 首先要明白几个概念 PGN :参数组编号 帧(Frame ):组成一个完整信息的一系列有序的数据位。帧又被划分成几个域,每个 域包括了预定义类型的数据。 CAN 数据帧(CAN Data Frame ):组成 开始以帧结束(EOF )结尾。 标准帧(Standard Frame ):CAN2.0A 扩展帧(Extended Frame ):CAN2.0 B CAN 协议帧所必需的有序位域, 以帧起始(SOF ) 规范中定义的使用 11位标识符的CAN 数据帧。 规范中定义的使用 29位标志符的CAN 数据帧。 当一条报文包含参数组的数据长度 包(Packet ):一个单一的 CAN 数据帧就是一个包。 小于等于8个字节时,这样的报文也称为包。 报文(Message ):指一个或多个具有相同参数组编号的( PGN )数据帧。也就是说只 要一个或多个 CAN 数据帧具有相同的 PGN 号,那他们就是属于一个报文。 ):当具有相同参数组编号的所有数据需要使用多个 J1939报文。每个CAN 数据帧拥有相同的标识符, 多包报文(Mult ip acket Messages CAN 数据帧来传输时使用的一种 但在每个包中数据不同。 协议数据单元PDU 的格式 it ■k PDU 1 PDUy ■ M 嶋 1 EDP 0P PF DATA L L 1 3 时t 伽」 PGN 25仪苛歆幷

can总线与canopen协议

竭诚为您提供优质文档/双击可除can总线与canopen协议 篇一:?canopen协议讲解 根据ds301的内容进行介绍 1、can总线 can标准报文 2、canopen应用层协议 canopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。同时,canopen完全基于can标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。 一个标准的canopen节点(下图),在数据链路层之上,添加了应用层。该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。 一个标准的canopen节点 canopen应用层协议细化了can总线协议中关于标识符的定义。定义标准报文的11比特标识符中高4比特为功能码,后7比特为节点号,重命名为通讯对象标识符(cob-id)。功能码将所有的报文分为7个优先级,按照优先级从高至低

依次为: 网络命令报文(nmt) 同步报文(sync) 紧急报文(emeRgency) 时间戳(time) 过程数据对象(pdo) 服务数据对象(sdo) 节点状态报文(nmterrcontrol) 7位的节点号则表明canopen网络最多可支持127个节点共存(0号节点为主站)。 下表给出了各报文的cob-id范围。 nmt命令为最高优先级报文,由canopen主站发出,用以更改从节点的运行状态。 sync报文定期由canopen主站发出,所有的同步pdo根据sync报文发送。 emeRgency报文由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。 time报文由canopen主站发出,用于同步所有从站的内部时钟。 pdo分为4对发送和接收pdo,每一个节点默认拥有4 对发送pdo和接收pdo,用于过程数据的传递。 sdo分为发送sdo和接收sdo,用于读写对象字典。

SAE J1939 协议简介(大结局)

SAE J1939 协议简介(大结局) 由于应用层会根据不同的行业和需求有所不同,所以应用层的开发可以参考标准自行研究,关于这个系列,今天是最后一集,我们来讲讲J1939的网络管理层(J1939/81)。 其实任何一种协议单看协议文件都是很枯燥的,但是其实协议软件的开发流程图就隐含在这协议描述中,多看几遍,多读几遍,多琢磨琢磨,在找些参考资料,相信你一定会理解协议中的需求,为你的后续开发扫平障碍。 肯定有人会问,总线上有那么多节点,总线上的那么多节点是如何管理和通信的呢? 网络管理层就是解决这些问题的。先来讲讲什么叫控制器应用程序。 控制器应用程序(CA)Controller Application(CA) 控制器为电控单元(ECU) 内执行一种特殊控制功能的软件和硬件。控制器里的软件称为“控制 器应用程序”(CA)。一个ECU 可以执行一个或多个控制功能,因此可以包括一个或多个CA。为了能够在本标准网络上进行通信,每个CA都必须有一个地址以及一个和它联系在一起的名字。 网络管理层为唯一识别网络上的CA、管理地址分配和网络错误提供必要的定义和程序。 每个CA应能提供唯一的64位名字(8个字节).CA必须首先声明地址成功,然后才能向网络发送,如果CA按地址声明过程声明地址失败,必须按标准方式进行处理并向网络报告。在采用 J1939标准的网络中,地址用于保证消息标识符的唯一性以及表明消息的源地址。地址声明消息包括地址和名字,用于把名字和网络中的某个地址关联在一起。每个CA在开始正常的网络通信之前,必须有一个名字并且成功声明了一个地址。名字有两个用途: 其一用于表示CA的功能描述(如发动机1,发动机2) 其二,作为一个数值,用于地址仲裁。 把一个地址与唯一的名字相关联,也就把一个地址和一个CA关联起来。ECU的制造商和网络 集成商必须保证所有在一个网络上传输消息CA的名字是唯一的。网络上的每个CA都应有一个名字,这样CA可以根据它的主要功能被唯一标识。当多个CA试着声明同一个地址时,名字 的所有8 个字节作为一个数值用于仲裁过程,这样进一步增强了标识符的唯一性,网络上的每 个CA依次得到一个唯一的地址,能够正确地和其它ECU仲裁CAN数据帧。关于64位名字各

J1939协议简介

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

CANopen协议—PDO介绍

机械工程学院机械设计及理论研究所 目录 第一章PDO实例分析 (1) 一、目的: (1) 二、手段: (1) 三、分析: (1) 四、过程: (2) 4.1.对象字典的编写 (2) 4.1.1各节点ID分配表定义 (2) 4.1.2对节点1进行对象字典编写 (2) 4.1.3对节点2进行对象字典编写 (3) 4.1.4对节点3进行对象字典编写 (5) 4.2节点1发送数据至节点2、节点3 (6) 4.2.1节点1发送数据至总线 (6) 4.2.2 节点2、节点3从总线接收数据 (7) 4.3 节点2 发送数据至节点3 (8) 4.3.1 节点2 发送数据至总线 (8) 4.3.2 节点3从总线接收数据 (9) 参考文献 (10)

第一章PDO实例分析 一、目的: 实例的目的如图1-1所示,实现节点1的数据(A、B)传送到节点2、节点3,同时实现节点2传输数据(C、D)至节点3 。 图1-1 数据传输目的 二、手段: 使用PDO进行数据传送。 三、分析: 图1-2 SDO客户/服务器通讯模式[1] PDO通信是基于生产者/消费者(Producer/Consumer)模型,主要用于传输实时数据。产生数据的节点将带有自己节点号的数据放到总线上,需要该数据的节点可以配置为接收该节点发送的数据[3]。

四、过程: 4.1.对象字典的编写 对象字典的结构和条目对于所有设备是共同的,本例中采用索引定位,子索引确定对象的思想构建对象字典,方法是使用结构体定义子索引,子索引结构体的成员变量包含对象的属性(读写权限,数据类型,数据长度等)和指向对象的指针,定义索引时包含指向子索引的指针和子索引数目,对象字典各项在代码中采取如图1-3所示的方式来组织构建,这样可以方便地通过索引和子索引一找到对应的项,对象定义为指针的形式可以通过主站的SDO报文进行读写,实现对对象字典的灵活配置,同时这种方式实现通讯层与应用层共享数据变量的特点。对象字典的条目格式如图1-3所示: 图1-3 对象字典模块结构图 4.1.1各节点ID分配表定义 表1-1 各节点ID分配表 4.1.2对节点1进行对象字典编写 节点1发送数据至节点2、节点3,故需定义TPDO,我们在此处定义为TPDO1。节点1的应用数据区、TPDO1的通讯参数和映射参数在对象字典中的定义分别如表1-2、1-3和1-4所示。 表1-2 节点1的应用数据区在对象字典中的定义 表1-3 节点1的TPDO1通讯参数在对象字典中的定义

CANopen协议介绍

CANopen协议介绍(讲义) 2010-10-12 15:58:28| 分类:技术文档| 标签:|举报|字号大中小订阅 很长一段时间以来,很多人问我CANopen 总线优势到底在什么地方,我也大体的给了口头的讲述,但是比较笼统,没办法做到详细解释,加上纯技术的话语比较晦涩,遇上内行还能多聊几句,如果是刚接触的,那就是云里雾里了。这次正好要进行公司业务员培训,要讲讲CANopen,在整理过程中把我的讲义贴出来,希望能帮到大家,以下内容是我讲课的口述内容,比较白话,不能作为资料,大家见谅,鉴于我整理也比较辛苦,也算个小小的知识产权,所以PPT我就不 贴出来了。^-^ 讲义内容: 通常CANopen协议相关的一些资料相对来说比较晦涩,非专业人士看起来比较困难。我尽量以浅显易懂的方式将CANopen 协议的框架和它在实际应用中存在的优缺 点展示给大家。

我按照最先接触的内容由浅入深的讲解,直接讲CANopen协议会有点跳跃的感觉,所以,我以产品作为切入点,分析一下如何使用,在这个过程中,让大家理解什么是CANopen协议。首先,我们拿到一个产品,比方说是编码器,它的用途是作为位置传感器,那我们就需要将编码器送出的数据进行采集。一般自然界中存在的信号有多种形式,大多以模拟量形式存在,类似于人感觉到温度的高低、水流的快慢、风力的大小等等。但这是很模糊的概念,今天热了还是冷了,风大风小,没有比较是很难界定的,为了规范这些量,方便描述时的统一性,温度计量标准有华氏和摄氏、水流有每秒多少立方、风力有级数。这些,就是数字量。数字量在人与人之间传递时,可以通过嘴和耳,语言和听力,在设备之间如何来传递呢?学过数电的人知道,灯泡有两种状态,亮和暗,在最基础的电路回路里,“通”和“断”是两个最基本的状态,我们可以把他理解为“1”和“0”,这样,就有了表述的方法。但是单独使用这两种状态是无法传递信息的,如何把编码器

CANOPEN协议详解.pdf

一、CAN-BUS 介绍 1.CAN 的基本概念、特点 CAN 是Controller Area Network 的缩写(以下称为 CAN ),是ISO*1国际标准化 的串行通信协议。CAN 协议如表 3 所示涵盖了ISO 规定的OSI 基本参照模型中的传输层、数据链路层及物理层。 CAN 协议中关于ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图所示。 . ISO/OSI 基本参照模型ISO/OSI 基本参照模型 各层定义的主要项目软件 控制 7 层:应用层 由实际应用程序提供可利用的服务。6 层:表示层 进行数据表现形式的转换。如:文字设定、数据压缩、加密等的控制5 层:会话层 为建立会话式的通信,控制数据正确地接收和发送。4 层:传输层控制数据传输的顺序、传送错误的恢复等,保证通信的品质。 如:错误修正、再传输控制。 3 层:网络层进行数据传送的路由选择或中继。 如:单元间的数据交换、地址管理。 硬件 控制 2 层:数据链路层 将物理层收到的信号(位序列)组成有意义的数据,提供传输错误控 制等数据传输控制流程。如:访问的方法、数据的形式。 通信方式、连接控制方式、同步方式、检错方式。应答方式、通信方式、包(帧)的构成。位的调制方式(包括位时序条件)。 1 层:物理层 规定了通信时使用的电缆、连接器等的媒体、电气信号规格等,以实 现设备间的信号传送。 如:信号电平、收发器、电缆、连接器等的形态。【注】*1 OSI :Open Systems Interconnection (开放式系统间互联)

CAN的特点 CAN 协议具有以下特点。 (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权。 (2) 消息的发送 在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连 的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利 的单元则立刻停止发送而进行接收工作。 (3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在 总线上的其它单元的软硬件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度 与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以 有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧”请求其他单元发送数据。 (6) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单 元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的 数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。 但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连 接的单元数增加;提高通信速度,则可连接的单元数减少。 2. CAN协议及标准规格

J1939协议应用设计编程说明

J1939协议应用设计编程说明 一、J1939协议简介 J1939协议是目前在大型汽车中应用最广泛的应用层协议,可达到250Kbit/s的通讯速率。J1939协议由美国SAE( Society of Automotive Engineer)组织维护和推广。 J1939协议具有如下特点: (1)以CAN2.0B协议为基础,物理层标准与ISO11898规范兼容并采用符合该规范的CAN 控制器及收发器。通讯速率最高可达到250Kbit/s。 (2)采用PDU( Protocol Data Unit协议数据单元)传送信息,每个PDU相当于CAN协议中的一帧。由于每个CAN帧最多可传输8个字节数据,因此PDU的传输具有很高的实时性。(3)利用CAN2.0B扩展帧格式的29位标志符定义每一个PDU的含义及该PDU的优先级。(4)J1939协议主要作为汽车中应用的通讯协议,对汽车中应用到的各类参数都进行了规定。参数的规定符合ISO11992标准。 二、J1939协议通讯报文内容解析 J1939协议实质是将CAN扩展帧格式中未明确定义的11位ID,18位扩展ID进行了明确定义,紧随ID的是8个字节的数据。 为了实现J1939协议报文的正确接收,必须首先明确其仲裁场(如上所示)是如何确定的。下面将逐一介绍: 优先级:29位标志符的前3位用于在仲裁过程中决定报文的优先级P。值000是最高的优先级。高的优先级用于高速要求的报文。低的优先级用于时间要求不紧迫的数据。 标志符位(R):保留位。在传输报文时此位置为0。此位留作将来SAF委员会定义其它目的使用。 数据页( DP)位:DP位用于选择两页参数组中的其中一页。0页包含现在被定义的所有报文。1页预备将来额外的扩展能力。在0页用完后才被分配。 PDU格式(PF):PDU代表协议数据单元。PF场识别能被传送的两个PDU格式。 SRR和IDE位:在CAN 2. 0B己被详细定义。它们被置为隐性位。这使扩展帧的优先级低于标准格式数据帧的优先级。 PDU专用(PS):它们由PF的值决定。如果PF的值在0与239之间( PDU 1),PS场包含一个目的地址;如果PF的值在240与255之间(PDU 2),PS场包含一个对PF的组扩展。组扩展提供更大的一组值以标识网络中能被广播的所有ECU的报文。在J1939标准下,要被广播的大多数报文用PDU 2格式。用PDU 2格式在网络中传输的数据不能被直接到达一个明确目的地。当报文必须要直接传送到一个专用ECU,必须在PDU1格式数的范围分配一个PGN(参数组数),以至少在报文标志符内能包括一个专用的目的地址。 源地址(SA):标志符的最后8位包含ECU传送报文的地址。对于一个给定的网络,每一个地址必须是唯一的,两个不同的ECU不能同时用同一个地址。

相关主题