CAN总线如何处理超过8字节的数据帧,有哪些相关协议?
创作时间:
作者:
@小白创作中心
CAN总线如何处理超过8字节的数据帧,有哪些相关协议?
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2481377
对于CAN总线来说,当数据帧大于标准的8字节时,可以借助高层协议实现数据分段和传输。
CAN协议规定标准帧和扩展帧中数据段的长度为最大8字节。这一限制是由于CAN协议的设计初衷是用于实时性要求较高的系统,如汽车电子、工业控制等,数据帧短小有助于降低总线负载,提高传输效率。
针对这一限制,工业界开发了一些高层协议来支持长数据帧的分段传输和重组。以下是几种常用方法和协议:
ISO-TP(ISO 15765-2)
ISO-TP(ISO Transport Protocol)是一种广泛应用于CAN的传输协议,用于解决数据大于8字节的分段传输问题,尤其在汽车诊断通信中常见(如UDS协议)。
关键点:数据被分成多个帧传输,包括单帧、首帧、连续帧和流控帧:
- Single Frame (SF): 数据长度≤7字节,直接通过单帧发送。
- First Frame (FF): 数据长度>7字节时,第一个帧中包含数据长度和首段数据。
- Consecutive Frame (CF): 后续帧承载剩余数据。
- Flow Control Frame (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是车辆行业的标准协议,特别适合重型车辆和大数据的广播通信。
热门推荐
偏振镜(CPL)的使用指南与注意事项有哪些?
10年后,“低层住宅”和“高层住宅”谁更值钱?答案已经很明显了
紫微斗数七杀喜什么运,七杀星与福德宫的关系
一到夏天就容易拉肚子?别大意!这些细节还有很多人不知道→
干式双离合和 CVT 哪个好?深度剖析,你的选择对吗?
如何确定研发部的KPI
三价铬废水处理方法及案例分析
打造良好的人际关系,如何一句话就说到对方心坎里?看这5个妙招
针灸如何助你安然入睡?
移动端优化策略提升用户体验的关键要素
《劝世歌》:135字揭示人生真谛,放下名利,回归内心的宁静与智慧
蛛网膜下腔出血检查方法
三星触摸屏无法工作:15 种可靠的屏幕修复解决方案
Excel表格设置列标题的多种实用方法
《暗黑破坏神:不朽》中英雄角色的战略重要性分析
万人迷甜甜圈的起源,和它背后的历史故事!
2025年消防设施操作员证报考官网及报考指南流程
强化制度建设中沟通机制起什么作用
何为渗碳?渗碳工艺常见问题及经验总结
上海交大秦胜营团队基于多中心大样本合作研究建立抗精神病药物疗效预测模型
AI的历史、现状与理论基础
蓝色妖姬花语是什么(蓝色妖姬的象征和寓意)
美国富豪克隆人案件:惊心动魄的生物科技争议
如何寻找丢失的狗
全景项目设计与制作全解析
尿激酶溶栓的护理
消防器材使用指南:人人必学的消防安全知识
唐卡中的六道轮回
四大汗国:一次旨在“斩草除根”的远征,造就了疆域空前的蒙古帝国
车友必看:自行车安全出行指南V1.0 常识篇