分析是以TI的文档SPRA589A为例子。 逆变器程序,CPU频率在20MHz,载波为20kHz(50uS), updown计数,所以周期寄存器定时25uS,那么周期寄存器T=25000nS/50nS=500, ;Convert Q11 value to an absolute Q0 for use in Compare reg. spm 3 LT Uniinv_H_0 ; (Q11) MPY #1000 = 1000*U = 2T*U PAC ;ACC = 2T*U/64 = (T/2)*(U/16), max U=16, T=500 rpt #4 norm * SACH GPR0 这个逆变器是双极性的,如果是开环双极性SPWM推动逆变器,可以发现开环双极性SPWM公式,最大的pwm寄存器也是250,那么我想,无论最后的PI补偿结果算出来是什么,最后都要小于250, 即U × 待定系数<=250, 因为U是Q11有符号,即U的绝对值最大为16, 但是前面的P = 1000*U = 2T*U不知道是如何得来的?特别是2T,其中的T是否是我估计的周期寄存器值。 问题2,U是如何规格化的
计算PI结果时, norm * ;q27 sach Un_iinv ;Q11 他只取高11为,低15位都不要了,似乎是在忽略小数部分,也许是因为后面的小数太小了,不起作用了。 可是我对于norm的作用不清楚,查了半天也没有找到相关的资料,这个应该是和补码的乘法有关,估计是去掉多余的符号位,但是介绍的资料太少了 |