ZHCS290G September 2009 – June 2018 TCA8418
PRODUCTION DATA.
The TCA8418 has the ability to handle an overflow of the key event FIFO. An overflow event occurs when the FIFO is full of events (10 key events are stored) and a new key event occurs. In short, this means that the TCA8418 does not have the ability to hold any more key press information in the internal buffer. When this occurs, the OVR_FLOW_INT bit in the INT_STAT Register is set, and if the OVR_FLOW_IEN bit is set in the CFG Register, then the INT output will be asserted low to let the processor know that an overflow has occurred.
The TCA8418 has the ability to handle an overflow in 1 of two ways, which is determined by the bit value of the OVR_FLOW_M bit in the CFG Register.
Please see the Overflow Errata section for more information about overflow behavior.
OVR_FLOW_M Value | Overflow Mode | Behavior |
---|---|---|
1 | Enabled | Overflow data shifts with last event pushing first event out |
0 | Disabled (Default) | Overflow data is not stored and lost |
Consider the example below, if the FIFO is full of the key presses and a new key press comes in. This new overflow key press will be a key press of key 2 (0x82 is the hex representation of a key 2 press event)
FIFO Register | Original Value | After Key 1 Press Event (0x82) | |
---|---|---|---|
OVR_FLOW_M = 1 | OVR_FLOW_M = 0 | ||
A | 0x81 | 0xA0 | 0x81 |
B | 0xA0 | 0x01 | 0xA0 |
C | 0x01 | 0x20 | 0x01 |
D | 0x20 | 0x97 | 0x20 |
E | 0x97 | 0x17 | 0x97 |
F | 0x17 | 0xAD | 0x17 |
H | 0xAD | 0xA9 | 0xAD |
I | 0xA9 | 0x29 | 0xA9 |
J | 0x29 | 0x2D | 0x29 |
K | 0x2D | 0x82 | 0x2D |