CAN总线通信原理分析

时间:2022-03-24 15:11:05

http://www.21ic.com/app/rf/201205/121314.htm

 

摘要:介绍了控制器局域网总线(CAN总线)的应用特性以及将其应用于具体的工程项目时CAN总线系统的分层结构及各层的主要功能。基于CAN总线系统结构构成,通过工程实践的具体应用以及对CAN控制器及收发器硬件结构的深入理解,并从通信的角度出发着重深入分析了CAN总线通信的节点同步机制、总线地址机制、总线仲裁机制(即总线的冲突解决机制)以及总线鲁棒性的实现原理。
关键词:控制器局域网总线;同步机制;地址机制;仲裁机制;鲁棒性实现

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

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

CAN总线通信原理分析


    系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。
    对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。

 1/4     1  2  3  4  下一页  尾页