TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: 关于f2838x_cm_cia402_solution例程中对象字典的疑问

Part Number:TMS320F28388D

如上图所示,为例程中402对象字典对象的默认值

以CSV模式RxPDO中的1602对象为例

第一个数值3,表示这个对象中有3个entry

第一个entry的数值是0x604000106040是控制字的Index数值;因为控制字是一个16bit的数值,所以它的subindex0为00;最后的10,即0x10 = 16(十进制)代表控制字的数据位宽为16bit

第二个entry的含义是类似,只不过对象的index和数据位宽不一样

我现在不太理解第三个entry的含义,就是最后的这个0x00000010,

上图为et9300文档中index的定义

index 0x0000看起来位于数据类型区

按照这个理解 0x00000010中最后的0x10,应该是指数据位宽是16个bit

不过这个数据位宽指的什么数据的宽度呢?

这个帖子发在C2000论坛可能不太合适,不过我没有EtherCAT官方论坛的账号,所以麻烦C2000论坛有经验的工程师指点一下

谢谢

user78960159:

刚刚注册了ETG官方论坛 已经在那边提问了 回复应该会比较慢 有消息我会发到论坛里

,

Yale Li:

您好,您看一下这个链接:

https://doc.synapticon.com/software/40/object_dict/index.html

,

user78960159:

您好 感谢帮助 这家公司的这份文档 比ETG官方讲402框架的文档要细致

我看下能不能找到答案

,

Yale Li:

好的

,

user78960159:

您好 看了下您提供的文档 我没有找到这个问题的答案

在ETG论坛发帖一周 目前没有回复 我在ETG的文档中目前还没有找到答案

不过调试过程中感觉每个PDO通道最后的"0x0000 00yy",很像是在进行字节对齐操作

以RxPDO 1600为例

这个结构中有5个数据,数据最宽为32bit 如果最后的8个bit看作是padding,即Entry 5,那么bit位加在一起就是32bit的整数倍

以RxPDO 1601为例

最后的16bit在XML文件中的Comment中写的就是padding,在这个结构中,数据最宽为32bit,算上最后的16bit padding 那么总的bit数也是32bit的整数倍

以我自己增加的cst模式的RxPDO 1603为例

在这个新增加的结构中,数据都是16bit宽的,所以应该不需要增加entry进行补位

从以上举例理解,我现在认为,最后的0x0000 0008,0x0000 0010这样的entry应该是类似结构体中有不同数据宽度时的字节对齐处理

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: 关于f2838x_cm_cia402_solution例程中对象字典的疑问
分享到: 更多 (0)