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.
Problem I
have found,.I forgot, normalized alpha and beta by the maximun
value (Umax = Udc / sqrt (3)). as expected, Ta, Tb, Tc (float32)
remain within (0.1).
As svgendq.pdf reference of TI, i think because Ta,Tb,Tc are for Pwm Compare Register , i need only :
EPwm1Regs.CMPA.half.CMPA
= (Uint16)(Ta*PWM_periode);// i expect: 0<= Ta <=
1 ,so 0<= CMPA =< PWM_periode
EPwm2Regs.CMPA.half.CMPA = (Uint16)(Tb*PWM_periode);
EPwm3Regs.CMPA.half.CMPA = (Uint16)(Tc*PWM_periode);
But I think I misunderstood.
Can someone explain, in my case floating point DSP how i must do?
tequila
(sorry about my english)
Hi tequila,
I dont know about your application but in my opinion, the IQ should only be used with non-floating point DSPs.
So, if you need to use this TI provided function of the DMC library, since it is not found in the C:\tidcs\DMC\c28\v32x\lib\dmclib\cfloat\src directory, you need to convert it to floating point, which should be very straightforward.
To do this, use float32 or float64 data types to redefine SVGENDQ struct and replace _IQmpy, _IQdiv by their respective C/C++ representation (i.e. *, /).
Hope this helps...