
Data Sheet ADP5586
Rev. 0 | Page 11 of 44
11148-010
LOGIC EVENT
54321
109876
1514131211
2019181716
2524232221
3029282726
I/O CONFIGURATION
KEY EVENT
GPI EVENT
I
2
C BUSY?
R0 R3R1 R2 R4 R5*C0 C1 C2 C3 C4
PIN_CONFIG_A[7:0]
PIN_CONFIG_B[7:0]
FIFO
PIN_CONFIG_C[7:0]
EVENT_INT
OVRFLOW_INT
EC[4:0]
RESET_TRIG_TIME[3:0]
RESET_EVENT_A[7:0]
RESET_EVENT_B[7:0]
RESET_EVENT_C[7:0]
31
33
36
32
35
34
RESET_INITIATE
FIFO
UPDATE
KEY SCAN
CONTROL
COLUMN
SINK ON/OFF
ROW
SENSE
*R5 AVAILABLE ON ADP5586ACBZ-01-R7 ONLY.
Figure 10. Detailed Key Scan Block
Figure 10 shows a detailed representation of the key scan block
and its associated control and status signals. When all row and
column pins are used, a matrix of 25 unique keys can be scanned.
Use the PIN_CONFIG_A[5:0] and PIN_CONFIG_B[4:0] registers
(Register 0x3A and Register 0x3B, respectively) to configure the
I/Os for keypad decoding. The number label on each key switch
represents the event identifier that is recorded if that switch is
pressed. If all row/column pins are configured, it is possible to
observe all 25 key identifiers on the FIFO.
If a smaller 2 × 2 matrix is configured, for example, by using the
C2 and C3 column pins and the R1 and R2 row pins, only four
event identifiers (8, 9, 13, and 14) can possibly be observed on
the FIFO, as shown in Figure 10.
By default, the ADP5586 records key presses and releases on the
FIFO. Figure 11 illustrates what happens when a single key is
pressed and released. Initially, the key scanner is idle. When Key 3
is pressed, the scanner begins scanning through all configured
row/column pairs. After the scan wait time, the scanner again
scans through all configured row/column pairs and detects that
Key 3 has remained pressed, which sets the EVENT_INT interrupt
bit (Register 0x01, Bit 0). The event counter, EC[4:0] (Register 0x02,
Bits[4:0]), is then incremented to 1; EVENT1_IDENTIFIER[6:0]
of the FIFO is updated with its event identifier set to 3; and its
EVENT1_STATE bit is set to 1, indicating a key press.
KEY 3
KEY 3 PRESS
KEY 3 RELEASE
KEY SCAN
EVENT_INT
EC[4:0]
FIFO
1 2
1
0
0
0
3
3
0
0
11148-011
Figure 11. Press and Release Event
The key scanner continues the scan/wait cycles while the key
remains pressed. If the scanner detects that the key has been
released for two consecutive scan cycles, the event counter,
EC[4:0], is incremented to 2, and EVENT2_IDENTIFIER[6:0]
of the FIFO is updated with its event identifier set to 3. The
EVENT2_STATE bit is set to 0, indicating a release. The key
scanner returns to idle mode because no other keys are pressed.
Comentarios a estos manuales