资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,单击此处编辑母版标题样式,三一智能,CAN-bus,简介,ISO/OSI 7,层模型,CAN-bus,相关概念,CAN-,b,us简介,CAN-bus,简介,控制器局域网,CAN,(,Controller Area Network,),最初是由德国,Bosch,公司设计的,应用于汽车的监测和控制;,1991,年,9,月,,Philips,半导体公司制定并发布,CAN,技术规范:,CAN 2.0 A/B,。,1993,年,11,月,,ISO,组织正式颁布,CAN,国际标准,ISO11898,;,CAN-bus,是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。,CAN-bus,简介,CAN-bus,的特性包括:,无破坏性的基于优先权的逐位仲裁,借助验收滤波器的多地址帧传递,远程数据请求,错误检测和出错信令,很远的数据传输距离(长达,10Km,),高速的数据传输速率(高达,1Mbps,),高度实时性:每帧报文允许传输最高,8,个字节的数据,发送期间丢失仲裁或出错而遭到破坏的帧可自动重发,暂时错误和永久性故障节点的判别以及故障节点的自动脱离,脱离总线的节点不影响总线的正常工作,ISO/OSI 7层模型,ISO/OSI 7层模型,ISO-International Organization,for Standardization,(国际标准化组织),,1979,年成立;,OSI-Open Systems Interconnection,(开放系统互连);,ISO/OSI 7,层模型包括:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。,ISO/OSI 7层模型,OSI,开放系统互连模型,7,应用层,最高层用户软件网络终端等之间用来进行信息交换如,DeviceNet,6,表示层,将两个应用不同数据格式的系统信息转化为能共同理解的格式,5,会话层,依靠低层的通信功能来进行数据的有效传递,4,传输层,两通讯节点之间数据传输控制操作如数据重发数据错误修复,3,网络层,规定了网络连接的建立维持和拆除的协议如路由和寻址,2,数据链路层,规定了在介质上传输的数据位的排列和组织如数据校验和帧结构,1,物理层,规定通讯介质的物理特性如电气特性和信号交换的解释,ISO/OSI 7层模型,应用层协议,表示层协议,会话层协议,传,/,运输层协议,网络层协议,数据链路层协议,物理层协议,ISO/OSI 7层模型,逻辑链路控制,(LLC),-,验收滤波,-,过载通知,-,恢复管理,介质访问控制,(MAC),-,数据封包、解包,-,帧编码(填充、消除填充),-,错误检测、标定,应用层,表示层,会话层,传输层,网络层,数据链路层,物理层,OSI Reference Layers,物理层,(PLS),-,位编,/,解码,-,位定时,/,同步,CAN-bus 相关概念,CANH,CANL,3.5,V,1.5,V,2.5,V,Vdiff=2V,Vdiff=0V,Vdiff=0V,隐性(逻辑,1,),显性(逻辑,0,),隐性(逻辑,1,),CAN,总线电平标称值,8us,隐隐显隐显显,“110100”,CAN-bus 相关概念,CAN-bus 相关概念,帧格式,标准帧,:,具有,11,位标识符的,CAN,帧,;,CAN-bus 相关概念,扩展帧,:,具有,29,位标识符的,CAN,帧,;,CAN-bus 相关概念,帧类型,数据帧,:,携带数据从发送器至接收器;,CAN-bus 相关概念,远程帧,:,总线单元发出远程帧,请求发送具有同一识别符的数据帧,;,CAN-bus 相关概念,错误帧,:,任何单元检测到一总线错误就发出错误帧,;,CAN-bus 相关概念,过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时,;,CAN-bus 相关概念,帧起始:它标志数据帧和远程帧的起始,由一个单独的,“,显性,”,位组成。只在总线空闲时,才允许站开始发送;,仲裁场:,标准格式里,仲裁场由11 位识别符和RTR 位组成,识别符位由,ID.28,18,构成,;,扩展格式里,仲裁场包括29 位识别符、SRR 位、IDE 位与RTR 位,其识别符由,ID.28.0,;,帧元素,CAN-bus 相关概念,识别符:基本可以理解为CAN帧的ID号;,RTR 位:该位在数据帧里必须为,“,显性,”,,而在远程帧里必须为,“,隐性,”,;,SRR 位,(,扩展格式,),:SRR 的全称是,“,替代远程请求位(Substitute Remote Request BIT),”,。SRR 是一隐性位。它在扩展格式的标准帧RTR 位位置,因此代替标准帧的RTR 位。因此,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的,;,IDE,位(扩展格式):,IDE,的全称是,“,识别符扩展位(,Identifier Extension Bit,),”,IDE,位属于:,扩展格式的仲裁场,标准格式的控制场,标准格式里的,IDE,位为,“,显性,”,,而扩展格式里的,IDE,位为,“,隐性,”,。,CAN-bus 相关概念,控制场,:,控制场由,6,个位组成,包括数据长度代码和两个将来作为扩展用的保留位。所发送的保留位必须为,“,显性,”,。接收器接收所有由,“,显性,”,和,“,隐性,”,组合在一起的位。数据长度代码指示了数据场中字节数量。数据长度代码为,4,个位,在控制场里被发送。,CAN-bus 相关概念,数据长度代码中数据字节数的编码,(DATA LENGTH CODE),:,缩写:,d,“,显性,”,,,r,“,隐性,”,数据帧:允许的数据字节数:,0,1,.,7,8,。其他的数值不允许使用。,CAN-bus 相关概念,数据场,:,数据场由数据帧中的发送数据组成。它可以为,0,8,个字节,每字节包含了,8,个位,首先发送,MSB;,CRC,场,:CRC,场包括,CRC,序列(,CRC SEQUENCE,),其后是,CRC,界定符(,CRC DELIMITER,),;,帧结尾,:,每一个数据帧和远程帧均由一标志序列界定。这个标志序列由,7,个,“,隐性,”,位组成。,CAN-bus 相关概念,应答场,:,应答场长度为,2,个位,包含应答间隙(,ACK SLOT,)和应答界定符(,ACK DELIMITER,)。在应答场里,发送站发送两个,“,隐性,”,位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(,ACK SLOT,)期间(发送,ACK,信号)向发送器发送一,“,显性,”,的位以示应答,;,CAN-bus 相关概念,应答间隙:所有接收到匹配,CRC,序列(,CRC SEQUENCE,)的站会在应答间隙(,ACK SLOT,)期间用一,“,显性,”,的位写入发送器的,“,隐性,”,位来作出回答。,ACK,界定符:,ACK,界定符是,ACK,场的第二个位,并且是一个必须为,“,隐性,”,的位。因此,应答间隙(,ACK SLOT,)被两个,“,隐性,”,的位所包围,也就是,CRC,界定符(,CRC DELIMITER,)和,ACK,界定符(,ACKDELIMITER,)。,波特率和距离的关系,CAN-bus 相关概念,基本公式:,Max Bit Rate MbpsMax Bus,Lengthm,60,在使用过程中建议使用下表所列出来的波特率,它们都是,CIA,协会公布的标准波特率。,位速率,/kbps,最大距离,/m,1000,40,500,130,250,270,125,530,100,620,50,1300,20,3300,10,6700,5,10000,CAN-bus 相关概念,帧格式,数据位数,标准数据帧(,8,字节数据),111,标准远程帧,47,扩展数据帧(,8,字节数据),131,扩展远程帧,67,CAN,数据帧,远程帧所占用的位长度为,(,含最短帧间隔,3bits),:,1M,波特率时发送标准数据帧(,8,字节数据):,发送速度,1000000/111=9009,帧,每帧带,8,字节数据即,9009*8=72072,字节,CAN-bus 相关概念,总线仲裁,总线上,“,显性,”,电平支配,“,隐性,”,电平;,逻辑,“,0,”,=,“,显性,”,电平;逻辑,“,1,”,=,“,隐性,”,电平。,总线空闲时,任何节点可以开始发送报文;,总线上每条报文都具有唯一的一个,11,位或,29,位标识符;,报文标识符的值越小,报文具有越高的优先权;,多个节点同时发送时,总线在,“,仲裁场,”,进行,“,逐位仲裁,”,;,传送高优先级报文的节点赢得仲裁,并继续传输报文;,失去仲裁的节点在总线空闲时重新传送。,CAN-bus 相关概念,总线仲裁示意图,NODE3,赢得仲裁,传送报文,CAN-bus 相关概念,位流编码(,Bit Coding,),位流编码采用,“,不归零,”,(,NRZ,)方法编码,;,在完整的位时间里,位电平要么为,“,显性,”,,要么为,“,隐性,”,;,有足够的跳边沿利于总线各节点重新同步;,要求采取,“,位填充,”,(,Bit Stuffing,)。,CAN-bus 相关概念,标准数据帧,CANL,波形,CANH,波形,位流编码实例,CAN-bus 相关概念,位填充(,Bit Stuffing,),当发送器检测到位流里有5个连续相同值的位,便会自动在位流里插入一补充位,接收器会自动删除这个补充位。,最多经过5个位时间,各节点可以重同步;,能够通过总线上的错误标志(Error Flag 6个连续相同的位)反映发送错误。,在固定的位场中不使用位填充。,CAN-bus 相关概念,位填充示意图,要传送的位序列,经过位填充后传送的位序列,CAN-bus 相关概念,错误检测机制,进行检测错误,采取以下措施:,监视(对发送位的电平与被监控的总线电平进行比较),循环冗余检查,位填充,报文格式检查,CAN-bus 相关概念,错误检测的机制具有以下的属性:,检测到所有的全局错误,检测到发送器所有的局部错误,可以检测到报文里多达,5,个任意分布的错误,检测到报文里长度低于,15,(位)的突发性错误,检测到报文里任一奇数个的错误,对于没有被检测到的错误报文,其剩余的错误可能性概率低于:报文错误率,4.7*10,-11,CAN-bus 相关概念,错误类型,位错误(,Bit Error,):发送的位值和总线监视的位值不相符合时,检测到一个位错误,(,除仲裁场、应答场外,),;,填充错误(,Stuff Error,):如果在使用位填充编码的位流中,出现了第六个连续相同的位电平,将检测到一个位填充错误;,形式错误(,Form Error,):当一个固定形式的位场含有一个或多个非法位时,将检测到一个形式错误;,应答错误(,Acknowledgment Error,):在应答间隙(,ACK SLOT,)所监视的位不为,“,显性,”,,则会检测到一个应答错误;,CRC,错误(,CRC Error,):如果接收器的,CRC,结果和发送器的,CRC,结果不同,将检测到一个,CRC,错误。,CAN-bus 相关概念,总线单元使用两种错误计数器进行故障界定,发送错误计数,(TEC),接收错误计数,(REC),错误计数规则,(,共,12,条规则,),节点发送时产生错误,将导致,TEC,加,8,;,节点成功发送,1,帧报文后,,TEC,将减,1,,直到,0,;,节点接收时检测到错误,将导致,REC,加,8,;,节点成功接收,1,帧报文后,,REC,将减,1,,直到,0,;,故障界定,CAN-bus 相关概念,单元存在的三种状态,错误主动,(Error active),:,“,错误主动,”,的单元可以正常地参与总线通讯,并在错误被检测到时发出主动错误标志。,错误被动,(Error passive),:,“,错误被动,”,的单元不允许发送主动错误标志。,“,错误被动,”,的单元参与总线通讯,在错误被检测到时只发出被动错误标志。,总线关闭,(Bus off),:,“,总线关闭,”,的单元不允许在总线上有任何的影响,(,比如,关闭输出驱动器,),。,单元状态,CAN-bus 相关概念,单元状态切换,(1),辨别节点处于暂时错误和永久性故障;故障节点自动脱离总线,防止网络锁定。,CAN-bus 相关概念,TEC,:发送错误计数器,REC,:接收错误计数器,TEC128,REC128,TEC255,TEC128,REC,“,0,”,的沿时与发送者同步;,同步位流,包括在报文起始的硬同步、在报文传送期间的重同步。,同步,CAN-bus 相关概念,硬同步,(Hard Syhchronization),重同步,(Re-syhchronization),在数据流中不包含时钟;,接收者在,“,1,”,=,“,0,”,的沿时与发送者同步;,同步位流,包括在报文起始的硬同步、在报文传送期间的重同步。,同步,CAN-bus 相关概念,由协议控制器完成通过硬同步或重同步来适配位定时参数。,同步示意图,SOF,Hard,Synchronization,Re-synchronization,CAN,总线,实践,CAN,总线,实践,CAN,总线波形,(1),帧类型:数据帧,帧格式:标准帧,字节数:,8,波特率:,250K,ID=0345,数据:“,12345678”,CAN,总线,实践,SOF,与,ID,CAN,总线,实践,错误帧,帧类型:错误帧,错误类型:错误主动,
展开阅读全文