第五章CAN总线

第五章CAN总线
第五章CAN总线

第五章CAN总线

第一节CAN总线概述

CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。

CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。

1993年,CAN 已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。

与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。今天,在欧洲几乎每一辆新客车均装配有CAN局域网,CAN已经成为全球范围内最重要的总线之一,甚至领导着串行总线。在1999年,接近6千万个CAN控制器投入使用;在2000年,市场销售超过1亿个CAN器件。

一、CAN总线的技术特点

(1)CAN工作于多主方式,网络上任意一个节点均可在任意时刻主动地向网络上的其他节点发送信息,不分主从,通信方式灵活,且无需站地址等节点信息。

(2)CAN网络上的节点信息分成不同的优先级,可满足不同的实时性要求,高优先级的数据最快可在134μs内得到传输。

(3)CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大地节省了总线仲裁时间。在网络负载很重的情况下也不会出现网络瘫痪情况。

(4)CAN网络具有点对点、一点对多点和全局广播等几种通信方式。

(5)CAN的直接通信距离最远可达10km(速率在5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。

(6)CAN上节点主要取决于总线驱动电路,目前可达110个;报文表示可达2032

种(CAN 2.0A),而扩展标准(CAN 2.0B)的报文标识几乎不受限制。

(7)采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。

(8)CAN的每帧信息都有CRC校验气气他检错措施,保证了极低的数据出错率。

(9)CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。

(10)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。

二、基本术语与概念

(1)报文(Messages)

(2)信息路由(Information Routing)

(3)位速率(Bit Rate)

(4)优先权(Priorties)

(5)远程数据请求(Remote Data Request)

(6)多主机(Multimaster)

(7)仲裁(Arbitrtion)

(8)安全性(Safety)

(9)错误标定和恢复时间(Error Signaling and Recovery Time)

(10)故障界定(Fault Confinement)

(11)连接(Connections)

(12)单一通道(Single Channel)

(13)总线值的表示(Bus Values)

(14)应答(Acknowledgment)

(15)休眠模式/唤醒(Sleep Mode/Wake-up)

第二节CAN的技术协议规范

随着CAN在各种领域的应用与推广,对其通信格式的标准化提出了要求。为此,1991年9月,Philips半导体公司(2006年9月1日,更名为NXP半导体公司)制订并发布了CAN技术规范(Version2.0)。该技术规范包括A和B两部分。

2.0A给出了CAN报文标准格式(11位标识符),而2.0B给出标准的(11位标识符)和扩展的(29位标识符)两种格式。1993年11月,ISO正式颁布了公路车辆—数字信息交换—用于高速通信的控制器局域网(CAN)国际标准ISO11898以及低速标准ISO11519-2,为控制器局域网的标准化、规范比铺平了道路。ISO11898和ISO11519-2标准对于数据链路层的定义相同,但物理层不同。

一、CAN协议的分层结构

为使设计透明和执行灵活,CAN只采用了ISO/OSI标准模型中的两层:

?数据链路层:包括逻辑链路控制子层(Logical Link Control,LLC )和媒体访问控制子层(Medium Access Control,MAC)。

?物理层:包括物理信号子层(Physical Layer Signal,PLS) 、物理介质连接(Physical Medium Attachment,PMA)和介质相关接口(Medium Dependent

Interface,MDI) 。

在CAN技术规范2.0A的版本中,数据链路层的LLC和MAC子层的服务和功能被描述为“目标层”和“传送层”。

1.物理层

物理层定义信号是如何进行传输的,各部分的功能如下:

(1)物理层信号PLS:实现位定时、位编码/解码、同步等功能。

?理想发送器在没有重同步的情况下,每秒发送的位数定义为标称位速率,定义其倒数为标称位时间,它可分为同步段、传播段、相位缓冲段1和相位缓冲段2等几个互补重叠的时间段。

?CAN位流根据“不归零”NRZ方式来编码,即在整个位时间里,位电平要么为

显性,要么为隐性。在隐性状态下,VCANH和VCANL被固定于平均电压电平,Vdiff近似为零。显性状态以大于最小阈值的差分电压表示。在显位期间,显性状态改变隐性状态并发送。

?同步包括硬同步和重同步两种形式。在一个时间内只允许一种同步。仅当采样点之前检测到的数值与紧跟边沿之后出现的数值不同时,边沿才用于同步。(2)物理介质连接PMA:实现总线发送/接收的功能电路,并可提供总线故障检测方法。

?CAN2.0规范没有定义该层的驱动器/接收器特性,以便在具体应用中进行优化设计。

(3)介质相关接口MDI:实现物理介质与媒体访问单元之间的机械电气接口。

CAN总线物理层的物理介质连接比较灵活,可以采用共地的单线制(汽车常用) 、双线制、同轴电缆、双绞线和光缆等。网上节点数理论上不受限制,实际上受CAN收发器芯片驱动能力的限制,可达110个。当总线段长为40m时,最大通信速率为1Mbps;而当通信速率为5kbps时,直接通信距离最大可达10km。

2. 数据链路层

(1)逻辑链路控制子层LLC

LLC子层的功能包括验收滤波、过载通知和恢复管理;为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际已被接收;并为恢复管理和通知超载提供信息。在定义目标处理时,存在许多灵活性。

?验收滤波:帧内容由标识符命名,标识符不能指明帧的目的地,但会描述数据的含义,每个接收器通过帧验收滤波确定此帧。

?过载通知:若接收器由于内部原因要求延迟下一个数据帧/远程帧,则发送过载帧。

?恢复管理:发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发功能,在成功发送完成之前,帧发送服务不被用户认可。

(2)媒体访问控制子层MAC

MAC子层是CAN协议的核心,它把接收到的报文提供给LLC,并接收来自LLC得报文。MAC子层的主要功能是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层还要确定是否马上开始接收、是否为新的发送开放总线等。位定时的一些普通功能也可以看做MAC子层的一部分。MAC 子层持性不存在修改的灵活性。MAC子层有“故障界定”的逻辑电路,此故障界定为自检机制,以便把永久故障和短时扰动区别开来。

?功能描述:MAC子层划分为发送和接收两个独立工作的部分。发送部分提供的功能包括:数据封装和发送媒体访问管理。接收部分提供的功能包括:数据拆装和接收媒体访问管理。

?MAC帧编码:CAN的数据帧的五个部分(帧起始、仲裁域、控制域、数据域和CRC序列)均通过位填充的方法编码。无论何时,发送器只要检测到位流中有5个连续相同数值的位时,便自动在位流中插入一个补码位。位填充对对于发送单元和接收单元的工作是不同的。

?介质访问管理:如果总线处于空闲,则任何单元都可以开始发送报文。若是两个或两个以上的单元同时开始传送报文,那么就会有总线冲突,可以通过使用标识符的位仲裁形式来解决冲突。标识符是CAN报文中所包含的信息,不指明报文的目的地,而系统其他节点可以识别该标识符含义并判断是否接收该报文。总线访问期间,标识符定义静态的报文优先权,即标识符值越小的优先权

越高。

注:CAN2.0B规范对物理层中的驱动器、收发器、连接器和电缆等的形态没有规定,但ISO11898和ISO11519-2对物理层的PMA层和MDA层都有定义,内容不相同。

CAN的ISO/OSI参考模型的分层结构

二、报文传送与帧结构

总线上的信息以不同的固定报文格式发送。CAN通信协议约定了四种不同的报文格式:?数据帧:携带数据从发送器至接收器。

?远程帧:接收单元向发送单元请求发送具有相同标识符数据所用的帧。

?错误帧:任何单元检测到一个总线错误就发出错误帧。

?过载帧:用以在先后的数据或远程帧之间提供一个附加的延时。

此外,数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一个帧间隔与前面的帧分开。

1.数据帧

数据帧由以下七个不同的位域组成:

?帧起始(SOF):标志数据帧和远程帧的起始。

?仲裁域:对于标准帧,由11个识别位(ID)和1个远程发送请求位(RTR)组成;

对于扩展帧,由11位基本ID、SSR位、IDE位和18个扩展ID组成。

?控制域:由6个位组成:一个识别扩展(IDE)位(该位为显性状态时,说明这是标准帧)、一个零保留位(RB0) (该位定义为显性位)、四位数据长度码(DLC) (说明报文包括的数据字节数) 。

?数据域:包含正在发送的数据字节。数据域的长度由数据长度码DLC定义(0~8个字节)。

?循环冗余码(SOF)域:用来检测报文传输错误。包含一个15位的CRC序列,之后是一个隐性的CRC定界位。

?应答(ACK)域:所谓应答,即所有的接收器检查报文的一致性。对于接收正确的报文接收器应答,对于不正确的报文接收器作出标志。应答域由应答间隙和应答定界符两个位组成。

?帧结束:每一个数据帧和远程帧均由一个标志序列(由7个隐性位组成)界定。

2.远程帧

一般情况下,数据传输是由源数据节点(如传感器发送数据帧)自主完成的,但也可能发生终节点向源节点请求发送数据的情况,即远程数据请求。要做到这一点,终节点需发送一个标识符与所需数据帧的标识符相匹配的远程帧,随后相应的数据源节点会发送一个数据帧以响应远程帧请求。远程帧也分为标准帧和扩展帧,由帧起始、仲裁域、控制域、CRC域、ACK域和帧结束六个域组成。

3.错误帧

错误帧是由检测到总线错误的任意节点产生的,包含两个域:

?错误标志:包括激活错误标志(6个连续的显性位)和认可错误标志(6个连续的隐性位)两种,节点发送哪种类型的出错标志取决于其所处的错误状态。

?错误定界符:由8个隐性位构成。

4.过载帧

?过载帧只能在帧间间隔产生,而错误帧是在帧传输时发出的。节点最多可产生两条连续的过载帧来延迟下一条报文的发送,有三种情况会产生过载帧:(1)接收器由于内部原因需要延迟下一个数据帧或远程帧;(2)节点在帧空间检测到非法显性位;(3)节点在错误界定符或过载界定符的第8位采样到一个显性位。?过载帧与激活错误帧具有相同的格式。过载帧由过载标志(由6个显性位构成)和过载定界符(包含8个隐性位)两个域组成。因为过载标志违反了“间歇”域的固定格式,其他节点检测到过载条件并发送过载标志,因此过载标志产生重叠。

5.帧间空间

帧间空间将前一条帧与其后的数据帧或远程帧分离开来。帧间空间由至少3个隐性位构成,又称为间断。间断使节点在发送下一条报文之前有时间进行内部处理。过载帧和错误帧之前不能插入帧间隔。在间断之后,CAN总线将保持隐形状态(总线空闲) ,直到下一条报文发送开始。

帧间空间结构

第三节CAN总线的节点组成

一般来说,系统中每个CAN模块都能按照控制节点被分成不同的功能块,每个节点由微处理器、CAN控制器和CAN收发器组成。

对于每个控制节点(或称控制单元),首先是通过微处理器(或CPU)读取外围设备、传感器和处理人机接口(MMI)的检测与控制信号,并对该信号进行局部控制调节,执行具体的计算及信息处理等应用功能;同时,通过CAN控制器与其他控制节点或功能模块进行通信。

CAN总线的连接一般是由CAN收发器建立的,CAN收发器增强了总线的驱动能力,它控制逻辑电平使信号从CAN控制器到达总线上的物理层,反之亦然。在CAN收发器上面一层是一个CAN控制器,它主要用于系统通信,执行在CAN 规约里定义的CAN协议。CAN控制器通常用于信息缓冲和验收滤波。因此,独立的CAN控制器总是位于微处理器和CAN收发器之间,一般情况下这个控制器是一个集成电路。

CAN总线节点模块装置

一、CAN控制器SJA1000

当CAN协议规范化之后,就可以在集成电路上设计实现物理层和数据链路层的功能。实现这种功能的集成电路称为通信控制器。通信控制器和微处理器配合使用,在微处理器中实现应用层的功能和用户需要的其他功能。

通信控制器可以单独封装,也可以嵌入到微处理器中,作为微处理器的一个外设。目前,最常见的独立封装的CAN控制器是NXP 半导体公司生产的SJA1000,它特别适合于车内的电子模块、传感器、制动器的连接和通用工业应用中,尤其是系统优化、系统诊断和系统维护时特别重要。此外,许多微控制器提供CAN通信接口,8051系列单片机中的P87C591、C8051F040等都有CAN通信接口,嵌入式处理器ARM系列也集成了CAN通信控制器。

1.SJA1000的结构与功能

(1)概述

SJA1000有两种不同的操作模式:

1)Basic CAN模式:这种模式与PCA82C200兼容,支持CAN2.0A协议。

