十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应"减少线束的数量"、"通过多个LAN进行大量数据的高速通信"的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
10年积累的成都网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有巴林左旗免费网站建设让你可以放心的选择与我们合作。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率最高可达1Mbps。
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。CAN总线插卡可以任意插在PC AT XT兼容机上,方便地构成分布式监控系统。
只有2根线与外部相连,并且内部集成了错误探测和管理模块。
CAN总线特点:
(1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs通信。
(2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M)。(4) CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
国际标准化组织ISO对通信系统的详细划分如图31所示
图31 ISO国际标准化组织对通信系统的划分
CAN总线规范定义了ISO模型中的物理层和数据链路层。
在SylixOS在应用层和数据链路层中间还加了一层系统层,上层应用通过调用操作系统提供的相应的接口实现对底层数据链路层的操作和控制。
图32 CAN总线协议层框图
一些国际组织定义了应用层,如CIA组织的CANopen、ODVA组织的DeviceNet等,也有一些用户根据需求自行设计应用层。
CAN总线有ISO11898和ISO11519两个通信标准,此两个标准中差分电平的特性不相同如图4-3所示。
图43 ISO11898和ISO11519标准
ISO11898和ISO11519-2的CAN_H和CAN_L的电平值是不一样的(注:经过CAN控制器出来的信号是TTL 电频(RX和TX),RX 或TX 的TTL电平经过CAN收发器以后出来的是CAN_H和CAN_L的差分信号)。现在用的大多数器件采用的都是ISO11898协议。
为何CAN要采取差分信号传输数据?
双绞线上传输差分信号,共振干扰使信号线上产生相同幅度和相位的该扰脉冲如图44所示。
图44CAN总线传输时CAN_H和CAN_L电平信号图
线路受到共模信号干扰后,信号差值不变,信号依然正确传输。
CAN总线采用的是异步串行通信的方式没有时钟线,按照约定的频率采样数据如图15所示。
图55异步串行通信采样介绍
采用同步采样会带来一些,由于没有时钟线,信号的接收者内部定时采集数据,由于系统时钟的偏差,或者波特率的偏差会产生数据的读取错误如图56所示。
图56波特率采样偏差
CAN总线是如何进行同步的呢?如图57所示。
图57CAN信号同步
CAN总线以信号跳变沿作为同步时刻,有效的把累计误差限制在两个跳变沿之间。
但是这样做任然有一个问题,就是在长时间连续高电平或者低电平中后仍然会有较大的累计误差,仍然会有数据出错的情况。
CAN总线的设计者们也考虑到了这种情况如图58所示。
图58 CAN同步机制
在连续的5个相同的位之后插入一个相位,产生一个跳变沿,再结合上面以信号跳变沿作为同步时刻,有效消除了累计误差保证了CAN总线数据的可靠性(注:填充的这个相位是硬件上自动完成无需软件设计完成)
《项目驱动--CAN-BUS现场总线基础教程----周立功,黄晓清》。
《现场总线技术及其应用第二版–清华大学出版社》。