登录/注册

can总线中的帧格式的组成与特性介绍

CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的

更多

好的,下面将详细介绍 CAN (Controller Area Network) 总线中最核心的帧格式——数据帧的组成、特性,并简要提及其他重要帧类型。

核心:数据帧的结构与组成

CAN 数据帧是网络上传递实际信息的主要载体,它的结构设计得非常紧凑且具备强鲁棒性。一个完整的数据帧由以下字段顺序组成:

  1. 帧起始 - Start Of Frame (SOF):

    • 作用: 一个显性位(逻辑0),标志着帧的开始。
    • 同步: 用于在节点开始传输时,将该帧的位时序同步到总线上所有其他节点(接收方从隐性位检测到这个显性位跳变开始同步)。
    • 特性: 只能出现在总线空闲期(连续出现11个隐性位之后)。
  2. 仲裁段 - 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是显性,仲裁时占优)。
    • 特性: 仲裁过程是CAN总线避免冲突并实现非破坏性优先访问的核心机制。竞争失败的节点自动转为接收方,并在总线空闲后立即尝试重发,不会丢失帧。
  3. 控制段 - 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是否与实际字节数匹配。
  4. 数据段 - Data Field:

    • 作用: 承载实际要传递的应用数据。
    • 长度: 由控制段的DLC指定,可以是0到8个字节。这是CAN帧中唯一长度可变的部分。
    • 特性: 数据是“透明的”,可以传输任何内容。短帧有利于低延迟和高实时性。
  5. 循环冗余校验段 - CRC Field:

    • 作用: 用于接收节点检测帧传输过程中是否发生位错误(比特翻转)。
    • 组成:
      • CRC序列 (CRC Sequence): 15位的校验码。发送方根据SOF到数据段结束(包括填充位)的内容计算并填充。
      • CRC定界符 (CRC Delimiter): 一个隐性位(1)。标志着CRC序列的结束。此位必须为隐性,是固定格式位。
    • 特性: 强大的CRC校验能力,结合错误帧机制,是CAN高可靠性的基石。
  6. 应答段 - Acknowledgement Field:

    • 作用: 接收方告知发送方,它已正确(没有检测到CRC错误)收到了该帧。
    • 组成 (2位):
      • 应答时隙 (ACK Slot): 发送方在此时隙发送一个隐性位(1)
      • 正确接收帧的接收方在此时隙内必须发送一个显性位(0) 覆盖这个隐性位,作为ACK信号。
      • 应答定界符 (ACK Delimiter): 一个隐性位(1)。标志着ACK段的结束。此位必须为隐性,是固定格式位。
    • 特性: 所有正确接收到该帧的节点都必须在此应答(显性),因此发送方只关心此位是否被显性覆盖,而不知道具体是哪个节点应答的。如果发送方在应答时隙内未检测到显性位(即总线上还是隐性),则认为传输失败(无应答),会产生错误帧。
  7. 帧结束 - End Of Frame (EOF):

    • 作用: 标志着帧的结束。
    • 组成: 7个连续的隐性位(1111111)
    • 特性: 此序列后,总线需要回到“隐性”状态,为下一帧的SOF(显性)做准备。连续的隐性位也有利于错误检测(位填充规则检查)。

其他帧类型简介

除了核心的数据帧,CAN总线还有:

  1. 远程帧 - Remote Frame:

    • 作用: 请求具有指定标识符(ID)的节点发送其数据帧。
    • 结构: 与数据帧非常相似,主要区别在于:
      • RTR位为隐性(1)。
      • 没有数据段(DLC可指示请求数据的长度,但无数据传输)。
    • 特性: 用于请求数据。发送远程帧的节点标识符(ID)必须与它希望接收的数据帧的ID相匹配(即请求节点需要知道谁可以提供该ID的数据)。
  2. 错误帧 - Error Frame:

    • 作用: 任何检测到错误的节点主动打断当前传输,通知网络上所有节点发生了错误,强制发送方终止发送并重传。
    • 结构:
      • 错误标志 (Error Flag):
        • 主动错误标志: 6个连续显性位(0)(正常帧不能有6个连续相同位,违反位填充规则,会被所有节点检测到)。
        • 被动错误标志: 被诊断为“被动错误”的节点(自身频繁出错)发送6个连续隐性位(1),它不能主动打断传输,只能被动跟随其他节点的错误标志。
      • 错误定界符 (Error Delimiter): 8个连续的隐性位(1)。标志着错误帧结束,之后总线恢复空闲或等待新的帧起始。
  3. 过载帧 - Overload Frame:

    • 作用: 节点在帧之间需要更多处理时间(内部缓冲区快满或处理不过来)时发出,通知发送方延迟发送下一帧。功能类似节点“忙,请稍候”的信号。
    • 结构: 与错误帧结构类似(过载标志 + 过载定界符),用于制造延迟。通常在高负荷网络中出现,但在现代高性能CAN节点中较少见。

