CAN总线协议原理特点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1CAN总线©西安交通大学陶唐飞2CAN总线CAN(ControllerAreaNetwork)即控制器局域网,可以归属于工业现场总线的范畴,通常称为CANbus,即CAN总线,是目前国际上应用最广泛的开放式现场总线之一。CAN最初出现在汽车工业中,80年代由德国Bosch公司最先提出。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、volkswagen(大众)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。31993年CAN成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。CAN的规范从CAN1.0规范(标准格式)发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。由于CAN总线的特点,得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。一、CAN总线4二、CAN的工作原理、特点1.CAN的工作原理CAN总线标准包括物理层、数据链路层,其中链路层定义了不同的信息类型、总线访问的仲裁规则及故障检测与故障处理的方式。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。每组报文开头的11位字符为标识符(CAN2.0A),定义了报文的优先级,这种报文格式称为面向内容的编址方案。当一个节点要向其它节点发送数据时,该节点的CPU将要发送的数据和自己的标识符传送给本节点的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。5CAN芯片将数据根据协议组织成一定的报文格式发出,这时,网上的其它节点处于接收状态。每个处于接收状态的节点对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。可以很容易地在CAN总线中加进一些新节点而无需在硬件或软件上进行修改。1.CAN的工作原理二、CAN的工作原理、特点62.CAN总线特点CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CAN总线特点如下:(1)多主机方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。(2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。(3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。7(4)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。(5)直接通信距离最远可达6km(速率10Kbps以下)。(6)通信速率最高可达1MB/s(此时距离最长30m)。(7)节点数实际可达110个。(8)采用短帧结构,每一帧的有效字节数为8个。(9)每帧信息都有CRC校验及其它检错措施,数据出错率极低。(10)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。(11)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。8三、CAN总线报文及结构标准帧11位标识符扩展帧29位标识符帧类型数据帧、远程帧、错误帧和过载帧数据帧:数据帧携带数据从发送器至接收器。总线上传输的大多是这个帧。远程帧:由总线单元发出,请求发送具有同一识别符的数据帧。数据帧(或远程帧)通过帧间空间与其他各帧分开。错误帧:任何单元一但检测到总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。9仲裁区控制区数据区11位标识标准格式:扩展格式11位标识18位标识SOFRTRIDEr0DLCSOFSRRIDERTRr1r0DLC仲裁区控制区数据区标准CAN(2.0A)和扩展CAN(2.0B)四、CAN数据帧的标准格式和扩展格式10数据帧的标准格式和扩展格式帧起始(SOF)仅由一显位构成。所有站都必须同步于首先发送的那个帧起始前沿;仲裁场(标准格式)由11位标识符ID28~ID18、远程发送请求位RTR(RemoteTransmissionRequestBIT)组成,其中ID高七位不可全为1(隐性);仲裁场(扩展格式)由29位标识符ID28~ID0、SRR位、识别符扩展位IDE(IdentifierExtensionBit)位、RTR位组成;SRR是隐性位,它用于替代标准格式的RTR位。IDE=1(隐性)代表扩展格式。IDE位在扩展格式中位于仲裁场而在标准格式中位于控制场。11数据帧的标准格式和扩展格式控制场由6个位组成数据长度码DLC3~DLC0指示数据场的字节数,0~8,其它数值不允许使用。保留位r1和r0必须为0,IDE(标准格式)=0数据场:0~8个字节,8位/字节,MSB先发CRC场由15位CRC序列和1位CRC界定符组成。CRC界定符为一隐性位。保留位控制场数据场或CRC场数据长度码仲裁场IDE/r1r0DLC3DLC2DLC1DLC012CAN总线位仲裁技术只要总线空闲,任何单元都可以开始发送报文。要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用识别符的位形式仲裁可以解决这个冲突。CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。13CAN总线位仲裁技术仲裁的机制确保信息和时间均不会损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。CAN总线采用非归零(NRZ)编码,所有节点以“线与”方式连接至总线。如果存在一个节点向总线传输逻辑0,则总线呈现逻辑0状态,而不管有多少个节点在发送逻辑1。CAN网络的所有节点可能试图同时发送,但其简单的仲裁规则确保仅有一个节点控制总线、并发送信息。低有效输出状态(0)起决定性作用。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平(逻辑1)而监测到一“显性”电平(逻辑0),那么该单元就失去了仲裁,必须退出发送状态。14丢掉丢掉跟踪站3报文站1报文站2报文01111110000报文标识符010011000000100111000010100110000001001110000101001100000所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。CAN总线位仲裁技术15优点在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。CAN总线位仲裁技术16缺点由于CAN总线采用的是固定优先级,当所有的节点都随机的向总线发送数据时,具有低优先级的节点是比具有高优先级的节点具有较大的发送失败几率。每次具有较低优先级的节点都会在总线竞争中失败,从而导致它一个数据都发不出去,或者发送的数据有较大的延时。CAN总线位仲裁技术17错误处理CAN控制器内置TX和RX出错计数器,根据出错是全局的还是本地的,计数器以此决定加1还是加8;每当收到信息,出错计数器就会增加或减少。如果每次收到的信息是正确的,则计数器减1;如果信息出现整个网络错误,则计数器加1。如果信息出现本地错误,则计数器加8;18错误处理通过查询出错计数器值,就可以知道通信网络质量。这种计数器方式确保了单个故障节点不会阻塞整个CAN网络。如果某个节点出现本地错误,其计数值将很快达到96、127或255。当计数器达到96时,它将向节点微控制器发出中断,提示当前通信质量较差。当计数值达到127时,该节点假定其处于“被动出错状态”,即继续接收信息,且停止要求对方重发信息。当计数达到255时,该节点脱离总线,不再工作,且只有在硬件复位后,才能恢复工作状态。19主动错误状态主动错误状态是可以正常参加总线通信的状态。处于主动错误状态的单元检测出错误时,输出主动错误标志。被动错误状态被动错误状态是易引起错误的状态。处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。处于被动错误状态的单元检测出错误时,输出被动错误标志。错误状态类型20CAN控制器与收发器CAN总线规范采用了ISO-OSI(OpenSystemInterconnectionReferenceModel,开放式通信系统互联参考模型)的三层网络结构,有三种不同的器件与之相对应。对应物理层的是收发器;对应数据链路层的是CAN控制器;应用层上主要是用户特殊的应用,对应的器件是微控制器。21CAN控制器与收发器完成CAN规范所规定的物理层和数据链路层大部分功能。有微处理器接口,易于连接单片机。结构分两种类型,独立CAN控制器或集成CAN控制器的单片机:独立CAN控制器:Philips的SJA1000、82C200、8XC592、8XCE598;Intel的82526、82527等。集成CAN控制器的单片机:Philips的80C591/592/598、XAC37;Motorola的Pow2、PC555;Intel的196CA/CB;SiliconLab的C8051F040~047等都遵循CAN2.0规范。CAN控制器的作用

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功