SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
The I2C module generates seven types of interrupts. These seven interrupts are accompanied with seven interrupt mask bits in the interrupt mask register (ICIMR) and with seven interrupt flag bits in the status register (ICSTR).
The I2C module generates the interrupt requests described below. All requests are multiplexed through an arbiter into a single I2C interrupt request to the CPU. Each interrupt request has a flag bit and an enable bit. Interrupts must be enabled prior to the occurrence of the expected interrupt condition. When one of the specified events occurs, the flag bit is set. If the corresponding enable bit is 0, the interrupt request is blocked. If the enable bit is 1, the interrupt request is forwarded to the CPU as an I2C interrupt request. As an alternative, the CPU can poll all of the bits shown in Table 13-19.
Flag | Name | Generated |
---|---|---|
AL | Arbitration-lost interrupt | Generated when the I2C module has lost an arbitration contest with another controller-transmitter |
NACK | No-acknowledge interrupt | Generated when the controller I2C does not receive an acknowledge from the receiver |
ARDY | Register-access-ready interrupt | Generated when the previously programmed address, data and command have been performed and the status bits have been updated. The interrupt is used to notify the device that the I2C registers are ready to be accessed. |
ICRRDY | Receive-data-ready interrupt | Generated when the received data in the receive-shift register (ICSR) has been copied into the data receive register (ICDRR). The RXRDY bit can also be polled by the device to determine when to read the received data in the ICDRR. |
ICXRDY | Transmit-data-ready interrupt | Generated when the transmitted data has been copied from the data transmit register (ICDXR) into the transmit-shift register (ICXSR). The TXRDY bit can also be polled by the device to determine when to write the next data into ICDXR. |
SCD | Stop-condition-detect interrupt | Generated when a STOP condition has been detected. |
AAS | Address-as-peripheral interrupt | Generated when the I2C has recognized its own peripheral address or an address of all zeroes. |