0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN总线的报文类型介绍

CHANBAEK 来源:网络整理 作者:网络整理 2024-09-03 14:20 次阅读

CAN(Controller Area Network)总线是一种广泛使用的串行通信协议,特别适用于汽车和工业自动化领域。CAN总线上的报文类型主要可以分为以下几种,每种类型都有其特定的用途和格式。

一、数据帧(Data Frame)

数据帧是CAN总线上最基本的报文类型,用于节点之间传输数据。数据帧由多个段组成,包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束。

1. 帧起始(Start of Frame, SOF)

  • 定义 :表示数据帧开始的段,由一个显性位(逻辑0)组成。
  • 作用 :当总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。

2. 仲裁段(Arbitration Field)

  • 定义 :表示该帧优先级的段,根据仲裁段ID码长度的不同,分为标准帧(CAN 2.0A)和扩展帧(CAN 2.0B)。
  • 内容 :标准格式帧的仲裁段由11位标识符(ID)和远程发送请求位(RTR)组成;扩展格式帧的仲裁段由29位标识符和RTR位组成。
  • 作用 :用于确定发送的帧类型(数据帧或遥控帧)以及发送的帧格式(标准帧或扩展帧),并决定帧的优先级。

3. 控制段(Control Field)

  • 定义 :表示数据的字节数及保留位的段。
  • 内容 :包括数据长度代码(DLC)和两个保留位(r0、r1)。DLC指示了数据段中的字节数量,可以是0到8个字节。
  • 作用 :告知接收节点数据段的长度,以便正确接收数据。

4. 数据段(Data Field)

  • 定义 :数据的内容,可发送0~8个字节的数据。
  • 作用 :传输实际的数据信息

5. CRC段(Cyclic Redundancy Check Field)

  • 定义 :检查帧的传输错误的段,包括CRC序列和CRC界定符。
  • 作用 :通过CRC校验确保数据的完整性和正确性。

6. ACK段(Acknowledgment Field)

  • 定义 :表示确认正常接收的段,由ACK槽和ACK界定符组成。
  • 作用 :当接收器正确地接收到有效的报文时,会在ACK槽期间向发送器发送一个显性位以示应答。

7. 帧结束(End of Frame, EOF)

  • 定义 :表示数据帧结束的段,由7个隐性位组成。
  • 作用 :标志数据帧的结束。

二、遥控帧(Remote Frame)

遥控帧用于请求发送具有相同ID的数据帧。当接收节点需要某个数据但自己没有该数据时,会发送一个遥控帧来请求发送节点发送相应的数据帧。遥控帧的结构与数据帧相似,但数据段为空,且RTR位被设置为1。

三、错误帧(Error Frame)

错误帧由错误标志和错误分界两个域组成。当接收节点检测到总线上的报文有误时,会自动发出“活动错误标志”,其他节点检测到活动错误标志后发送“错误认可标志”。错误帧的发送会中断当前的总线通信,直到错误被处理完毕。

四、超载帧(Overload Frame)

超载帧由超载标志和超载分隔符组成。当接收方在接收下一帧之前需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,会发送超载帧。超载帧的发送会延迟后续帧的发送,以确保总线上的通信不会因过载而中断。

五、其他报文类型

除了上述四种基本的报文类型外,CAN总线协议还定义了其他几种特殊的报文类型,如帧间空隙(Interframe Space)和N_PCI报文类型(如单帧、首帧、连续帧、流控帧等)。这些报文类型在特定的通信场景下使用,以满足不同的通信需求。

总结

CAN总线上的报文类型包括数据帧、遥控帧、错误帧和超载帧等基本类型,以及帧间空隙和N_PCI报文类型等特殊类型。每种报文类型都有其特定的结构和用途,共同构成了CAN总线通信的基础。在实际应用中,根据具体的通信需求选择合适的报文类型进行数据传输,可以确保通信的可靠性和高效性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1898

    浏览量

    130336
  • 串行通信
    +关注

    关注

    4

    文章

    555

    浏览量

    35165
  • 报文
    +关注

    关注

    0

    文章

    34

    浏览量

    4004
