ADP5589 Analog Devices, ADP5589 Datasheet - Page 15

no-image

ADP5589

Manufacturer Part Number
ADP5589
Description
Keypad Decoder and I/O Expansion
Manufacturer
Analog Devices
Datasheet

Specifications of ADP5589

Vin Range
1.8 to 3.0V
Number Of I/os
19
Application
Mobil I-0 Exp-Keybd Cont,Mobil I-O Expander
Qwerty Keypad
Yes
Other Functions
I2C I/O & register
Function Flag
Mobil I-O
Package
24-Lead LFCSP,25-Ball WLCSP

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ADP5589ACPZ-00-R7
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Each of the 19 I/O lines can be configured as a general-purpose
logic input line. Figure 17 shows a detailed representation of the
GPI scan and detect block and all its associated control and
status signals.
The current input state of each GPI can be read back using the
GPI_STATUS_x registers. Each GPI can be programmed to
generate an interrupt via the GPI_INTERRUPT_EN_x registers.
The interrupt status is stored in the GPI_INT_STAT_x registers.
GPI interrupts can be programmed to trigger on inputs being
high or on inputs being low via the GPI_INT_LEVEL_x
registers. If any of the GPI interrupts is triggered, the master
GPI_INT interrupt is also triggered.
Figure 18 demonstrates a single GPI and how it affects its
corresponding status and interrupt status bits.
GPI Input
RESET_TRIGGER_TIME[2:0]
GPI_INTERRUPT_EN_A[7:0]
GPI_INTERRUPT_EN_B[7:0]
GPI_INTERRUPT_EN_C[2:0]
GPIO_DIRECTION_A[7:0]
GPIO_DIRECTION_B[7:0]
GPIO_DIRECTION_C[2:0]
EXT_LOCK_EVENT[7:0]
RESET1_EVENT_A[7:0]
RESET1_EVENT_B[7:0]
RESET1_EVENT_C[7:0]
RESET2_EVENT_A[7:0]
RESET2_EVENT_B[7:0]
GPI_INT_LEVEL_A[7:0]
GPI_INT_LEVEL_B[7:0]
GPI_INT_LEVEL_C[2:0]
GPI_EVENT_EN_A[7:0]
GPI_EVENT_EN_B[7:0]
GPI_EVENT_EN_C[2:0]
INT_MASK_TIMER[4:0]
UNLOCK_TIMER[2:0]
PIN_CONFIG_A[7:0]
PIN_CONFIG_B[7:0]
PIN_CONFIG_C[2:0]
UNLOCK1[7:0]
UNLOCK2[7:0]
LCK_TRK_GPI
(C10)
(R0)
(R1)
(R2)
(R3)
(R4)
(R5)
(R6)
(R7)
(C0)
(C1)
(C2)
(C3)
(C4)
(C5)
(C6)
(C7)
(C8)
(C9)
LOCK_EN
GPIO 10
GPIO 11
GPIO 12
GPIO 13
GPIO 14
GPIO 15
GPIO 16
GPIO 17
GPIO 18
GPIO 19
GPIO 1
GPIO 2
GPIO 3
GPIO 4
GPIO 5
GPIO 6
GPIO 7
GPIO 8
GPIO 9
Figure 17. GPI Scan and Detect Block
CONTROL
GPI SCAN
I
KEY EVENT
GPI EVENT
LOGIC EVENT
2
C BUSY?
LOCK_STAT
LOCK_INT
EVENT_INT
GPI_INT
GPI_INT_STAT_A[7:0]
GPI_INT_STAT_B[7:0]
GPI_INT_STAT_C[2:0]
GPI_STATUS_A[7:0]
GPI_STATUS_B[7:0]
GPI_STATUS_C[2:0]
UPDATE
FIFO
OVRFLOW_INT
EC[4:0]
FIFO
Rev. A | Page 15 of 48
GPI_INTERRUPT_EN_A[5]
GPIs can be programmed to generate FIFO events via the
GPI_EVENT_EN_x registers. GPIs in this mode do not gener-
ate GPI_INT interrupts and instead generate EVENT_INT
interrupts. Figure 19 shows several GPI lines and their effects
on the FIFO and event count, EC[4:0].
The GPI scanner is idle until it detects a level transition. It scans
the GPI inputs and updates accordingly. It then returns to idle
immediately; it does not scan/wait, like the key scanner. As
such, the GPI scanner can detect narrow pulses once they get
past the 50 μs input debounce filter.
GPIs (programmed for FIFO updating) can be used as keypad
unlock events via the UNLOCKx registers (see the FIFO
Lock/Unlock section). The LCK_TRK_GPI bit can be used to
allow GPIs (programmed for FIFO updating) to be tracked
when the keypad is locked.
GPO OUTPUT
Each of the 19 I/O lines can be configured as a general-purpose
output (GPO) line. Figure 6 shows a detailed diagram of the I/O
structure. See the Detailed Register Descriptions section for
GPO configuration and usage.
GPI SCAN
EVENT_INT
EC[4:0]
GPI 6
GPI 14
GPI 2
GPI 14 INACTIVE
GPI_INT_LEVEL_A[5]
GPI 14 ACTIVE
GPI_INT_STAT_A[5]
GPI 2 ACTIVE
GPI 6 ACTIVE
GPI 6 ACTIVE
GPI 2 ACTIVE
GPI_STATUS_A[5]
GPI_INT
GPI 6
1
1
1
0
0
0
FIFO
Figure 19. Multiple GPI Lines Example
1
101
105
113
113
105
101
Figure 18. Single GPI Example
2
3
4
CLEARED
BY READ
CLEARED
BY WRITE ‘1’
5
ADP5589
6

Related parts for ADP5589