当时由于汽车工业的发展,汽车功能越来越多,越来越复杂,这些功能大多都是依赖于电子设备,这就使得各个模块之间的通信越来越复杂。CAN总线的提出就是为了解决现代汽车中复杂的电子控制装置之间的通讯问题。目前它已成为国际上使用的最广泛的现场总线之一。由于CAN总线本身的高性能和可靠性等特点,其应用范围目前已经不局限于汽车行业,而被广泛应用于工业自动化、船舶、医疗设备、工业设备等方面。随着CAN在各种领域的应用和推广,CAN对其标准化的要求日益增长,CAN通过ISO11898及ISO11519进行了标准化,现在在欧洲已是汽车网络的标准协议。现场总线技术是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。他的出现标志着工业控制技术领域有一个新时代的开始。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN通信协议作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通信控制方式,CAN总线已被广泛应用于各个自动化控制系统中。CAN总线是一种有效支持分布式控制系统或实时控制系统的串行通信网络,可实现全分布式多级系统,具有不可比拟的优越性。CAN是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN总线仍可提高达50kb/s的数据传输率。图1.1是它通常情况下一个节点的结构。
图1.1 CAN总线节点结构
1.5 CAN总线协议
CAN总线遵循自己的通信技术规范,目前施行的是2.0版本,它是由PHILIPS公司于1991年9月制订并发布的。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。CAN总线基于以下5条基本原则进行通信协调:
1)总线访问。CAN共享媒体总线,对媒体访问机制采用载波监听多路访问。CAN控制器只能在总线空闲时开始发送,采用硬同步,所有CAN控制器同步都位于帧起始的前沿;
2)仲裁。按位对标识符进行仲裁,优先级最高的节点获得总线的使用权直到发送信息帧完全发送完毕;
3)编码/解码:帧起始域、仲裁域、控制域、数据域和CRC序列均使用位填充技术进行编码;
4)出错标注:当检测到位错误、填充错误、形式错误和应答错误时,检测出错条件的CAN控制器将发送一个出错标志;
5)超载标注:一些CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。
CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负载。 物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。 设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则。从物理结构上看,在CAN中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer Signaling,PLS)、物理介质附件(Physical Media Attachment,PMA)层和介质从属接口(Media Dependent Inter-face,MDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。论文网