English
Language : 

ADP5586 Datasheet, PDF (11/44 Pages) Analog Devices – Keypad Decoder and I/O Port Expander
Data Sheet
ADP5586
PIN_CONFIG_A[7:0]
PIN_CONFIG_B[7:0]
PIN_CONFIG_C[7:0]
RESET_TRIG_TIME[3:0]
RESET_EVENT_A[7:0]
RESET_EVENT_B[7:0]
RESET_EVENT_C[7:0]
RESET_INITIATE
KEY SCAN
CONTROL
EVENT_INT
I2C BUSY?
KEY EVENT
GPI EVENT
LOGIC EVENT
FIFO
UPDATE
OVRFLOW_INT
EC[4:0]
COLUMN
SINK ON/OFF
ROW
SENSE
FIFO
I/O CONFIGURATION
C0 C1 C2 C3 C4 R0 R1 R2 R3 R4 R5*
31
12345
32
6 7 8 9 10
33 11 12 13 14 15
34 16 17 18 19 20
35 21 22 23 24 25
36 26 27 28 29 30
*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.
KEY 3
KEY SCAN
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.
EVENT_INT
EC[4:0]
1
2
FIFO
KEY 3 PRESS 1 3
KEY 3 RELEASE 0 3
00
00
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.
Rev. 0 | Page 11 of 44