User's Manual

Control Loop
Variable Speed DC Fan Control using the MC9RS08KA2, Rev. 0
Freescale Semiconductor 17
Figure 3-2. Firmware Control Loop
START
TargetPWMPeriod = Longest
ActualPWMPeriod = Longest
Drive L1
De-energized coils = DeadTime
Drive L2
Read Temp. Sensor
Read Temp. Sensor
128ms?
Update TargetPWMPeriod
Increment DeadTime
Target >
Actual?
Target =
Actual?
De-energized coils = DeadTime
N
Y
Y
N
N
Y
During the dead time delay update PWM period for the next commutation
Modify Target PWM period value
every 128ms based on temperature
Hall
Edge?
Y
N
Energize L1 / L2
De-energize Coils
Timeout?
De-energize Coils
Sound Buzzer
N
Y
Fault
condition
detected.
Continuously monitor the hall sensor output
reading
Start Timer
Stop Timer
Record DriveTime
ActualPWMPeriod =
DriveTime + DeadTime
Decrement DeadTime