第5章 控制器局域网CAN总线技术规范(2).pptx
- 文档编号:18864941
- 上传时间:2024-02-02
- 格式:PPTX
- 页数:58
- 大小:745.43KB
第5章 控制器局域网CAN总线技术规范(2).pptx
《第5章 控制器局域网CAN总线技术规范(2).pptx》由会员分享,可在线阅读,更多相关《第5章 控制器局域网CAN总线技术规范(2).pptx(58页珍藏版)》请在冰点文库上搜索。
第四章控制器局域网CAN技术协议5.1、CAN总线简介5.2、CAN总线通信模式5.3、CAN总线的性能特点5.4、CAN总线技术规范5.15.1、CANCAN总线简介控制器局域网络(ControllerAreaNetwork简称CAN)主要用于各种过程(设备)监测及控制。
CAN最初是由德国的Bosch公司为汽车的监测与控制设计的,但由于CAN总线本身的突出特点,其应用领域目前已不再局限于汽车行业,而向过程工业、机械工业、机器人、数控机床、医疗器械及传感器等领域发展。
由于其高性能、高可靠性及独特的设计,CAN总线越来越受到人们的重视,国际上已经有很多大公司的产品采用了这一技术。
CAN已经形成国际标准(ISO11898),并已成为工业数据通信的主流技术之一。
5.2CAN总线的通信模式第一,“载波监测,多主掌控/冲突避免这就允许在总线上的任一设备有同等的机会取得总线的控制权来向外发送信息。
如果在同一时刻有两个以上的设备欲发送信息,就会发生数据冲突,CAN总线能够实时地检测这些冲突情况并作出相应的仲裁而不会破坏待传之信息;第二,信息报文在传送时不是基于目的站点地址;这就允许不同的信息以“广播”的形式发送到所有节点并且可在不改变信息格式的前提下对报文进行不同配置;第三,CAN总线是一种高速的,具备复杂的错误检测和恢复能力的高可靠性强有力的网络。
5.2CAN总线的通信模式一、一、CSMA/CDCSMA/CD载波监测,多主掌控载波监测,多主掌控/冲突避免冲突避免“载波监测”的意思是指在总线上的每个节点在发送信息报文前都必须监测到总线上有一段时间的空闲状态。
“多主掌控”的意思是一旦此一空闲状态被监测到,那么每个节点都有均等的机会来发送报文。
“冲突避免”是指在两上节点同时发送信息时,节点本身首先会检测到出现冲突,然后采取相应的措施来解决这一冲突情况。
此时优先级高的报文先发送,低优先级的报文发送会暂停。
在CAN总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测。
这也就意味着当总线出现发送冲突时,通过仲裁后原发送信息不会受到任何影响。
所有的仲裁判别都不会破坏优先级高的报文信息内容,也不会对其发送产生任何的时延。
5.2CAN总线的通信模式如何实现非破坏性的位仲裁?
为了达到这种“非破坏性的位仲裁方式”,CAN总线协议必须满足一些前提条件。
首先,必须定义两种逻辑状态在这里叫作“支配位(DOMINANT)”(又称“显性”电平)和“顺从位(RECESSIVE)”(又称“隐性”电平);然后,节点在发送过程中必须检测刚刚发出的状态是否就是信息中所描述的内容。
在CAN总线的定义中,逻辑0为支配位,逻辑1为顺从位。
5.2CAN总线的通信模式如何冲突仲裁?
支配位一定会在和顺从位的判别过程中获胜,换句话说,报文标记区(报文仲裁专用区域)的值越小,其优先级就越高。
举个例子,假定有两个节点在同一时刻发送一个报文,每个节点都会监测总线以便了解欲发送的信息状态是否确实出现在总线上。
一个优先级较低的报文在某一时刻会发送一个“顺从位”但是检测回来的却是“支配位”。
此时这个节点被仲裁为发送权取消,立刻停止发送报文的工作。
优先级较高的报文继续发送直到完整的报文发送完毕。
在刚才冲突仲裁中被取消发送权的节点将等待总线的下一个空闲期并自动地再次尝试发送。
5.2CAN总线的通信模式二、基于报文的通讯CAN总线是一个基于报文而不是基于站点地址的协议。
也就是说报文不是按照地址从一个节点传送到另一个节点。
CAN总线上报文所包含的内容只有优先级标志区和欲传送的数据内容。
所有节点都会接收到在总线上传送的报文,并在正确接后发出应答确认。
至于该报文是否要做进一步的处理或被丢弃将完全取决于接收节点本身。
同一个报文可以发送给特定的站点或许多站点,就看你怎样去设计你的网络和系统。
基于报文的这种协议另外一个好处是新的节点可以随时方便地加入到现有的系统中,而不需对所有节点进行重新编程以便它们能识别这一新节点。
一旦新节点加入到网络中,它就开始接收信息,判别信息标识,然后决定是否作处理或直接丢弃。
如何去实现?
5.2CAN总线的通信模式CAN总协议另外一个有用的特性是一个节点可以主动要求其它节点发送信息。
这种特性叫做“远端发送请求”(RTR)。
和上例不同之处在于,节点并不等待信息的到来,而是主动去索取。
如,汽车中的中央安全系统会频繁地更新一些象安全气袋等关键传感器的信息。
但是有些信息如油压传感器或电池电压传感器可能不会也不需要经常收到。
为了确保了解这些设备是否工作正常,系统必须定期地要求此类设备发送相关的信息以便检查整个系统的工作情况。
设计人员就可以利用这一“远端发送请求”特性来减少网络的数据通讯量,同时维持整个系统的完整性。
5.2CAN总线的通信模式CAN总线定义了四种不同的帧,用于总线通讯。
1、最常用的是“数据帧”,用于一个节点传送信息到其它任一或所有节点;2、“远端帧”,基本上是一个数据帧但其中的RTR位被置1,表明这是一个“远端发送请求”,用于一个节点主动要求其它节点发送信息;3、“错误帧”,如果节点在接收过程中检测到任一在CAN总线协议中定义了的错误信息,它就会发送一个错误帧。
4、“过载帧”,当一个节点正忙于处理接收的信息,需要额外的等待时间接收下一报文时,可以发送过载帧,通知其它节点暂缓发送新报文。
5.2CAN总线的通信模式三、CAN总线是一种高速的,具备复杂的错误检测和恢复能力的高可靠性强有力的网络
(1)高速性:
CAN总线一开始是为汽车工业而设计的,如果要使这一市场能够接受它,一个能高效处理出错情况的通讯协议是至关重要的。
在发布了2.0B版的CAN总线技术规范后,其最大的通讯速率已经比1.0版提高了8倍,达1M位/秒,在这种速率下,即便是对时间要求非常关键的参数也可以通过CAN总线传输而不必担心其时延。
5.2CAN总线的通信模式
(2)CAN总线协议有一套完整的差错管理机制能够自动地检测出这些错误信息,由此保证了被传信息的正确必性和完整性。
错误类型发送错误可通过“CRC出错”检测到;普通接收错误可通过“应答出错”检测到;CAN报文格式错误可通过“格式出错”检测到;CAN总线信号错误可通过“位出错”检测到;同步和定时错误可通过“阻塞出错”检测到。
5.2CAN总线的通信模式每个CAN总线上的节点都有一个出错计数器用以记录各种错误发生的次数。
取决于出错的严重性,通过这些计数器就可以确认这些节点是否应工作到降级模式;总线上的节点可以从正常工作模式(正常收发数据和出错信息)降级到消极工作模式(只有在总线空闲时才能取得控制权),或者到关断模式(和总线隔离)。
CAN总线上各节点还有能力监测是短期的干扰还是永久性的故障,并采取相关的应对措施,这种特性被叫做“故障界定隔离”。
采取了这种故障界定隔离措施后,故障节点将会被及时关断,不会永久占用总线。
这一点对关键信息能在总线上畅通无阻地传送是非常重要的。
5.3CAN5.3CAN总线的技术特点技术特点由于其采用了许多新技术及独特的设计与一般的通信总由于其采用了许多新技术及独特的设计与一般的通信总线相比,线相比,CANCAN总线的数据通信具有突出的可靠性、实时性和总线的数据通信具有突出的可靠性、实时性和灵活性。
其特点可概括如下:
灵活性。
其特点可概括如下:
1.CAN为多主工作方式,网络上任意以节点均可在任意时刻主动的地向网络上其它节点发送信息,而不分主从。
2.CAN网络上的节点信息分为不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134s内得到传输。
3.CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响的继续传输数据。
4.CAN程序通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。
5.3CAN5.3CAN总线的技术特点技术特点5.CAN的直线通信距离最长可达10km(速率5Kbps以下),通信速率最高可达1Mbps(此时通信距离最长为40m)6.CAN上的节点数主要取决于总线驱动电路,目前可达128个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。
7.采用短帧结构,传输时间短,受干扰概率低,具有良好的检错效果。
5.3CAN5.3CAN总线的技术特点技术特点8.CAN的每帧信息都有CRC校验及其它检错措施,保证了数据出错率极低。
9.CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。
10.CAN节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其它节点的操作不受限制。
5.4CAN总线的技术规范随着随着CANCAN在各种领域的应用和推广,对其通信在各种领域的应用和推广,对其通信格式的标准化提出了要求。
为此,格式的标准化提出了要求。
为此,19911991年年99月月PhilipsSemiconductorsPhilipsSemiconductors制定并发布了制定并发布了CANCAN技术规技术规范(范(Version2.0Version2.0)。
)。
该技术规范包括该技术规范包括AA和和BB两部分:
两部分:
1.1.CANCAN技术规范技术规范2.0A2.0A给出了报文标准格式;给出了报文标准格式;2.2.CANCAN技术规范技术规范2.0B2.0B给出标准和扩展的两种报文格给出标准和扩展的两种报文格式。
式。
这里主要介绍这里主要介绍CANCAN技术规范技术规范2.0B2.0B5.4CAN总线的技术规范5.4.1CAN的分层结构5.4.2CAN报文传送及总线上的位电平表示5.4.3CAN总线报文的帧结构5.4.4错误类型和界定5.4.5位定时与同步5.4CAN5.4CAN总线的技术规范技术规范5.4.1CAN的分层结构为了使设计透明和执行灵活,遵循ISO/OSI标准模型,CAN分为数据链路层(包括逻辑链路层LLC和媒体访问控制层MAC)和物理层,在CAN技术规范2.0A的版本中,数据链路层的LLC和MAC子层的服务和功能被描述为“目标层”和“传输层”。
5.4CAN5.4CAN总线的技术规范技术规范媒体访问控制子层MAC子层的功能主要是传送规则,以及控制帧结构、执行仲裁、错误检测、出错标定和故障界定。
MAC子层也要确定为开始一次新的发送,总线是否开放或者是否马上开始接收,位定时也是MAC子层的一部分。
物理层的功能是有关全部电气特性不同的节点间位的实际传送。
逻辑链路子层LLC子层的主要功能是报文滤波、超载通知和恢复管理。
5.4CAN5.4CAN总线的技术规范技术规范图1.CAN1.CAN的分层结构和功能的分层结构和功能5.4CAN5.4CAN总线的技术规范技术规范5.4.2CAN报文传送及总线上的位电平表示
(1)进行数据传送时,发出报文的单元成为该报文的发送器。
该单元在总线空闲或丢失仲裁前恒为发送器。
(2)如果一个单元不是报文发送器,并且总线不出现空闲状态,则该单元为接收器。
对于报文接收器和发送器,报文的实际有效时刻是不同的。
(1)对于发送器而言,如果直到帧结束末尾一直未出错,则对于发送器报文有效。
如果报文受损,将允许按照优先权顺序自动重发,为了能同其它总线访问竞争,总线一旦空闲。
重发送立即开始。
(2)对于报文接收器而言,如果直到帧结束的最后一位一直未出错,则对于接收器报文有效。
5.4CAN5.4CAN总线的技术规范技术规范当发送器在发送的位流中检测到5为连续的相同数值时,将自动的在实际发送的位流中插入一个补码位。
而数据帧和远程帧的其余位场则采用固定格式,不进行填充,出错帧和超载帧同样是固定格式。
位填充规则构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。
5.4CAN5.4CAN总线的技术规范技术规范报文中的位流是按照非归零(NZR)码方法编码的,这意味着一个完整的位电平要么是显性,要么是隐性。
在“隐性”状态下,Vcanh和Vcanl被固定于平均电压电平,Vdiff近似为零。
在总线空闲或“隐性”位期间,发送“隐性”状态。
“显性”状态以大于最小阀值的差分电压表示。
如图2所示。
在“显性”位期间,“显性”状态改写“隐性”状态并发送。
5.3CAN5.3CAN总线的技术规范技术规范图图2.2.总线上的位电平表示总线上的位电平表示5.4CAN5.4CAN总线的技术规范技术规范5.4.3CAN5.4.3CAN总线报文的帧结构总线报文的帧结构CAN总线的报文传送由4种不同类型的帧表示和控制:
数据帧携带数据由发送器至接收器;远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧由检测出总线错误的任何单元发送;超载帧用于提供当前的和后续的数据帧的附加延迟。
数据帧和远程帧借助帧间空间和当前帧分开。
5.4CAN5.4CAN总线的技术规范技术规范1、数据帧数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。
数据长度可为0。
CAN技术规范2.0B数据帧的组成如图3所示。
图图3.3.数据帧的组成数据帧的组成5.4CAN5.4CAN总线的技术规范技术规范在CAN技术规范2.0B中存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,而包括29位标识符的称为扩展帧。
标准格式和扩展格式的数据帧结构如图4,图5所示。
图图4.4.标准格式的数据标准格式的数据帧帧5.4CAN5.4CAN总线的技术规范技术规范图4.扩展格式的数据帧SRR:
替代远程请求IDE:
标识位扩展位RTR:
远程发送请求位5.4CAN5.4CAN总线的技术规范技术规范CAN技术规范2.0B对报文滤波特别加以描述,报文滤波器以整个标识符位基准。
屏蔽寄存器可用于选择一组标识符,以便映像至接收缓存器中,屏蔽寄存器每一位都必须是可编程的,它的长度可以是整个标识符,也可以仅是其中一部分。
5.4CAN5.4CAN总线的技术规范技术规范
(1)帧起始(SOF)标志数据帧和远程帧的起始,它仅由一个显性位构成,只有在总线处于空闲状态时,才允许单元开始发送。
所有单元都必须同步于首先开始发送的那个单元的帧起始前沿。
5.4CAN5.4CAN总线的技术规范技术规范图图6.6.仲裁场组成仲裁场组成
(2)仲裁场由标识符和远程发送请求位(RTR)组成,如图6所示。
5.4CAN5.4CAN总线的技术规范技术规范对于CAN技术规范2.0A,标识符的长度为11位,这些位一从高位到低位的顺序发送,最低位为ID.0,其中最高7位不能全为隐性。
RTR位在数据帧中必须为显性,而在远程帧中必须为隐性。
CAN技术规范2.0A数据帧5.4CAN5.4CAN总线的技术规范技术规范对于CAN技术规范2.0B,标准格式和扩展格式的仲裁场不同,在标准格式中,11位标识符和远程发送请求位RTR组成,标识符位为ID.28-ID.18;RTR位在数据帧中必须为显性,而在远程帧中必须为隐性。
为区别标准格式和扩展格式,将CAN技术规范2.0A中的r1改记为IDE位,CAN技术规范2.0B的标准格式5.4CAN5.4CAN总线的技术规范技术规范对于CAN技术规范2.0B,在扩展格式中,仲裁场:
29位标识符ID.28-ID.0;替代远程请求SRR位(隐性位);标识位扩展位IDE(隐性位);远程发送请求位RTR。
5.4CAN5.4CAN总线的技术规范技术规范SRR的全称是“替代远程请求位(SubstituteRemoteRequestBIT)”,SRR是一隐性位。
它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR位。
因此,如果扩展帧的基本ID和标准帧的识别符相同,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的。
5.4CAN5.4CAN总线的技术规范技术规范IDE的全称是“识别符扩展位(IdentifierExtensionBit)”,对于扩展格式,IDE位属于仲裁场;对于标准格式,IDE位属于控制场。
标准格式里的IDE位为“显性”,而扩展格式里的IDE位为“隐性”。
通过判别SRR和IDE是否均为隐性识别为扩展格式,而不是标准格式的数据帧或远程帧。
5.4CAN5.4CAN总线的技术规范技术规范CAN2.0B的扩展帧和CAN2.0A和CAN2.0B的标准帧一样,在数据帧中RTR位必须为显性,而在远程帧中必须为隐性。
5.4CAN5.4CAN总线的技术规范技术规范(3)控制场由6位组成,由图可见,控制场包括数据长度码和两个保留位,这两个保留位必须发送显性位,但接收器认可显性和隐性的全部组合。
数据长度码DLC指出数据场的字节数目。
数据长度码为四位,在控制场中被发送,数据字节的允许使用数目为0-8,不能使用其它数值。
图图7.7.控制场的组成控制场的组成5.4CAN5.4CAN总线的技术规范技术规范(4)数据场是又数据帧中被发送的数据组成,它可包括0-8个字节,每个字节8位,首先发送的是最高有效位。
5.4CAN5.4CAN总线的技术规范技术规范(5)CRC场包括CRC序列,后随CRC界定符。
CRC场结构如图8所示。
CRC序列由循环冗余码求得的帧检查序列组成,最适用于位数小于127(BCH码)的帧。
CRC序列之后是CRC界定符,包含一个单独的“隐性位”图图8.CRC8.CRC场结构场结构5.4CAN5.4CAN总线的技术规范技术规范(6)应答场(ACK)为两位,包括应答间隙和应答界定符,如图9所示。
在应答场中,发送器送出两个隐性位。
一个正确地接收到有效报文的接收器,在应答间隙,将此信息通过发送一个显性位报告给发送器。
所有接收到匹配CRC序列的站,通过在应答间隙内把显性位写入发送器的隐性位来报告。
应答界定符是应答场的第二位,并且必须是隐性位,5.4CAN5.4CAN总线的技术规范技术规范(7)帧结束:
每个数据帧和远程帧均由7个隐性位组成的标志序列界定。
5.4CAN5.4CAN总线的技术规范技术规范2、远程帧激活为数据接收器的站可以借助于传送一个远程帧初始化各自源节点数据的发送。
远程帧由6个不同位场组成:
帧起始、仲裁场、控制场、CRC场、应答场和帧结束。
远程帧和数据帧的结构基本相同,其RTR位为隐性位,且不存在数据场,远程帧组成如图10所示。
图图10.10.远程帧组成远程帧组成5.4CAN5.4CAN总线的技术规范技术规范3、出错帧出错帧由两个不同场组成,第一个由来自各站的错误标识迭加而得到,后随的第二个场是出错界定符,(包括8个隐性位)。
图图11.11.出错帧的组成出错帧的组成5.4CAN5.4CAN总线的技术规范技术规范错误标志具有两种形式:
(1)激活错误标志(activeerrorflag):
激活错误标志由6个连续的显性位组成。
(2)认可错误标志(passiveerrorflag):
认可错误标志由6个连续的隐性位组成,除非被来自其它节点的显性位冲掉。
5.4CAN5.4CAN总线的技术规范技术规范检测到错误条件的“错误激活”站通过发送错误激活标志指示错误。
错误标志的格式破坏了从帧起始到CRC界定符的位填充规则,也破坏了应答场或帧结束场的固定格式。
因此,所有其他的站由此检测到错误条件并开始发送错误标志。
因此,“显性”位序列的形成就是各个站发送的不同错误标志加叠在一起的结果。
这个序列的总长度最小为6个位,最大为12个位。
检测到错误条件的“错误认可”的站试图通过发送错误认可标志指示错误。
该“错误认可”站以错误认可标志为起点,等待6个相同极性的连续位。
当这6个相同的位被检测到时,错误认可标志的发送就完成了。
5.4CAN总线的技术规范出错界定符包括8个隐性位。
错误标志发送后,每个站都送出1个隐性位,并监视总线,直到检测到1个隐性位为止,然后开始发送剩余的7个隐性位。
5.4CAN5.4CAN总线的技术规范技术规范4、超载帧超载帧包括两个位场:
超载标志和超载界定符,如图12所示。
存在两种导致发送超载标志的超载条件:
一个是要求延迟下一个数据帧或远程帧的接收器的内部条件;另一个是在间隙场检测到显性位。
超载标志由6个显性位组成,超载界定符由8个隐性位组成。
图图12.12.超载帧的组成超载帧的组成5.4CAN5.4CAN总线的技术规范技术规范5、帧间空间数据帧、远程帧、出错帧或超载帧,均以称之为帧间空间的位场分开。
而在超载帧和出错帧前面没有帧间空间,并且多个超载帧前面也不被帧间空间分隔。
5.4CAN5.4CAN总线的技术规范技术规范帧间空间包括间歇场和总线空闲场,对于前面已经发送报文的“错误认可”站还有暂停发送场,如图13,图14所示。
图13.非“错误认可”帧间空间图14.“错误认可”的站帧间空间帧间空间帧间空间间歇场间歇场暂停发送场暂停发送场总线空闲总线空闲帧帧帧帧5.4CAN5.4CAN总线的技术规范技术规范间歇场由3个隐性位组成,间歇期间,不允许启动发送数据帧或远程帧,它仅起标注超载条件的作用。
总线空闲场周期可为任意长度,此时总线是开放的,因此任何需要发送的站均可访问总线。
暂停发送场是指:
错误认可站发送完一个报文后,在下一次报问发送认可总线空闲之前,它紧随间歇场后送出的8个隐性位。
5.4CAN5.4CAN总线的技术规范技术规范5.4.4错误类型和界定在CAN总线中存在5种错误类型,它们并不互相排斥1、位错误:
向总线送出一位的某个单元同时也在监视总线,当检测到总线位数值与送出的位数值不同时,则在该位时刻检测到一个位错误。
2、填充错误:
在应使用位填充方法进行编码的报文中,出现了第六个连续相同的位电平时,将检出一个位填充错误。
5.4CAN5.4CAN总线的技术规范技术规范5.4.4错误类型和界定在CAN总线中存在5种错误类型,并不互相排斥。
3、CRC错误:
CRC序列是由发送器CRC计算的结果组成的。
接收器以与发送器相同的方法计算CRC。
如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。
4、格式错误:
当固定格式的位场中出现一个或多个非法位时,则检出一个形式错误。
5、应答错误:
在应答间歇,发送器未检测到显性位时,则由它检出一个应答错误。
5.4CAN5.4CAN总线的技术规范技术规范在CAN总线中,任何一个站可能处于下列三种故障状态:
(1)错误激活(activeerror);
(2)错误认可(passiveerror);(3)总线关闭(busoff)。
5.4CAN5.4CAN总线的技术规范技术规范错误激活站可以照常参加总线通讯,且当检测到错误时,送出一个活动错误标志。
不允许错误认可节点送出活动错误标志,它可参与总线通讯,但当检测到错误时,只能送出认可错误标志,且发送后仍被错误认可,直到下次发送初始化。
总线关闭状态不允许单元对总线由任何影响,三种状态转换关系如图15所示。
5.4CAN5.4CAN总线的技术规范技术规范或REC128错误激活错误认可总线关闭TEC255TEC128和REC127TEC127正常模式请求11个连续隐性位128次为了界定故障,在每个总线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 控制器局域网CAN总线技术规范2 控制器 局域网 CAN 总线技术 规范