汽车CAN总线技术_第1页
汽车CAN总线技术_第2页
汽车CAN总线技术_第3页
汽车CAN总线技术_第4页
汽车CAN总线技术_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汽车CAN总线技术2007年 04月 09日 星期一 14:39本文围绕“汽车为什么选择了 CAN总线技术?汽车 CAN总线技术到底是怎么一回事?采用汽车CAN总线技术有哪些优点?汽车总线的发展趋势”等问题作了一个浅短的介绍:1. 汽车为什么选择了 CAN总线技术?现在总线技术有很多种。从成本上讲,RS-232/485的成本都比CAN氐;速度上讲,工业以太网等也都不错。为什么唯独CAN在汽车电子中得到亲睐?从成本上来说,CAN比UART RS-232/485高,但比以太网低;从实时性来说:CAN的实时性比UART和以太网高,为了保证安全,车用通信协议都是按周期性主动发送,不论是CAN还是LIN

2、,对实时性要求高的消息其发送周期都小于 10ms (每辆车都有好几条这样的消息),发动机、ABS和变速器都有几条这样的消息;从可靠性来说,CAN有 一系列事故安全措施,这是 UART和以太网都不具备的,多点冗余也是UART(点对点传输)和工业以太网(数据传输距离短)难于实现的,所以CAN出现后,由于价格的原因,最初应用得最多的地方并不是汽车, 而是对成本不敏感的工业控制和医疗设备, 如:工业上的 DEVICENE、T SDS、 CANOPEN医疗上MRI等。至于工业以太网的产生,其背景与个人PC的普及是分不开的,现在工业控制中的PCBASE就是一个例子,但汽车控制是不能用一台PC的,要达到汽车

3、控制的要求,成本上也不容许。而LIN的传输过程只有20Kbps,显然不能作为独立的汽车总线控制要求,一般它只配合CAN在汽车上做辅助之用。其次总线是一个系统,总线上的速度仅仅是系统中的一个因素,ElexRay虽然只有2 0MBPS但它在一个16BIT的MCU上都能跑起来,1 00MHZ以太网虽快,但一个32BIT的MCU很难达 到2 0MBPS 况且还要涉及到系统的安全性,类似冗余,BUS安全等。所以综合考虑,汽车选择了 CAN总线技术。2. 汽车CAN总线技术到底是怎么一回事?Can-Bus总线技术是“控制器局域网总线技术(Contler Area Network-BUS )”的简称,它具有

4、极强的抗干扰和纠错能力,最早被用于飞机、坦克等武器电子系统的通讯联络上。通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定唯一的接 收者,凡是需要这些数据的接收端都可以从“总线”上读取需要的信息。Can总线的传输数据非常快,可以达到每秒传输 32bytes 有效数据,这样可以有效保证数据的实效性和准确性。传统的轿车在机舱和车身 内需要埋设大量线束以传递传感器采集的信号,而 Can-Bus 总线技术的应用可以大量减少车体内线束的数 量,线束的减少则降氐了故障发生的可能性。Can-Bus 技术在汽车的应用,可以减少了汽车车体内线束和控制器的接口数量,避免了过多线束存在

5、的互相干涉、磨损等隐患,降氐了汽车电气系统的故障发生率。各种传感器的信息可以实现共享。另外, 在Can-Bus技术的帮助下,汽车的防盗性、安全性都得到了较大幅度提升。例如:在启动车辆时,确认钥 匙合法性的信息会通过 Can-Bus 总线进行传递,其校验的信息比以往的防盗系统更为丰富。车钥匙、发动 机控制器和防盗控制器互相存储对方信息,校验码中还掺杂了随即码,从而大幅提高防盗能力。校验信息 通过Can-Bus传递大幅提高了信息传递的可靠性,使防盗系统的工作稳定可靠。就目前而言,Can-Bus总线技术一般使用在科技含量较高的中、高档轿车上。3. 采用汽车CAN总线技术有哪些优点?现代汽车中所使用的

