This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28377D:使用结构的 CPU 到 CLA 数据传输

Guru**** 2040210 points
Other Parts Discussed in Thread: TMS320F28377D
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1186110/tms320f28377d-cpu-to-cla-data-transfer-using-a-struct

器件型号:TMS320F28377D

在我的应用中、我正在尝试加快 CPU1 CLA 中的代码执行速度。

在 cla_iir2p2z_cpu01示例之后、我最初将所有变量都设置为 float 值。

但是、有些标志变量不需要为32位宽浮点值。

我已将这些内容更改为"unsigned int"、程序停止工作。

这是共享结构中的简单更改。

===

typedef 结构{
float CLA_sin θ;
float cpu2cla_d;
// unsigned int cpu2cla_SP;  <--不起作用
// unsigned int cpu2cla_sn;  <--不起作用
float cpu2cla_SP;  <--正常工作
float cpu2cla_sn;  <--正常工作
} CPU2CLA;  

extern CPU2CLA cpu2cla; //在共享头文件中

===

在 CPU1 .c 文件中:

#pragma DATA_SECTION (cpu2cla、"CpuToCla1MsgRAM")
CPU2CLA cpu2cla;

===

然后将 SP 和 SN 标志复制到一个内部结构中:

===  

在 cla1.cla 文件中:

conv_sim.d = cpu2cla.cpu2cla_d;//输入
conv_sim.sn = cpu2cla.cpu2cla_SN;//输入 .... 在两个浮点值时有效、但在两个无符号整型值均无效时无效
conv_sim.SP = cpu2cla.cpu2cla_SP;//输入.... 在两个浮点值时有效、但在两个无符号整型值均无效时无效

(笑声)

在共享头文件中:

浮点 TSW;
浮点 TS_STEP_TO_TSW_Ratio;
float theta_increment;
// unsigned int SN;  <--不起作用
// unsigned int SP;  <--不起作用
float SN;  <--正常工作
float SP;  <--正常工作
} CONV_SIM;

===

在.c 文件中:

#pragma DATA_SECTION (conv_sim、"CLADataLS0")
conv_sim conv_sim;

===

CPU1将正确的值写入  cpu2cla.cpu2cla_SN 和 cpu2cla.cpu2cla_SP、但这些值不会反映在仅 CLA 的结构  CONV_SIM 中

在 CPU1和 CLA 之间的共享结构中混合整数和浮点数是否有任何限制?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tomas、

    我不是 TI 员工、但我在 TMS320F28377D 方面做了很多工作。

    CLA 不支持16位整数、因此只需使用32位整数(在此处理器上键入 uint32_t、这是一个无符号长整型)

    希望它能帮助你! ;)

    Arthur

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Arthur:

    是的、这就是它的表现!

    TRM 指出:"控制律加速器(CLA) 1类是独立的、完全可编程的32位浮点
    为 C28x 系列带来并发控制环路执行的数学处理器。"

    当然、我认为如果协处理器支持32位宽的数字、它肯定也支持16位宽的数字。

    谢谢、问题已解决。
     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我知道、在 TRM 中获取所需信息通常很困难。 ;)