Advertisement

CAN总线报文格式——远程帧(遥控帧)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文介绍CAN总线中的远程帧(也称遥控帧)的概念、作用及其在数据通信中的应用。通过请求数据帧发送实现灵活的数据交换机制。 远程帧(Remote frame):用于向远程节点请求数据的报文类型,在CAN总线通信协议中占有重要地位。这类帧可以进一步细分为标准远程帧与扩展远程帧。 通常情况下,ECU(Electronic Control Unit)会主动通过发送数据帧来传递信息;但在某些特定场景下,例如需要从其他节点获取特定的数据时,则需要用到远程帧。使用这种方式可以从任何CAN节点请求用户所需的信息,并且除了缺少实际的数据段以外,远程帧的结构与普通的数据帧基本一致。 **标准远程帧** 此类远程帧包含一个11位标识符(ID),用于唯一指定目标数据接收者的位置信息。 - 帧起始位:隐性“1110”表示这是一个CAN报文开始。 - 远程传输请求位(RTR Bit):显性“0”,表明该帧为远程帧类型。 - 扩展位标识符(IDE Bit): 显性 “0”,指出这是标准格式的帧。 - 保留位(R0): 显示 “0” - 标识符字段:11位 - 数据长度码(DLC):无实际数据,因此为“0” - 界定符 (Delimiter) : 连续两个显性的 “11” - ACK槽 (ACK Slot): 该部分为空白,等待接收端的响应。 **扩展远程帧** 这种类型的远程帧使用29位标识符进行节点识别。 - 帧起始位:和标准帧一致 - RTR位: 隐性“1”,表明是请求数据而非发送数据。 - IDE位: 显示为 “1” ,表示这是扩展格式的报文。 - 保留位 (R1): 显性的 “1” - 标识符字段:29位,用于更精确地识别目标节点 - 数据长度码(DLC)和界定符(Delimiter)部分与标准帧相同 - 替代远程请求(SRR) :扩展格式特有的额外标识。 - 其他部分遵循标准的结构。 无论是哪种类型的远程帧,它们都通过RTR位来区分自己与其他类型的数据报文。数据帧中该位置显示为显性“0”,意味着包含实际信息;而远程帧则在此处使用隐性的 “1” 来表示没有携带具体的信息而是请求获取数据。 由于CAN总线系统中的大多数通信都是基于发送端的主动性和实时性,所以在很多应用场景下,直接传输的数据帧比用于请求特定信息的远程帧更为常用。然而,在需要根据需求动态地从网络节点中提取数据时,远程帧就显得非常重要了。 总结来说,远程帧在CAN总线协议中的作用是发起对其他节点的数据请求,并且通过RTR位来与其他类型的报文区分开来。尽管与直接传输相比效率可能较低,但在特定的应用场景下仍然是一个必要的通信机制。因此,在设计和调试基于CAN的系统时,深入理解并应用远程帧的知识是非常有帮助的。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • CAN线——()
    优质
    本文介绍CAN总线中的远程帧(也称遥控帧)的概念、作用及其在数据通信中的应用。通过请求数据帧发送实现灵活的数据交换机制。 远程帧(Remote frame):用于向远程节点请求数据的报文类型,在CAN总线通信协议中占有重要地位。这类帧可以进一步细分为标准远程帧与扩展远程帧。 通常情况下,ECU(Electronic Control Unit)会主动通过发送数据帧来传递信息;但在某些特定场景下,例如需要从其他节点获取特定的数据时,则需要用到远程帧。使用这种方式可以从任何CAN节点请求用户所需的信息,并且除了缺少实际的数据段以外,远程帧的结构与普通的数据帧基本一致。 **标准远程帧** 此类远程帧包含一个11位标识符(ID),用于唯一指定目标数据接收者的位置信息。 - 帧起始位:隐性“1110”表示这是一个CAN报文开始。 - 远程传输请求位(RTR Bit):显性“0”,表明该帧为远程帧类型。 - 扩展位标识符(IDE Bit): 显性 “0”,指出这是标准格式的帧。 - 保留位(R0): 显示 “0” - 标识符字段:11位 - 数据长度码(DLC):无实际数据,因此为“0” - 界定符 (Delimiter) : 连续两个显性的 “11” - ACK槽 (ACK Slot): 该部分为空白,等待接收端的响应。 **扩展远程帧** 这种类型的远程帧使用29位标识符进行节点识别。 - 帧起始位:和标准帧一致 - RTR位: 隐性“1”,表明是请求数据而非发送数据。 - IDE位: 显示为 “1” ,表示这是扩展格式的报文。 - 保留位 (R1): 显性的 “1” - 标识符字段:29位,用于更精确地识别目标节点 - 数据长度码(DLC)和界定符(Delimiter)部分与标准帧相同 - 替代远程请求(SRR) :扩展格式特有的额外标识。 - 其他部分遵循标准的结构。 无论是哪种类型的远程帧,它们都通过RTR位来区分自己与其他类型的数据报文。数据帧中该位置显示为显性“0”,意味着包含实际信息;而远程帧则在此处使用隐性的 “1” 来表示没有携带具体的信息而是请求获取数据。 由于CAN总线系统中的大多数通信都是基于发送端的主动性和实时性,所以在很多应用场景下,直接传输的数据帧比用于请求特定信息的远程帧更为常用。然而,在需要根据需求动态地从网络节点中提取数据时,远程帧就显得非常重要了。 总结来说,远程帧在CAN总线协议中的作用是发起对其他节点的数据请求,并且通过RTR位来与其他类型的报文区分开来。尽管与直接传输相比效率可能较低,但在特定的应用场景下仍然是一个必要的通信机制。因此,在设计和调试基于CAN的系统时,深入理解并应用远程帧的知识是非常有帮助的。
  • CAN线解析
    优质
    本项目专注于CAN总线远程帧解析技术的研究与应用开发,旨在实现高效的数据请求和传输机制。通过解析远程帧,能够灵活地从数据源节点获取所需信息,适用于汽车电子、工业控制等领域的通信系统优化。 本段落介绍了CAN总线中远程帧的作用,并希望对从事CAN总线开发的人有所帮助。
  • CAN 2.0详解
    优质
    本文详细解析了CAN(Controller Area Network)2.0标准的数据帧结构与通信协议,涵盖数据长度、标识符及其他关键字段的定义和应用。 CAN 2.0帧格式解析涉及对控制器局域网(Controller Area Network, CAN)通信协议的一种特定版本的详细分析。这种解析通常包括对数据帧、远程请求帧以及错误帧等不同类型消息结构的理解,每种都有其独特的标识符和长度字段以适应不同的网络需求。 CAN 2.0标准分为两部分:CAN 2.0A(也称为标准格式)和CAN 2.0B(扩展格式)。这两种格式的主要区别在于数据场中的ID位数不同。在解析过程中,理解这些差异对于有效利用CAN总线进行实时通信至关重要。
  • CAN扩展与标准对比分析.docx
    优质
    本文档深入探讨了CAN(控制器局域网)通信协议中扩展帧和标准帧的不同之处,并对其特点、应用场景进行了详细的对比分析。 本段落介绍了CAN扩展帧数据链路层的规定,并参考了CAN2.0B和J1939的相关标准。使用29位标识符,并重新定义字节存储格式为Intel格式,协议内容中涉及的所有保留填充均置零。在分配表中,优先权有8级,最高级别为0(000),保留位置由SAE预留用于未来应用,在所有报文传输时将该位设置为0;数据页占用1位空间。此外,本段落还对比分析了CAN扩展帧和标准帧的格式差异。
  • CAN线负载率计算,兼容标准与扩展
    优质
    本文介绍了一种用于计算CAN总线负载率的方法,能够有效评估包含标准帧和扩展帧混合通信环境下的数据传输效率。 CAN总线负载率计算支持CAN标准帧和CAN扩展帧。
  • CAN线排序.docx
    优质
    本文档详细介绍了CAN总线通信中的报文排序规则与格式设计,旨在帮助工程师理解并优化基于CAN协议的数据传输效率。 本段落详细介绍了CAN总线的报文排列格式,并通过示例进行了说明。
  • CAN线通信中的数据详解
    优质
    本文详细解析了CAN总线通信中数据帧的工作原理和结构,包括数据帧的组成、格式以及传输过程,帮助读者深入理解CAN协议的核心机制。 CAN总线通信的数据帧详解介绍了Can 通信数据帧的格式和内容定义。
  • CAN收发 多发送接收.zip_CAN多发送与接收_CAN线传输_气候制系统
    优质
    本资料探讨了CAN(控制器局域网)在气候控制系统的应用中实现多帧数据发送和接收的技术,详细讲解了如何通过CAN总线进行高效的数据传输。 CAN总线多帧传输涉及接收和发送多个数据包以完成一次完整的通信过程。
  • CAN学习笔记.xlsx
    优质
    本文件为CAN总线系统中的流量控制帧相关技术的学习总结与记录,包含了对CAN流控帧原理、应用场景及实现方法等内容的研究和探讨。 CAN流控帧用于控制数据传输速率,在网络通信中起到关键作用。当接收节点处理不过来大量发送的数据包时,它会向发送者发出一个流控帧,请求暂停一段时间的传输以避免缓冲区溢出或丢失信息的情况发生。这种机制能够有效防止因过载而导致的数据错误和延迟问题,从而确保了CAN总线上的数据交换更加稳定可靠。 另外,在设计使用CAN协议的应用程序时,开发者需要特别注意处理好流控帧的相关逻辑,合理设置等待时间参数,并且在编程实现中充分考虑网络状况的多样性。这有助于优化系统性能并提高整个通信系统的鲁棒性。
  • J1939 DM1和EC1多广播详解
    优质
    本资料深入解析了J1939标准下的DM1和EC1多帧广播报文的具体格式与应用规则,适合汽车电子工程师阅读。 ### J1939多帧广播DM1、EC1报文格式详解 #### DM1 报文格式 在探讨DM1报文格式之前,我们需要先了解一些基础概念。SAE J1939-21标准重新划分了CAN ID,并加上8个字节的数据域以构成J1939的协议数据单元(PDU)。根据SAE J1939-73标准中的定义,DM1报文具有一定的优先级和PGN(Parameter Group Number)。 - **优先级**: 定义为6。 - **PGN**: 为65226(00FECA)。 因此,当源地址为0x41时,DM1 ID为18FECA41。如果该节点存在两个现行故障,则其SPN(Specific Parameter Number)和FMI(Failure Mode Indicator)分别为(521132,1),(521008,3)。根据DTC结构定义,在OC(Occurrence Count)= 1时,这两个DTC分别是ACF3E101 和 30F3E301。 #### DM1多帧传输说明 当故障数量超过一个且导致DM1报文的字节数大于8时,需要使用“多帧传输”参数组进行数据传送。根据SAE J1939-21标准,长度超过8字节的消息会被拆分成多个小的数据包,并单独发送。 具体而言: - 每个数据包都会被分配一个从1到255的序列编号。 - 最后一个数据包的剩余字节会填充为“FF”。 因此,对于报文0x18FECA41:00FFACF3E10130F3E301,由于其长度超过了8字节,会被拆分为两个报文: - 0100FFACF3E10130 - 02F3E301FFFFFFFF #### 广播公告消息(BAM)及数据传送说明 如果需要广播一条多帧消息,则首先需发送一个BAM消息,该消息包含了即将广播的长信息的PGN、大小以及被拆分的数据包数量。然后使用PGN=60160来发送这些数据包。 例如,对于报文0x18FECA41:00FFACF3E10130F3E301,消息大小为10个字节,并分成两个数据包,则BAM的消息数据域应设置如下: - 20(PGN=65226的二进制表示) - 0A(总长度减去8) - 02FFCAFE - 其中,参数群编号为00FECA。 SAE J1939-21标准定义了链接管理TP.CM(BAM是其中一种),其PGN为60416(00EC00)。BAM的目标地址应设为全局目标地址FF。因此对于DM1报文ID 0x18FECA41,其BAM的报文ID应设置为:0x18ECFF41。 TP.DT参数群编号则为60160(00EB00),使用全局地址进行数据传送。故后续的数据包报文ID应设为:0x18EBFF41,并连续发送两帧。 #### EC1 报文传输说明 EC1报文用于传输发动机特性曲线等信息,其传输过程与DM1类似但细节有所不同: - **单帧CAN数据长度限制**:SAE J1939-21协议要求单帧CAN数据长度为8字节。如果消息长度大于8,则会被拆分成若干个每包长为8字节的数据包,并且每个数据包都有一个从1到255的序列编号,最后一个数据包剩余部分填充“FF”。例如,0x18FEE300被分成了6个报文。 - **广播公告消息(BAM)**:如果需要广播一条多帧信息,则先发送一条BAM消息。该消息包含即将广播的信息的PGN、大小及被拆分为的数据包数量。使用PGN=60160来传送这些数据。 例如,报文18ECFF00中第2和第3字节为 0028 表示要发送28字节信息;第4字节表示分六个包发送;后四个字节(5-8)表示该信息来自ID FEE300的数据。 - **BAM 和 TP.DT 的PGN 定