CAN总线如何处理超过8字节的数据帧,有哪些相关协议?
创作时间:
作者:
@小白创作中心
CAN总线如何处理超过8字节的数据帧,有哪些相关协议?
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2481377
CAN总线在处理超过8字节的数据帧时,可以通过高层协议实现数据分段和传输。本文将介绍ISO-TP、CANopen SDO和J1939三种常用协议的工作原理、应用场景和优缺点。
CAN协议规定标准帧和扩展帧中数据段的长度为最大8字节。这一限制是由于CAN协议的设计初衷是用于实时性要求较高的系统,如汽车电子、工业控制等,数据帧短小有助于降低总线负载,提高传输效率。
针对这一限制,工业界开发了一些高层协议来支持长数据帧的分段传输和重组。以下是几种常用方法和协议:
ISO-TP(ISO 15765-2)
ISO-TP(ISO Transport Protocol)是一种广泛应用于CAN的传输协议,用于解决数据大于8字节的分段传输问题,尤其在汽车诊断通信中常见(如UDS协议)。
- 单帧(SF): 数据长度≤7字节,直接通过单帧发送。
- 首帧(FF): 数据长度>7字节时,第一个帧中包含数据长度和首段数据。
- 连续帧(CF): 后续帧承载剩余数据。
- 流控帧(FC): 接收端控制数据发送节奏,防止溢出。
使用场景:UDS(统一诊断服务)协议建立在ISO-TP之上。
优点:可靠性高,支持完整的流控机制。
缺点:实现复杂,开销大。
CANopen SDO(Service Data Object)
CANopen是一种面向工业自动化的高层协议,其SDO协议部分支持大于8字节的数据传输。
- 数据通过多个帧分段传输,每帧包含索引和子索引信息。
- 块传输(Block Transfer):更高效的方式,允许批量传输多个数据帧。
使用场景:适合设备配置、参数设置等需要传输大数据的场景。
优点:支持复杂的设备间通信。
缺点:效率相对较低。
J1939 协议
SAE J1939 是一套基于CAN的协议,广泛用于重型车辆和农业机械。它通过TP(Transport Protocol)扩展支持长数据帧传输。
- 使用BAM(Broadcast Announce Message)和RTS/CTS(Request to Send / Clear to Send)两种机制进行大数据分段。
优点:在车辆系统中应用广泛,成熟度高。
缺点:不适用于高实时性需求场景。
那么如何选择适合的协议?主要有以下几点区分:
- 实时性要求高: ISO-TP由于有流控机制,效率稍低,适合诊断或非实时场景。如果需要高实时性,可以设计自定义的轻量级协议。
- 工业自动化: CANopen的SDO或PDO机制适用于工业控制和参数配置场景。
- 车辆与机械: J1939是车辆行业的标准协议,特别适合重型车辆和大数据的广播通信。
热门推荐
江苏泰州:“红蓝绿”三色描画旅游新蓝图
概率论的独立性与依赖性:深入探索随机事件的奥秘
二手房交易全攻略:合同签订前的必查资料与纠纷处理指南
国家能源局收录!“三桶油”这些项目获认可
老人多汗是什么病的警告?
西兰花胡萝卜牛肉粒:美味与瘦身的完美结合
抖音为什么会被限流,如何避免抖音被限流
去劳动监察投诉需要带什么证据
健康科普 | 肝不好的人留意“一黄二红三黑”,伤肝的10个习惯要改改了
爬楼梯减肥的正确方法是什么
纤维肌痛症全解析:症状、原因与缓解策略一次搞懂!
用艾叶泡脚的正确方法是什么
感受患者情绪、理解患者期待,医患沟通让患者被关注
探病的最佳时机:如何选择合适的探望时间
一文看懂斗破四部曲,萧炎,林动,牧尘,周元之间的关联以及战力对比
湖北大学的校训是什么
电脑连不上网不用愁,4步诊断,轻松联网乐悠悠
米诺地尔浓度怎么选?高浓度需谨慎!5%浓度才是黄金安全线
老子是道德天尊,道子是灵宝天尊的说法怎么解释?
皮肤上有痣立马点掉?或承担着3类风险!
八字木多命运全解析:从形态到事业的全方位解读
“头顶大事”不容忽视,细数这些洗头学问~
协和医生说:疼痛看得见,治疗更精准! ——可视化超声技术让疼痛无处遁形
电工证:掌握技能,保障安全,提升职业竞争力的利器
首推文化特派员制度 浙江有何用意?
如何进行工抵房交易?这种交易的风险如何评估?
期权与永续合约的本质区别探析
留取24小时尿标本的正确方法
墙面抹灰空鼓开裂原因及处理办法
脱发困扰?选择合适洗发水指南