收藏 人收藏

    评论

    相关推荐

    TSMaster 中不同总线报文消息过滤的操作方式

    TSMaster软件平台支持对不同总线CAN、LIN、FlexRay)报文和信号的过滤,包括全局接收过滤、数据流过滤、窗口过滤、字符串过滤、可编程过滤,针对不同的总线信号过滤器的使用
    的头像 发表于 06-22 08:21 1155次阅读
    TSMaster 中不同<b class='flag-5'>总线</b><b class='flag-5'>报文</b>消息过滤的操作方式

    CAN总线报文类型与帧格式解析#汽车CAN总线 

    CAN
    北汇信息POLELINK
    发布于 :2023年05月16日 11:11:39

    CAN总线协议及概念

    )子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。3 CAN总线报文传输和结构报文类型  在
    发表于 04-18 16:36

    CAN总线

    层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。3 CAN总线报文传输和结构报文类型  在
    发表于 04-27 15:16

    CAN总线报文记录产品简介

    在物联网逐渐普及的今天,CAN-bus 总线作为一种有线的局域控制网络,有越来越多的客户需求进行远程监控。比如车辆的 CAN 报文记录仪,以往只能在车返回后,才能读取行驶数据。这样不能
    发表于 10-17 07:33

    CAN总线通信报文验收滤波、位定时与同步详解

    用来实现CAN总线协议。本文主要对CAN总线通信报文验收滤波、位定时与同步做了详细介绍,具体的跟
    的头像 发表于 05-07 16:16 1w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信<b class='flag-5'>报文</b>验收滤波、位定时与同步详解

    ospf报文类型有哪些_ospf的5种报文类型

    OSPF协议使用一种称之为Hello的报文来建立和维护相邻邻居路由器之间的链接关系。这个报文很简单的,容量很小,仅用来向邻居路由器证明自己的存在,就像人与人之间的打招呼一样。我们在第8章中已经知道
    发表于 08-20 11:17 3.1w次阅读

    CAN总线协议教程|CAN报文分析

    CAN协议教程 介绍CAN总线 CAN总线是广播类型
    发表于 04-03 15:32 1.4w次阅读

    CAN基础:电平、逻辑、报文是怎么来的

    CAN总线报文是怎么产生以及收发的,遇到通讯异常的问题时从什么角度分析?这篇文章将会带您快速了解报文的传输原理。
    的头像 发表于 12-26 02:46 1944次阅读

    CAN总线错误的类型介绍

    在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN
    的头像 发表于 06-13 16:08 7905次阅读

    CAN总线报文记录产品简介

    电子发烧友网站提供《CAN总线报文记录产品简介.pdf》资料免费下载
    发表于 10-14 14:50 1次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>报文</b>记录产品简介

    CAN报文发送有优先级吗?

    降低同一时刻,多个发送报文的Burst Send问题。这个问题属于QA1的延申。一个节点,发送的报文类型可以有多种(QA1提到)。
    的头像 发表于 11-15 14:34 6979次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>发送有优先级吗?

    虹科干货 | 带你全面认识“CAN总线错误”(二)——CAN错误类型

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括
    的头像 发表于 06-09 09:46 1985次阅读
    虹科干货 | 带你全面认识“<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误”(二)——<b class='flag-5'>CAN</b>错误<b class='flag-5'>类型</b>

    虹科干货 | 带你全面认识“CAN总线错误”(二)——CAN错误类型

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括
    的头像 发表于 06-02 09:41 1259次阅读
    虹科干货 | 带你全面认识“<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误”(二)——<b class='flag-5'>CAN</b>错误<b class='flag-5'>类型</b>

    CAN报文为什么会发送失败?

    CAN总线调试过程中出现报文发送失败。很多工程师都对此只知其一不知其二,今天我们就以CAN报文发送失败的问题来做一次探讨。在了解
    的头像 发表于 04-12 08:25 1421次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>为什么会发送失败?