您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > CAN总线技术协议规范
CAN总线技术协议规范一、CAN总线的通信模式CAN是一种有效支持分布式控制[3]或实时控制的串行通信网络,可实现全分布式多机系统;可以用点对点,一点对多点以及全局广播几种方式传送和接受数据;CAN总线直接通信距离昀远可达10Km(此时传输速率可能达到5Kb/s),通信速率昀高可达1Mb/s(此时传输距离可能达到40m);且理论上CAN总线通信网络的节点数不受限制(实际上受CAN收发器芯片驱动能力的限制)。CAN总线基于下列5条基本规则进行通信协调:1.总线访问:CAN是共享媒体总线,他对媒体的访问机制类似于以太网的媒体访问机制,机采用载波监听多路访问的方式。CAN控制器只能在总线空闲时发送,并采用硬同步,所有CAN控制器同步位于帧起始的前沿。为避免异步时钟因累积误差而产生错位,CAN总线中用硬同步后满足一定条件的跳变进行重同步。所谓总线空闲,就是网络上至少存在3个空闲位(隐性位)时网络的状态,也就是CAN节点在侦听到网络上出现至少3个隐性位时,才开始发送。2.仲裁:当总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。如果有两个或两个以上的节点同时发送,就会产生总线冲突。CAN总线解决总线冲突的方法比以太网的CSMA/CD方法有很大的改进。以太网是碰撞检测方式,即一旦检测到两个或多个节点同时发送信息帧时,即所有发送节点都退出发送,待随机时间后再发送。而CAN是按位对标识符进行仲裁:各发送节点在向总线发送电平的同时,也对总线上得电平进行读取,并与自身发送的电平进行比较,如果电平相同则继续发送下一位,不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出总线竞争。剩余的节点则继续上述过程,直达总线上只剩下一个节点发送的电平,总线竞争结束,优先级昀高的节点获得了总线的使用权,继续发送信息的剩余部分直至全部发送完毕。3.编码/解码:帧起始域、总裁域、控制域,数据域和CRC序列均使用位填充技术进行编码。在CAN总线中,每连续5个同状态的电平插入一位与它相补的电平,还原时每5个相同状态的电平后的相补电平被删除,从而保证了数据的透明。4.出错标注:当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。5.超载标注:一些CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。在进行数据传送时,发出报文的单元成为该报文的发送器。该单元在总线空闲会丢失仲裁前始终为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元就是接收器。对于报文发送器和接收器,报文的实际有效时刻是不同的。对于发送器而言,如果知道帧的结束末尾一直未出错,则对于发送器报文有效。如果报文受损,将允许按照优先权顺序自动发送。为了能同其他报文进行总线访问竞争,总线一旦空闲,重发送立即开始。对于接收器而言,如果知道帧结束的昀后一位一直未出错,则对于接收器报文有效。构成一帧的帧起始、仲裁场、控制场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。出错帧和超载帧同样是固定格式,也不进行位填充报文中的位流按照非归零吗(NRZ)方法编码,这意味着一个完整的位电平要么是显性要么是隐性。二、CAN总线的技术特点由于其采用了许多新技术及独特的设计与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其特点可概括如下:1.CAN为多主工作方式,网络上任意一节点均可在任意时刻主动的地向网络上其它节点发送信息,而不分主从。2.CAN网络上的节点信息分为不同的优先级,可满足不同的实时要求,高优先级的数据昀多可在134μs内得到传输。3.CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而昀高优先级的节点可不受影响的继续传输数据。4.CAN程序通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。5.CAN的直线通信距离昀长可达10km(速率5Kbps以下),通信速率昀高可达1Mbps(此时通信距离昀长为40m)6.CAN上的节点数主要取决于总线驱动电路,目前可达128个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。7.采用短帧结构,传输时间短,受干扰概率低,具有良好的检错效果。8.CAN的每帧信息都有CRC校验及其它检错措施,保证了数据出错率极低。9.CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。10.CAN节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其它节点的操作不受限制。2.3CAN总线的技术规范2.3.1CAN的分层结构为了使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN分为数据链路层(包括逻辑链路层LLC和媒体访问控制层MAC)和物理层,在CAN技术规范2.0A的版本中,数据链路层的LLC和MAC子层的服务和功能被描述为“目标层”和“传输层”。如图2-1为CAN的分层结构和功能示意图。逻辑链路子层LLC子层的主要功能是报文滤波、超载通知和恢复管理。媒体访问控制子层MAC子层的功能主要是传送规则,以及控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定为开始一次新的发送,总线是否开放或者是否马上开始接收,位定时也是MAC子层的一部分。物理层的功能是有关全部电气特性不同的节点间位的实际传送。图2-1CAN的分层结构和功能2.3.2CAN报文传送及总线上的位电平表示进行数据传送时,发出报文的单元成为该报文的发送器。该单元在总线空闲或丢失仲裁前恒为发送器。对于报文接收器和发送器,报文的实际有效时刻是不同的。对于发送器而言,如果直到帧结束末尾一直未出错,则对于发送器报文有效。如果报文受损,将允许按照优先权顺序自动重发,为了能同其它总线访问竞争,总线一旦空闲。重发送立即开始。对于报文接收器而言,如果直到帧结束的昀后一位一直未出错,则对于接收器报文有效。构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5为连续的相同数值时,将自动的在实际发送的位流中插入一个补码位。而数据帧和远程帧的其余位场则采用固定格式,不进行填充,出错帧和超载帧同样是固定格式[5]。报文中的位流是按照非归零(NZR)码方法编码的,这意味着一个完整的位电平要么是显性,要么是隐性。在“隐性”状态下,Vcanh和Vcanl被固定于平均电压电平,Vdiff近似为零。在总线空闲或“隐性”位期间,发送“隐性”状态。“显性”状态以大于昀小阀值的差分电压表示如图2-2所示。在“显性”位期间,“显性”状态改写“隐性”状态并发送。图2-2总线上的位电平表示2.3.3CAN总线报文的帧结构报文传送有4种不同类型的帧表示和控制:数据帧携带数据由发送器至接收器;远程帧通过总线单元发送,以请求发送具有相同标示符的数据帧;出错帧有检测出总线错误的任何单元发送;超载帧用于提供当前的和后续的数据帧的附加延迟。数据帧和远程帧借助帧间空间与前帧分开。1.数据帧数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束,数据长度可为0。CAN技术规范2.0B数据帧的组成如图2-3所示。图2-3数据帧的组成在CAN技术规范2.0B中存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,而包括29位标识符的称为扩展帧。标准格式和扩展格式的数据帧结构如图2-4、图2-5所示。SRR:替代远程请求,IDE:标识位扩展位,RTR:远程发送请求位。图2-4标准格式的数据帧图2-5扩展格式的数据帧CAN技术规范2.0B对报文滤波特别加以描述,报文滤波器以整个标识符位基准[6]。屏蔽寄存器可用于选择一组标识符,以便映像至接收缓存器中,屏蔽寄存器每一位都必须是可编程的,它的长度可以是整个标识符,也可以仅是其中一部分。(1)帧起始(SOF)标志数据帧和远程帧的起始,它仅由一个显性位构成,只有在总线处于空闲状态时,才允许单元开始发送。所有单元都必须同步于首先开始发送的那个单元的帧起始前沿。(2)仲裁场由标识符和远程发送请求位(RTR)组成,如图2-6所示。图2-6仲裁场组成对于CAN技术规范2.0A,标识符的长度为11位,这些位一从高位到低位的顺序发送,昀低位为ID.0,其中昀高7位不能全为隐性。如图2-7为CAN技术规范2.0A数据帧格式。RTR位在数据帧中必须为显性,而在远程帧中必须为隐性对于CAN技术规范2.0A,标识符的长度为11位,这些位一从高位到低位的顺序发送,昀低位为ID.0,其中昀高7位不能全为隐性。RTR位在数据帧中必须为显性,而在远程帧中必须为隐性。11位标识符DLC标准格式仲裁场控制场数据场帧起始RTRr1r0图2-7CAN技术规范2.0A数据帧对于CAN技术规范2.0B,标准格式和扩展格式的仲裁场不同,在标准格式中,11位标识符和远程发送请求位RTR组成,标识符位为ID.28--ID.18;RTR位在数据帧中必须为显性,而在远程帧中必须为隐性。为区别标准格式和扩展格式,将CAN技术规范2.0A中的r1改记为IDE位。对于CAN技术规范2.0B,在扩展格式中,仲裁场:29位标识符ID.28--ID.0;替代远程请求SRR位(隐性位);标识位扩展位IDE(隐性位);远程发送请求位RTR。SRR的全称是替代远程请求位[7](SubstituteRemoteRequestBIT),SRR是一隐性位。它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR位。因此,如果扩展帧的基本ID和标准帧的识别符相同,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的。IDE的全称是“识别符扩展位(IdentifierExtensionBit)”,对于扩展格式,IDE位属于仲裁场;对于标准格式,IDE位属于控制场。标准格式里的IDE位为显性,而扩展格式里的IDE位为隐性。通过判别SRR和IDE是否均为隐性识别为扩展格式,而不是标准格式的数据帧或远程帧。CAN2.0B的扩展帧和CAN2.0A和CAN2.0B的标准帧一样,在数据帧中RTR位必须为显性,而在远程帧中必须为隐性。(3)控制场由6位组成,由图2-8可见,控制场包括数据长度码和两个保留位,这两个保留位必须发送显性位,但接收器认可显性和隐性的全部组合。数据长度码DLC指出数据场的字节数目。数据长度码为四位,在控制场中被发送,数据字节的允许使用数目为0-8,不能使用其它数值。图2-8控制场的组成(4)数据场是又数据帧中被发送的数据组成,它可包括0-8个字节,每个字节8位,首先发送的是昀高有效位。(5)CRC场包括CRC序列,后随CRC界定符。CRC场结构如图2-9所示。CRC序列由循环冗余码求得的帧检查序列组成,昀适用于位数小于127(BCH码)的帧。CRC序列之后是CRC界定符,包含一个单独的隐性位。图2-9CRC场结构(6)应答场(ACK)为两位,包括应答间隙和应答界定符,如图2-10所示。在应答场中,发送器送出两个隐性位。一个正确地接收到有效报文的接收器,在应答间隙,将此信息通过发送一个显性位报告给发送器。所有接收到匹配CRC序列的站,通过在应答间隙内把显性位写入发送器的隐性位来报告。应答界定符是应答场的第二位,并且必须是隐性位。图2-10ACK场结构(7)帧结束:每个数据帧和远程帧均由7个隐性位组成的标志序列界定。2.远程帧激活为数据接收器的站可以借助于传送一个远程帧初始化各自源节点数据的发送。远程帧由6个不同位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。远程帧和数据帧的结构基本相同,其RTR位为隐性位,且不存在数据场,远程帧组成如图2-11所示。图2-11远程帧组成3.出错帧出错帧由两个不同场组成,第一个由来自各站的错误标识迭加而得到,后随的第二个
本文标题:CAN总线技术协议规范
链接地址:https://www.777doc.com/doc-6127395 .html