APP下载

CAN总线通信原理分析

2012-09-26邓婕

电子设计工程 2012年7期

邓婕

(四川大学 电子信息学院,四川 成都 610000)

CAN(Controller Area Network)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用[1]。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献 [4]、[5],鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分析的文章。

1 CAN应用特性及结构构成

CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,ISO11898 是通信速率为 125 kbps~1 Mbps的高速CAN通信标准[2],属于闭环总线,总线最大长度为40 m/1 Mbps。ISO11519定义了通信速率为 10~125 kbps的低速CAN通信标准[2],属于开环总线,最大长度为1 km/40 kbps。由于电气特性限制,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端的波特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据[1]。同时,由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工程应用中结构构成如图1所示。

图1 CAN总线系统分层结构Fig.1 Layered structure of CAN bus system

系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;……

登录APP查看全文