CAN总线简介

本文详细介绍了CAN总线,一种异步串行通信协议,探讨了其高可靠性、低成本、高传输效率、易组网和开放生态等特性,包括物理层的实现、数据帧结构、仲裁机制及位填充等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8.1 CAN总线简介

       CAN总线是一种异步串行通讯低层网络。对照OSI模型,CAN总线规范仅包含物理层和数据链路层的标准。然而,构建在CAN总线之上的应用层协议(即OSI模型的高层协议)有多种, 譬如针对汽车控制领域和工业控制领域的CANopen协议、针对工业控制领域的DeviceNet协议、针对公交车和卡车控制领域的SAE J1939协议、针对轻型电动汽车领域的EnergyBus协议等。

CAN总线最初由著名的汽车零部件供应商——德国Bosch于1983年制定的,1986年国际汽车工程师协会(SAE)大会上正式公开发布,1991年使用CAN总线的首台汽车——奔驰W140正式推出[1]。 2020年国际CAN大会(iCC)上启动CAN XL(被称为第三代CAN)标准,CAN总线已经历近40年的发展,在汽车控制领域CAN总线仍被广泛使用。CAN总线为什么能够得到广泛认可呢?

CAN总线具有以下几个特点:

  1. 高可靠性。CAN总线采用无主的网络架构,网络传输不依赖于主机的可靠性。CAN总线采用消息ID和消息体的传输机制(无网络节点ID),每个节点可发送或接收多个ID的消息,任何节点失效都不会影响其他节点和网络。
  2. 低成本。CAN总线物理层采用低压差分信号,CAN总线物理层接口的收发器成本与RS485收发器相接近,但CAN总线收发器具有网络侦测能力(每个节点都可以检测自己发出的信号)。
  3. 高传输效率。CAN总线使用面向位流编码的短数据帧,每个位都采用不归零编码,数据域最大长度位8字节。传输短数据帧时占用的网络周期短,受干扰或导致错误数据位的概率低,而且重传的时间也短。
  4. 易组网。CAN总线采用消息ID(11位或29位两种长度的消息ID)的二进制‘0’位的多少分配消息传输优先级,允许多个节点自动竞争和仲裁获取总线的占用权,甚至支持即插即用的节点。
  5. 开放协议和生态系统。CAN总线得到广泛应用的关键应归功于Bosch最初采用的开放版权策略,以及由半导体制造商(协议栈的硬件化)、汽车零部件开发商、软件开发商和行业协会等共同参与而打造的CAN总线生态。

本节以CAN2.0A版本为例了解CAN总线的上述基本特点和相关的基本概念。


CAN总线的物理层使用双绞线作为网络介质,两个信号分别称作CAN_HI和CAN_LO,他们组成一对差分信号,由CAN总线节点的物理层接口——总线收发器驱动。 CAN总线的数据帧是面向二进制位编码的结构化位流,每个数据帧都包含帧起始域、仲裁域、控制域、数据域、CRC校验域、确认域、帧结束域和帧间隔域等。

在CAN总线的规范中,将二进制位‘0’定义为“显性位”或“显性信号”、‘1’定义为“隐性位”或“隐性信号”。在传输显性位‘0’时,CAN_HI信号将被拉高到CAN总线收发器的工作电源电压VDD, 同时CAN_LO信号将被拉低到CAN总线收发器GND;传输隐性位‘1’时,CAN总线收发器不驱动CAN_HI和CAN_LO两个信号,即两个信号处于浮空状态,此时两总线信号受120欧姆终端匹配的影响都保持2V左右。

../_images/can20a_data_frame_examples_0.jpg

图8.1 CAN2.0A数据帧(位流)和物理层CAN_HI和CAN_LO信号之间关系示意图[1]

在图8.1中,假设某个CAN总线节点发出一个数据帧,其

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值