0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

ZLG致远电子 2024-09-20 08:08 次阅读

本期,我们将探讨CANopen协议中TPDO的三种触发条件,并解释如何通过访问特定的SDO参数来查询TPDO映射到的资源。这将帮助您更好地理解TPDO的工作原理及其在CANopen网络中的应用。

70baa7d6-76e4-11ef-bb4b-92fbcf53809c.jpg  TPDO触发条件

在上一期中,我们了解到TPDO(传输过程数据对象)的传输类型有很多种:同步周期性传输、RTR(远程传输请求)以及异步制造商特定事件等。这些类型的触发条件主要分为三种:同步(SYNC)、远程请求(RTR)和事件(Event)。

同步报文(SYNC):这是一种周期性的传输方式,要求主站定期发送ID为0x80的数据帧,且数据段长度为0字节。

远程传输请求(RTR):在这种模式下,主站只需发送一个远程帧,指定TPDO的ID,从站就会响应并上传相应的TPDO。

事件(Event):当从站的TPDO映射区间内的数值发生变化时,从站会主动触发事件并进行数据传输。

理解了这些触发条件后,我们可能会好奇:如何确定当前TPDO映射的具体资源呢?


70baa7d6-76e4-11ef-bb4b-92fbcf53809c.jpg  TPDO映射资源

在CANopen协议中,TPDO的映射参数存储在0x1A00~0x1BFF的索引区间内,我们可以通过SDO访问TPDO1的映射参数0x1A00,如下图:

70d31b9a-76e4-11ef-bb4b-92fbcf53809c.jpg

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

70fab8a8-76e4-11ef-bb4b-92fbcf53809c.jpg

假设0x1A00的01子索引的值为0x20000108,这意味着:

  • TPDO1映射到0x2000索引的子索引01。
  • 这个子索引的资源长度为一个字节(8位)。

由于CAN帧的数据段最大为8个字节,因此每条TPDO映射的索引对象总长度不能超过8个字节。当这些映射的资源区发生任何数据变化时,就会触发一个事件。

想要深入了解CANopen协议和TPDO映射的更多细节,请继续关注我们。


7119b816-76e4-11ef-bb4b-92fbcf53809c.jpg

USBCANFD系列CANFD接口

• 2路CANFD

•DB9接口形式

• 13万帧缓冲不丢帧

参考价格:2300元

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2663

    浏览量

    462441
  • 网络
    +关注

    关注

    14

    文章

    7389

    浏览量

    88211
  • CANopen
    +关注

    关注

    8

    文章

    235

    浏览量

    43415