2)Peli CAN模式:是新的操作模式,支持CAN 2.0B协议。主要扩展了以下功能:?错误检测及处理。

?可使用单次发送,取消重发功能。

?监听模式(无应答,无活动错误标志)。

?支持热插拔,可由软件实现位速率自动检测。

?接收过滤器扩大为4字节长,接收方式更加灵活。节点可接收自发信息。

操作模式通过内部的时钟分频寄存器CDR中的CAN模式位来选择。上电复位时默认模式是Basic CAN。

(2) SJA1000硬件结构

1)接口管理逻辑(IML)

完成对外部处理器的连接,解释来自处理器的命令,控制CAN寄存器的寻址,向控制器提供中断信息和状态信息。

2)数据缓冲器

?发送缓冲器(TXB)。是处理器和位流处理器之间的接口,能够存储发送到CAN 网络上的完整信息。发送缓冲器长13 个字节,由处理器写入、位流处理器读出。

接收缓冲器(RXB)。位于验收滤波器和处理器之间,用来存储从CAN总线上接收并确认信息。接收缓冲器(13字节)作为接收FIFO(64字节)的一个窗口,可以被处理器访问。在此FIFO的支持下,处理器可以在处理一条报文的同时接收其它报文。

3)验收滤波器(ACF)

当SJA1000收到一条报文时,首先将串行位流装换成并行数据,然后送往验收滤波器。验收滤波器完成接收信息的滤波,通过这个可编程的滤波器,SJA1000能确定哪些信息可以接收。只有验收滤波通过且无差错时,才把接收的信息帧送入接收FIFO缓冲区。

