当前位置:网站首页>CAN通信标准帧和扩展帧介绍
CAN通信标准帧和扩展帧介绍
2022-08-01 11:27:00 【路过的小熊~】
简介
CAN接口兼容规范2.0A和2.0B(主动),位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。
标准帧和扩展帧的区别在于:
一、扩展帧的仲裁域有29位,可以出现2^29中报文,且在数据链路上是有间隙的(对操作者透明),帧ID的范围是0000 0000-1FFF FFFF。(PS:目的就是构造29位的CAN ID,可以实现更加庞大的ID群,妈妈再也不用担心ID不够用了!)
二、标准帧的仲裁域是连续的11位,可以出现2^11种报文,也就是帧ID的范围是000-7FF;
三、控制帧中的DLC(数据长度)完全相同,但保留位不同,标准帧IDE、R0,扩展帧R1、R0,必须以显性电平发送(由数据链路层操作),对程序员透明;
四、 总结: 其它的都一模一样,所以,其实CAN标准帧和扩展帧只是在帧ID的长度上不一样,以能扩展更多的CAN节点,更好地支持上层协议而已。
注意:这里的帧ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级(帧ID值越小,优先级越高,最小是0x00000000)。
标准帧:(0x12)
扩展帧:(0x1314)
CAN标准帧格式
CAN 标准帧信息为11个字节(3 + 8),包括两部分:信息和数据部分。前3个字节为信息部分。
字节1为帧信息。第7位(FF)表示帧格式,在标准帧中,FF=0;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧时实际的数据长度。
字节2、3为报文识别码,11位有效。
字节4~11为数据帧的实际数据,远程帧时无效。
CAN扩展帧格式
CAN 扩展帧信息为13个字节(5 + 8),包括两部分,信息和数据部分。前5个字节为信息部分
字节1为帧信息。第7位(FF)表示帧格式,在扩展帧中,FF=1;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC 表示在数据帧时实际的数据长度。
字节2~5为报文识别码,其高29位有效。
字节6~13数据帧的实际数据,远程帧时无效
恶补知识
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
附录:
上面CANTest软件的最新下载地址:https://www.zlg.cn/Index/Search/search?selc=all&key=cantest
需要配置CAN盒使用
边栏推荐
- How to use DevExpress controls to draw flowcharts?After reading this article, you will understand!
- xss-labs靶场挑战
- Sparse representation - study notes
- JS数据类型转换完全攻略
- 腾讯云原生:Areaki Mesh 在 2022 冬奥会视频直播应用中的服务网格实践
- R语言ggplot2可视化:使用ggpubr包的geom_exec函数执行geom_*函数(没有任何参数需要放置在aes中)
- Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器
- Kaitian aPaaS mobile phone number empty number detection [Kaitian aPaaS battle]
- 在线GC日志分析工具——GCeasy
- Several methods of appending elements are commonly used in js: append, appendTo, after, before, insertAfter, insertBefore, appendChild
猜你喜欢
随机推荐
小程序毕设作品之微信美食菜谱小程序毕业设计成品(3)后台功能
回归预测 | MATLAB实现TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)多输入单输出
R语言ggplot2可视化:使用ggpubr包的geom_exec函数执行geom_*函数(没有任何参数需要放置在aes中)
稀疏表示--学习笔记
retired paddling
腾讯云原生:Areaki Mesh 在 2022 冬奥会视频直播应用中的服务网格实践
Solve vscode input! Unable to quickly generate skeletons (three methods for the new version of vscode to quickly generate skeletons)
ACL 2022 | 文本生成的相关前沿进展
slice、splice、split傻傻分不清
图解MySQL内连接、外连接、左连接、右连接、全连接......太多了
Mini Program Graduation Works WeChat Food Recipes Mini Program Graduation Design Finished Products (2) Mini Program Functions
NIO‘s Sword(思维,取模,推公式)
Promise learning (2) An article takes you to quickly understand the common APIs in Promise
Transfer learning to freeze the network:
复现assert和eval成功连接或失败连接蚁剑的原因
音视频技术开发周刊 | 256
Online - GCeasy GC log analysis tools
MFC implementation road map navigation system
机器学习 | MATLAB实现支持向量机回归RegressionSVM参数设定
语音聊天app源码——语音聊天派对