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:有关 SFRA.lib 的定点和浮点版本的问题

Guru**** 2556870 points
Other Parts Discussed in Thread: SFRA, C2000WARE-DIGITALPOWER-SDK, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/767093/tms320f28377d-question-about-the-fix-point-and-the-float-point-version-of-the-sfra-lib

器件型号:TMS320F28377D
主题中讨论的其他器件:SFRAC2000WARE-DIGITALPOWER-SDKC2000WARE

我的程序是 IQ_math 和浮点混合程序、请使用28377、rts2800_fpu32.lib、IQmath_fpu32。  

但 MATH_TYPE 为0、因此_IQ24 (1.0)= 16777216。 我想将 SFRA 函数添加到程序中。

我认为我有两个选择、使用 SFRA 的定点版本或浮点版本。

如果我选择定点版本、我必须更改程序中的所有浮点运算。 这需要做很多工作。

我尝试使用浮点版本。 由于程序中有一部分使用 IQmath、  因此 IQmathLib.h 中的 MATH_TYPE 为0

我没有像 pdf 所说的那样将 MATH_TYPE 设置为1。 我发现 SFRA_F_Collect (&sfra_out、&sfra_Fdbk)函数中存在错误。

数据 格式错误、 OL_MagVect[]、 OL_PhaseVect[]中的所有数据都是2^31-1 =  2147483647。  

我100%确定 sfra_out、sfra_Fdbk 的数据是正确的并且采用 float32格式。  

因此,我想知道是否使用 SFRA 的浮点版本,MATH_TYPE 必须为1?  库能否同时支持 IQ 和浮点数据?  

我已确保数据类型为"收集"、如下所示:  

ADC 数据(IQ)--> SFRA_INject (float--> IQ)--> >电压/电流环路(IQ)--- >SFRA_COLLECK_(浮点)  

非常感谢。

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

    您好!  

    如果没有 IQmath、则无法使用较早版本的 SFRA 库。

    但是、我们在最近的版本 v1_30_00_00中对接口进行了一些更新、以消除此依赖关系。

    请使用 C2000Ware-digitalpower-SDK 中发布的 v1_30_00_00,发行说明中也对此进行了说明  

    C:\ti\c2000Ware_DigitalPower_SDK_1_02_00_00\libraries\sfra

    此致

    Manish Bhardwaj  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这正是我所需要的。 非常感谢 Manish。
    感谢您更新和维护此工具。