4)位流处理器(BSP)

是一个在数据缓冲器和CAN 总线之间控制数据流的程序装置,还执行总线上的错误检测、仲裁、填充和错误处理。

5)位时序逻辑(BTL)

监视串口的CAN 总线和处理与总线有关的位时序,提供了可编程的时间段来补偿传播延时、相位偏移、定义采样点和每一位的采样次数。

6)错误管理逻辑(EML)

负责处理传输层模块的错误。它接收位流处理器的出错报告,通知位流处理器和接口管理逻辑进行错误统计。

SJA1000硬件结构框图

SJA1000的引脚配置

(1)模式(控制)寄存器:地址是0的寄存器,在Basic CAN模式下称为控制寄存器(CR);在Peli CAN 模式下称为模式寄存器(MOD)。这个寄存器用于改变CAN控制器的行为,控制寄存器主要管理中断系统和复位模式;模式寄存器用于设置SJA1000的几种工作方式及验收滤波模式。

(2)命令寄存器:控制SJA1000传输层的动作,是只写的。在Basic CAN模式下读命令寄存器的结果总是FFH;在Peli CAN模式下命令寄存器的结果总是00H。(3)状态寄存器:其内容反映了当前SJA1000的工作状态,是只读的。在Basic CAN 模式和Peli CAN模式下,状态寄存器中的功能相同。

