
Rev. 1.20
132
November 20, 2019
Rev. 1.20
133
November 20, 2019
HT66F2740
12V High Current Flash MCU
HT66F2740
12V High Current Flash MCU
I
2
C Bus Start Signal
The START signal can only be generated by the master device connected to the I
2
C bus and not by
the slave device. This START signal will be detected by all devices connected to the I
2
C bus. When
detected, this indicates that the I
2
C bus is busy and therefore the HBB bit will be set. A START
condition occurs when a high to low transition on the SDA line takes place when the SCL line
remains high.
I
2
C Slave Address
The transmission of a START signal by the master will be detected by all devices on the I
2
C bus.
To determine which slave device the master wishes to communicate with, the address of the slave
device will be sent out immediately following the START signal. All slave devices, after receiving
this 7-bit address data, will compare it with their own 7-bit slave address. If the address sent out by
the master matches the internal address of the microcontroller slave device, then an internal USIM
I
2
C bus interrupt signal will be generated. The next bit following the address, which is the 8th bit,
defines the read/write status and will be saved to the SRW bit of the SIMC1 register. The slave
device will then transmit an acknowledge bit, which is a low level, as the 9th bit. The slave device
will also set the status flag HAAS when the addresses match.
As an USIM I
2
C bus interrupt can come from three sources, when the program enters the interrupt
subroutine, the HAAS and SIMTOF bits should be examined to see whether the interrupt source
has come from a matching slave address or from the completion of a data byte transfer or from the
I
2
C bus time-out occurrence. When a slave address is matched, the device must be placed in either
the transmit mode and then write data to the SIMD register, or in the receive mode where it must
implement a dummy read from the SIMD register to release the SCL line.
I
2
C Bus Read/Write Signal
The SRW bit in the SIMC1 register defines whether the master device wishes to read data from the
I
2
C bus or write data to the I
2
C bus. The slave device should examine this bit to determine if it is to
be a transmitter or a receiver. If the SRW flag is “1” then this indicates that the master device wishes
to read data from the I
2
C bus, therefore the slave device must be setup to send data to the I
2
C bus as
a transmitter. If the SRW flag is “0” then this indicates that the master wishes to send data to the I
2
C
bus, therefore the slave device must be setup to read data from the I
2
C bus as a receiver.
I
2
C Bus Slave Address Acknowledge Signal
After the master has transmitted a calling address, any slave device on the I
2
C bus, whose
own internal address matches the calling address, must generate an acknowledge signal. The
acknowledge signal will inform the master that a slave device has accepted its calling address. If no
acknowledge signal is received by the master then a STOP signal must be transmitted by the master
to end the communication. When the HAAS flag is high, the addresses have matched and the slave
device must check the SRW flag to determine if it is to be a transmitter or a receiver. If the SRW flag
is high, the slave device should be setup to be a transmitter so the HTX bit in the SIMC1 register
should be set to “1”. If the SRW flag is low, then the microcontroller slave device should be setup as
a receiver and the HTX bit in the SIMC1 register should be cleared to “0”.
I
2
C Bus Data and Acknowledge Signal
The transmitted data is 8-bit wide and is transmitted after the slave device has acknowledged receipt
of its slave address. The order of serial bit transmission is the MSB first and the LSB last. After
receipt of 8 bits of data, the receiver must transmit an acknowledge signal, level “0”, before it can
receive the next data byte. If the slave transmitter does not receive an acknowledge bit signal from
the master receiver, then the slave transmitter will release the SDA line to allow the master to send