主题中讨论的其他器件:SFRA、 C2000WARE-DIGITALPOWER-SDK、 C2000WARE
我的程序是 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_(浮点)
非常感谢。