很多的司机朋友以及工控圈的朋友都有听到过“CAN总线”一词,今天我们就来一起看一下CAN总线为什么这么火?
CAN总线,也叫做控制器局域网总线(Controller Area Network),是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,用来取代昂贵而笨重的配电线束。CAN协议的使用广泛这一特点使其很快延伸到自动化控制以及工业领域中。
CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
CAN总线发展史
控制器局域网CAN属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线,由于其高性能、高可靠性以及能够检测出产生的任何错误,因而而越来越受到人们的欢迎,被广泛应用于诸多领域。
随着CAN总线在各个行业和领域的广泛应用,使得对其的通信格式也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。
美国的汽车工程学会SAE在2000年提出了J1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准。传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺陷。当总线上传输消息频率不高时,这些缺陷相对影响较小;但随着发送频率的不断增加,性能会急剧下降。
为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统CAN与时间触发机制相结合产生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN总线和传统CAN总线系统的区别是:总线上不同的消息定义了不同的时间槽(Timer Slot)。