打印

PI补偿后的值如何与PWM寄存器对应,以正弦波逆变器为例

[复制链接]
2099|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snakeemail|  楼主 | 2008-2-16 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分析是以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的作用不清楚,查了半天也没有找到相关的资料,这个应该是和补码的乘法有关,估计是去掉多余的符号位,但是介绍的资料太少了

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

1910

帖子

8

粉丝