6、电子控制系统和通讯系统越来越多,如发动机电控系统、自动变速器控制系统、防抱死制动系统(ABS、自动巡航系统(ACC和车载多媒体系统等;这些系统之间、系统和汽车的显示 仪表之间、系统和汽车故障诊断系统之间均需要进行数据交换,如此巨大的数据交换量,如仍然采用传统 数据交换的方法,即用导线进行点对点的连接的传输方式将是难以想象的,据粗略估计,如采用普通线索, 一个中级轿车就需要线索插头 300个左右,插针总数将达到 2000个左右,线索总长超过 1.6Km,不但装 配复杂而且故障率会很高。因此,用串行数据传输系统取而代之就成为必然的选择。数据在串联总线上可以一个接一个的传送,所有参加CAN总线的分系

7、统都可以通过其控制单元上的CAN总线接口进行数据的发送和接收,CAN总线是一个多路传输系统,当某一单元出现故障时不会影响其他单元的工作,CAN总线对不同数据的传输速率不一样,对发动机电控系统和ABS等实时控制用数据实施高速传输,对车身调节系统(如空调)的数据实施低速传输,其他如多媒体系统和诊断系统则为中速传输, 速率在两者之间,这样的区分提高了总线的传输效率。数据总线如何能实现多路传输的呢?原来数据总线有三部分组成:1)数据传输线, 2)地址传输线, 3)发送单元和接收单元之间的传送控制线。数据按CPU的指令以一定的模式传输到指定的地址,而传输模式则由软件控制的。这样,汽车总线与计算机中的“

8、BUS就很类似了,不难理解。4. 汽车CAN总线的发展趋势传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺点。为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统 CAN与时间触发机制相结合产生了 TTCAN(Time-Triggered CAN) 。TTCAN 总线和传统CAN总线系统的区别是:总线上不同的信息定义了不同的时间槽仃imer Slot)。在同一时间槽内,总线上只能有一条信息传输,这样避免了总线仲裁,也保证了信息的实时性。TTCAN系统需要全局时间同步,但采用传统CAN空制器很难实现TTCAN因此新推出的C

9、AN控制器如Microchip的M CP2515就增加了与TTCAN相关的硬件资源,它们在软件配合下就能实现 TTCAN什么是CAN总线2008-01-04 17:57 现场总线是当今自动化领域技术发展的热点之一, 被誉为自动化领域的计算机局 域网。它的出现为分布式控制系统实现各节点之间实时、 可靠的数据通信提供了 强有力的技术支持。 CAN(Controller Area Network) 属于现场总线的范畴,它是 一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:首先,CAN空

10、制器工作于多主方式,网络中的各节点都可根据总线访问优 先权( 取决于报文标识符 ) 采用无损结构的逐位仲裁的方式竞争向总线发送数据, 且CAN协议废除了站地址编码,而代之以对通信数据进行编码, 这可使不同的节 点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据 通信实时性强, 并且容易构成冗余结构, 提高系统的可靠性和系统的灵活性。 而 利用 RS-485 只能构成主从式结构系统, 通信方式也只能以主站轮询的方式进行, 系统的实时性、可靠性较差;其次,CANS、线通过CAN空制器接口芯片82C250的两个输出端CAN和 CANL 与物理总线相连,而CANHm的状态只能是高

11、电平或悬浮状态,CANL端只能是低 电平或悬浮状态。这就保证不会出现象在 RS-485网络中,当系统有错误,出现 多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。 而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响, 从而保证不会出现象在网络中, 因个别节点出现问题, 使得总 线处于“死锁”状态。而且,CAN具有的完善的通信协议可由 CAN空制器芯片及其接口芯片来实 现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的 RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速 率高、容易实现、且性

12、价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。CAN (Controller Area Network)即控制器局域网络,属于工业现场总线的 范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性 和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如 BENZ奔驰)、BMW宝马)、PORSCH保时捷)、ROLLS-ROYC劳斯莱斯)和 JAGUAR美洲豹)等都采用了 CAN总线来实现汽车内部控制系统与各检测和执行 机构间的

