I have never come across comparator control with BLDC motors. I am aware that they are used for stepper motors, where precise current control is not that relevant (they just do open loop steps, some microstepping max.)
With BLDC you generally have a fixed PWM frequency (e.g. 20 kHz for smaller motors). You measure the phase currents (with low side sensing when the low switches are on) triggered by the PWM timer and run the current control loop after the ADC conversion is finished. All that is a fixed sequence and you would not want some variable duty cycle in the controllers. For high performance control, the single most limiting factor is dead time (due to the sampling time of the system) and you at least want to fight a constant evil. Current controllers are the most simple and well behaved controllers in a motor controllers so it's not that critical, but typically you'd derive the outer loop (velocity, cascaced velocity+position or position directly) sampling rates from the PWM rate and you definitely don't want to mess up the already tricky position control loop with a variable dead time.
Also, comparators seem messy - you have the PWM timers and ADC in the controller anyway and have full control on the switching waveform.
For three phase, you also want to be able to do a center-symmetric PWM ("space vector modulation") with midpoint shift to increase the effective bus voltage, which you only can do if you have full control over the switching waveforms.
Motor control with increasing difficulty:
sensored (hall sensor) six step
sensorless six step
sensored FOC
sensorless FOC
Don't be intimidated by the apparent complexity of FOC/SVM. In the end it comes down to only a few lines of code: Park/clarke -> PI current control D/Q ->inverse Clarke/Park -> midpoint shifted center symmetric PWM.
For high performance motion control sensored FOC is the way to go, for compressors or quadcopter motors more likely sensorless six-step. For an easy start hall sensor based six step.
BTW the current controllers (innermost loop) need PI only, the motor integrates voltage->current, hence -90° phase shift, can be stabilized by PI only. No need to mess with the D part.
- Martin