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.

[参考译文] TMS320F28374S:(SDFM+) CLA 给出了奇怪的结果

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/748941/tms320f28374s-sdfm-cla-gives-strange-result

器件型号:TMS320F28374S

您好!  

我使用它来控制10kW 三相降压。 我在转换器断电时获得奇怪的 UDC 值。  

我通过以下方式测量电流和电压:  

SDFM 自由运行-> CLA 通过 SDFM 数据就绪中断获取数据-> CLA 计算3个开关周期内的电流和电压运行平均值->得出结果向上。  

 运行平均值代码为:  

总和=总和-缓冲器[指针];
Buffer[pointer]= DataFormSDFM * Scale;
sum = sum + Buffer[指针];
结果=总和/(NrOfSamples +1);
if (pointer >= NrOfSamples){
指针= 0;
}
否则{
指针=指针+1;
} 
(我将 float32用于求和、缓冲器、结果、比例和指针 Uint)

现在、当我使用它来测量电流时、这将提供正确的结果(所有电流测量都在 SDFM1上)。  

但是对于电压(使用 SDFM2测量),当我关闭转换器时,我得到的结果是-600V (或其他随机的大负数)。 所以我添加了  

if (result<-10){
_mdebugstop();
} 

 

SDFM2触发的任务结束时。 第二个我停止我的转换器、它在这里进行制动。

我在缓冲器中得到所有正常值、其中我有33.8 +/- 0.5V。 但 SUM 的值为-4614.4。 然后、几分钟后它会缓慢返回到0 +/-0.5V。  

由于缓冲器中没有奇怪的大数、因此 SDFM 正常、转换器运行时测量值正常。 我现在的问题是:  

1) 1)为什么会突然出现较大的 ADD 负值?

2) 2)为什么它下降到0? 计算中的浮点误差?

3) 3)如何解决此问题?

此致、  

Marko Ante.

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

    以下是我对您上一篇帖子的理解。 SDFM1滤波器结果不会发生。 SDFM2滤波器结果突然提供负值。 我是对的吗?

    此外、更重要的是、您是否使用 PWM 来同步 SDFM2滤波器通道?

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

    这是美国的感恩节周。 大多数 TI 工程师都在度假。 请预计延迟回复。

    实际上、我希望下周早些时候 TI 能回复。

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

    是的、它仅发生在 SDFM2上。 非通道是 PWM 同步、它们始终自由运行。

    但我不认为 SDFM 有问题、因为:
    1) 1)当我使用 c28内核进行平均计算时没有问题。
    2) 2)缓冲区中没有较大的负值、所有测量都将进行。 正如您在示例中看到的、SDFM 数据直接进入缓冲区。  

    编辑

    3) 3)如果我不是 SDFM 数据、而是将一个常量写入缓冲器。 例如150、我有相同的问题。  

    我还会重新定义问题。 总和总是缓慢地变为0。 如果我向缓冲区写入一个形式为 sdfm (或一个常数正)的值、它会缓慢下降至0。 如果我使用 SDFM 并关闭转换器并将0写入缓冲区、总和会变为一个较大的负数、然后缓慢上升至0。  

    为什么?

    /编辑

    感恩节快乐!

    此致、
    Marko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    明白了。
    它是 MSETFLG RNDF32故障。
    阅读更多信息:
    e2e.ti.com/.../1815777
    e2e.ti.com/.../487649

    我可以提出建议。 很多人和 TI 员工链接到:
    processors.wiki.ti.com/.../Control_Law_Accelerator_(C2000_CLA)_FAQ
    其中有一个部分:CLA 与 C28x+FPU (C28x +浮点单元)的比较。 为什么不在这里!!!!! 把它放在那里。

    此致、
    Marko