13、数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局 限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机 械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。 其典型的应用协议有: SAE J1939/ISO11783、CANOpen CANaerospace DeviceNet、NMEA 200(等。 CAN即控制器局域网,最初是德国 BOSC公司为汽车的监测与控制而设计的, 以解决汽车众多控制设备与仪器仪表之间的大量数据交换用硬件接线带来的问 题。当今CAN勺应用已不再局限于汽车行业,而

14、向过程工业、机械工业、机器人、 数控机床、医疗器械和传感器等领域发展。1 CAN总线基本概念依据国际标准化组织/开放系统互连 (In ternatio nal Sta ndardi-zatio n Organization /OpenSystemlnterconnection ,ISO/OSI)参考模型,CAN勺 ISO /OSI参考模型的层结构如图7-6所示。下面对CAN*议的媒体访问控制子层的 一些概念和特征做如下说明:fHMi m 7-n应答垠(1) 报文(Message)总线上的报文以不同报文格式发送,但长度受到限制。 当总线空闲时,任何一个网络上的节点都可以发送报文。(2) 信息路由

15、(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。 因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。(3) 标识符(Identifier)要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播 方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧 信息。(4) 数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这 是配合错误处理和再同步功能实现的。(5) 位传输速率不同

16、的CAN系统速度不同,但在一个给定的系统里,位传输 速率是唯一的,并且是固定的。 优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。(7) 远程数据请求(Remote Data Request)通过发送远程帧,需要数据的节 点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由 相同的标识符命名。(8) 仲裁(Arbitration)只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程

17、帧同时发送时,数据帧优先于远程帧。在仲裁 期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显 性”电平,那么这个单元就失去了仲裁,必须退出发送状态。(9) 总线状态总线有“显性”和“隐性”两个状态,“显性”对应逻辑 “0”,“隐性”对应逻辑“ 1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“ 0”和“ 1”时,总线上呈现“ 0”。CAN总线 采用二进制不归零(NRZ)编码方式,所以总线上不是“ 0”,就是“ 1”。但是CAN 协议并没有具体定义这两种状态的具体实现方式,如图7-

18、7所示。ffl 7-7 根据SOI 1X98的额定总线电平10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。 故障节点会被关闭。(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。2 CAN总线协议内容CAN总线的物理层是将ECUS接至总线的驱动电路。ECU勺总数将受限于总 线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCHCAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。 设计一个CAN系统时,物理层具有很大的选择

19、余地,但必须保证CAN协议中媒体 访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取 总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特 征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当 有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理层信令 (Physical Layer Signaling ,PLS)、物理介质附件(Physical MediaAttachment, PM

20、A层和介质从属接口(Media Dependent: Inter-face ,MDI)层。其中 PLS连同 数据链路层功能由CAN控制器完成,PMAg功能由CAN收发器完成,MDI层定义 了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了 CAN控制器和收发器电路,如 MC68HC908GZJ6PMA和 MDI两层有很多不同的国际或国家或行 业标准,也可自行定义,比较流行的是 ISOll898定义的高速CAN发送/接收器标准。理论上,CAN总线上的节点数几乎不受限制,可达到 2000个,实际上受 电气特性的限制,最多只能接100多个节点。I o呵凶綁i 2(CAN .VCAN H.C

21、N LCAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control , LLC )完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Aeeesscontrol ,MAC子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、 错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。3 CAN总线的报文传输和结构1 报文类型在CAN2 0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长 度不同,含有ll位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展 帧。如CAN1 2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分

22、别 是等效的,而扩展格式是CAN2 0B协议新增加的特性。为使控制器设计相对简 单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的 支持标准格式。但无论是哪种帧格式,在报文 传输时都有以下四种不同类型的帧:(1) 数据帧(Data )数据帧将数据从发送器传输到接收器。 远程帧(Remote )总线单元发出远程帧,请求发送具有同一标识符的数 据帧。(3)错误帧(Error )任何单元检测到总线错误就发出错误帧。 过载帧(Overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延数据帧或远程帧与刖一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展

23、帧两种格式。2. 报文帧结构形式在报文传输时,不同的帧具有不同的传输结构,下面将分别介绍四种传输帧 的结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。(1)数据帧数据帧格式如图7-9所示。数据帧由七种不同的位域(Bit Field) 组成:帧起始(Start of )、仲裁域(Arbitration Field)、控制域(Control Field)、 数据域(DataField)、CRC域(CRCField)、应答域(ACKField)和帧结尾(End of )。 数据域的长度可以为08个字节。J If側釧就: fl醐豪文帧蹣朋1) 帧起始(SOF):帧起始(SOF)标志着数

24、据帧和远程帧的起始, 仅由一个“显 性”位组成。在CAN勺同步规则中,当总线空闲时(处于隐性状态),才允许站点 开始发送(信号)。所有的站点必须同步于首先开始发送报文的站点的帧起始前沿 (该方式称为“硬同步”)。2) 仲裁域:仲裁域如图7-10所示,仲裁域由标识符和 RTR位组成,标准帧格式与扩展帧格式的仲裁域格式不同。 标准格式里,仲裁域由11位标识符和RTR 位组成。标识符位有ID28IDI8。扩展帧格式里,仲裁域包括29位标识符、SRR 位、IDE(ldentifier Extension,标志符扩展)位、RTR位。其标识符有ID28IDO。为了区别标准帧格式和扩展帧格式,CANI. 0

25、1. 2版本协议的保留位r1现表示为IDE位。IDE位为显性,表示数据帧为标准格式;IDE位为隐性,表示 数据帧为扩展帧格式。在扩展帧中,替代远程请求(Substitute RemoteRequest, SRR位为隐性。仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。 RTR的全称为“远程发送请求(Remote TransmissionReques t) ”。RTR位在数据 帧里必须为“显性”,而在远程帧里必须为“隐性”。它是区别数据帧和远程帧I 11 LJfeinfiKTRE | I3LC控*1城徉一 一 惶擋M的标志。31 (SWiHRil:itl”1 DLL*SOF甦馆談中的朴

26、蘊域3) 控制域:控制域由6位组成,包括2个保留位(r0、r1同于CAN协议扩展) 及4位数据长度码,允许的数据长度值为 08字节。4)数据域:发送缓冲区中的数据按照长度代码指示长度发送。 对于接收的数 据,同样如此。它可为08字节,每个字节包含8位,首先发送的是MSB最高 位)。5)CRC校验码域:它由CRC域(15位)及CRC边界符(一个隐性位)组成。CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。此多项式被下列多项式 X15+X14+X10+X8+X7+X4+X3+1 除(系数按模2计算),相除的余数即为发至总线的 CRC序列。发送时,C

27、RC序列 的最高有效位被首先发送/接收。之所以选用这种帧校验方式,是由于这种CRC校验码对于少于127位的帧是最佳的。6)应答域:应答域由发送方发出的两个(应答间隙及应答界定)隐性位组成, 所有接收到正确的CRC序列的节点将在发送节点的应答间隙上将发送的这一隐 性位改写为显性位。因此,发送节点将一直监视总线信号已确认网络中至少一个 节点正确地接收到所发信息。应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:CRC域和应答界定位,如图7-11所示esc1玄橙邑輔恰虫左害WBt回F興电悴min 应冒捷7)帧结束域:每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。 这样,接

