CAN 总线的特点及 J1939 协议通信原理、内容和应用
CAN总线原理与应用基础
注:数据帧和远程帧可以使用标准帧及扩展帧2种格式。
2.1 CAN报文-编码
CAN采用“不归零”码
不归零码
0111001001
曼彻斯特码
(Manchester Coding) CAN is NRZ which has
EMC advantages compared with MC
2.1 CAN报文-编码-位填充
发工具。
CAN总线拓扑图
发动机
刹车系统
动力总成
网关
灯光
车窗及门锁
空调
仪表板
CAN节点模型
1.3 CAN总线分层结构
CAN覆盖了ISO规定的OSI基本参照模型中的 传输层、数据链路层及物理层。
1.3 CAN总线分层结构
ISO/OSI基本参照模型
各层定义的主要项目
软 7层:应用层 件 控 6层:表示层 制
0 0/1 1
2.1 CAN报文-帧结构-应答域
Interframe
space
Interframe
space
1
11 1 2 4
0 - 64
15
I d e n t ifie r F ie ld
D LC
Control
Data Field
CRC Field
Field
应答域(ACK Field)(标准格式和扩展格式),不填充 •接收确认机制,保证至少一个接收器正确接收到数据 •发送方发送1位隐性位
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总线概述(完整版)
一.CAN总线简介
1. CAN总线的发展历史
20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。
CAN控制器局部网(CAN—Controller Area Network)属于现场总线的畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。不久,Philips公司也推出了CAN 控制器82C200;
1991年,Bosch颁布CAN 2.0技术规,CAN2.0包括A和B两个部分
为促进CAN以与CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。CiA提供服务包括:发布CAN的各类技术规,免费下载CAN文献资料,提供CANopen规DeviceNet规;发布CAN产品数据库,CANopen产品指南;提供CANopen 验证工具执行CANopen认证测试;开发CAN规并发布为CiA标准。
基于SAE J1939协议的柴油机监测系统设计与实现
基于SAE J1939协议的柴油机监测系统设计
与实现
1. 引言
柴油机是目前主要的工业发动机,应用广泛,其机械结构复杂,维护难度大,为此,柴油机的监测和故障诊断成为了当前的研究热点。为了满足这一需求,本文将介绍一种基于SAE J1939协议的柴油机监测系统,该系统为柴油机的稳定运行和维护提供出色的帮助。
2. 系统概述
SAE J1939协议是由美国SAE(Society of Automotive Engineers)制定的农业和工程机械的通信协议。SAE J1939协议采用CAN总线进行通信,是一种完全开放的标准,支持默认的周期性和事件驱动的消息传递。基于SAE J1939协议的柴油机监测系统包括接口电路、控制器和监控软件。接下来将分别讲述这三部分的设计和实现。
3. 接口电路设计
接口电路是将SAE J1939协议的CAN信号转换为柴油机的实时数据的关键部分,它主要由CAN收发器和柴油机传感器组成。CAN收发器是CAN总线的收发器,它的输入端可以连接CAN总线,输出端可以连接多个设备,其作用是将CAN 信号转换为电压信号。柴油机传感器是将柴油机的实时数据转换为电信号的设备,它能够测量柴油机的转速、油耗、压力等参数。
4. 控制器设计
控制器是基于SAE J1939协议的柴油机监测系统的核心部分,它主要由控制芯片、存储器、串口和CAN芯片组成。控制芯片是控制器的处理器,其主要作用是
解析从柴油机传感器中读取到的数据,并将这些数据按照SAE J1939协议的格式进行封装并发送到CAN网络。存储器是控制器内用于存放柴油机的历史数据和系统设置的内容,主要为Flash和EEPROM。串口用于与上位机进行通信。CAN芯片相当于CAN总线的物理层,其主要用于将控制器和其他设备连接起来。
CAN总线及SAEJ1939通讯协议在汽车上的应用
CAN总线及SAEJ1939通讯协议在汽车上的应用
引言:
CAN总线是“Controller Area Network”的简称,它是一种经典的控制器局域网络,被广泛应用于汽车电子系统中。而SAE J1939通讯协议是一种基于CAN总线的协议,用于在专用车辆中实现高级自动化功能。CAN总线及SAE J1939通讯协议的应用使得汽车电子系统的通讯变得更加灵活、高效,并且可以实现更多的功能。本文将详细介绍CAN总线及SAE J1939通讯协议在汽车上的应用。
1.1.车身电子控制系统
1.2.发动机管理系统
1.3.刹车控制系统
1.4.底盘控制系统
1.5.安全系统
SAEJ1939通讯协议是基于CAN总线的协议,它是专门针对专用车辆的通讯标准。SAEJ1939通讯协议的应用可以归纳为以下几个方面:
2.1.丰富的数据传输
SAEJ1939协议定义了丰富的数据传输格式和数据类型,可以满足复杂的车辆控制和监测需求。通过SAEJ1939协议,各个控制模块能够高效地传输和解析各种类型的数据,提高了通讯的灵活性和可靠性。
2.2.灵活的网络管理
SAEJ1939协议中定义了网络管理的机制,可以实现网络中各个节点
的自动配置和故障诊断。通过SAEJ1939协议,可以实现网络中各个控制
模块的自动发现和连通性检测,提高了网络的可靠性和稳定性。
2.3.高级自动化功能
SAEJ1939协议的设计目标之一就是支持高级自动化功能的实现。通
过SAEJ1939协议,可以实现车辆之间的信息交换和协同工作,例如车队
管理、自适应巡航控制等功能,提高了车辆的安全性和效率性。
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总线的原理
can总线的原理
CAN总线的原理
CAN总线,全称Controller Area Network,是一种高度可靠的、高速的、串行通信总线,常被应用于汽车电子、工业控制和航空航天等领域。CAN总线的原理主要包括物理层、数据链路层和应用层。
一、物理层
CAN总线的物理层是基于差分传输的。它使用两条线CAN_H和CAN_L,当CAN_H线电压高于CAN_L线电压时,表示逻辑为1,当CAN_L线电压高于CAN_H线电压时,表示逻辑为0。CAN总线的差分传输方式具有很强的抗干扰能力,能够有效地抵抗电磁干扰和噪声等干扰。
二、数据链路层
CAN总线的数据链路层主要包括帧格式、帧发送和接收机制。CAN 总线的帧格式包括起始位、帧类型、数据长度、数据区、帧校验和和结束位。其中,起始位和结束位用于标识一个CAN总线帧的开始和结束,帧类型用于标识数据帧或远程帧,数据长度用于标识数据区的长度,数据区用于存储数据或请求数据,帧校验和用于确认数据的正确性。
CAN总线的帧发送机制采用分时复用和优先级控制的方法,即不同
节点通过CAN总线共享相同的带宽,同时通过优先级控制来实现节点之间的数据传输。当多个节点同时发送数据时,CAN总线会按照节点的优先级进行数据传输,优先级越高的节点先发送数据。
CAN总线的帧接收机制采用广播方式,即所有节点都能够接收到总线上的数据帧,并采用校验和来判断数据的正确性。如果数据校验和正确,则可以接收数据,否则舍弃数据。
三、应用层
CAN总线的应用层是通过标准的数据格式和协议来实现节点之间的数据交换。CAN总线的应用层支持多种数据类型,包括数字、模拟和状态等,并支持多种通信协议,如CANopen、J1939和DeviceNet等。
CAN总线简介
CAN总线简介
CAN是控制器局域⽹络(Controller Area Network, CAN)的简称,是由以研发和⽣产汽车电⼦产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应⽤最⼴泛的现场总线之⼀。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌⼊式⼯业控制局域⽹的标准总线,并且拥有以CAN为底层协议专为⼤型货车和重⼯机械车辆设计的
J1939协议。
CAN总线通过CAN收发器接⼝芯⽚82C250的两个输出端CANH和CANL与物理总线相连,⽽CANH端的状态只能是⾼电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485⽹络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从⽽损坏某些节点的现象。⽽且CAN节点在错误严重的情况下具有⾃动关闭输出功能,以使总线上其他节点的操作不受影响,从⽽保证不会出现像在⽹络中,因个别节点出现问题,使得总线处于“死锁”状态。⽽且,CAN具有的完善的通信协议可由CAN控制器芯⽚及其接⼝芯⽚来实现,从⽽⼤⼤降低系统开发难度,缩短了开发周期,这些是仅有电⽓协议的RS-485所⽆法⽐拟的。
另外,与其它现场总线⽐较⽽⾔,CAN总线是具有通信速率⾼、容易实现、且性价⽐⾼等诸多特点的⼀种已形成国际标准的现场总线。这些也是CAN总线应⽤于众多领域,具有强劲的市场竞争⼒的重要原因。
最有前途的现场总线之⼀CAN 即控制器局域⽹络,属于⼯业现场总线的范畴。与⼀般的通信总线相⽐,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到⼈们的重视。它在汽车领域上的应⽤是最⼴泛的,世界上⼀些著名的汽车制造⼚商都采⽤了CAN总线来实现汽车内部控制系统与各检测和执⾏机构间的数据通信。同时,由于CAN总线本⾝的特点,其应⽤范围已不再局限于汽车⾏业,⽽向⾃动控制、航空航天、航海、过程⼯业、机械⼯业、纺织机械、农⽤机械、机器⼈、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为⼏种最有前途的现场总线之⼀。其典型的应⽤协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。
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) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问
CAN总线通讯特点
CAN总线通讯特点
CAN(Controller Area Network)总线是一种广泛应用于工业控制、
汽车电子、船舶、机床等领域的通信协议。相比于传统的串行通信协议,CAN总线具有以下几个特点:
1.抗干扰能力强:CAN总线采用差分信号传输,可以有效减少外界电
磁干扰对通信质量的影响。此外,CAN总线还具备自动检测和纠错的机制,能够探测和消除传输中的错误,进一步提高通信的可靠性。
2. 高带宽和实时性:CAN总线的最高通信速率可达到1 Mbps,可以
满足实时性要求较高的应用场景。同时,CAN总线具备优先级机制,可以
根据消息的重要性进行排序,保证高优先级消息的及时传输,确保系统的
实时性需求。
3.多主机结构:CAN总线支持多主机结构,能够同时连接多个节点。
每个节点都具备发送和接收数据的能力,实现了分布式的数据交换。这种
结构使得系统具备更高的灵活性和扩展性,可以适应不同规模和复杂度的
应用场景。
4.双向通信:CAN总线支持双向通信,即一个节点可以同时发送和接
收数据。这种双向通信的特点可以实现同步和异步的数据传输,提高数据
的传输效率。
5.低成本和低功耗:CAN总线使用简单、成本低廉的硬件和接口,可
以很好地适应工业控制及汽车电子等应用领域的要求。另外,CAN总线的
传输距离较短,工作电压较低(通常为2.5V至5V),可以降低系统的功
耗和能耗。
6.易于诊断和维护:CAN总线具备自动检测和纠错的机制,节点之间的通信故障可以通过CAN总线自身的诊断功能来检测和定位。此外,CAN 总线还支持节点的热插拔,可以方便地添加或替换节点,减少系统维护的成本和时间。
一文读懂can总线的特点和优缺点
一文读懂can总线的特点和优缺点
什么是CAN总线CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN 为底层协议专为大型货车和重工机械车辆设计的J1939协议。
CAN总线的特点(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。
(2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1mb/s。
(3)can总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。
(4)can协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。(5)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。(6)can协议采用crc检验并可提供相应的错误处理功能,保证了数据通信的可靠性。can 总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。因此备受工业界的重视,并已公认为最有前途的现场总线之一。
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协议通信原理
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协议采用冗余机制和错误检测技术,能够提高系统的可靠性和容错性。如果一个节点发生故障,其他节点可以继续正常工作。
基于CANoe的J1939协议在ECU通信中的应用
基于CANoe的J1939协议在ECU通信中的应用
作者:张一娇
来源:《科技视界》2016年第18期
【摘要】作为现场总线一员的CAN总线的架构使用了OSI七层参考模型,其主要使用了七层参考模型中的物理层、数据链路层和应用层,本文对这三层进行了介绍。本文使用
TC1728芯片的CAN模块来实现一个传送J1939协议报文的CAN节点。该ECU的CAN节点与CANoe仿真工具模拟的一个CAN节点之间使用J1939协议相互通信。用户即可在CAN卡的图形化界面中观察ECU的CAN节点的报文帧是否正确。
【关键词】CAN总线;OSI七层参考模型;CANoe
J1939 Protocol in ECU communication based on CANoe
ZHANG Yi-jiao
(Chengdu College of University of Electronic Science & Technology, Chengdu Sichuan 611731, China)
【Abstract】CAN bus architecture as a field bus uses the OSI reference model, which is mainly used seven layer reference model physical layer, data link layer and application layer, these three are described herein. As used herein, TC1728 chip CAN module to implement a packet transmission protocol J1939 CAN node. The communication between the CAN node of the ECU and CANoe simulation tool simulation is using J1939 protocol. The user can observe the ECU CAN node in the graphical interface of CAN card and they can judge whether the message frame is correct.
CAN发展历程及SAE J1939综述
CAN总线的发展历程: 总线的发展历程: 总线的发展历程
※标准化: 标准化: 标准化
20世纪 年代初,BOSCH CAN(2.0版)被提交作为国际 世纪90年代初 世纪 年代初, 版 标准。经过几次争论, 标准。经过几次争论,特别是又有几个法国主要轿车制造 厂提出“交通工具局域网” 厂提出“交通工具局域网”VAN(Vehicle Area Network) ( 月公布了CAN的ISO 11898标准。 标准。 后,在1993年11月公布了 年 月公布了 的 标准 CAN标准化工作仍在进行,CAN协议仍在发展完善中。 标准化工作仍在进行, 协议仍在发展完善中。 标准化工作仍在进行 协议仍在发展完善中 2000年,Dr.Bernd Mueller和Thomas Fuehrer以及 年 和 以及 BOSCH的其他一些人员,会同来自半导体工业和学院搞研 的其他一些人员, 的其他一些人员 究的专家一起定义了TTCAN(Time Triggered CAN)。 究的专家一起定义了 ( )。 计划把它标准化为ISO 11898-4 。 计划把它标准化为 资料下载: 资料下载:www.ansi.org
制定目的
制定与在汽车部件之间传送信息报告、 制定与在汽车部件之间传送信息报告、电子 信号和控制信息的使用规范。 信号和控制信息的使用规范。
适用范围
这些规范的使用不限于卡车和公共汽车, 这些规范的使用不限于卡车和公共汽车,其 他的应用也可以采用该规范。 他的应用也可以采用该规范。
CAN总线J1939协议
CAN总线特点J1939通信协议原理
J1939是一个高速通讯网络,它支持ECUs间的实时闭路控制功能,这些ECUs在汽车上可能是物理分布的。J1939能执行所有的J1708/J1587功能,除此之外还有控制系统支持。
J1939使用CAN协议,当总线空转的时候,该协议允许任何ECU传送网络上的信息。每个信息包括一个标识符,该标识符确定信息优先权,谁先发送它,以及它包含什么数据。对于每个ECU单元,访问网络的机会是相同的,但在多个ECU同事要求传输信息时,有最高优先权的信息优先。
J1939提供了完全的网络定义,该定义使用在CAN协议中定义的29位标识符(CAN扩展帧)。CAN协议格式由28位到0位传输,而J1939协议格式的标识符由1位到32位传输,共32位。
CAN特性
低成本;
极高的总线利用率;
很远的数据传输距离(长达10km)
高速的数据传输速率(高达1Mbit/s)
可根据报文的ID决定接收或屏蔽该报文;
可靠的错误处理和检错机制;
发送的信息遭到破坏后,可自动重发;
节点在错误严重的情况下具有自动退出总线的功能;
报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
驾驶室 监视仪
牵引动力总线
网桥
拖车机构
到下一拖车系统
网桥 拖车子网
250 K
发动机 系统
传动 系统
制动 系统
路由
制动器
轴/悬 挂系 统
制动
照明
图 1 典型汽车网络连接
3
4.节点设计及数据通信 最小化节点的主控制芯片采用 51 系列的单片机,控制器采用 PHILIPS 公司的 SJA1000,控制器接口采 用 82c250。 为了构建 CAN 总线局域网络,采用了研华公司生产的双端口 CAAN 控制卡 PCL-841,每块 PCL-841 卡集 成了两块 PHILIPS 的 SJA1000 控制器和 82c250 控制器接口。这样两块控制卡就有四个端□,相当于四个 独立的节点,用数据线连接起来,就组成了基本的 CAN 局域网。如图 2 所示。
在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。但货车和客车 在这方面却远未能满足排放法规的要求。计划到 2006 年,北京地区的货车和客车的排放要满足欧Ⅲ标准。 因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。采用控制器局域网 和国际公认标准协议 J1939 来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切 的需要也是必然的发展趋势。
CAN 总线
节点 1 节点 2 节点 3 节点 4
PC 机
图 2 CAN 局域网 软件的编写主要包括对寄存器的配置、硬件初始化、中断调用、数据通信几大模块。中断调用中包括 数据中的中断接收、中断发送,以及错误处理、报警等模块。通信模块又分为数据的发送、接收、请求等。 综上所述,J1939 通信协议解决了如下问题。 (I)优先权问题。如自动换挡要求减油门,巡航控制同时要求增油,而 ASR 则要求减油门以维持驱动 轴的低扭矩。根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。 (2)灵活性问题。因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在 一起的能力。 (3)可扩展性。即需要增加新的子系统时,不需要对基本系统作修改。 (4)独立性。每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。 (5)为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。
DATA FIELD 0~64
(2)数据传转协议
J1939 通信中的核心是负责数据传输的传输协议。它的功能分为两部分:
(1)数据的拆分打包和重组。一个 J1939 的报文单元只有 8 个字节的数据场。因此如果所要发送的数 据超过了 8 字节,就应该分成几个小的数据包分批发送。数据场的第一个字节从 1 开始作为报文的序号, 后 7 个字节用来存放数据。所以可以发送 255×7=1785 个字节的数据。报文被接收以后按序号重新组合成 原来的数据。
b.连接。建立 J1939 网络节点与开发工具之间的连接。连接器的设计也必须符合 J1939 协议。
c.诊断状态数据支持。提供一系列的数据格式。包括读取出错数据、清除错误数据、监测通信参数、 获取节点的配置以及其他的一些信息。
d.诊断测试支持。可以使开发工具把各种控制节点放到具体的测试模式中以正确设计子网体系。诊断 工具通过连接器与其他节点进行通信以获取诊断数据。因此所有的控制节点都应该具备以下功能:读取诊 断故障代码、清除诊断故障代码、获取实时信息。而诊断故障代码记载了出错的参数及所在的节点等主要 信息。
随着 CAN 在各种领域的应用和推广,对其通信格式的标准化提出了要求。1991 年 9 月 Philips Semiconductors 制定并发布了 CAN 技术规范(Versio 2.0)。该技术包括 A 和 B 两部分。2.OA 给出了 CAN 报文标准格式,而 2.OB 给出了标准的和扩展的两种格式。1993 年 11 月 ISO 颁布了道路交通运输工具-数 据信息交换-高速通信局域网(CAN)国际标准 ISO11898,为控制局域网的标准化和规范化铺平了道路。美国 的汽车工程学会 SAE 于 2000 年提出的 J1939,成为货车和客车中控制器局域网的通用标准。
c.路由。可以使网络段具有独立的地址空间不同的数据传输率和媒介。
d.网关。可以在不同的协议和数据设置的网段之间传送数据。图 1 为典型的汽车网络连接。
(2)J1939 应用于故障诊断
J1939 包括在线故障诊断功能,由诊断应用层定义。诊断应用层面向以下几方面。
a.安全。在数据链路层上定义一个安全的框架,使得符合工业标准的开发工具执行必要的诊断任务。 包括获取诊断信息,获取节点配置信息,标定控制模式。但对非开放型的数据加密。
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 位的数据场。
3.J1939 协议的应用
(1)J1939 应用于网络构建
J1939 网络层中定义了如何构建网络及连接的功能。网络层的功能包括数据的过滤、重新打包和转发。 分别由以下各部分实现。
2
a.中继器。可以增强数据信号,使数据传输更远的距离。
b.网桥。数据的转发和过滤。它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故 障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。
IDE
扩展 标识
14
18 位扩展标识符
PF
15 16 17 16
PS 格 式(8 位)
17~24 15~8
源地 址(8 位)
25~32 7~0
表 2 J1939 协议报文单元的具体格式
一个 J1939 协议报文单元
PRIORITY R
DP
3
1
1
PDU FORMAT 8
PDU SPECIFIC 8
SOURCE ADDRESS 8
1 CAN 总线特点及其发展
控制器局域网络(CAN)是德国 Robert bosch 公司在 20 世纪 80 年代初为汽车业开发的一种串行数据通 信总线。CAN 是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。CAN 的应用范围遍及 从高速网络到低成本底多线路网络。在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中, CAN 的位速率可高达 1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口 等,可以替代所需要的硬件连接。它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作 方式。CAN 网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。网络上的节点可 分为不通优先级,满足不同的实时要求。采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络 上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。具有点对点、 一点对多点及全局广播接收传送数据的功能。
(3)J1939 的参数格式
J1939 中还定义了参数的具体格式,如标识符、优先级、数据长度、参数的范围等。参数又划分为状 态参数和测量参数。状态参数表示具有多态信号的某一种状态,如发动机刹车使能/禁能、巡航控制激活/ 关闭,扭矩/速度控制超载模式、错误代码等。而测量参数则表示所接收到的信号的值的具体大小,如缸 内爆发压力、最大巡航速度、发动机转速等。
(2)连接管理。主要对节点之间连接的建立和关闭,数据的传送进行管理。其中定义了 5 种帧结构:发 送请求帧、发送清除帧、结束应答帧、连接失败帧以及用来全局接收的广播帧。节点之间的连接通过一个 节点向目的地址发送一个发送请求帧而建立。在接收发送请求帧以后,节点如果有足够的空间来接收数据 并且数据有效,则发送一个发送清除帧,开始数据的传送。如果存储空间不够或者数据无效等原因,节点 需要拒绝连接,则发送连接失败帧,连接关闭。如果数据接收全部完成。则节点发送一个结束应答帧,连 接关闭。
CAN 总线的特点及 J1939 协议通信原理、内容和应用
众多国际知名汽车公司早在 20 世纪 80 年代就积极致力于汽车网络技术的研究及应用。迄今已有多种 网络标准,如专门用于货车和客车上的 SAE 的 J1939、德国大众的 ABUS、博世的 CAN、美国商用机器的 AutoCAN、ISO 的 VAN、马自达的 PALMNET 等。
1
表 1 CAN2.0 的标准和扩展格式及 J1939 协议所定义的格式
CAN 扩展 SOF 11 位标识符
SRR
帧格式
J1939 帧 格式
帧起 始位
优先 权3 位
R 位 数据 PF 格 SRR (保) 页 DP 式 6 位 位
CAN
1
帧位置
2~4 5 28~26 25
6
7~12 13
24
23~18
4Leabharlann Baidu
(6)车辆状态共享。如发动机转速、车速、轮速等数据必须各子系统共享,数据的传输及刷新时间取决于各个子系统 的特性,并由此决定优先权
5