自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 从CAN到CANOpen——准入门大全(五)

第九节、关于NMT:NMT用于CAN网络管理,有一个主节点,和最多127个子节点。每一个子节点上线,都必须发送节点上线报文(boot-up)。节点上线报文的ID为0x700+节点ID。数据只有一个字节,即0。为了方便主节点监控各子节点的状态,子节点会定期上传心跳报文,报文格式和节点上线报文一致,区别只是心跳报文的数据部分传送的是自己的状态。状态对应的代码如下图:由上图可见,节点上线报文其实是心跳报文的一种特殊情况。CANopen从站按其对象字典中 1017h 中填写的心跳生产时间(m

2022-05-11 16:28:13 43629

原创 从CAN到CANOpen——准入门大全(四)

第八节、关于SDO:SDO主要用于对象字典的信息传送。SDO传输按照客户端-服务器模式进行,并且只能由客户端发起,服务器应答。当然,发起和应答的SDO的COB-ID是不同的。SDO的COB-ID可以见第五节,只能是0x580+Node_ID或0x600+Node_ID(Node_ID从1开始)。SDO的格式还是相对比较固定的,除了分段报文,都遵循下面的格式:上图右下区域的0、1、2…7,都是一个字节。也就是说命令代码一个字节,主索引两个字节,子索引一个字节,数据4个字节(不用的写0)。这

2022-05-11 16:26:50 1078 1

原创 从CAN到CANOpen——准入门大全(三)

第二部分、CANopen协议:第五节、关于COB-ID:CANopen是在基础CAN协议的基础上,仅仅对应用层做了约定而来。CANopen里的通信对象ID叫COB-ID,仍然利用了标准帧的11位ID,只是约定高4位(7~10位)为功能码;低7位(0~6位)为节点ID(支持最多127个节点)。功能码和节点ID组合的结果,如下图所示第二列是功能码,第三列就是功能码和节点ID组合的结果。第三列注意的是,蓝色部分的节点ID都是从1开始。以PDO1(tx)为例,功能码0011,加上第一个节

2022-05-11 16:25:06 7438 2

原创 从CAN到CANOpen——准入门大全(二)

第二节、关于CAN ID:一个标准帧的ID共11位,一个扩展帧的ID共29位。扩展帧的ID分11位和18位的两段,如下图所示。RTR显性:数据帧;隐性:远程帧。SRR隐性,在扩展帧中只是占位。IDE显性:标准帧;隐性:扩展帧。 R0、R1:保留位。 DLC:数据长度。 数据域最多8字节。 CRC分隔符:隐性。 ACK:应答位和应答界定位。在应答域中,发送器发出两个隐...

2022-05-11 16:20:01 4820

原创 从CAN到CANOpen——准入门大全(一)

这是我根据一个实际的项目,学习CAN和CANOpen之后写下的半笔记性质的文章。阅读前提,是对CAN有一些浅显的认识,并且正在尝试理解一个现成的CAN代码。为什么建议大家结合代码阅读呢,是因为本文最初的起源,就是我在注解前人代码的时候,写的注释集合。所以如果没有一个代码做范本,直接阅读本文,因为全是干货,而且是干的非常彻底的干货,很快你就会觉得本文极度枯燥,难以阅读。但如果你手上正好有一个CANOpen的代码,但你又不太看得懂代码到底在干嘛,那么本文比较适合你当字典查阅,因为CANOpen所有常

2022-05-11 16:17:55 6130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除