文章目录
1.CAN简介
CAN总线协议,全称为控制器局域网络(Controller Area Network)的通信协议,最初由德国的博世公司和美国的英特尔公司在20世纪80年代共同开发。该协议已经成为国际标准(ISO11519以及ISO11898),并且是国际上应用最广泛的现场总线之一。
1.1 ISO11898标准
ISO11898标准是通信速度为125Kbps-1MKbpbs的CAN高速通信标准。目前ISO11898追加新规后,成为11898-1新标准。
1.1 ISO11519标准
ISO11519标准通信速度为125Kbps以下的CAN低速通信标准。ISO11519-2是ISO11519-1追加新规约后的版
CAN总线协议定义了一个基于广播方式的分布式通信系统,使总线上的所有设备能够相互交流。每个节点都有一个唯一的标识符,当多个节点同时发送消息时,较低标识符的节点具有更高的优先级,从而确保较高优先级的节点能够成功发送消息。此外,CAN总线协议还具有自动错误检测和纠正机制,能够在数据传输过程中检测和纠正错误,提高系统的可靠性。
2. CAN物理层定义
2.1 高低电平
CAN-H的高电平为:3.5伏AN-L的低电平为:1.5伏
逻辑“1”: CAN-H =2.6V CAN-L =2.4V
电压差= 2.6V-2.4V =0.2V 定义为隐性
逻辑“0”:CAN-H =3.5V CAN-L =1.5V
电压差= 3.5V-1.5 =2.0V 定义为显性
由于CAN-H线和CAN-L线是紧密的放置在一起的,所以干扰脉冲X就总是有规律地同时作用在两条线上。
由于CAN收发器总是用CAN-H线上的电压(3.5V-X)减去CAN-L线上的电压(1.5V-X),因此在经过处理后,差分信号中就不再有干扰脉冲了.
信号 = (3.5 - X) - (1.5 - X) = 2V
基于此特性,CAN通信的高、低线距离越近越好
2.2 终端电阻
数据传输终端实际上就是两个阻抗为120欧姆的电阻,也称为终端电阻。终端电阻应该与通讯电缆的阻抗相同,典型值为120欧姆,达到匹配总线阻抗,提高数据通信的抗干扰性及可靠性。
终端电阻的作用就是吸收信号反射及回波,而如果阻抗不连续以及不匹配便会产生信号反射,从而对传输的信号产生干扰。
在CAN通讯中,终端电阻的作用具体体现在以下几个方面:
阻抗匹配:CAN总线通常是由双绞线构成的,具有特定的传输线阻抗。终端电阻的阻值一般与总线的特性阻抗相匹配,通常为120欧姆。这样的匹配可以消除总线两端的信号反射,从而提高信号的质量和稳定性。当信号在CAN总线上传输时,如果遇到阻抗不匹配的情况,信号会发生反射,这可能导致信号失真或产生不必要的噪声。通过在总线两端放置适当的终端电阻,可以确保阻抗匹配,减少信号反射,从而提高通信的可靠性。
控制总线信号的传播速度:终端电阻的存在使得CAN总线形成了一个电气封闭回路,有助于控制信号的传播速度。适当匹配的终端电阻能够使总线传输速率达到最佳,确保数据在总线上的高效传输。
提高抗干扰能力:CAN总线通常用于工业环境,其中存在大量的电磁干扰源。终端电阻的加入能够减小CAN总线上的电磁干扰(EMI),提高总线的抗干扰性能。它通过滤除不必要的回波和干扰,确保稳定的数据传输。
确保总线快速进入隐性状态:CAN总线上的信号有“显性”和“隐性”两种状态。终端电阻有助于确保总线在数据传输完成后能够迅速进入隐性状态,为下一次通信做好准备。
3. CAN数据链路层定义
CAN总线是广播式通讯,如果多个ECU同时发送消息,那怎么办呢?那就引出了can通讯的数据帧格式,CAN通讯包含标准帧和扩展帧
一个标准帧包含:帧起始、仲裁场、控制场、数据场、CRC场、ACK场、帧结束;扩展帧是比标准帧多了一段额外的ID.
接下来我们将详细介绍这些数据段:
3.1 帧起始与帧结束段:
3.2 仲裁段:
结论:帧ID值越小,优先级越高。
3.3 控制段:
3.4 数据段:
3.5 CRC段:
3.6 AKC段:
CAN总线协议的高可靠性和良好的错误检测能力受到了更多的重视,使其不仅被广泛应用于汽车计算机控制系统,还被用于环境温度恶劣、电磁辐射强及振动大的工业环境。此外,还有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
综上所述,CAN总线协议是一个功能强大且应用广泛的通信协议,为各种工业控制系统提供了高效、可靠的数据传输解决方案。
本文同源微信公众号:汽车电子研发者星球
本公众号致力于汽车电子相关知识分享,作为汽车电子研发者学习交流平台。
本公众号提供汽车行业各种资料,协议,相关书籍电子版下载。发布各种技术博文以及汽车行业新闻分享。感兴趣的朋友可以关注一波。