Rev. 1.00
10�
��ne ��� �01�
Rev. 1.00
103
��ne ��� �01�
HT66FM5440
Brushless DC Motor A/D Flash MCU
HT66FM5440
Brushless DC Motor A/D Flash MCU
The EOCB bit in the ADCR0
register
is used to indicate whether the ADSTR triggered analog
to digital conversion process is completed. This bit will be automatically cleared to zero by the
microcontroller after an A/D conversion cycle has ended. Similarly, the ISEOCB bit in the ADCR2
register is used to indicate whether the A/D auto-scan triggered analog to digital conversion process is
completed. This bit will be automatically set high by the microcontroller after all the selected channels
for the A/D auto-scan conversion have been converted. In addition, the corresponding A/D interrupt
request flag AEOCF or ISAEOCF will be set in the interrupt control register, and if the interrupts are
enabled, an appropriate internal interrupt signal will be generated. This A/D internal interrupt signal
will direct the program flow to the associated A/D internal interrupt address for processing. If the A/
D internal interrupt is disabled, the microcontroller can poll the EOCB bit in the ADCR0 register to
check whether it has been cleared or poll the ISOECB bit in the ADCR2 register to check whether is
has been set high as an alternative method of detecting the end of an A/D conversion cycle.
The clock source for the A/D converter, which originates from the system clock f
SYS
, can be chosen
to be either f
SYS
or a subdivided version of f
SYS
. The division ratio value is determined by the
ADCK2~ADCK0 bits in the ADCR1 register. Although the A/D clock source is determined by the
system clock f
SYS
and by bits ADCK2~ADCK0, there are some limitations on the maximum and
minimum A/D clock source speed
s
that can be selected. As the recommended range of permissible
A/D clock period, t
ADCK
, is from 0.16μs to 10μs for 12-bit format, and 0.1μs to 10μs for 10-bit
format, care must be taken for system clock frequencies. Refer to the following table for examples,
where values marked with an asterisk * show where, special care must be taken, as the values may
exceed the specified A/D Clock Period range.
f
SYS
A/D Clock Period (t
ADCK
)
ADCK
[2:0]=000
(f
SYS
)
ADCK
[2:0]=001
(f
SYS
/2)
ADCK
[2:0]=010
(f
SYS
/4)
ADCK
[2:0]=011
(f
SYS
/8)
ADCK
[2:0]=100
(f
SYS
/16)
ADCK
[2:0]=101
(f
SYS
/32)
ADCK
[2:0]=110
(f
SYS
/64)
ADCK
[2:0]=111
5MHz
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
1�.�
μs
*
Undefined
10MHz
100ns *
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
Undefined
16MHz 6�.5ns *
1�5ns *
�50ns
500ns
1μs
2μs
4μs
Undefined
12-bit A/D Clock Period Examples
f
SYS
A/D Clock Period (t
ADCK
)
ADCK
[2:0]=000
(f
SYS
)
ADCK
[2:0]=001
(f
SYS
/2)
ADCK
[2:0]=010
(f
SYS
/4)
ADCK
[2:0]=011
(f
SYS
/8)
ADCK
[2:0]=100
(f
SYS
/16)
ADCK
[2:0]=101
(f
SYS
/32)
ADCK
[2:0]=110
(f
SYS
/64)
ADCK
[2:0]=111
5MHz
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
1�.�
μs
*
Undefined
10MHz
100ns
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
Undefined
16MHz 6�.5ns *
1�5ns
�50ns
500ns
1μs
2μs
4μs
Undefined
10-bit A/D Clock Period Examples (A/D Auto-scan Bypass Unity-gain Buffer)
f
SYS
A/D Clock Period (t
ADCK
)
ADCK
[2:0]=000
(f
SYS
)
ADCK
[2:0]=001
(f
SYS
/2)
ADCK
[2:0]=010
(f
SYS
/4)
ADCK
[2:0]=011
(f
SYS
/8)
ADCK
[2:0]=100
(f
SYS
/16)
ADCK
[2:0]=101
(f
SYS
/32)
ADCK
[2:0]=110
(f
SYS
/64)
ADCK
[2:0]=111
5MHz
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
1�.�
μs
*
Undefined
10MHz
100ns *
�00ns
400ns
�00ns
1.6
μs
3.�
μs
6.4
μs
Undefined
16MHz 6�.5ns *
1�5ns *
�50ns
500ns
1μs
2μs
4μs
Undefined
Note: In 10-bit A/D conversion applications, if multiple channels are used and go through the unity-
gain buffer, the minimum A/D clock period is 200ns, if the A/D clock period is configured to
be smaller than 200ns, the A/D auto-scan conversion results will be incorrect.
10-bit A/D Clock Period Examples (A/D Auto-scan By Unity-gain Buffer)