I am using the InstaSpin FOC in the TMS320F28027F chip. I moved my PWMs from PWM1,2,3 to PWM2,3,4 for the motor control. I am using PWM1A to generate an independent PWM signal for another part of my circuit. PWM1A is setup to produce a 50% duty cycle. I am then able to control its frequency from 20Khz to 25KHz in 1Hz steps using the High Res feature. The PWMA signal is filtered in hardware with a corner frequency of about 30KHz. This gives me a fairly good sine wave to drive a part of my circuit.
My goal is to be able to sample the resulting sinewave output of my circuit at any point along the PWA1 period. I will use the CMPA to trigger my ADC sample and change the CMPA to allow me to sample at any point along the sinewave period. It is very important that these samples occur as close to the CMPA point as possible. However, I also have my motor control samples happening at 15KHz. If someone could answer the below questions, it would help me choose what direction to take to accomplish this.
Can you confirm that the ADC clock is 60MHz? I did see one note that the ADC clock needs to be under 45MHz, but I think this is for the internal Temperature reading only. It appears the ADC is set for 60 MHz clock, but I want to make sure.
Would it affect the motor control if some of its samples were delayed or skewed one way or the other by three ADC sample periods? In other words if some of the motor samples got randomly moved by 3*(7+13) = 60 cycles = 1us with 60MHz clock. I would guess that this would not be a good thing for the motor control.
I believe to prevent skewing the motor samples, I can give the motor samples priority and if the motor sample is in my way I can wait a little bit for it to move and then sample at the exact place on my sinewave. The good thing about my system is I can wait a little to take my sample since I am in control of the frequency, but I need to sample as close to the exact time as possible.
Is it necessary to still do the dummy adc read on the first read? I would think this is not a problem on the 28027F since it would always be Rev A die.
Are there any other errata I need to be aware of in my journey to try and get this working?
By answering the above questions I can proceed with more confidence.
P.S.
I have the motor running and it works Great!. I cannot thank all you guys at TI
for the great job you have done with the InstaSpin. I have been using TI to do
motor control with C2000 since 2009. This InstaSpin stuff works much better
than the original SMO for FOC and is easy to use and tune the motor. I am able
to achieve much lower RPMs, much better starting torque, and much better
control of the motor all around. It makes me look like I know what I am doing
to my boss and peers. I just hope I can get the rest of my system working
without messing it up too much.