CAN帧的核心特性总结

  1. 基于优先级的无损仲裁: 仲裁段实现非破坏性冲突解决,高优先级信息总能首先访问总线。这是CAN实时性的关键。
  2. 高可靠性:
    • 强大的错误检测机制:
      • 位填充检测(填充规则确保位变化)
      • CRC校验(检测传输错误)
      • 格式位检查(ACK定界符、CRC定界符、EOF等固定格式位)
      • 应答错误检测(ACK缺失)
    • 错误自隔离: 检测到错误节点发送错误帧中断传输。
    • 重传机制: 错误帧强制发送方重传未被正确接收的帧。
  3. 灵活性与扩展性:
    • 支持短帧(0-8字节数据),利于高实时性应用。
    • 支持标识符优先级管理。
    • 提供标准帧(11位ID)和扩展帧(29位ID)格式,满足不同地址空间需求。
  4. 广播/组播: 帧通过标识符筛选接收者,节点可以仅接收特定ID的数据。同一帧可被多个节点接收。
  5. 位填充: 每5个连续相同位后插入1个互补位(填充位),确保总线电平有足够跳变,便于接收节点进行位同步(时钟恢复),增强在恶劣电磁环境下的稳定性(避免长期直流偏置)。
  6. 多主机(Multi-master): 所有节点平等接入总线,没有中心控制器,提高了系统的健壮性(没有单点故障)。
  7. 实时性: 基于优先级的仲裁和短帧结构保证了高优先级信息的低延迟传输。

理解CAN帧的组成及其特性是掌握CAN总线通信原理、进行网络设计和调试的基础。数据帧的结构设计(特别是仲裁、CRC、ACK机制)是CAN在高噪声工业环境中实现可靠、实时通信的核心奥秘。

can数据有哪几个域组成

CAN总线上传输数据的格式。一个典型的CAN数据

2024-07-24 15:14:26

高速CAN总线和低速CAN总线特性

高速CAN总线和低速CAN总线的

2024-01-31 14:09:01

请问用CAN存储器存储的CAN总线数据格式有哪些呢?

请问用CAN存储器存储的CAN总线数据帧

2024-01-31 13:46:38

CAN总线舵机

CAN总线舵机的特性、控制方法以及常见故障

资料下载 jf_12881625 2023-10-21 09:53:05

PIC18 CAN总线

设置寄存器模式2. 配置CAN 总线的总线速率3. 配置扩展帧或者标准

资料下载 佚名 2021-11-16 16:36:02

浅谈CAN总线系统

结合汽车技术发展对传统布线方法中存在的问题和CAN总线系统的使用进行了介绍

资料下载 姚小熊27 2021-04-19 17:31:30

CAN总线在客车电源等电路设计的应用

通过对电路原理及逻辑关系的分析,阐明了CAN总线在客车电源、起动及熄火电路设计中的应用。

资料下载 佚名 2021-04-12 16:36:09

CAN总线基础的详细资料概述

本文档的主要内容详细介绍的是CAN总线基础的详细资料概述包括了:概述,汽车总线

资料下载 佚名 2019-11-29 15:31:20

can数据的标准格式

消息的标识和传输数据。 CAN数据帧的标准格式如下: 起始位(Start of Frame, SOF):一个低电平信号,表示数据

2023-12-01 16:41:50

CAN协议数据介绍

通过 CAN 总线传输数据是需要按照一定协议进行的,CAN 协议提供了 5种帧

2023-07-25 10:36:19

CAN FD结构介绍

,CRC段,ACK段和帧结束,7部分组成。 2.1、帧起始 CAN与CA

2023-07-18 10:42:25

浅谈CAN FD总线协议格式

假期更新了一文搞懂CAN总线协议帧格式,

2022-10-14 12:49:53

CAN总线的特点/类型/应用的注意事项

CAN以其多主,高速(最高1Mbps),抗干扰的特性被广泛应用汽车及各种工业环境。在此我们主要介绍一下

2021-01-05 10:37:39

CANOpen系列教程04 _CAN总线波特率、位时序、类型及格式说明

CANOpen系列教程04_CAN总线波特率、位时序、帧类型及格式说明

2020-03-06 16:18:58

串口数据转CAN格式详解

MCU没有CAN或CAN接口数量不够怎么办?目前市面上有串口转CAN的相关模块或设备,但大家知道串口转

2019-02-02 16:30:00

7天热门专题 换一换
相关标签