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.
在TI 给的28335的例程里,SVGENDQ_MACRO 中
if (v.VecSector==1 || v.VecSector==4) \
{ v.Ta= v.tmp2; \
v.Tb= v.tmp1-v.tmp3; \
v.Tc=-v.tmp2; \ } \ \
else if (v.VecSector==2 || v.VecSector==5) \
{ v.Ta= v.tmp3+v.tmp2; \
v.Tb= v.tmp1; \
v.Tc=-v.tmp1; \ } \ \
else \
{ v.Ta= v.tmp3; \
v.Tb=-v.tmp3; \
v.Tc=-(v.tmp1+v.tmp2); \ } \
我没看明白这段程序,按照原理的话,扇区1的 T1=-Z,T2=X,扇区4就应该是T1=-X,T2=Z 而这里扇区1和4都是同样的Ta、Tb、Tc 值我就不太懂了,而且上文给出的tmp1、tmp2、tmp3 在原理中旧事X,Y,Z的值, 而Ta、Tb、Tc 在下面的程序中直接赋给比较寄存器当作PWM占空比了, 中间的关系应该是
v.Tb = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tbon = (1-t1-t2)/2
v.Ta = v.Tb+t1; // taon = tbon+t1
v.Tc = v.Ta+t2; // tcon = taon+t2
(上面3行是2812程序里给的此步骤的例程,为什28335中没有这一步了呢?)
刚刚接触dsp和svpwm 没有人带,自己资质也低,问题要是问的太蠢请各位前辈见谅。感谢之前的前辈们热心的帮助!
TI的这个算法是改进了的,但说明还是老版本的。这个算法改进了扇区判断,采用了倒三角形计数,基本原理还是没变的。把基本的原理看懂再结合上述2点,应该能理解,不然论文也写不了。