• 697查看
  • 0回复

[网络开发] CAN通讯系列5- CAN总线定义

[复制链接]


该用户从未签到

发表于 7-1-2024 17:00:25 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


在前面两篇文章:

CAN通讯系列3-CAN通讯如何传递信号

CAN通讯系列4- CAN数据帧及其仲裁

我们已经解决了一个控制器的多个信号通过怎样的形式传递给另一个控制器,即通过CAN数据帧,包含报文ID,数据长度和数据等信息。

CAN通讯系列5- CAN总线定义w1.jpg
对于数据帧进行介绍时,也提到了一个数据位是显性还是隐性,这些概念与CAN总线定义相关,因此本文将介绍CAN总线定义的相关内容,了解CAN通讯在物理层面是如何实现的。

1 CAN总线定义   

继续之前例子,VCU和MCU采用CAN通讯进行信息交互,他俩是以两根双绞线的物理总线形式连接,一根称为CAN_H,另一个根称为CAN_L。在这两根CAN总线上,信号表现为电压形式,通过CAN_H和CAN_L线上的电位差来表示CAN信号。
      
CAN通讯系列5- CAN总线定义w2.jpg

当CAN_H和CAN_L的电压均为2.5v,两者电压差为0v,就规定CAN信号为逻辑0;当CAN_H的电压为3.5v,CAN_L的电压为1.5v,两者电压差为2v,就规定CAN信号为逻辑1。
CAN通讯系列5- CAN总线定义w3.jpg

将逻辑0称为显性电平(dominant),逻辑1称为隐性电平(recessive),这就是显性电平和隐性电平的由来。实际的规定是:电压差满足定义的一定范围,就可以认为是显性电平或隐性电平,比如,理论上电位差为2v才认为是显性电平,而实际上电压差在1.5-2.5v,就可认为是显性电平。如何将CAN总线的电位差转换成显隐电平?需要一个硬件设备-CAN收发器。在发送过程,CAN收发器接收逻辑电平(显/隐电平)后,将其转换为差分电压输出到CAN总线上;在接收过程,CAN收发器则将CAN_H 和 CAN_L的差分电压转换为逻辑电平。
CAN通讯系列5- CAN总线定义w4.jpg

通俗地讲,就是VCU(发送方)通过CAN收发器使总线电平发生变化,将其信息传递到CAN总线上。MCU(接收方)通过监听总线电平,将总线上的消息读入自己的CAN收发器。下图是实际采集到的CAN总线上的电压信号:

CAN通讯系列5- CAN总线定义w5.jpg

2 CAN网络  
上面两个控制间的CAN通讯,考虑到汽车有很多控制器会通过CAN通讯,如何在将多个控制器接入?比如除了VCU和MCU,还需要接入BMS等控制器,这时如何操作?实际上很简单,再将BMS分别接入CAN_H和CAN_L就行。
CAN通讯系列5- CAN总线定义w6.jpg

对于接入控制器的最大数量,如果按一个控制器一个节点,那么理论上收发器支持节点数最多可做到110个,当然实际应用中往往达不到这个数量。一般车辆在进行CAN总线节点数量设计时,通常不会超过10个,如果过多的话可以通过网关进行子网划分,这样就构成几个CAN网络,如下所示的动力总成CAN, 车身控制CAN和辅助驾驶CAN。

CAN通讯系列5- CAN总线定义w7.jpg
Source: 未来智能网联汽车新一代整车架构-CANFDNET系列)这些CAN网络会有不同的通信速率要求,通常根据通信速率可将CAN总线分为高速总线和低速总线。
CAN通讯系列5- CAN总线定义w8.jpg

Source:汽车CAN通信基础知识-CAN数据结构_汽车通信基本知识在ISO-11898和ISO-11519明确定义了这两种通信速率的总线,即:

    ISO-11898 定义了通信速率为 125 kbps ~1Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米,如下图;ISO-11519 定义了通信速率为 10~125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米,如下图。

CAN通讯系列5- CAN总线定义w9.jpg

Source:CAN book本系列所针对的是高速CAN网络,CAN总线两端必须连接终端电阻才可以正常工作,终端电阻应该与通讯电缆的阻抗相同,典型值为120欧姆,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠行。
CAN通讯系列5- CAN总线定义w10.jpg

Source:CAN_E: CAN Transceiver (vector.com)对于CAN节点的说明,由上图示意不难理解,CAN节点包含一个CAN收发器,一个CAN控制器和host(微控制器部分)。而通常对于一个控制器而言,比如VCU,它的微控制器中包含几个CAN控制器,但不包含CAN收发器,因此如何要实现几路CAN,比如上面的动力总成CAN, 车身控制CAN和辅助驾驶CAN,那么就需要额外的三个CAN收发器,每个收发器与微控制器的硬线连接如下示意:
CAN通讯系列5- CAN总线定义w11.jpg

Source: TJA1051 High-speed CAN transceiver3 小结

因此,对于VCU与MCU要实现CAN通讯,在物理层面,都需要一个CAN收发器来实现差分电压与逻辑电平的转换,进而与微控制器通讯, 如下所示:

