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.

TMS320F28027: IQ问题,PWM2采取20KHZ中断,中断发生后在中断中执行IQ计算,发现IQ运算会影响我的PWM输出

Part Number: TMS320F28027


PWM2中断中的IQ代码如下:

1.

iqtmp =_IQ(spwmiqvar.spwm_cnt)+_IQ(SIN_B);

spwmiqvar.sinvale =_IQsin(spwmiqvar.sina);

spwmiqvar.sinb =_IQmpy(spwmiqvar.M_FACTOR,spwmiqvar.sinvale);

spwm_value=1000+1000*_IQtoF(spwmiqvar.sinb);

请问上述代码执行几个周期?

TMS320F28027的晶振配置为60MHZ,一个指令周期理解为16.6ns这样对不?

2.在文件IQmathLib.h中GLOBAL_Q 值有30种 请问这30种的值都是在TMS320F28027的IQmath表中存储着还是只是几种存储 ?

3.请问在什么情况下使用IQ才能执行速度快?

  比如 三个变量 uint16_t a,b; float c

第一种情况

a=b*c;

第二种情况:

a=b*_IQtoF(_IQ(c) );

第三种

a=b* _IQ(c) >>GLOBAL_Q  ;

三种情况执行速度分别是多少?(顺便提下 我要验证过的速度 以前的IQ问题回复我感觉是没经过验证的回复 实际上与你们的回复不符,顺便说下关于AIO的提问 你们回复肯定是没做验证 我做了验证 AIO在做输入的时候 不接外部上拉的时候 AIO检测到的电平是不确定 能否以后的回答做完验证后再做回复)

第一个问题的代码我会上传

8738.28027IQTest2.rar