User Manual

Software Design
3-Phase BLDC Motor Control with Sensorless Back-EMF, ADC, Zero Crossing, Rev. 3
46 Freescale Semiconductor
Preliminary
7.3.5 State Diagram - Process ADC Zero Crossing Checking
Zero Crossing
Back-EMF
Commutation
Zero Crossing
Commutation
Per_Toff after
motor
motor Commutation
preset new phase
Detected/Missed
Zero Crossing
Back-EMF Zero
Crossing Checking
Control states:
Disabled
Commutated
Get/Missed
Running/Starting
Reset
Control states:
Stop/Alignment
Zero Crossing
Figure 7-10. State Diagram - Process ADC Zero Crossing Checking
The status of the ADC Zero Crossing checking depends on Commutation Control states. It is enabled only
during the Running and Starting Commutation Control states. When the BLDC motor is commuted, the new
Zero Crossing phase is preset. When, after motor commutation, the time interval (Per_Toff) is passed, the
Back-EMF Zero Crossing is checked. When the Back-EMF Zero Crossing is Detected or Missed, the
Commutation control process is informed that a new commutation time needs to be computed.
This process is almost entirely provided by the BLDC Zero Crossing algorithms. The bldczcHndlr is called
with actual time from the Cmt Timer Counter. This algorithm is assigned to control requests and set some
commutation control registers. According to the request flags set by this algorithm, other BLDC Zero Crossing
algorithms are called.
This process, together with the Commutation Control Running state, are the most important software processes
for sensorless BLDC motor commutation. These process services are located in the main loop and in the ADC
Interrupt subroutine.