(4)中断管理寄存器:有中断寄存器和中断允许寄存器。在Basic CAN模式下,中断允许位在控制寄存器中定义,没有单独的中断允许寄存器。

(5)总线定时寄存器:总线定时寄存器0定义了波特率预设值BRP和同步跳转宽度SJW的值。总线定时寄存器1定义了每个周期位的长度、采样点的位置和在每个采样点的采样次数。

(6)输出控制寄存器:控制SJA1000的发送电路,可以配置成不同的输出驱动方式。在复位模式中,此寄存器可被读写访问。

(7)时钟分频寄存器:控制输出时钟的频率。此外,还控制着TX1上专用接收中断脉冲、接收比较通道以及Basic CAN模式和Peli CAN模式的选择。硬件复位后寄存器的默认状态是NXP模式的12分频或Intel模式2分频。

二、CAN收发器82C250

CAN总线收发器(也称CAN总线驱动器)提供CAN控制器与物理总线之间的接口,对总线提供差动发送能力,并对CAN控制器提供差动接收能力,是影响CAN网络通信的一个重要因素。

1.概述

PCA82C250是NXP半导体公司生产的CAN总线收发器,主要用于汽车中高速领域,是目前使用最广泛的CAN总线收发器,具有以下特性:

?与ISO11898标准完全兼容;

?高速率(最高可达1Mbps);

?具有抗汽车环境下瞬间干扰和保护总线的能力;

?防止总线与电源及地之间发生短路;

?热保护;

?降低射频干扰(RFI)和斜率(slope)控制;

?低电流待机方式;

?某一节点掉电将会自动关闭输出,不会影响总线其他节点工作;?可连接110个节点。

2.组成结构及功能描述

PCA82C250结构框图

PCA82C250管脚图

三、CAN 总线系统智能节点设计

1.CAN 总线系统智能节点硬件电路设计

CAN 总线系统智能节点硬件电路原理图

电路主要由四部分所构成:微控制器89C51、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。微处理器89C51负责SJA1000 的初始化,通过控制SJA1000 实现数据的接收和发送等通信任务。

(1)SJA1000的AD0~AD7连接到89C51的P0口,____

