Induction motor field oriented control software timing
Well...the first approach seems rather messy doesn't it? Not only are you sampling at unpredictable positions in the cycle, but you are increasing the processing load by having more samples to deal with.

Plus you are probably only going to be updating once per PWM cycle at most anyways...so is your latency really any better? What good is all that extra sensory information if you're not going to act on it and it's all out of date when the time comes to take action?

I am actually rather suspicious about the first method as you described it. I am fairly confident you aren't describing it correctly because saying the following:


  The frequency of the A/D conversions is several times greater then the pwm frequency. The interrupt service routine associated with the end of conversion then contains whole current control loop and at the end updates the duty cycles for the PWM.


implies the PWM is being updated several times in the middle of each PWM cycle which doesn't make any sense.

And even if we ignore the fact that updating more than once per PWM cycle unpredictable updates of PWM in general cause things like harmonics and other unpredictable frequency content. Hell, it can even be an issue in PWM updates that are synchronized (think of edge aligned PWM where the trailing edge position changes from cycle-to-cycle while the leading edge position does not causing the pulses to dance around relative to each other as their duty cycles get adjusted versus center-aligned PWM where the two edges change symmetrically so the center of the pulse is always the same time away from the center of the previous and next pulse).