CAN报文格式简析

Date:2022.5.11 Author:MJQ Meta:CAN

CAN基础篇–CAN报文格式简析

1.Motornala和Intel格式

motornala&intel格式

✔建议直接看图,小白也能秒懂!
注:“ DBC协议 ” 即Database CAN的缩写。

2.CAN报文帧格式

CAN帧格式

  • SOF起始帧 显性电平;
  • RTR远程帧(0,数据帧;1,远程帧),远程帧可以理解为请求帧,A发送远程帧(请求帧)给B,B收到后返回一个数据帧给A;
  • IDE标识符选择位(0,使用标准标识符;1(隐性),使用扩展标识符),拓展地址:由原来的11bit拓展为29bit;
  • SRR位为代替远程请求位,为隐性位,它代替了标准帧中的RTR位。 DLC段为数据长度表示段,DLC段有效值为0~8;
  • ACK返回帧,隐性电平,收到显性电平代表通信成功 EOF结束帧 7bit隐性电平 r0、r1表示保留 必须全部因为显性电平;

ID越小,仲裁权越高,ID地址禁止高7位地址都为隐性电平,这代表停止帧。

3.CAN帧结构解析CAN报文帧格式

3.1数据帧
3.2远程帧

待续……

————————————————
🎋说明:本篇参考了CSDN博主「Vice Versa XL」的原创文章,感谢坛友们优质的总结分享🤞。
原文链接:https://blog.csdn.net/xl22126/article/details/108825538

  • 4
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
CANopen协议是一种应用于控制系统中的开放式网络通讯协议,CANopen协议栈是一种实现CANopen协议的软件库,而CanFestival是其中的一种开源实现。CanFestival协议栈提供了一套用于实现CANopen从站设备的软件工具,用户可以利用CanFestival来开发符合CANopen协议的从站设备。 CanFestival协议栈的实现主要由以下几个步骤构成:首先,用户需要配置CanFestival协议栈,包括设置从站设备的节点ID、通信速率等参数;然后,用户需要定义从站设备的对象字典,包括输入对象、输出对象、PDO对象等;接着,用户需要编写应用程序,根据需求实现从站设备的控制逻辑;最后,用户需要编译链接代码,并将生成的可执行文件下载到从站设备中运行。 CanFestival协议栈的源码主要包括以下几个模块:CO_Data模块负责管理CANopen通信过程中的数据;对于CAN总线的操作交由CO_CAN模块处理;NMT模块实现CANopen网络管理功能,负责从站设备的初始化和启动过程;SDO模块用于实现从站设备上的服务数据对象传输;PDO模块处理实时数据的传输;EMCY模块处理紧急事件报告;SYNC模块管理同步传输数据;TIME模块提供时间基准。 值得注意的是,CanFestival协议栈的实现需要根据具体的硬件平台和应用场景进行调整和修改,用户在使用时需要充分理解CANopen协议的原理和特点,结合具体需求进行定制和优化。 CanFestival协议栈的开源性质意味着用户可以根据需要对其进行二次开发和定制。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值