CS连接到89C51的P2.0,P2.0

为0 的CPU片外存储器地址可选中SJA1000,CPU 通过这些地址可对SJA1000 执

行相应的读写操作。SJA1000 的____

CS、

____

WR、ALE分别与89C51的对应引脚相连,

_____

INT接89C51的0

INT,89C51也可通过中断方式访问SJA1000。

(2)为了增强CAN 总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137 后与82C250相连,这样就很好的

实现了总线上各CAN节点间的电气隔离。

(3)82C250与CAN 总线的接口部分也采用了一定的安全和抗干扰措施。82C250

的CANH和CANL引脚各自通过一个5Ω的电阻与CAN 总线相连,电阻可起到一定的限流作用,保护82C250 免受过流的冲击。CANH和CANL与地之间并联了两个30pF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外,在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN 总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。82C250 的Rs脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整,一般在16KΩ~140KΩ之间。

2.CAN 总线系统智能节点软件设计

CAN 总线节点的软件设计主要包括三大部分:

(1)CAN节点初始化

SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器IER 的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。

(2)报文发送

发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000 发送缓存区中,然后启动SJA1000发送即可。当然,在往SJA1000发送缓存区送报文之前,必须先作一些判断。发送程序分发送远程帧和数据帧两种,远程帧无数据场。

(3)报文接收

接收子程序负责节点报文的接收以及其它情况处理。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接收溢出等情况进行处理。SJA1000 报文的接收主要有两种方式:中断接收方式和查询接收方式。如果对通信的实时性要求不是很强,建议采用查询接收方式。两种接收方式编程的思路基本相同。

SJA1000初始化流程图

中断接收方式处理流程图

第四节CAN网络在现代汽车中的应用

一、汽车网络的分类及发展趋向

汽车网络系统

自1980年起,众多国际知名汽车公司开始积极致力于汽车网络技术的研究及

应用。汽车网络的使用解决了点对点式车身布线带来的问题,使车身布线趋于更

规范化、标准化,降低了成本,增强了稳定性。迄今为止,已有Bosch的CAN、SAE的J1850、ISO的V AN和LIN协会的LIN等多种网络标准。

美国汽车工程师协会(Society of Automotive Engineers,SAE)下属的汽车网络委员会按照协议特性将各种车用总线划分为A、B、C、D四类。

汽车网络的划分

类别对象位速率应用范围

A 面向传感器/执行器控制

器的低速网络

<10kbps主要用于调整后视镜、电动窗和灯

光照明等设备

B 面向独立控制模块间的

信息共享的中速网络

10-125kb

ps

主要用在车身电子的舒适性模块和

显示仪表等设备中

C 面向闭环实时控制的多

路传输高速网

125kbps

-1Mbps

主要用于车上动力传动系统中对通

信的实时性要求比较高的场合

D 面向多媒体设备、高速数

据流传输的高性能网络

>2Mbps

主要用于CD播放机、VCD/ DVD

播放器和液晶显示等设备

1.A类网络标准

从目前的发展和使用情况来看,A类网的主要总线为:

?TTP/A。最初由维也纳工业大学制定,为时间触发类型的网络协议,主要应用于集成了智能变换器的实时现场总线。它具有标准的UART,能自动识别加入总线的主节点与从节点,节点在某段已知的时间内触发通信但不具备内部容错功能。

?LIN。在1999年由欧洲汽车制造商Audi、BMW、DaimlerChrysler、V olvo、V olkswagen和VCT 公司以及Motorola公司组成的LIN协会,共同推出的用于汽车分布式电控系统的开放式的低成本串行通信标准,从2003年开始使用。

LIN网络已经广泛地被世界上的大多数汽车公司以及零配件厂商所接受,有望成为事实上的A类网络标准。

2.B类网络标准

从目前来看,主要应用的B类总线标准有:

?低速CAN。低速CAN具有许多容错功能,一般用在车身电子控制中。CAN 总线凭借其突出的可靠性、实时性和灵活性已从众多总线中突显出来,成为世界接受的B类总线的主流协议。

?J1850。1994年SAE正式将J1850作为B类网络标准协议。最早,SAE J1850用在美国Ford、GM以及Chrysler公司的汽车中;现在,J1850协议作为诊断和数据共享被广泛应用在汽车产品中。

?V AN。V AN标准是ISO于1994年6月推出的。它基于ISO11519-3,主要为法国汽车公司所用。但目前就动力与传动系统而言,甚至在法国也集中在CAN 总线上。

3.C类网络标准