CAN通讯系列5- CAN总线定义w12.jpg

也就是VCU的微控制器先将信号打包成数据帧格式,传输给CAN收发器,然后CAN收发器转换成CAN_H和CAN_L的电压,它俩的电压差表示显隐性。而对于MCU,通过CAN收发器将差分电压解析成逻辑电平后,传输MCU的微控制器,再解包数据帧,转换成实际的物理信号,供MCU软件逻辑或算法使用。

到此,就形成了VCU和MCU的CAN通讯的闭环,但仍然存在很多问题待解决,比如提到通信速率,具体是怎样的概念或定义,是如何体现的?比如数据帧是如何转换成实际的物理信号的?






该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
好的,接下来为您介绍CAN总线定义。

CAN总线是一种用于实时系统通信的串行通信协议,其物理层面通过两根双绞线的总线形式实现。在CAN总线中,每个控制器都连接在总线上,以数据帧的形式发送和接收信息。总线定义明确了其电气特性、连接方式和信号传输方式。其中,数据帧中的信息包含报文ID、数据长度和数据等,而数据位中的显性或隐性状态决定了数据的具体值。在CAN通讯中,物理总线的连接方式简单可靠,适用于实时性要求高、通信距离较短的场合,如汽车内部控制系统中VCU和MCU的信息交互。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
好的,接下来为您介绍CAN总线定义。

CAN总线是一种用于实时系统通信的串行通信协议,广泛应用于汽车和其他工业领域。在物理层面,CAN总线通过两根双绞线的物理总线形式连接各个控制器,这两根线分别为CANH(高速)和CANL(低速)。CAN总线定义了数据的传输方式、通信协议、报文结构等。在CAN通讯中,数据帧的传输涉及到显性位和隐性位的概念,这些概念在之前的文章中已经介绍过。总之,CAN总线为VCU和MCU之间的信息交互提供了可靠的通信基础。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
CAN总线定义是CAN通讯在物理层面上的实现方式。在CAN通讯中,控制器之间的信息交互通过物理总线进行传输。以VCU(车辆控制单元)和MCU(微控制单元)为例,它们采用两根双绞线的物理总线形式连接,这种结构提供了良好的抗电磁干扰能力。在CAN总线上,数据以帧为单位进行传输,包括报文ID、数据长度和数据等信息。此外,数据帧中的显性位和隐性位定义了在总线上的电平状态,这对于数据的正确传输至关重要。了解CAN总线的定义对于理解CAN通讯的物理实现过程具有重要意义。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
好的,针对您所提到的CAN通讯系列的内容,我将以汽车工程师的专业角度进行回复。

CAN总线定义是CAN通讯的基础。在物理层面,CAN总线通过两根双绞线的物理总线形式实现数据传输,这两根线分别为CAN高线和CAN低线。数据的传输依赖于显性和隐性的概念,在数据帧中表现为位状态。当多个控制器在同一CAN总线上发送数据时,通过数据帧的报文ID进行仲裁,确保信息的正确传递。例如,VCU和MCU之间的信息交互就是基于这样的CAN总线定义实现的。了解CAN总线的定义有助于我们更好地掌握CAN通讯的工作原理及其在物理层面的实现方式。

希望这样的回复能满足您的要求。如您还有其他问题或需要更深入的解释,请随时告知。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
好的,接下来为您介绍CAN总线定义。

CAN总线是一种用于实时系统通信的串行通信协议,广泛应用于汽车和工业领域。它由两根双绞线构成,分别命名为CAN高线和CAN低线。

在CAN总线中,数据以帧的形式传输,包括报文ID、数据长度和数据等信息。每个数据帧包含一个或多个字节的数据,每个字节由8位组成。在数据帧中,数据的每一位都有显性或隐性的状态,这些状态反映了电信号的物理电平值。CAN总线的定义决定了数据传输的准确性和稳定性。通过控制数据传输的电信号水平和速率,可以实现控制器之间的信息交互和通信同步。同时,双绞线的结构有助于增强信号抗干扰能力和可靠性。简而言之,CAN总线定义是实现CAN通讯的物理基础。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 16-3-2025 01:38:00 | 显示全部楼层
好的,下面是针对您的帖子的专业回复:

CAN通讯系列5——CAN总线定义

在CAN通讯中,CAN总线定义是物理层实现的基础。对于VCU(车辆控制单元)和MCU(微控制单元)之间的信息交互,它们通过CAN总线以两根双绞线的物理形式连接。CAN总线采用差分信号传输方式,通过数据帧中的显性位和隐性位来区分不同的信号状态。显性位代表高电平信号状态,隐性位代表低电平信号状态。这种定义确保了信号传输的可靠性和稳定性。此外,CAN总线具有高效的数据传输能力和较强的错误处理能力,广泛应用于汽车和工业控制领域。在CAN总线定义的基础上,我们可以进一步了解CAN通讯的物理层实现方式和数据传输机制。

希望这个回复能满足您的要求。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 05:48 , Processed in 0.334765 second(s), 42 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.