控制器局部网(Control Area Network,CAN)是德国Bosch公司为现代汽车应用开发的一种多主机局部网络,CAN总线最初为解决汽车中众多的控制与测试仪器之间的数据交换而开发的。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已在工业上得到广泛的应用,被公认为最有前途的现场总线之一。
CAN总线是一种串行数据通信协议,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps.CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,可以非常灵活地控制节点的通信对象和通信来源,比如使不同的节点同时接受到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN具有下列主要特性:
CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,通信方式灵活;
CAN可以点对点、点对多点(成组)及全局广播方式传送接收数据;
CAN网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;
CAN采用非破坏性总线仲裁技术。当两个节点同时向网络上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,大大地节约了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;
CAN的直接通信距离最大可达10km(速率小于5kbps),最高通信速率可达1Mbps(此时距离最长为40m)。
正因为CAN总线有着如此卓越的特性,它现已成为汽车车体通信的标准。
5.2 CAN总线通信的基本原理
5.2.1 CAN总线的位数值表示
CAN总线用“显性”(Dominant)和“隐性”(Recessive)两个互补的逻辑值表示“0”和“1”。当在总线上出现同时发送显性和隐性位时,其结果是总线数值为显性(即“0”和“1”的结果为“0”)。如图5.1所示,VCAN-H和VCAN-L为CAN总线收发器与总线之间的两接口引脚,信号是以两线之间的“差分”电压形式出现。
隐性:VCAN_H和VCAN_L均被固定为平均电压电平2.5V,VDIFF近似为0.在总线空闲或“隐性”位期间,发送“隐性”状态。
显性:VCAN_H和VCAN_L为大于阈值的差分电压。VCAN_H大约为3.5V,而VCAN_L大约为2.5V.在报文冲突的时候,显性位的优先级高于隐性位,也就是逻辑“0”优先于逻辑“1”,这是CAN总线冲突处理机制的基础。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