C类标准主要用于与汽车安全相关及实时性要求比较高的地方,如动力系统,所以其传输速率比较高,通常在125kbps-1Mbps之间,必须支持实时的周期性参数传输。目前,C类网络中的主要协议包括:

?高速CAN。欧洲的汽车制造商基本上采用高速CAN总线标准ISO11898。高速CAN大多用在汽车底盘和发动机的电子控制中。然而,作为一种事件驱动型

总线,CAN无法为下一代线控系统提供所需的容错功能或带宽,因为X-by-Wire 系统实时性和可靠性要求都很高,必须采用时间触发的通信协议,如TTP/C或FlexRay等。就目前来说,CAN协议仍为C类网络协议的主流。高速CAN、TTP/C 和FlexRay将之间的竞争还要持续一段时间,在未来的线控系统中,到底哪一种标准更具有生命力尚难定论。

?TTP/C。由维也纳工业大学研究,基于TDMA的访问方式。它是一个应用于分布式实时控制系统的完整的通信协议。它能够支持多种容错策略,提供容错的时间同步以及广泛的错误检测机制,同时还提供节点的恢复和再整合功能。

其采用光纤传输的工程化样品速度将达到25Mbps。它支持时间和事件触发的数据传输。

?FlexRay。是BMW、Daimler Chrysler、Motorola和Philips等公司制定的功能强大的通信网络协议。它是基于FTDMA的确定性访问方式,具有容错功能及确定的通信消息传输时间,同时支持事件触发与时间触发通信。具备高速率通信能力。它采用冗余备份的办法,对高速设备可采用点对点方式与FlexRay总线控制器连接,构成星型结构,对低速网络可以采用类似CAN总线的方式连接。

4.D类网络标准

D类总线被划分为:

?低速多媒体总线。比如SAE中的IDB-C(基于CAN的智能交通系统数据总线),在汽车信息娱乐系统中多用来进行远程诊断或传输通用信息。IDB-C具有CAN 的数据格式;位速率为250Kbps;由于成本低廉,有望成为汽车行业的内部标准。

?高速多媒体总线。主要被汽车信息娱乐系统中的高档音像设备用来进行音频和视频数据流的实时传输,故它们的物理链路一般都使用光纤。此类总线的主流标准除SAE中的IDB-M(智能交通系统多媒体数据总线)外,还有D2B(家用数字总线)、MOST(面向媒体的系统传输)、USB和IEEE1394。

?无线多媒体总线。比如SAE中IDB-Wireless(基于无线通讯方式的智能交通系统数据总线)。

二、CAN总线在大众汽车上的应用

高尔夫汽车网络系统

发展历程:

?1990年,首次应用于汽车上—— MB S-class(梅赛德斯-奔驰S级12缸发动机)。?1996年,在Audi车型上首次使用——MY 96 in A8 D2(奥迪A8-3.7L V8发动机/01V五档自动箱)。

1.大众车型上的CAN 总线类型

?动力CAN总线:通信速率500kbps。

?舒适CAN总线:通信速率100kbps。

?信息CAN总线:通信速率100kbps。

大众车型上的CAN总线类型

2.宝来(Bora)车的CAN总线特点分析

宝来车采用两条CAN总线:

?驱动系统CAN总线。连接对象为汽车动力和传动机构的控制单元等。

?车身系统CAN总线。连接对象为中央控制器、四个门控制器等。此外宝来车还有一个重要特征,便是在车身系统的CAN中引入了网络管理的概念。这对于事件触发性质的数据通信来说是非常合适的。

宝来车的CAN模型

(1)驱动系统CAN总线

宝来汽车上典型的与驱动系统有关的控制单元有电控燃油喷射系统、自动变速器系统、防抱死制动系统(ABS)、安全气囊系统等。

由于每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的,为了满足各子系统的实时性要求,与对公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,如宝来车的4缸汽油机运行在4000r/min,则电控单

元控制两次喷射的时间间隔为6ms,其中喷射持续时间为30度的曲轴转角(1ms),在剩余的5ms内须完成转速测量、油量测量、A/D转换、工况计算、执行器的控制等一系列过程这就意味着数据发送与接收必须在1ms内完成,才能达到汽油机电控的实时性要求。这就要求其数据交换网是基于优先权竞争的模式,且本身具有极高的通信速率,宝来车采用了CAN总线正是为满足这些要求而设计的。

