本期,我们将探讨CANopen协议中TPDO的三种触发条件,并解释如何通过访问特定的SDO参数来查询TPDO映射到的资源。这将帮助您更好地理解TPDO的工作原理及其在CANopen网络中的应用。
TPDO触发条件
在上一期中,我们了解到TPDO(传输过程数据对象)的传输类型有很多种:同步周期性传输、RTR(远程传输请求)以及异步制造商特定事件等。这些类型的触发条件主要分为三种:同步(SYNC)、远程请求(RTR)和事件(Event)。
同步报文(SYNC):这是一种周期性的传输方式,要求主站定期发送ID为0x80的数据帧,且数据段长度为0字节。
远程传输请求(RTR):在这种模式下,主站只需发送一个远程帧,指定TPDO的ID,从站就会响应并上传相应的TPDO。
事件(Event):当从站的TPDO映射区间内的数值发生变化时,从站会主动触发事件并进行数据传输。
理解了这些触发条件后,我们可能会好奇:如何确定当前TPDO映射的具体资源呢?
TPDO映射资源
在CANopen协议中,TPDO的映射参数存储在0x1A00~0x1BFF的索引区间内,我们可以通过SDO访问TPDO1的映射参数0x1A00,如下图:

0x00子索引存放TPDO1的映射数量,从0x01子索引开始会告诉我们,它映射到0x2000以后的索引区中哪一条子索引,并且会注明存放对象的长度。举个例子:

假设0x1A00的01子索引的值为0x20000108,这意味着:
- TPDO1映射到0x2000索引的子索引01。
- 这个子索引的资源长度为一个字节(8位)。
由于CAN帧的数据段最大为8个字节,因此每条TPDO映射的索引对象总长度不能超过8个字节。当这些映射的资源区发生任何数据变化时,就会触发一个事件。
想要深入了解CANopen协议和TPDO映射的更多细节,请继续关注我们。

• 2路CANFD
•DB9接口形式
• 13万帧缓冲不丢帧
参考价格:2300元
-
CAN
+关注
关注
58文章
3015浏览量
471549 -
网络
+关注
关注
14文章
8136浏览量
93109 -
CANopen
+关注
关注
8文章
456浏览量
47598
发布评论请先 登录
CYUSB3314S SUSPEND功能的触发条件是什么?
使用OUT_REG3_VALID触发条件时,GPIF II Designer生成无效的头文件怎么解决?
CANopen协议学习笔记1
(笔记)CANOpen移植(CanFestival移植)
请问EPWM的触发条件是什么?
MSO9254A如何在一个数据库中传递一个触发条件?
如何在芯片内同时捕获不同触发条件下的信号
是否可以在同一端口设置不同的EXTI触发条件?
stm32串口空闲中断触发条件
Profinet转canopen连接磁轨道
触发器的基本性质 触发器的触发方式分为哪三种
EtherCAT转CANopen配置CANopen侧的PDO映射

CANopen进阶:TPDO触发条件与映射资源
评论