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