显然,将以上控制器归并到一根总线上是非常合理的。因为它们所具备的基本特征是一致的,所控制的对象是与汽车的行驶直接有关的系统,它们之间存在着较多的信息交流,而且很多都是连续的和高速的。这样可提高发动机的动力性、经济性和排放性能。

宝来车驱动系统CAN总线

(2)车身系统CAN总线

车身系统CAN的总线主要连接对象为:中央控制器,4个门控制器,还包括记忆模块和其他组件。车身系统的控制对象主要是4个门上的集控锁、车窗、行李箱锁、后视镜及车内顶灯。在具备遥控功能的情况下,还包括对遥控信号的接收处理和其他防盗系统的控制。

宝来车的司机座椅左下侧有几个按钮,当驾驶者坐在该坐椅上,按动这些按钮就可以调节坐椅的纵向距离、前部高度、后部高度及靠背的倾斜度。在车门上还有后视镜电动调节按钮,驾驶者在车内就能把后视镜调节到最佳角度。当把以上操作完成后,再按动座椅左下侧的记忆按钮,该车就记住了这位驾驶者个人设定。当下次该驾驶者要驾车时,只要按一下记忆键,座椅就会自动调到最佳位置,使驾驶者有一个舒适、安全的驾驶环境。

当驾驶者离车时,把车钥匙插入门锁向左转90度,保持片刻,司机侧中央门锁给司机一侧车门控制单元J386一个信号,司机侧车门控制单元J386此时就向CAN总线发出一个锁门信号,连在该总线上的副司机一侧车门控制单元J387、左后车门控制单元J388、右后车门控制单元J389收到该信号,马上执行锁门操作,同时将车门玻璃升起。连在该总线上的舒适系统中央控制单元将车内灯关闭。同时激活该车的防盗系统。

宝来车车身系统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 标准。 1993 年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用); 1993年,ISO颁布CAN国际标准ISO-11898; 1994年,SAE颁布基于CA N的J1939标准; 2003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST);

CAN总线呕心沥血教程

哥很郁闷,为了CAN研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理 当CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。 大体的工作原理我们搞清了,但是根本的协议我们还要花一番功夫。下面介绍一个重要的名词,“显性“和”隐性“ 在我看到的很多文章里,有很多显性和隐性的地方,为此我头痛不已,最终我把它们彻底弄明白了。 首先CAN数据总线有两条导线,一条是黄色的,一条是绿色的。分别是CAN_High线和CAN_Low线 当静止状态时,这两条导线上的电平一样。这个电平称为静电平。大约为2.5伏。这个静电平状态就是隐形状态,也称隐性电平。也就是没有任何干扰的时候的状态称为隐性状态.当有信号修改时,CAN_High线上的电压值变高了,一般来说会升高至少1V,而CAN_Low线上的电压值会降低一个同样值,也是1v,那么这时候。CAN_High就是2.5v+1v=3.5v,它就处于激活状态了。而CAN_Low降为2.5v-1v=1.5v。 可以看看这个图 由此我们得到 在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~ 在总线上通常逻辑1表示隐性。而0表示显性。这些1啊,0啊,就可以利用起来为我们传数据了。 利用这种电压差,我们可以接收信号。 一般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。然后,这个放大器很自然地就放大了CAN_High和CAN_Low线的电平差,然后传到接收区。如下图 由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位任可为0。下面我们进入重点难点。报文 所谓报文,就是CAN总线上要传输的数据报,为了安全,我们要给我们传输的数据报编码定一下协议,这样才能不容易出错,所以出现了很多的帧,以及仲裁啊,CRC效验。这些都是难点。 识别符的概念。 识别符顾名思义,就是为了区分不同报文的可以鉴别的好多字符位。有标准的,和扩展的。标准的是11位,扩展的是29位。他有一个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符的值越小,报文具有越高的优先权。CAN的报文格式有两种,不同之处其实就是识别符长度不同,具有11位识别符的帧称为标准帧,而还有29位识别符的帧为扩展帧,CAN报文有以下4个不同的帧类型。分别是

车辆CAN总线概述(完整版)

CAN总线简介 1. CAN总线的发展历史 20 世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch 公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。 CAN空制器局部网(CAN-Controller Area Network )属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN空制器(82526)。不久,Philips 公司也推出了CAN控制器82C20Q 1991年,Bosch颁布CAN 2.0技术规范,CAN2.0包括A和B两个部分 为促进CAN以及CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CANn Automation,简称CiA),在德国Erlangen 注册,CiA 总部位于Erlangen。CiA提供服务包括:发布CAN勺各类技术规范,免费下载CAN文献资料,提供CANope规范DeviceNet规范;发布CAN产品数据库,CANoper产品指南;提供CANopen验证工具执行CANope认证测试;开发CAN规范并发布为CiA 标准。 1993年CAN成为国际标准£011898(高速应用)和£011519(低速应用); 1993 年,ISO 颁布CANS际标准ISO-11898 ; 1994年,SAE颁布基于CAN的J1939标准; 2003 年,Maybach发布带76 个ECU的新车型(CAN LIN,MOS);