28、收节点可以正确检测到一个帧的传输结束。(2)错误帧错误帧由两个不同的域组成:第一个域是来自控制器的错误标志;第二个域为错误分界符。其结构如图 7-12所示。睚醐迪1翳閉11乐出 一. 口嗥际占的髯$甜卍卄再訐1)错误标志:有两种形式的错误标志。激活(Active)错误标志。它由6个连续显性位组成。认可(Passive)错误标志。它由6个连续隐性位组成。它可由其他CAN空制器的显性位改写。2)错误界定:错误界定符由8个隐性位组成。传送了错误标志以后,每一站 就发送一个隐性位,并一直监视总线直到检测出1个隐性位为止,然后就开始发 送其余7个隐性位。(3)远程帧 远程帧也有标准格式和扩展格式,而且都

29、由6个不同的位域组成: 帧起始、仲裁域、控制域、CRC域、应答域、帧结尾。与数据帧相比,远程帧的 RTR位为隐性,没有数据域,数据长度编码域可以是08个字节的任何值,这个值是远程帧请求发送的数据帧的数据域长度。当具有相同仲裁域的数据帧和远 程帧同时发送时,由于数据帧的RTR位为显性,所以数据帧获得优先。发送远程 帧的节点可以直接接收数据。远程帧结构如图7-13所示。UH-1-HFIKI n种袖站曲(4)过载帧 过载帧由两个区域组成:过载标识域及过载界定符域。下述三种 状态将导致过载帧发送:1)接收方在接收一帧之前需要过多的时间处理当前的数据(接收尚未准备好);2)在帧空隙域检测到显性位信号;3

30、)如果CAN节点在错误界定符或过载界定符的第 8位采样到一个显性位节点 会发送一个过载帧。过载帧的具体结构如图7-14所示。禅怙亶叩III傑界定-过轨杯*i1II-1fl间空间或3. 位定时要求标称位速率是指理想发送器在没有重新同步的情况下每秒发送的位数量。标称位速率的倒数即为标称位时间。不同的 CAN系统中,CAN勺位速率不同。但在 一个给定的CAN系统中,位速率是一定的,其最大值受所选用的CAN控制器类型、 收发器和物理介质等因素的影响,可在一定范围内自由设定。CAN总线的数据传输速率最高可达1Mbit / s,通常用石英晶体振荡器作为时钟发生器,可以独立 地进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样,仍可获得相同的位速率。可以把标称位时间划分成为几个不重叠的时间片段,它们是同步段、传播段、 相位缓冲段1和相位缓冲段2,如图7-15所示。抵郸桓榊间一IM,Illilflf-15垃定吋菱啦4 CAN总线特点的分析CAN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论