can总线通信电路的原理解析
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
更多
好的,我们来详细解析一下CAN总线(Controller Area Network,控制器局域网)通信电路的工作原理。它是一种在工业自动化和汽车领域应用极其广泛的多主、串行、差分、广播式现场总线。
其核心原理可以分解为以下几个关键方面:
-
差分信号传输 (核心物理层特性):
- 信号表示: CAN总线使用两根线:CAN_H (高) 和 CAN_L (低)。
- 隐性状态: 当总线空闲或没有节点发送显性位时,驱动电路使 CAN_H 和 CAN_L 的电压非常接近(通常都在 2.5V 左右)。这个电压差很小(接近0V),代表了逻辑“1”,称为隐性状态。此时,总线上没有有源驱动。
- 显性状态: 当有节点需要发送逻辑“0”时,它主动驱动总线:抬高 CAN_H 的电压(例如到约 3.5V),同时拉低 CAN_L 的电压(例如到约 1.5V)。 这样就产生了一个显著的差分电压(比如 2V 左右),代表了逻辑“0”,称为显性状态。
- 优点:
- 抗干扰能力强: 外部噪声源(如电磁干扰)通常会同时作用于两根线上,产生的共模噪声会被接收端忽略,只检测差分电压的变化,从而极大地提高了通信的抗噪性能。
- 信号识别清晰: 显性状态(0)主动且具有较大的电压摆幅,容易被检测到。
-
线与逻辑 (实现非破坏性仲裁):
- 物理特性: CAN 总线上的节点输出级通常采用开集或开漏驱动结构。
- 逻辑规则: 在隐性状态下,各节点的驱动管截止,总线通过终端电阻(通常是 120Ω)将差分电压拉至接近0(逻辑1)。当任意一个节点驱动显性状态(逻辑0)时,由于线与特性,总线就被强行拉到显性状态。即:显性位(0)覆盖隐性位(1)。
- 关键作用: 这个特性是实现CAN最核心功能——非破坏性逐位仲裁的基础。多个节点同时发送时,只要它们在发送ID字段期间检测到自己发出的隐性位(1)在总线上被覆盖成了显性位(0),就知道总线上有更高优先级(ID值更小)的节点在发送(因为更小ID的二进制位在前面更容易出现0),便立即停止发送(转为接收模式),而不会破坏高优先级节点的帧传输。
-
多主结构与仲裁:
- 无中心控制器: CAN网络上没有主控节点,所有节点在总线空闲时都可以尝试发送数据(多主)。
- 标识符 (ID): 每个数据帧的开头都有一个唯一的标识符(ID),用来标识数据内容和确定节点优先级。ID值越小,优先级越高。
- 非破坏性逐位仲裁: 当多个节点同时开始发送时,它们首先发送各自帧的ID。在发送ID的同时,每个节点监听总线状态。
- 节点发出一个隐性位(1),而检测到总线上是显性位(0):说明有更高优先级的节点也在发送(它发出了一个显性位0),该节点立刻停止发送,退出发送器。
- 节点发出一个显性位(0),且检测到总线上也是显性位(0):说明至少目前为止没有更高优先级节点发出不同的位,该节点继续发送。
- 结果: 当ID发送结束时,只有一个节点(发送了最低ID值,即最高优先级的节点)获胜,能够完整发送完它的数据帧。其他低优先级节点自动退出。这个过程中没有任何总线冲突导致的帧损坏,高优先级数据总能成功发送。这是CAN总线区别于其他总线(如RS485)的关键优势。
-
广播式通信:
- 获胜节点发送的数据帧会被广播到总线上的所有节点。
- 基于ID的过滤: 每个接收节点都会接收完整的数据帧,但会根据帧头的ID来决定是否处理该数据。如果ID不是自己关心的,则忽略该帧;如果是,则读取数据内容。这减少了节点CPU的负载。
-
终端电阻:
- 必要性: CAN总线作为高速差分信号传输线(尤其是符合 ISO 11898-2 的高速CAN),其两端必须各接一个120欧姆的终端电阻。
- 作用:
- 阻抗匹配: 消除信号在总线两端的反射,保证信号波形质量,防止通信错误。
- 维持隐性电平: 在无节点驱动(隐性状态)时,通过分压网络(电阻连接到电源和地)将 CAN_H 和 CAN_L 拉至中间电平(约2.5V)。
-
节点内部电路结构 (简化模型):
- CAN 控制器:
- 负责处理CAN协议相关的逻辑功能:构造帧格式(添加起始位、仲裁字段、控制字段、数据、CRC校验码、ACK应答、结束位等)、错误检测(CRC、帧格式、位填充、ACK)、错误处理(计数器、限制、自动重发或关闭)、位定时控制(波特率设置)、仲裁控制。
- CAN 收发器:
- 作为物理层接口,连接在CAN控制器和物理总线之间。
- 发送端: 接收CAN控制器发出的逻辑电平信号(TTL/CMOS),驱动总线上的CAN_H和CAN_L线,根据逻辑0/1输出显性/隐性差分电平。
- 接收端: 检测总线上的差分电压(CAN_H - CAN_L),将其转换为逻辑电平信号(TTL/CMOS)发送给CAN控制器。滤除总线上的共模噪声。
- 保护功能: 通常具有过热保护、短路保护(总线到Vcc、地)、ESD保护等。
- CAN 控制器:
-
错误检测与处理:
- 强大的错误检测机制:
- 位监控: 发送节点在发送显性位的同时检测总线是否也是显性位。
- 位填充检查: 数据帧中连续出现5个相同位后,必须插入一个相反位(位填充)。接收节点发现连续出现6个相同位(在特定区域)即触发错误。
- 帧检查: 检测固定格式字段(如CRC界定符、ACK界定符、帧结束、帧间隔)是否符合标准。
- CRC校验: 使用循环冗余校验码检查数据传输的正确性。
- ACK缺失: 发送节点如果检测到ACK间隙没有被任何节点置为显性位(表示没有节点正确收到帧),则判定为ACK错误。
- 错误处理: 检测到错误的节点会发送一个“错误帧”(连续6个显性位)来打断总线上的错误传输。每个节点有错误计数器,错误次数超过阈值会自动进入离线状态(错误被动或总线关闭),避免持续干扰总线。
- 强大的错误检测机制:
总结CAN通信电路工作流程:
- 空闲: 总线隐性状态,所有节点均可尝试发送。
- 争用总线: 多个节点同时开始发送,从ID的最高位(MSB)开始逐位仲裁(线与逻辑)。低优先级节点退出,高优先级节点胜出。
- 发送数据: 获胜节点完整发送其数据帧(包括ID、数据、CRC等)。
- 接收广播: 所有节点接收到完整的帧。
- 应答: 正确收到帧的节点在ACK间隙发送显性位,向发送节点确认。发送节点在ACK间隙采样总线,检测是否有应答。
- 错误处理: 任何节点检测到错误时(根据上述机制)会发送错误帧打断当前传输。发送节点检测到错误或未收到ACK会尝试重发(如果在错误计数允许范围内)。
- 完成: 发送成功后,总线恢复空闲状态(隐性)。
图示说明关键电平状态:
| 逻辑状态 | 总线状态 | CAN_H 典型值 | CAN_L 典型值 | 差分电压 Vdiff = CAN_H - CAN_L |
|---|---|---|---|---|
| 隐性 | 逻辑 1 | ~2.5V | ~2.5V | ~0V (或 < 0.5V) |
| 显性 | 逻辑 0 | ~3.5V | ~1.5V | ~2.0V (或 > 0.9V) |
理解CAN总线通信的核心在于掌握其差分传输的抗干扰性、线与逻辑实现的非破坏性仲裁以及强大的容错机制。这使得它在复杂的电磁环境和多节点需要实时通信的场合(如汽车)中表现卓越。
如何使用Arduino实现CAN总线通信
CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、
2024-11-12 10:09:17
结合Motorola控制器芯片的CAN总线通信研究
文章介绍了CAN总线通信协议和Motorola新一代嵌入式控制器DSP56F805内置的用于实现
资料下载
佚名
2021-03-15 16:24:27
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- type-c四根线接法图解
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 传感器常见类型有哪些?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机