can总线结构和原理

can总线结构和原理 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。CAN系统组成CAN总线用户接口简单,编程方便。网络拓扑结构采用总线式结构。这种网络结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。信息的传输采用CAN通信协议,通过CAN控制器来完成。各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。 CAN总线的物理接口采用CAN收发器PCA82C250作为CAN控制器和物理总线之间的接口,提供向总线的差动发送能力和对CAN控制器的差动接收能力。 一般在驱动芯片和CAN控制器之间加入光电耦合器,增加抗干扰能力。CAN总线的速度将由光电耦合器的速度决定。比如:用4N27光耦,因为它的响应速度比较慢,CAN网络的位速度只能达到几十Kbit/s。如果采用6N137高速光电耦合器,CAN网络速度可以达到和电阻网络驱动时的速度一样。另外,物理层的设计要注意电缆的终端阻抗匹配,这直接影响了CAN总线能否正常工作和网络性能,一般在CAN总线两端并联120的电阻。

车辆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标准。 1993 年CAN 成为国际标准ISO11898(高速应用)与ISO11519(低速应用); 1993年,ISO颁布CAN国际标准ISO11898; 1994年,SAE颁布基于CA N得J1939标准; 2003年,Maybach发布带76个ECU得新车型(CAN,LIN,MOST); 2003年,VW发布带35个ECU得新型Golf。

第五章CAN总线

第五章CAN总线 第一节CAN总线概述 CAN(Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。 CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。 1993年,CAN 已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。 与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。今天,在欧洲几乎每一辆新客车均装配有CAN局域网,CAN已经成为全球范围内最重要的总线之一,甚至领导着串行总线。在1999年,接近6千万个CAN控制器投入使用;在2000年,市场销售超过1亿个CAN器件。 一、CAN总线的技术特点 (1)CAN工作于多主方式,网络上任意一个节点均可在任意时刻主动地向网络上的其他节点发送信息,不分主从,通信方式灵活,且无需站地址等节点信息。 (2)CAN网络上的节点信息分成不同的优先级,可满足不同的实时性要求,高优先级的数据最快可在134μs内得到传输。 (3)CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大地节省了总线仲裁时间。在网络负载很重的情况下也不会出现网络瘫痪情况。 (4)CAN网络具有点对点、一点对多点和全局广播等几种通信方式。 (5)CAN的直接通信距离最远可达10km(速率在5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。 (6)CAN上节点主要取决于总线驱动电路,目前可达110个;报文表示可达2032 种(CAN 2.0A),而扩展标准(CAN 2.0B)的报文标识几乎不受限制。 (7)采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。 (8)CAN的每帧信息都有CRC校验气气他检错措施,保证了极低的数据出错率。 (9)CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 (10)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。

(完整版)CAN总线解析

概述 CAN ( Controller Area Network )即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。 想到CAN 就要想到德国的Bosch 公司,因为CAN 就是这个公司开发的(和Intel ) CAN 有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps ,通信距离最远到 10KM ,无损位仲裁机制,多主结构。 近些年来,CAN 控制器价格越来越低,很多MCU 也集成了CAN 控制器。现在每一辆汽车上都装有CAN 总线。 个典型的CAN 应用场景: CAN 总线标准 CAN 总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。不同的CAN 标准仅物理层不同。

CAN 收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。 CAN 标准有两个,即IOS11898 和IOS11519 ,两者差分电平特性不同。(有信号时,CANH 3.5V,CANL 1.5V ,即显性;没有信号时,CANH 2.5V ,CANL 2.5V ,即隐性) IOS11898 高速CAN 电平中,高低电平的幅度低,对应的传输速度快。 双绞线共模消除干扰,是因为电平同时变化,电压差不变 2.1物理层 CAN 有三种接口器件

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时, 才 为高电平。所谓“线与” CAN 总线有 5 个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。从而 消 除累计误差。 和 485 、 232 一样, CAN 的传输速度与距离成反比 CAN 总线终端电阻的接法:

相关主题
相关文档
最新文档