LS_I2C controller
RM0082
618/844
Doc ID 018672 Rev 1
TX_ABRT
Indicates transmission abort.
This bit is set to ‘b1 when the I
2
C controller, acting as a master, is unable to
complete a command that the processor has sent. Several conditions could
cause this interrupt to be issued:
– no slave acknowledge after the address is sent,
– the address slave does not acknowledge a byte of data,
– arbitration is lost,
– attempting to send a master command when configured only to be slave,
– IC_RESTART_EN bit in the IC_CON register (
) is set to
‘b0 (restart condition disabled), and the processor attempts to issue an
I
2
C function that is impossible to perform without using restart conditions,
– high-speed master code is acknowledged,
– start byte is acknowledged,
– general call address is not acknowledged,
– when a read request interrupt occurs and the processor has previously
placed the data in transmit buffer that has not been transmitted yet. This
data could have been intended to service a multi-byte RD_REQ that
ended up having fewer numbers of byte requested. Or, if
IC_RESTART_EN is disabled and the I
2
C loses control of the bus
between transfers and is then accessed as a slave-transmitter,
– if a read command is issued after a general call command has been
issued. Disabling the I
2
C reverts it back to normal operation,
– if the processor attempts to issue read command before a RD_REQ is
serviced.
Anytime this bit is set, the contents of both transmit and receive buffers are
flushed.
RD_REQ
Read request.
This bit is set to ‘b1 when the I
2
C controller is acting as a slave and another
I
2
C master is attempting to read data from our module. The I
2
C controller
holds the I
2
C bus in waiting state (SCL tied to low) until this interrupt is
serviced. The processor must acknowledge this interrupt and then write
the request data to the IC_DATA_CMD register.
TX_EMPTY
Transmit buffer at threshold value.
This bit is set to ‘b1 when the transmit buffer is at or below the threshold
value set in the IC_TX_TL register (
). It is automatically
cleared by hardware when buffer level goes above the threshold.
TX_OVER
Transmit buffer filled to IC_TX_BUFFER_DEPTH.
This bit is set during transmit if the transmit buffer is filled to
IC_TX_BUFFER_DEPTH and the processor attempts to issue another I
2
C
command by writing to the IC_DATA_CMD register.
RX_FULL
Transmit buffer reach RX_TL threshold.
This bit is set when the transmit buffer reaches or goes above the threshold
set in the IC_RX_TL register (
). It is automatically cleared
by hardware when buffer level goes below the threshold.
Table 539.
I
2
C controller interrupt sources (continued)
Name
Source