收藏 人收藏

    评论

    相关推荐

    小疆智控CANOpen转PROFINET网关连接EA180C CANOPEN总线型伺服配置案例

    软件中 设置TPDO和RPDO 的传输方式为周期同步(如果使用默认事件触发,变频器会丢数据),如下图;   6、设置同步周期,可以根据实际需要设
    的头像 发表于 09-02 19:23 966次阅读
    小疆智控<b class='flag-5'>CANOpen</b>转PROFINET网关连接EA180C <b class='flag-5'>CANOPEN</b>总线型伺服配置案例

    CYUSB3314S SUSPEND功能的触发条件是什么?

    时,Suspend指示灯熄灭。反复循环。 Downstream接口上连接一个USB2.0设备时没有此问题。 请问这个是什么原因?SUSPEND功能的触发条件是什么?
    发表于 07-05 06:11

    CANopen协议学习笔记1

    (消费者)将其接收并计数,当计数值达到节点相应TPDO要求时,该TPDO映射的数据被发送(根据PDO传输类型也可能是映射数据更新),此过程中SYNC生产者提供网络节拍,各消费者以节拍周
    发表于 09-20 17:32

    (笔记)CANOpen移植(CanFestival移植)

    发送SYNC,从节点收到之后C触发发送TPDO,我们设置的TPDO是同步方式,而且受到一个SYNC就发送TPDO 从以上结果可以知道移植的CANop
    发表于 09-21 11:58

    请问EPWM的触发条件是什么?

    EPWM1A和EPWM1B引脚上的动作,并通过OTSFA 和OTSFB 触发单次强制事件,但是关于连续软件强制AQCSFRC就有点不明白了,AQCSFRC寄存器中只设置了连续软件强制在EPWM1A和EPWM1B上的动作(CSFA和CSFB),那么它的触发条件是什么?? 谢
    发表于 08-22 10:07

    MSO9254A如何在一个数据库中传递一个触发条件

    嗨,大家好,我想知道我是否可以在数据字上反转触发条件,以探索寻找故障的数据传输。例如:我将示波器附加到SPI - 两个CPU之间的通信。 CPU(a和b)被编程为始终从a到b发送精确的一个特定
    发表于 11-15 16:36

    如何在芯片内同时捕获不同触发条件下的信号

    大家好, 我想在不同的触发条件下同时存储我在芯片内核中添加的所有信号的数据。我怎么能做到这一点? 我的要求是,我正在将数据写入闪存(64 MB),其中每240个我只能写16个字。因此,在写入完整
    发表于 03-15 14:28

    是否可以在同一端口设置不同的EXTI触发条件

    是否可以在同一端口设置不同的EXTI触发条件?以上来自于谷歌翻译以下为原文 Is it possible to set different EXTI trigger condition at same port ?
    发表于 03-28 10:26

    CANopen在STM32控制中的实际应用是什么

    CANopen在STM32控制中的实际应用了解CANopen协议PDOSDOOD了解CANopen协议基于CAN的应用层协议,可以在总线上挂载很多设备,最大通信速率支持1M/bps。在STM32作为
    发表于 06-28 08:07

    stm32串口空闲中断触发条件

    stm32串口空闲中断触发条件,今天想使用STM32的串口空闲中断作接收,调了1个小时,发现串口空闲中断无法被清除,网上搜索半天发现,能用清除的库函数清除该中断。我又回头看了一下手册。果真如此,问题已解决[这是该文章链接][这是官方手册介绍]
    发表于 08-09 08:33

    串行口中断服务函数的触发条件是什么?

    串行口中断服务函数的触发条件是什么?串口中断是高电平触发还是上升沿触发
    发表于 01-18 06:25

    Profinet转canopen连接磁轨道

    TPDO将传输类型修改成Event-driven(manufacturer)—事件触发;7、配置完成后下载配置到网关,先点击设置。搜索Profinet转CanOpen网关默认IP(电脑要与Profinet转
    发表于 04-18 14:27

    电平触发、脉冲触发、边沿触发的区别和示例代码

    1,区别当讨论电平触发、脉冲触发和边沿触发时,需要考虑触发条件、操作持续时间和触发时机等方面的详细差异。以下是基本的原理:1.电平
    的头像 发表于 10-31 08:00 1.1w次阅读
    电平<b class='flag-5'>触发</b>、脉冲<b class='flag-5'>触发</b>、边沿<b class='flag-5'>触发</b>的区别和示例代码

    触发器的基本性质 触发器的触发方式分为哪三种

    触发器是计算机系统中的一种硬件或软件组件,用于在满足特定条件触发相应的操作或事件。触发器的基本性质包括触发条件
    的头像 发表于 01-23 16:10 2907次阅读

    CANopen系列】CANopen从站为什么总不上传PDO报文?

    CANopen网络中无法获取从站的TPDO数据?本文将为您解析可能的原因及解决方案。通过检查TPDO的通信参数和传输类型,确保主站与从站的数据同步,快速定位问题所在。如果你的CANopen
    的头像 发表于 09-19 08:05 44次阅读
    【<b class='flag-5'>CANopen</b>系列】<b class='flag-5'>CANopen</b>从站为什么总不上传PDO报文?