Rev. 1.00
116
��ne ��� �01�
Rev. 1.00
11�
��ne ��� �01�
HT66FM5440
Brushless DC Motor A/D Flash MCU
HT66FM5440
Brushless DC Motor A/D Flash MCU
PWM Duty Synchronous Update Modes
In high speed BLDC applications, using PWM interrupt to update the duty may result in
asynchronous update for the three PWM duty values. This will generate undesired PWM duty
outputs and lead to control errors. To improve this problem, two methods are provided for
synchronous update of three PWM duty values.
• DUTR0~DUTR2 PWM duty outputs are same
Usually the three PWM duty outputs are same for square wave control. By setting the PWMSV
bit high, the data written to the DUTR0H and DUTR0L registers will also be synchronously
loaded to DUTR1H/DUTR1L and DUTR2H/DUTR2L. In this way the PWM duty synchronous
update is implemented with reduced instructions.
• DUTR0~DUTR2 PWM duty outputs are not same
If the three PWM duty outputs are not same but require to be updated synchronously, set the
PWMSU bit high to enable the PWM DUTR0~DUTR2 duty synchronous update function.
When the PWM DUTR0~DUTR2 duty synchronous update request flag PWMSUF is set high,
the hardware will synchronously update DUTR0, DUTR1 and DUTR2 values, after which the
request flag will be automatically cleared.
PWM Register Description
Overall PWM operation is controlled by a series of registers. The DUTR
n
L/DUTR
n
H register pair
is used for PWM duty control for adjustment of the motor output power. The PRDRL/PRDRH
register pair are used together to form a 10-bit value to setup the PWM period for PWM
f
requency
adjustment. Being able to change the PWM frequency is useful for motor characteristic matching
for problems such as noise reduction and resonance. The PWMRL/PWMRH registers are used to
monitor the PWM counter dynamically. The PWMON bit in the PWMC register is the 10-bit PWM
counter on/off bit. The PWM clock source for the PWM counter can be selected by PCKS1~PCKS0
bits in the PWMC register. The
PWMMS
bit field in the PWMC register determine
s
the PWM
alignment type, which can be either edge or cent
er
type. The PWMCS register is used for PWM
DUTR0~DUTR2 duty synchronisation control. Note that the DUTR3L/DUTR3H register pair does
not have an actual PWM output path, it only provides an additional PWM duty for BLDC motor
sine-wave calculation. The order of writing data to PWM register is high byte first and then low
byte.
Register
Name
Bit
7
6
5
4
3
2
1
0
PWMC
PWMMS1 PWMMS0 PCKS1
PCKS0 PWMON ITCMS1 ITCMS0 PWMLD
PWMCS
—
—
—
—
—
PWMSUF PWMSU PWMSV
DUTR0L
D�
D6
D5
D4
D3
D�
D1
D0
DUTR0H
—
—
—
—
—
—
D9
D�
DUTR1L
D�
D6
D5
D4
D3
D�
D1
D0
DUTR1H
—
—
—
—
—
—
D9
D�
DUTR�L
D�
D6
D5
D4
D3
D�
D1
D0
DUTR�H
—
—
—
—
—
—
D9
D�
DUTR3L
D�
D6
D5
D4
D3
D�
D1
D0
DUTR3H
—
—
—
—
—
—
D9
D�
PRDRL
D�
D6
D5
D4
D3
D�
D1
D0
PRDRH
—
—
—
—
—
—
D9
D�
PWMRL
D�
D6
D5
D4
D3
D�
D1
D0
PWMRH
—
—
—
—
—
—
D9
D�
PWM Registers List