Rev. 1.00
140
��ne ��� �01�
Rev. 1.00
141
��ne ��� �01�
HT66FM5440
Brushless DC Motor A/D Flash MCU
HT66FM5440
Brushless DC Motor A/D Flash MCU
Shift Register
Transmit/
Receive
Control Unit
f
SYS
f
SUB
Data B�s
I
�
C Address Register
(IICA)
I
�
C Data Register
(IICD)
Address
Comparator
Read/Write Slave
SRW
Detect Start or Stop
HBB
Time-o�t
Control
IICTOF
Address Match
–
HAAS
I
�
C Interr�pt
Debo�nce
Circ�itry
SCL Pin
M
U
X
TXAK
Data o�t MSB
IICTOEN
Address Match
IICDEB[1:0]
SDA Pin
Data in MSB
Direction Control
HTX
�-bit Data Transfer Complete
–
HCF
I
2
C Block Diagram
The IICDEB1 and IICDEB0 bits determine the debounce time of the I
2
C interface. This uses the
system clock to in effect add a debounce time to the external clock to reduce the possibility of
glitches on the clock line causing erroneous operation. The debounce time, if selected, can be
chosen to be either 2 or 4 system clocks. To achieve the required I
2
C data transfer speed, there
exists a relationship between the system clock, f
SYS
, and the I
2
C debounce time. For either the I
2
C
Standard or Fast mode operation, users must take care of the selected system clock frequency and
the configured debounce time to match the criterion shown in the following table.
I
2
C Debounce Time Selection I
2
C Standard Mode (100kHz)
I
2
C Fast Mode (400kHz)
No Debo�nce
f
SYS
> � MHz
f
SYS
> 5 MHz
� system clock debo�nce
f
SYS
> 4 MHz
f
SYS
> 10 MHz
4 system clock debo�nce
f
SYS
> � MHz
f
SYS
> �0 MHz
I
2
C Minimum f
SYS
Frequency
I
2
C Registers
There are four control registers associated with the I
2
C bus, IICC0, IICC1, IICA and I
I
CTOC, and
one data register, IICD. Further explanation on each of the bits is given below.
T
he IICTOC register
is described in the
I
2
C Time-out Control section.
Register
Name
Bit
7
6
5
4
3
2
1
0
IICC0
─
─
─
─
IICDEB1 IICDEB0
IICEN
─
IICC1
HCF
HAAS
HBB
HTX
TXAK
SRW
IAMWU
RXAK
IICD
D�
D6
D5
D4
D3
D�
D1
D0
IICA
A6
A5
A4
A3
A�
A1
A0
─
IICTOC
IICTOEN
IICTOF
IICTOS5 IICTOS4 IICTOS3 IICTOS� IICTOS1 IICTOS0
I
2
C Registers List
The IICD register is used to store the data being transmitted and received on the I
2
C bus. Before the
microcontroller writes data to the I
2
C bus, the actual data to be transmitted must be placed in the IICD
register. After the data is received from the I
2
C bus, the microcontroller can read it from the IICD
register. Any transmission or reception of data from the I
2
C bus must be made via the IICD register.