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

学习F28335的例程“HVACI_Sensorless.C”时产生的几点困惑

各位老师:您好! 我在学习F28335的例程“HVACI_Sensorless.C”时,看到其中很多程序仍是用定点形式编写的。这使我很困惑: 1、既然F28335的重要优势之一就是具有浮点处理能力,如大学用的DSP教材———《TMS320X2833XDSP原理及其C程序开发》P6“2”中所说,“TMS320F2833X:F2833X系列浮点处理器提供的浮点处理能力极大地简化了开发周期,控制应用平均处理能力提高了近50%。”可是HVACI_Sensorless.C为什么还用定点形式来编写呢? 2、我向同事提出并讨论上述疑问时,有人说,“在应用定点对运算精度和复杂性影响不大的情况下,定点比浮点运算快,有这个优势。”对此,我仍想不通: (1)这与“1”中教材所说的矛盾; (2)如果28335的处理速度还不如2812,那为什么还说28335比2812好呢?如果还不如2812,为什么要在2812之后又推出28335呢? (3)DSP的C2000系列主要是面向控制的。而控制领域中,HVACI_Sensorless.C的控制,又最复杂的之一。为什么仍用定点呢?

Terry Deng:

F28335的例程HVACI_Sensorless.C使用的就是浮点数运算啊。以下代码就是从该c文件中copy出来的,这些变量就是用的浮点数啊。

_iq VdTesting = _IQ(0.2); // Vd reference (pu) _iq VqTesting = _IQ(0.2); // Vq reference (pu) _iq IdRef = _IQ(0.1); // Id reference (pu) _iq IqRef = _IQ(0.05); // Iq reference (pu) _iq SpeedRef = _IQ(0.3); // Speed reference (pu)

各位老师:您好! 我在学习F28335的例程“HVACI_Sensorless.C”时,看到其中很多程序仍是用定点形式编写的。这使我很困惑: 1、既然F28335的重要优势之一就是具有浮点处理能力,如大学用的DSP教材———《TMS320X2833XDSP原理及其C程序开发》P6“2”中所说,“TMS320F2833X:F2833X系列浮点处理器提供的浮点处理能力极大地简化了开发周期,控制应用平均处理能力提高了近50%。”可是HVACI_Sensorless.C为什么还用定点形式来编写呢? 2、我向同事提出并讨论上述疑问时,有人说,“在应用定点对运算精度和复杂性影响不大的情况下,定点比浮点运算快,有这个优势。”对此,我仍想不通: (1)这与“1”中教材所说的矛盾; (2)如果28335的处理速度还不如2812,那为什么还说28335比2812好呢?如果还不如2812,为什么要在2812之后又推出28335呢? (3)DSP的C2000系列主要是面向控制的。而控制领域中,HVACI_Sensorless.C的控制,又最复杂的之一。为什么仍用定点呢?

jinsheng LU:

回复 Terry Deng:

您好,我有两点疑惑向您请教:

1、您说的F28335例程HVACI_Sensorless.C使用的是浮点数运算,是指程序中赋值_IQ(0.2)吗?我理解的_IQ(0.2)为0.2乘以一个2^24放大后的数转化为定点再进行运算。

2、TI controlSUITE给定ACI:FOC无传感器例程(Delfino F2833X)中的例程函数库使用是IQmath.Lib还是IQmath_fpu32.lib呢?

以上两点疑惑望您指教。

各位老师:您好! 我在学习F28335的例程“HVACI_Sensorless.C”时,看到其中很多程序仍是用定点形式编写的。这使我很困惑: 1、既然F28335的重要优势之一就是具有浮点处理能力,如大学用的DSP教材———《TMS320X2833XDSP原理及其C程序开发》P6“2”中所说,“TMS320F2833X:F2833X系列浮点处理器提供的浮点处理能力极大地简化了开发周期,控制应用平均处理能力提高了近50%。”可是HVACI_Sensorless.C为什么还用定点形式来编写呢? 2、我向同事提出并讨论上述疑问时,有人说,“在应用定点对运算精度和复杂性影响不大的情况下,定点比浮点运算快,有这个优势。”对此,我仍想不通: (1)这与“1”中教材所说的矛盾; (2)如果28335的处理速度还不如2812,那为什么还说28335比2812好呢?如果还不如2812,为什么要在2812之后又推出28335呢? (3)DSP的C2000系列主要是面向控制的。而控制领域中,HVACI_Sensorless.C的控制,又最复杂的之一。为什么仍用定点呢?

qing chen6:

回复 jinsheng LU:

这两个问题就是一个:如果使用IQmath.lib那么_IQ(0.2)就是定点运算,如果使用IQmath_fpu32.lib_IQ(02.)就是浮点运算,你把鼠标放在IQ上,显示的就是float

赞(0)
未经允许不得转载:TI中文支持网 » 学习F28335的例程“HVACI_Sensorless.C”时产生的几点困惑
分享到: 更多 (0)