can总线中的帧格式的组成与特性介绍
CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的
更多
好的,下面将详细介绍 CAN (Controller Area Network) 总线中最核心的帧格式——数据帧的组成、特性,并简要提及其他重要帧类型。
核心:数据帧的结构与组成
CAN 数据帧是网络上传递实际信息的主要载体,它的结构设计得非常紧凑且具备强鲁棒性。一个完整的数据帧由以下字段顺序组成:
-
帧起始 - Start Of Frame (SOF):
- 作用: 一个显性位(逻辑0),标志着帧的开始。
- 同步: 用于在节点开始传输时,将该帧的位时序同步到总线上所有其他节点(接收方从隐性位检测到这个显性位跳变开始同步)。
- 特性: 只能出现在总线空闲期(连续出现11个隐性位之后)。
-
仲裁段 - Arbitration Field:
- 作用: 该段决定了信息的优先级。当多个节点同时发送信息时(总线空闲时可能出现),在此段内进行无损的逐位仲裁。具有较低标识符(二进制数值更小,例如0x100比0x101优先级高,注意0=显性)的帧赢得仲裁。
- 组成:
- 标识符 (Identifier): 核心部分。分为:
- 标准帧格式 (Base Frame Format - CAN 2.0A): 11位标识符。唯一标识帧内容和优先级。
- 扩展帧格式 (Extended Frame Format - CAN 2.0B): 29位标识符。包含11位标识符(称为基础ID) + 18位扩展ID。提供了更大的地址空间。是否使用扩展帧由IDE位决定。
- 远程传输请求位 (Remote Transmission Request - RTR): 在数据帧中,此位必须为显性位(0)。如果是远程帧(见后面解释),则为隐性位(1)。
- 标识符扩展位 (Identifier Extension - IDE):
- 对于标准帧: 在仲裁段(在RTR之后),为显性位(0)。
- 对于扩展帧: 在仲裁段(在基础ID之后、RTR之前)是一个显性位。在控制段(在RTR之后)有一个额外的隐性位(1)来区分。整体结构保证了标准帧优先级高于扩展帧(因为标准帧IDE位0是显性,仲裁时占优)。
- 标识符 (Identifier): 核心部分。分为:
- 特性: 仲裁过程是CAN总线避免冲突并实现非破坏性优先访问的核心机制。竞争失败的节点自动转为接收方,并在总线空闲后立即尝试重发,不会丢失帧。
-
控制段 - Control Field:
- 作用: 包含指示数据段长度(DLC)的信息和一个保留位(将来协议扩展用)。
- 组成 (6位):
- 保留位 (Reserved bit - r0): 保留位,协议规定必须为显性位(0)。未来可能用于协议扩展。
- 保留位 (Reserved bit - r1 - 仅扩展帧): 在扩展帧控制段,另一个保留位,协议规定必须为显性位(0)。
- 数据长度码 (Data Length Code - DLC, 4位): 指示数据段中包含的字节数。DLC的有效范围是0到8。即使DLC大于8,数据段长度也总是被限制在最多8个字节(CAN 2.0B规范)。接收方会检查DLC是否与实际字节数匹配。
-
数据段 - Data Field:
- 作用: 承载实际要传递的应用数据。
- 长度: 由控制段的DLC指定,可以是0到8个字节。这是CAN帧中唯一长度可变的部分。
- 特性: 数据是“透明的”,可以传输任何内容。短帧有利于低延迟和高实时性。
-
循环冗余校验段 - CRC Field:
- 作用: 用于接收节点检测帧传输过程中是否发生位错误(比特翻转)。
- 组成:
- CRC序列 (CRC Sequence): 15位的校验码。发送方根据SOF到数据段结束(包括填充位)的内容计算并填充。
- CRC定界符 (CRC Delimiter): 一个隐性位(1)。标志着CRC序列的结束。此位必须为隐性,是固定格式位。
- 特性: 强大的CRC校验能力,结合错误帧机制,是CAN高可靠性的基石。
-
应答段 - Acknowledgement Field:
- 作用: 接收方告知发送方,它已正确(没有检测到CRC错误)收到了该帧。
- 组成 (2位):
- 应答时隙 (ACK Slot): 发送方在此时隙发送一个隐性位(1)。
- 正确接收帧的接收方在此时隙内必须发送一个显性位(0) 覆盖这个隐性位,作为ACK信号。
- 应答定界符 (ACK Delimiter): 一个隐性位(1)。标志着ACK段的结束。此位必须为隐性,是固定格式位。
- 特性: 所有正确接收到该帧的节点都必须在此应答(显性),因此发送方只关心此位是否被显性覆盖,而不知道具体是哪个节点应答的。如果发送方在应答时隙内未检测到显性位(即总线上还是隐性),则认为传输失败(无应答),会产生错误帧。
-
帧结束 - End Of Frame (EOF):
- 作用: 标志着帧的结束。
- 组成: 7个连续的隐性位(1111111)。
- 特性: 此序列后,总线需要回到“隐性”状态,为下一帧的SOF(显性)做准备。连续的隐性位也有利于错误检测(位填充规则检查)。
其他帧类型简介
除了核心的数据帧,CAN总线还有:
-
远程帧 - Remote Frame:
- 作用: 请求具有指定标识符(ID)的节点发送其数据帧。
- 结构: 与数据帧非常相似,主要区别在于:
- RTR位为隐性(1)。
- 没有数据段(DLC可指示请求数据的长度,但无数据传输)。
- 特性: 用于请求数据。发送远程帧的节点标识符(ID)必须与它希望接收的数据帧的ID相匹配(即请求节点需要知道谁可以提供该ID的数据)。
-
错误帧 - Error Frame:
- 作用: 任何检测到错误的节点主动打断当前传输,通知网络上所有节点发生了错误,强制发送方终止发送并重传。
- 结构:
- 错误标志 (Error Flag):
- 主动错误标志: 6个连续显性位(0)(正常帧不能有6个连续相同位,违反位填充规则,会被所有节点检测到)。
- 被动错误标志: 被诊断为“被动错误”的节点(自身频繁出错)发送6个连续隐性位(1),它不能主动打断传输,只能被动跟随其他节点的错误标志。
- 错误定界符 (Error Delimiter): 8个连续的隐性位(1)。标志着错误帧结束,之后总线恢复空闲或等待新的帧起始。
- 错误标志 (Error Flag):
-
过载帧 - Overload Frame:
- 作用: 节点在帧之间需要更多处理时间(内部缓冲区快满或处理不过来)时发出,通知发送方延迟发送下一帧。功能类似节点“忙,请稍候”的信号。
- 结构: 与错误帧结构类似(过载标志 + 过载定界符),用于制造延迟。通常在高负荷网络中出现,但在现代高性能CAN节点中较少见。
CAN帧的核心特性总结
- 基于优先级的无损仲裁: 仲裁段实现非破坏性冲突解决,高优先级信息总能首先访问总线。这是CAN实时性的关键。
- 高可靠性:
- 强大的错误检测机制:
- 位填充检测(填充规则确保位变化)
- CRC校验(检测传输错误)
- 格式位检查(ACK定界符、CRC定界符、EOF等固定格式位)
- 应答错误检测(ACK缺失)
- 错误自隔离: 检测到错误节点发送错误帧中断传输。
- 重传机制: 错误帧强制发送方重传未被正确接收的帧。
- 强大的错误检测机制:
- 灵活性与扩展性:
- 支持短帧(0-8字节数据),利于高实时性应用。
- 支持标识符优先级管理。
- 提供标准帧(11位ID)和扩展帧(29位ID)格式,满足不同地址空间需求。
- 广播/组播: 帧通过标识符筛选接收者,节点可以仅接收特定ID的数据。同一帧可被多个节点接收。
- 位填充: 每5个连续相同位后插入1个互补位(填充位),确保总线电平有足够跳变,便于接收节点进行位同步(时钟恢复),增强在恶劣电磁环境下的稳定性(避免长期直流偏置)。
- 多主机(Multi-master): 所有节点平等接入总线,没有中心控制器,提高了系统的健壮性(没有单点故障)。
- 实时性: 基于优先级的仲裁和短帧结构保证了高优先级信息的低延迟传输。
理解CAN帧的组成及其特性是掌握CAN总线通信原理、进行网络设计和调试的基础。数据帧的结构设计(特别是仲裁、CRC、ACK机制)是CAN在高噪声工业环境中实现可靠、实时通信的核心奥秘。
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功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机