CAN总线技术 | 数据链路层02 - 帧结构
文章目录
- 一、前言
- 二、帧开始
- 三、仲裁段
- 四、控制段
- 五、数据段
- 六、CRC段(校验)
- 七、ACK段(应答段)
- 八、帧结束
- 九、帧间隔ITM
- 十、一个数据段长度为8的标准帧,总共多少个位呢?是108位吗?
一、前言
一个标准的数据帧由以下组成:
- 帧开始
- 仲裁段
- 控制段
- 数据段
- CRC段(校验)
- ACK段
- 帧结束
以上的元素,缺一不可,否则没法通过CAN控制器的校验,应用程序无法获取CAN报文。
二、帧开始
帧起始由1个显性位(逻辑0)组成,用于CAN总线上各个CAN节点的同步。在CAN总线空闲时,总线是隐性(1)。由于CAN总线是电平逻辑是"线与原理",所以当其中一个CAN节点发送帧起始(显性0),CAN总线会从隐形1变成显性0,各个节点进行同步
。
三、仲裁段
标准帧与拓展帧在这里有区别,CANID的过滤器与CANID的优先级都在仲裁段完成。在STM32的CAN控制与FDCAN控制上,发送CAN报文之前需要对RTR寄存器赋值,表示即将发送的CAN报文是标准帧还是远程帧。
实际工作上,分配CAN_ID时(或者Node_ID)时需要从仲裁段思考。哪些CAN节点的通讯优先级比较高,通讯优先级高的CAN节点配置较小的CAN_ID(或者Node_ID)。
四、控制段
标准帧与拓展帧在这里有区别,DLC规定了数据段的长度。在STM32的CAN控制与FDCAN控制器,发送CAN报文之前需要对DLC寄存器赋值,表示即将发送的CAN报文的数据段有多少个字节。
其中DLC段需要应用程序控制,决定数据段有多少个字节的数据。
五、数据段
数据段比较简单,最大8个字节(当DCL设置8时)。当DCL设置0时,数据段为0个字节。
应用程序的大部分工作都是处理数据段里的数据。
六、CRC段(校验)
校验的算法由CAN控制器完成,应用程序不用管它,了解一下即可。
校验的流程是发送端先计算CRC值,接收端接着也计算CRC值。如果接收端发现CRC值不对,接着就会产生CRC校验错误。
七、ACK段(应答段)
当没有CAN节点应答时,ACK段为隐性(1),当有CAN节点应答时,ACK段位显性(0)。
八、帧结束
帧结束由7个隐性位组成。
九、帧间隔ITM
1个隐性位(ACK界定符)+7个隐性位(帧结束)+3个隐性位(帧间隔ITM) = 11个隐性位。11个隐形位后,CAN总线进入空闲状态。
十、一个数据段长度为8的标准帧,总共多少个位呢?是108位吗?
答案是不止108位,因为还需要考虑位填充(连续5个相同位后,CAN控制器会填入一个相反的位)。
一般CAN示波器就能捕捉到位填充。
CAN总线技术 | 数据链路层02 - 帧结构相关推荐
- CAN总线技术 | 物理层02 - CAN总线的异步串行通讯
文章目录 一.前言 二.如何解决波特率误差带来的通信错误? 三.填充位 一.前言 广州虹科录制的CAN总线技术课程非常不错,建议同学们学习一下.B站的地址:https://www.bilibili.c ...
- 5G技术学习——5GNR帧结构和空口资源
这里写目录标题 4G 时域定义: 资源划分 5G NR中时域 频域 与空域资源 循环前缀CP:背景和原理 5G帧结构:基本框架 5G slot分类 5G 频域资源 5G频域资源基本概念 信道带宽与传输 ...
- CAN总线技术 | 数据链路层04 - CAN节点状态与错误处理机制
文章目录 一.前言 二.错误检测区域 三.错误帧 四.CAN节点状态 4.1.FDCAN错误计数器寄存器(FDCAN_ECR) 4.2.FDCAN协议状态寄存器(FDCAN_PSR) 一.前言 CAN ...
- CAN总线技术 | 数据链路层03 - CAN总线竞争与仲裁机制
文章目录 一.前言 二.CAN总线非破坏性仲裁机制 三.非破坏性仲裁机制的前提 四.仲裁的实现 一.前言 CAN总线厉害的其中一个原因是CAN总线灵活且强大的竞争与仲裁机制. 二.CAN总线非破坏性仲 ...
- CAN总线技术 | 数据链路层01 - CAN报文的组成
文章目录 一.前言 二.数据帧 - 标准帧与拓展帧 三.远程帧 - 标准帧与拓展帧 四.应用程序如何控制发送标准帧还是拓展帧? 一.前言 CAN报文帧有5种类型,其中数据帧最常用.远程帧很少使用的原因 ...
- 5G无线技术基础自学系列 | 基础参数及帧结构
素材来源:<5G无线网络规划与优化> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G在 ...
- LIN总线协议详解2(LIN总线报文帧结构)
目录 一.LIN总线报文帧结构 (Message Frame ) 1.报文整体机构 2.同步间隔段(Break Field) 3.同步段(Sync Byte Field) 4.受保护 ID 段(Pro ...
- 搞一下 车载以太网实战 | 01 车载以太网帧结构详解
前言 搞SOA.搞 AP & CP AUTOSAR.搞异构SoC.搞车载以太网.搞车载OS等就找搞一下汽车电子. 全系内容可在<搞一下汽车电子>后台回复 "系列" ...
- CAN总线技术 | CAN脱颖而出的“秘密”
CAN总线在汽车网络中脱颖而出的"秘密": 节点间采用多主通讯方式. 采用短帧结构,标准数据帧8个字节,500K波特率,用200多us就能发完. 报文ID值越小,优先级越高. 非破 ...
最新文章
- 《数据科学家养成手册》第十章--混沌论
- jenkins rec 分析 cve-2018-1000861 分析
- 牛客小白赛190615场
- matlab GUI 初学
- 在关于测试高速光纤链路的BICSI会前研讨会上获得3个CEC
- 学习web标准、用户体验改善、Ajaxamp;Asp.Net
- 欧几里德算法(模板)
- c语言里,关于宏定义的使用
- 网络安全基础——服务器远程管理
- 复习了C++前几章,做一个ASCII码转换的小程序
- Linux中tar压缩命令详解
- 拒绝从入门到入土:初识C语言
- 启动docker时映射到宿主机时出现 /usr/bin/docker-current: Error response from daemon: driver failed……的解决方案
- Android使用MediaCodec进行视频编码 视频的一些基础概念介绍
- stanfordnlp使用自定义分词分句
- MOOS-ivp 实验三 MOOS简介(1)
- Delphi访问网络共享文件夹
- 普渡大学统计与计算机科学,普渡大学西拉法叶校区计算机科学与工程世界排名2017年最新排名第47(ARWU世界排名)...
- 我的世界JAVA挂机杀怪有经验_我的世界如何快速获得经验?
- 【翻译】Wide Deep Learning for Recommender Systems--推荐系统的广泛深度学习