CAN总线是德国BOSCH公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯协议。它的短帧数据结构、非破坏性总线性仲裁技术以及灵活的通讯方式适应了汽车的实时性和可靠性要求。
汽车CAN总线的技术背景来源于工业现场总线和计算机局域网这样非常成熟的技术,因此具有很高的可靠性,抗干扰性。
CAN总线的特点
CAN作为一种多主总线,支持分布式实时控制的通讯网络。其通讯介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件、传感器、抗滑系统等应用中,总线的位速率最大可达1Mbit/s。CAN总线属于总线式串行通讯网络,由于其采用了许多新技术及独特的设计,与一般的通讯总线相比,CAN总线的数据通讯具有突出的可靠性、实时性和灵活性。其特点可以概括如下:
1) CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息。利用这一点可方便地构成多机备份系统。
2) CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134us内得到传输。
3) CAN采用非破坏性总线性仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则可能)。
4) CAN只需通过帧滤波即可实现点对点、一点对多点及全局广播等几种方式传送接受数据,无需专门的“调度”。
5) CAN采用NRZ编码,直接通信距离最远可达1