请问svgen输出的Ta,Tb,Tc是占空比还是导通时间,我看程序f28335xpwm.h模块中有下面几句话
(*ePWM[ch1]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC1)+ v.HalfPerMax; \
(*ePWM[ch2]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC2)+ v.HalfPerMax; \
(*ePWM[ch3]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC3)+ v.HalfPerMax; \
那这说明是占空比啊,可怎么会是占空比呢,svgen都不知道epwm周期怎么算占空比啊?
还有一个问题是
_IQmpy(m.HalfPerMax,m.MfuncC1)+ m.HalfPerMax;
其中m.HalfPerMax是Q0,m.MfuncC1是Q24这两个乘完是Q24啊,那Q24和Q0怎么相加啊?
haha haha1:
回复 Eric Ma:
谢谢你的回答,对于第二个问题,TI源码里面就是这么写的啊!!
请问svgen输出的Ta,Tb,Tc是占空比还是导通时间,我看程序f28335xpwm.h模块中有下面几句话
(*ePWM[ch1]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC1)+ v.HalfPerMax; \
(*ePWM[ch2]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC2)+ v.HalfPerMax; \
(*ePWM[ch3]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC3)+ v.HalfPerMax; \
那这说明是占空比啊,可怎么会是占空比呢,svgen都不知道epwm周期怎么算占空比啊?
还有一个问题是
_IQmpy(m.HalfPerMax,m.MfuncC1)+ m.HalfPerMax;
其中m.HalfPerMax是Q0,m.MfuncC1是Q24这两个乘完是Q24啊,那Q24和Q0怎么相加啊?
haha haha1:
回复 Eric Ma:
那你的意思就是说这个TI源码有错误啦!!
_IQmpy(v.HalfPerMax,v.MfuncC1)可以改成_IQmpy24(v.HalfPerMax,v.MfuncC1)可以吗?