The TXE8124
devices generate an interrupt on any rising or falling edge of an input I/O, provided that
the interrupt for that I/O is not masked. When an input pin state is different than the
input read register state, the corresponding interrupt flag bit is set, and the
INT output is asserted. The INT pin is
open-drain and requires an external pull-up resistor to VCC use the
interrupt feature, otherwise it may be left floating.
I/Os configured as outputs do not generate
interrupts. Switching a pin from output to input may generate a fault interrupt if the
actual pin level does not match the stored input port register value. If an I/O port was
previsouly in input state and detected an interrupt as switching to output, this won't clear
the interrupt flag. It only masks the interrupt pin. Then when the port is reconfigured as
input, the interrupt comes back.
With the following conditions, the interrupt
status bits can be cleared and the INT pin de-asserted.
- Hardware reset from
RESET pin - this de-asserts the interrupt temporarily as POR is
going to assert the interrupt
- Entering fail-safe mode - this disables
and de-assert the interrupt
- Reading Interrupt Flag Status
Register
- Setting the corresponding bit as 1 in
Interrupt Mask Register
There are four sources of interrupts in TXE8124:
- Smart Input Pin Interrupt: Smart
Interrupt is enabled or disabled at I/O port level by setting the corresponding port bit
in the Smart Interrupt Register. If Smart Interrupt (the corresponding register bit as 0)
is enabled and an interrupt is generated, the interrupt clears if the I/O state goes back
to the intial logic state or it reads the Interrupt Flag Status Register. For example, if
the Input Port Register is read and/or the I/O state goes back to the initial state, the
interrupt is cleared even if there is no reading operation on the Interrupt Flag Status
Register. Refer to Table 7-1 for the different interrupt clearing scenarios. To avoid missing the interrupt clear
due to false IO toggle, it is strongly recommended to enable the glitch filter enable in
the Input Glitch Filter Enable Register.
- Regular Input Pin Interrupt: When
Smart Interrupt is disabled (the corresponding register bit as 1) in the Smart Interrupt
Register, the I/O state going back to the initial logic state cannot clear the interrupt,
only reading the Interrupt Flag Status Register clears the interrupt.
Table 7-1 Interrupt Flag Clearing Scenarios
for Smart Interrupt
| Smart Interrupt |
CS state when IO input changes |
Interrupt flag clears |
| Disable |
CS = High |
CS to be low and SPI reading Interrupt Flag Status
Register |
| Disable |
CS = Low |
Reading Interrupt Flag Status Register |
| Enable |
CS = High |
- CS to
be low and SPI reading Input Port Register
- IO state going back to the
initial state
- CS to
be low and SPI reading Interrupt Flag Status Register
|
| Enable |
CS = Low |
- Reading Input Port Register
or IO states going back to the initial state will not clear the interrupt
flag immediately. After CS becomes high and holds over
30ns, the interrupt flag is cleared.
- Reading Interrupt Flag
Status Register
|
- POR Interrupt : the POR fault bit
is set in the Fault Status Register for each POR recovery, which also generates an
interrupt. The interrupt is only cleared when the Fault Status Register is read.
- Fail-safe Redundancy Failure
Interrupt: When the fail-safe redundancy check is enabled, and if any fail-safe
redundancy check failure occurs, a fail-safe sync fault bit is set in the Fault Status
Register. This also generates an interrupt. The interrupt is only cleared when the Fault
Status Register is read.
Interrupt Masking
Interrupts from all input I/Os are unmasked
by default. To mask an interrupt, the corresponding I/O bit needs to be set in the interrupt
mask register. The interrupt generated by POR recovery cannot be masked.
If the state of an input I/O is changed and
the corresponding bit in the Interrupt mask register is set to 1, the interrupt is masked
and the INT pin is not asserted. The corresponding bit in the interrupt
flag status register also stays at 0 and is blocked by the interrupt mask bit.
The interrupts generated by fail-safe
redundancy check fail is disabled if the fail-safe redundancy check enable bit is 0.
Multiple ports can be configured for
interrupt masking at the same time by using multi port command.