第12章 CAN总线
uCAN(ControllerArea Network,控制器局域网)是20世纪80年代(1983)德国Bosch(博世)公司为解决众多的测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。uCAN已成为国际标准ISO11898和ISO11519。
CAN的发展历程:
•1983年,德国博世公司为了解决众多测量控制部件之间的数据交换问题,开始投入人力、物力成立一个工作组,设立一个项目来开发一种汽车内部的串行通信网络。•1986年,推出了CAN协议这样一个规范,CAN协议在1986年产生。•1987年,由因特尔和飞利浦半导体公司首先推出第一个CAN控制芯片,CAN协议有一部分在硬件当中实现了,CAN控制器芯片出现之后呢它极大的推进了CAN总线在各个领域当中的应用。•1991年博世公司出版了CAN的技术规范2.0A,这是CAN的技术规范。在1991年通过Kvaser推出了CAN的高层协议,也就是应用层协议。
•1992年德国奔驰公司采用CAN网络推出了第一款车,CAN网络正式被实际应用于汽车。•1993年,ISO11898标准正式制定,支持的是标准帧格式。•1995年,ISO11898修正协议标准正式出版,也就是它支持一种扩展帧格式•1995年CIA又出版了CANopen协议,它也是基于CAN本身的物理层和数据链路层而推出了应用层协议,•2000年CAN的触发通信协议被推出,即TTCAN。
u CAN在汽车电子系统中得到了广泛应用,已成为世界汽车制造业的主体行业标准,代表着汽车电子控制网络的主流发展趋势。u 世界上一些著名的汽车制造厂商都已采用CAN总线来实现汽车内部控制系统与各检测及执行机构间的数据通信。如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLIS-ROYCE(劳斯莱斯)、JAGUAR(美洲豹)和MAZDA(马自达)等都。
uCAN与其他现场总线相比,具有突出的可靠性、实时性和灵活性,其技术特点如下:
(1)CAN从本质上讲是一种多主或对等网络,网络上任一节点均可主动发送报文 。
(2)废除了传统的站地址编码,而代之以对通信数据进行编码;通过报文过滤,可实现点对点、多点播送(传送)、广播等几种数据传送方式。
(3)采用短帧结构,传输时间短,受干扰概率低。
(4)具有多种检错措施及相应的处理功能,检错效果极好,处理功能很强,保证了通信的高可靠性。位错误和位填充错误检测、CRC校验、报文格式检查和应答错误检测及相应的错误处理。
(5)通信介质(媒体)可为双绞线、同轴电缆或光纤,选择灵活。
(6)总线长度可达10km(速率为5kbps及其以下);网络速度可达1Mbps(总线长度为40m及其以下)。
(7)网络上的节点数主要取决于总线驱动电路,目前可达110个;标准格式的报文标识符可达2032个,而扩展格式的报文标识符的个数几乎不受限制。
(8)通过报文标识符来定义节点报文的优先级。对于 实时性要求不同的节点报文,可定义不同级别的优先级,从而保证高优先级的节点报文得到优先发送。
(9)采用非破坏性逐位仲裁机制来解决总线访问冲突。通过采用这种机制,即使在网络负载很重时,也不会出现网络瘫痪现象。
(10)发生严重错误的节点具有自动关闭输出的功能,以使总线上其他节点的通信能够继续进行。
uCAN最初虽然是为汽车的监测、控制系统而设计的,但由于它在性能、可靠性等方面的突出优势,现已广泛应用于航天、电力、石化、冶金、纺织、造纸、仓储等行业。如在自动化仪表、智能传感器、数控机床、医疗器械、机器人、楼宇自动化装置、火车、轮船等元件、设备、设施中,CAN总线都得到了良好的应用。