大家好,欢迎来到IT知识分享网。
CAN:
控制器局域网络(Controller Area Network)
应用:
CAN总线协议成为汽车计算机控制系统、嵌入式工业控制局域网的标准总线。
定义:
CAN属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。它是一种多主总线,通信介质可以是双绞线、同轴电缆、光导纤维等,速率可达1Mbps。
优点:
(1)网络各节点之间的数据通信实时性更强;
CAN控制器工作于多种方式,网络中各节点都可根据总线访问优先权(报文标识符),采用无损结构的逐位仲裁方式竞争向总线发送数据。
(2)开发周期短;
CAN总线通过其收发器82C250接口芯片的两个输出端CANH、CANL和物理总线相连。其中,CANH状态为高电平或悬浮,CANL状态为低电平或悬浮。这样,即使CAN节点在严重错误时具有自动关闭输出功能,使其他节点不受影响,以免进入“死锁”状态。
特点:
(1)通信接口集成了CAN协议的物理层和数据链路层,完成对通信数据的成帧处理,有:位填充、数据块编码、循环冗余检验、优先级别判别等。
(2)废除传统的站地址编码,使用通信数据块编码方式。理论上网络内的节点个数不受限。
数据块的标识符可有11位/29位二进制数组成,因而可定义2或2以上不同的数据块。可使不同节点同时接收到相同的数据。数据段最多为8个字节。
CRC检验并提供相应的错误处理能力,保证通信可靠。
(3)多主竞争总线结构,具有多主站运行、分散仲裁的串行总线、及广播通信的特点。
通信距离最远可达10KM(速率低于5Kbps),速率达到1Mbps(距离小于40M);
适用于大数据量短距离通信/长距离小数据量,实时性要求高,多主多从或各节点平等的现场中使用。
技术:
CAN总线以报文为单位进行数据传送,报文优先级结合在11位标识中,具有最低二进制数的标识符有最高的优先级。这个优先级只要在系统设计时确定便不可更改。总线读取冲突可通过仲裁解决。
效率高是因为总线只被请求悬而未决的站利用,请求是根据报文在整个系统中的重要性按顺序处理的,读取的顺序放在每个报文中,保证实时系统中较低的个体隐伏时间。
(2)CAN方案
(3)CAN报文格式
报文的尾部由帧结束标出,在相邻的两条报文间有一很短的间隔位,若这时没有站进行总线存取,总线将处于空闲状态。
(4)CAN数据帧的组成
远程帧:
帧起始、仲裁场、控制场、CRC场、应答场、帧结束。不存在数据场。 远程帧的RTR位必须是隐位。
错误帧:
认可错误标志:由6个连续的隐位组成。错误界定符包括8个隐位。
发送超载帧的超载条件:要求延迟下一个数据帧或远程帧。在间歇场检测到显位
在一帧报文中有太多相同电平的位,就有可能失去同步,为保证同步,同步沿用位填充产生。例:在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被系统自动丢弃。CAN通过这种编码规则检查错误,若一帧报文中有6个相同位,就知道错误发生。若有一个站检测到一或多个错误,它将发送出错标志终止当前发送,以阻止接收错误报文,保证网络上报文的一致性。当大量发送数据被终止后,发送站会自动重新发送数据。作为规则,在探测到错误后23个位周期内重新开始发送。在特殊场合,系统的回复时间为31个位周期。
缺点:一个发生错误的站将导致所有数据被终止,其中有正确的数据。因此,采用自监测,总线系统应采用模块化设计。CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。这个方法可以对出错站统计评估来确定一个站本身的错误并进入一种不会对其他站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。
CAN系统分为高速和低速,高速CAN系统是动力型,速度500kbps,控制ECU、ABS等;低速CAN是舒适型,速度125kbps,主要控制仪表、防盗等。
CAN总线多用于工控和汽车领域,在开发测试阶段,需要对其拓扑结构、节点功能,网络整合等进行开发测试,需要虚拟、半虚拟、全实物仿真测试平台,并测试各节点是否符合ISO11898中规定的错误相应机制等,在生产阶段也需要生产线测试工具。
每个总线单元都有2个计数器来界定故障:发送出错计数和接收出错计数:
(3)发送器送出一个错误标志时,发送器错误计数器加8。两个例外情况:一是若发送器位错误认可,由于未检测到显位应答或检测到应答错误,并且在送出其认可错误标志时,未检测到显位;另一是若仲裁器件产生填充错误,发送器送出一个隐位错误标志,而检测到的是显位。除这两情况外,发送器错误计数器不改变;
(6)报文成功发送后,发送错误计数减1,除非计数值已经为0;
(7)报文成功发送后,如果接收错误计数处于1~127之间,则其值减1;如果接收错误计数为0,则仍为0;如果大于127,则将其值记为119~127之间的某个数值;
如果系统启动期间仅有1个节点挂在总线上,此节点发出报文后,将得不到应答,检查出错误并重复该报文,此时该节点可以变为错误认可节点,但不会因此关闭总线。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136512.html