SCPS311 March 2026 TXE8124
PRODUCTION DATA
Table 7-3 lists the memory-mapped registers for the TXE8124 registers. All register offset addresses not listed in Table 7-3 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | Scratch_Register | Scratch Register | Section 7.6.1 |
| 10h | Device_ID_Register | Device ID Register | Section 7.6.2 |
| 20h + formula | Input_Port_Register_y | Input Port Register | Section 7.6.3 |
| 30h + formula | Output_Port_Register_y | Output Port Register | Section 7.6.4 |
| 40h + formula | Direction_Configuration_Register_y | Direction Configuration Register | Section 7.6.5 |
| 50h + formula | Polarity_Inversion_Register_y | Polarity Inversion Register | Section 7.6.6 |
| 60h + formula | Push_Pull/Open_Drain_Selection_Register_y | Push Pull/Open Drain Selection Register | Section 7.6.7 |
| 80h + formula | Pull-up/Pull-down_Enable_Register_y | Pull-up/Pull-down Enable Register | Section 7.6.8 |
| 90h + formula | Pull-up/Pull-down_Selection_Register_y | Pull-up/Pull-down Selection Register | Section 7.6.9 |
| A0h + formula | Bus_Holder_Register_y | Bus Holder Register | Section 7.6.10 |
| B0h | Smart_Interrupt_Register | Smart Interrupt Register | Section 7.6.11 |
| C0h + formula | Interrupt_Mask_Register_y | Interrupt Mask Register | Section 7.6.12 |
| D0h + formula | Interrupt_Glitch_Filter_Enable_Register_y | Interrupt Glitch Filter Enable Register | Section 7.6.13 |
| E0h + formula | Interrupt_Flag_Status_Register_y | Interrupt Flag Status Register | Section 7.6.14 |
| F0h | Interrupt_Port_Status_Register | Interrupt Port Status Register | Section 7.6.15 |
| 120h | Fail-Safe_Enable_Register-1 | Fail-safe Enable Register-1 | Section 7.6.16 |
| 130h | Fail-Safe_Enable_Register-2 | Fail-Safe Enable Register-2 | Section 7.6.17 |
| 140h + formula | Fail-Safe_Direction_Configuration_Register-1_y | Fail-Safe Direction Configuration Register-1 | Section 7.6.18 |
| 150h + formula | Fail-Safe_Direction_Configuration_Register-2_y | Fail-Safe Direction Configuration Register-2 | Section 7.6.19 |
| 160h + formula | Fail-Safe_Output_Register-1_y | Fail-Safe Output Register-1 | Section 7.6.20 |
| 170h + formula | Fail-Safe_Output_Register-2_y | Fail-Safe Output Register-2 | Section 7.6.21 |
| 180h | Fail-Safe_Redundancy_Check_Register | Fail-Safe Redundancy Check Register | Section 7.6.22 |
| 190h | Fault_Status_Register | Fault Status Register | Section 7.6.23 |
| 1A0h | Software_Reset_Register | Software Reset Register | Section 7.6.24 |
Complex bit access types are encoded to fit into small table cells. Table 7-4 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| W1S | W 1S | Write 1 to set |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
Scratch_Register is shown in Table 7-5.
Return to the Summary Table.
The scratch register is a test register to read/write code from/to a blank register and resolve any coding issues
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Scratch_Value | R/W | 0h | 8-bit scratch value |
Device_ID_Register is shown in Table 7-6.
Return to the Summary Table.
The device identification register that has the device ID.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-0 | Device_ID | R | 1h | Device identification 0: TXE8116 1: TXE8124 |
Input_Port_Register_y is shown in Table 7-7.
Return to the Summary Table.
The input port register reflects the incoming logic level of the pins for the port, regardless of whether the configuration register defines the pin as an input or output. The input port registers are read only. Writes to these registers have no effect. The externally applied logic level determines the default value.
Offset = 20h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | IPy.7 | R | Xh | Py.7 input pin value |
| 6 | IPy.6 | R | Xh | Py.6 input pin value |
| 5 | IPy.5 | R | Xh | Py.5 input pin value |
| 4 | IPy.4 | R | Xh | Py.4 input pin value |
| 3 | IPy.3 | R | Xh | Py.3 input pin value |
| 2 | IPy.2 | R | Xh | Py.2 input pin value |
| 1 | IPy.1 | R | Xh | Py.1 input pin value |
| 0 | IPy.0 | R | Xh | Py.0 input pin value |
Output_Port_Register_y is shown in Table 7-8.
Return to the Summary Table.
The output port register reflect the outgoing logic levels of the pins Py.0 to Py.7, when defined as outputs by the configuration register. Bit values in the register have no effect on pins defined as inputs. Reads from the register reflect the value that is in the register and not the actual pin value.
Offset = 30h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | OPy.7 | R/W | 0h | Py.7 output value |
| 6 | OPy.6 | R/W | 0h | Py.6 output value |
| 5 | OPy.5 | R/W | 0h | Py.5 output value |
| 4 | OPy.4 | R/W | 0h | Py.4 output value |
| 3 | OPy.3 | R/W | 0h | Py.3 output value |
| 2 | OPy.2 | R/W | 0h | Py.2 output value |
| 1 | OPy.1 | R/W | 0h | Py.1 output value |
| 0 | OPy.0 | R/W | 0h | Py.0 output value |
Direction_Configuration_Register_y is shown in Table 7-9.
Return to the Summary Table.
The direction configuration registers configure the direction of the I/O pins. If a bit in the register is set to 0, the corresponding port pin is enabled as a high-impedance input. If a bit in the register is set to 1, the corresponding port pin is enabled as an output.
Offset = 40h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | DIRy.7 | R/W | 0h | Py.7 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 6 | DIRy.6 | R/W | 0h | Py.6 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 5 | DIRy.5 | R/W | 0h | Py.5 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 4 | DIRy.4 | R/W | 0h | Py.4 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 3 | DIRy.3 | R/W | 0h | Py.3 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 2 | DIRy.2 | R/W | 0h | Py.2 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 1 | DIRy.1 | R/W | 0h | Py.1 configuration 0: Pin is in input mode 1: Pin is in output mode |
| 0 | DIRy.0 | R/W | 0h | Py.0 configuration 0: Pin is in input mode 1: Pin is in output mode |
Polarity_Inversion_Register_y is shown in Table 7-10.
Return to the Summary Table.
The polarity inversion register allows polarity inversion of pins Py.0 to Py7, defined as inputs by the configuration register. If a bit in this register is set, the corresponding pin's polarity is inverted. If a bit in the register is cleared, the corresponding pin's polarity is retained.
Offset = 50h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | PIy.7 | R/W | 0h | Py.7 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 6 | PIy.6 | R/W | 0h | Py.6 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 5 | PIy.5 | R/W | 0h | Py.5 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 4 | PIy.4 | R/W | 0h | Py.4 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 3 | PIy.3 | R/W | 0h | Py.3 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 2 | PIy.2 | R/W | 0h | Py.2 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 1 | PIy.1 | R/W | 0h | Py.1 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
| 0 | PIy.0 | R/W | 0h | Py.0 polarity inversion 0: Polarity is unchanged 1: Polarity is inverted |
Push_Pull/Open_Drain_Selection_Register_y is shown in Table 7-11.
Return to the Summary Table.
The push pull / open drain selection register is used to select the pin as push-pull or open-drain. When the bit is set, the corresponding pin is configured as open-drain (Q1 is disabled and Q2 is active). When the bit is cleared, the corresponding pin is configured as push-pull (Q1 and Q2 are active).
Offset = 60h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | PPODy.7 | R/W | 0h | Py.7 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 6 | PPODy.6 | R/W | 0h | Py.6 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 5 | PPODy.5 | R/W | 0h | Py.5 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 4 | PPODy.4 | R/W | 0h | Py.4 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 3 | PPODy.3 | R/W | 0h | Py.3 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 2 | PPODy.2 | R/W | 0h | Py.2 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 1 | PPODy.1 | R/W | 0h | Py.1 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
| 0 | PPODy.0 | R/W | 0h | Py.0 output configuration bit 0: Pin is configured as output push-pull 1: Pin is configured as output open-drain |
Pull-up/Pull-down_Enable_Register_y is shown in Table 7-12.
Return to the Summary Table.
The pull-up/pull-down enable register allows the user to enable or disable pull-up/pull-down resistors on the GPIO pins. Setting the bit enables the selection of pull-up/pull-down resistors on the pins. Clearing the bit disconnects the pull-up/pull-down resistors from the pins. The resistors are disabled when the corresponding pins are configured as outputs.
Offset = 80h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | PEy.7 | R/W | 0h | Py.7 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 6 | PEy.6 | R/W | 0h | Py.6 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 5 | PEy.5 | R/W | 0h | Py.5 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 4 | PEy.4 | R/W | 0h | Py.4 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 3 | PEy.3 | R/W | 0h | Py.3 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 2 | PEy.2 | R/W | 0h | Py.2 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 1 | PEy.1 | R/W | 0h | Py.1 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
| 0 | PEy.0 | R/W | 0h | Py.0 pull-up/pull-down enable 0: Pull-up/Pull-down is disabled on the pin 1: Pull-up/Pull-down is enabled on the pin |
Pull-up/Pull-down_Selection_Register_y is shown in Table 7-13.
Return to the Summary Table.
The pull-up/pull-down selection register allows the user to configure each GPIO pin to have a pull-up or pull-down resistors. Setting the bit enables the pull-up resistors on the pins. Clearing the bit enables the pull-down resistors on the pins. If the pull-up/pull-down feature is disabled, then writing to the register will have no effect.
Offset = 90h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | PUDy.7 | R/W | 0h | Py.7 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 6 | PUDy.6 | R/W | 0h | Py.6 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 5 | PUDy.5 | R/W | 0h | Py.5 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 4 | PUDy.4 | R/W | 0h | Py.4 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 3 | PUDy.3 | R/W | 0h | Py.3 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 2 | PUDy.2 | R/W | 0h | Py.2 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 1 | PUDy.1 | R/W | 0h | Py.1 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
| 0 | PUDy.0 | R/W | 0h | Py.0 pull-up/pull-down selection 0: Pull-down resistor is enabled on the pin 1: Pull-up resistor is enabled on the pin |
Bus_Holder_Register_y is shown in Table 7-14.
Return to the Summary Table.
The bus holder register enables or disables the bus-hold or bus-keeper function of the GPIO pins. The feature is available only when the pin is configured as an input pin. When the register bit is set, the corresponding input pin state holds the line at its last known logical state when the device driving the pin floats its output.
Offset = A0h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | BHy.07 | R/W | 0h | Py.7 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 6 | BHy.6 | R/W | 0h | Py.6 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 5 | BHy.5 | R/W | 0h | Py.5 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 4 | BHy.4 | R/W | 0h | Py.4 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 3 | BHy.3 | R/W | 0h | Py.3 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 2 | BHy.2 | R/W | 0h | Py.2 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 1 | BHy.1 | R/W | 0h | Py.1 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
| 0 | BHy.0 | R/W | 0h | Py.0 bus holder configuration 0: Bus hold on the pin is disabled 1: Bus hold on the pin is enabled |
Smart_Interrupt_Register is shown in Table 7-15.
Return to the Summary Table.
The register is used to enable or disable the smart interrupt function. When the bit is set to 0 (smart interrupt enabled), a state change in any input pin generates an interrupt and if the input goes back to its initial state, the interrupt is cleard.
When the bit is set to 1 (smart interrupt disabled), a state change in any input pin generates an interrupt and if the input goes back to its initial state, the interrupt is not cleared. A read of the interrupt status flag register will clear the interrupt.
This feature is enabled at the port level only.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-3 | RESERVED | R | 0h | Do not use |
| 2 | SI.P2 | R/W | 0h | Smart Interrupt for Port 2 0: Enabled 1: Disabled |
| 1 | SI.P1 | R/W | 0h | Smart Interrupt for Port 1 0: Enabled 1: Disabled |
| 0 | SI.P0 | R/W | 0h | Smart Interrupt for Port 0 0: Enabled 1: Disabled |
Interrupt_Mask_Register_y is shown in Table 7-16.
Return to the Summary Table.
The interrupt mask register enables or disable interrupt generation from pins. If the mask register bit is set, and the input state of a pin changes, then interrupt is not asserted. If the mask register bit is cleared, and the input state of a pin changes, then interrupt is asserted.
Offset = C0h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | IMy.7 | R/W | 1h | Py.7 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 6 | IMy.6 | R/W | 1h | Py.6 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 5 | IMy.5 | R/W | 1h | Py.5 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 4 | IMy.4 | R/W | 1h | Py.4 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 3 | IMy.3 | R/W | 1h | Py.3 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 2 | IMy.2 | R/W | 1h | Py.2 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 1 | IMy.1 | R/W | 1h | Py.1 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
| 0 | IMy.0 | R/W | 1h | Py.0 interrupt mask bit 0: Interrupt is not masked on state change of the pin 1: Interrupt is masked on state change of the pin |
Interrupt_Glitch_Filter_Enable_Register_y is shown in Table 7-17.
Return to the Summary Table.
The interrupt glitch filter register enables or disable the glitch filter on the I/O. If the bit is set to 1, the glitch filter for the corresponding pin is enabled. If the bit is set to 0, the glitch filter for the corresponding pin is disabled.
Offset = D0h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | GFy.7 | R/W | 0h | Py.7 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 6 | GFy.6 | R/W | 0h | Py.6 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 5 | GFy.5 | R/W | 0h | Py.5 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 4 | GFy.4 | R/W | 0h | Py.4 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 3 | GFy.3 | R/W | 0h | Py.3 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 2 | GFy.2 | R/W | 0h | Py.2 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 1 | GFy.1 | R/W | 0h | Py.1 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
| 0 | GFy.0 | R/W | 0h | Py.0 glitch filter enable bit 0: Glitch filter is disabled 1: Glitch filter is enabled |
Interrupt_Flag_Status_Register_y is shown in Table 7-18.
Return to the Summary Table.
The interrupt status register is read only register bits used to identify the source of an interrupt. When read, a logic 1 indicates that the corresponding input pin was the source of the interrupt. A logic 0 indicates that the input pin is not the source of the an interrupt. When the corresponding bit in the interrupt mask register is set to 1 (masked), the interrupt status bit will return a logic 0.
Offset = E0h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | ISy.7 | R | 0h | Py.7 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 6 | ISy.6 | R | 0h | Py.6 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 5 | ISy.5 | R | 0h | Py.5 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 4 | ISy.4 | R | 0h | Py.4 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 3 | ISy.3 | R | 0h | Py.3 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 2 | ISy.2 | R | 0h | Py.2 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 1 | ISy.1 | R | 0h | Py.1 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
| 0 | ISy.0 | R | 0h | Py.0 interrupt status bit 0: Pin is not the source of interrupt 1: Pin is the source of the interrupt |
Interrupt_Port_Status_Register is shown in Table 7-19.
Return to the Summary Table.
The register is used to identify the IO port for the interrupt source. If the value of the bit is 1, it indicates that the source of the interrupt is from the corresponding IO port. If the value is 0, it indicates that none of the input pins in the IO port generated an interrupt.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-3 | RESERVED | R | 0h | Do not use |
| 2 | IPS.P2 | R/W | 0h | Interrupt Status for Port 2 0: No interrupt from Port 2 1: Interrupt from Port 2 |
| 1 | IPS.P1 | R/W | 0h | Interrupt Status for Port 1 0: No interrupt from Port 1 1: Interrupt from Port 1 |
| 0 | IPS.P0 | R/W | 0h | Interrupt Status for Port 0 0: No interrupt from Port 0 1: Interrupt from Port 0 |
Fail-Safe_Enable_Register-1 is shown in Table 7-20.
Return to the Summary Table.
This register reconfigures the reset pin as a fail-safe pin. The register is cleared on POR or fault condition as mentioned in the fault status register.
There are two fail-safe registers in the device that have to be written to program the I/O configuration with built-in redundancy. If the value in the two registers mismatch, it will generate an interrupt with fault status set accordingly.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-1 | RESERVED | R | 0h | Do not use |
| 0 | FS1EN | R/W | 0h | Fail-Safe Enable bit 0: Disable 1: Enable |
Fail-Safe_Enable_Register-2 is shown in Table 7-21.
Return to the Summary Table.
This register reconfigures the reset pin as a fail-safe pin. The register is cleared on POR or fault condition as mentioned in the fault status register.
There are two fail-safe registers in the device that have to be written to program the I/O configuration with built-in redundancy. If the value in the two registers mismatch, it will generate an interrupt with fault status set accordingly.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-1 | RESERVED | R | 0h | Do not use |
| 0 | FS2EN | R/W | 0h | Fail-Safe Enable bit 0: Disable 1: Enable |
Fail-Safe_Direction_Configuration_Register-1_y is shown in Table 7-22.
Return to the Summary Table.
The fail-safe direction configuration register-1 configure the direction of the I/O pins when the device enters a fail-safe state. If a bit in these register is set to 0, the corresponding IO pin is enabled as a high-impedance input during fail-safe mode. If a bit is set to 1, the corresponding IO pin is enabled as an output during fail-safe mode.
There are two registers per port, that have to be written to program the I/O configuration to ensure redundancy. If the registers mismatch, it will generate an interrupt with fault status set accordingly.
Offset = 140h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | FS1DIRy.7 | R/W | 0h | Py.7 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 6 | FS1DIRy.6 | R/W | 0h | Py.6 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 5 | FS1DIRy.5 | R/W | 0h | Py.5 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 4 | FS1DIRy.4 | R/W | 0h | Py.4 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 3 | FS1DIRy.3 | R/W | 0h | Py.3 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 2 | FS1DIRy.2 | R/W | 0h | Py.2 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 1 | FS1DIRy.1 | R/W | 0h | Py.1 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 0 | FS1DIRy.0 | R/W | 0h | Py.0 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
Fail-Safe_Direction_Configuration_Register-2_y is shown in Table 7-23.
Return to the Summary Table.
The fail-safe direction configuration register-2 configure the direction of the I/O pins when the device enters a fail-safe state. If a bit in these register is set to 0, the corresponding IO pin is enabled as a high-impedance input during fail-safe mode. If a bit is set to 1, the corresponding IO pin is enabled as an output during fail-safe mode.
There are two registers per port, that have to be written to program the I/O configuration to ensure redundancy. If the registers mismatch, it will generate an interrupt with fault status set accordingly.
Offset = 150h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | FS2DIRy.7 | R/W | 0h | Py.7 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 6 | FS2DIRy.6 | R/W | 0h | Py.6 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 5 | FS2DIRy.5 | R/W | 0h | Py.5 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 4 | FS2DIRy.4 | R/W | 0h | Py.4 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 3 | FS2DIRy.3 | R/W | 0h | Py.3 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 2 | FS2DIRy.2 | R/W | 0h | Py.2 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 1 | FS2DIRy.1 | R/W | 0h | Py.1 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
| 0 | FS2DIRy.0 | R/W | 0h | Py.0 fail-safe configuration bit 0: Pin is configured in input mode 1: Pin is configured in output mode |
Fail-Safe_Output_Register-1_y is shown in Table 7-24.
Return to the Summary Table.
The fail-safe output register-1 configure the output level of the pins defined as output by the fail-safe configuration register. Bit values in the register have no effect on pins defined as input.
There are two registers per port, that have to be written to with the same output value to ensure redundancy. If the registers mismatch, it will generate an interrupt with fault status set accordingly.
Offset = 160h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | FS1OPy.7 | R/W | 0h | Py.7 fail-safe output value |
| 6 | FS1OPy.6 | R/W | 0h | Py.6 fail-safe output value |
| 5 | FS1OPy.5 | R/W | 0h | Py.5 fail-safe output value |
| 4 | FS1OPy.4 | R/W | 0h | Py.4 fail-safe output value |
| 3 | FS1OPy.3 | R/W | 0h | Py.3 fail-safe output value |
| 2 | FS1OPy.2 | R/W | 0h | Py.2 fail-safe output value |
| 1 | FS1OPy.1 | R/W | 0h | Py.1 fail-safe output value |
| 0 | FS1OPy.0 | R/W | 0h | Py.0 fail-safe output value |
Fail-Safe_Output_Register-2_y is shown in Table 7-25.
Return to the Summary Table.
The fail-safe output register-2 configure the output level of the pins defined as output by the fail-safe configuration register. Bit values in the register have no effect on pins defined as input.
There are two registers per port, that have to be written to with the same output value to ensure redundancy. If the registers mismatch, it will generate an interrupt with fault status set accordingly.
Offset = 170h + (y * 1h); where y = 0h to 2h
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7 | FS2OPy.7 | R/W | 0h | Py.7 fail-safe output value |
| 6 | FS2OPy.6 | R/W | 0h | Py.6 fail-safe output value |
| 5 | FS2OPy.5 | R/W | 0h | Py.5 fail-safe output value |
| 4 | FS2OPy.4 | R/W | 0h | Py.4 fail-safe output value |
| 3 | FS2OPy.3 | R/W | 0h | Py.3 fail-safe output value |
| 2 | FS2OPy.2 | R/W | 0h | Py.2 fail-safe output value |
| 1 | FS2OPy.1 | R/W | 0h | Py.1 fail-safe output value |
| 0 | FS2OPy.0 | R/W | 0h | Py.0 fail-safe output value |
Fail-Safe_Redundancy_Check_Register is shown in Table 7-26.
Return to the Summary Table.
The fail-safe redundancy check register is used to enable the check on the fail-safe redundant registers (fail-safe enable register, fail-safe direction configuration register and fail-safe output register).
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-1 | RESERVED | R | 0h | Do not use |
| 0 | FSCHECKEN | R/W | 0h | Fail-Safe Check Enable bit 0: Disable 1: Enable |
Fault_Status_Register is shown in Table 7-27.
Return to the Summary Table.
The fault status register are set during fault conditions. Bit-0 is set to 1 for POR recovery. Bit-1 is set when the redundancy register has a mismatch. Bit-2 is set when the device is in fail safe mode. These flags are not cleared even if the fault condition goes away. They can only be cleared by performing a read of the fault status register.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-3 | RESERVED | R | 0h | Do not use |
| 2 | FSMODEACTIVE | R | 0h | Fail Safe function is Active |
| 1 | REGMISMATCH | R | 0h | Fail Safe function cleared due to register mismatch |
| 0 | POR | R | 1h | POR recovery status |
Software_Reset_Register is shown in Table 7-28.
Return to the Summary Table.
The register is used to trigger a software reset of the device. The register is auto-cleared when the reset state is entered.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-2 | RESERVED | R | 0h | Do not use |
| 1 | Register_Reset | R/W1S | 0h | When set triggers reset of all registers |
| 0 | Device_Reset | R/W1S | 0h | When set triggers reset of the full device |