ADP5589 Analog Devices, ADP5589 Datasheet - Page 12

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
ADP5589
Key Pad Extension
As shown in Figure 11, the keypad can be extended if each row
is connected directly to ground by a switch. If the switch placed
between R0 and ground is pressed, the whole row is grounded.
When the key scanner completes scanning, it normally detects
Key 1 to Key 11 as being pressed; however, this unique condi-
tion is decoded by the ADP5589, and Key Event 89 is assigned
to it. Up to eight more key event assignments are possible, allowing
the keypad size to extend up to 96. However, if one of the
extended keys is pressed, none of the keys on that row is
detectable. Activation of a ground key causes all other keys
sharing that row to be undetectable.
Ghosting
Ghosting is an occurrence where, given certain key press com-
binations on a keypad matrix, a false positive reading of an
additional key is detected. Ghosting is created when three or
more keys are pressed simultaneously on multiple rows or
columns (see Figure 14). Key combinations that form a right
angle on the keypad matrix can cause ghosting.
The solution to ghosting is to select a keypad matrix layout that
takes into account three key combinations that are most likely
to be pressed together. Multiple keys pressed across one row or
across one column do not cause ghosting. Staggering keys so that
they do not share a column also avoids ghosting. The most
common practice is to place keys that are likely to be pressed
together in the same row or column. Some examples of keys
that are likely to be pressed together are as follows:
EVENT_INT
KEY SCAN
KEY 32
EC[4:0]
The navigation keys in combination with Select.
The navigation keys in combination with the space bar.
The reset combination keys, such as CTRL + ALT + DEL.
KEY 32 PRESS
Figure 13. Asserting the EVENT_INT Interrupt
FIFO
1
0
0
0
32
0
0
0
1
READ
FIFO
0
0
0
0
FIFO
EVENT_INT CLEARED
0
0
0
0
KEY 32 RELEASE
0
0
0
0
0
FIFO
32
0
0
0
1
Rev. A | Page 12 of 48
FIFO Lock/Unlock
The ADP5589 features a lock mode, whereby events are pre-
vented from updating the FIFO or the event counter or from
generating EVENT_INT interrupts until an unlock event is
detected.
The lock feature is enabled by setting the LOCK_EN (0x37[0])
bit or, alternatively, by a user programmable key or GPI event
(set via EXT_LOCK_EVENT[7:0], Address 0x35). If the lock
feature is enabled by the LOCK_EN bit, the LOCK_STAT
(0x02[5]) bit is set. If the lock feature is enabled by an external
event, then the LOCK_STAT bit is set, and a LOCK_INT
interrupt is generated.
Unlock events are programmed via the UNLOCK1[7:0] (0x33)
and UNLOCK2[7:0] (0x34) registers. Bits[6:0] comprise the
even number. Bit 7 determines the active/inactive event (see the
UNLOCK1 Register 0x33 (Table 59) and the UNLOCK2
Register 0x34 (Table 60).
If the user chooses to use only one unlock event, only the
UNLOCK1[7:0] register should be programmed. Unlock events
can be key press events (Event 1 to Event 88). Key release events
are ignored when the keypad is locked and should not be used as
unlock events.
GPIs configured to generate FIFO updates can also be used as
unlock events (Event 97 to Event 115, either active or inactive).
If either UNLOCKx register is programmed with Value 127
(Event 127), this means that any allowable event (key or
GPI) is the unlock event. For example, if UNLOCK1[6:0] is
programmed with 17, and UNLOCK2[6:0] is programmed with
127, the unlock sequence is Key 17 press followed by any other
allowable event.
If the first unlock event is detected, partial unlock has occurred.
If the next event after the first unlock event is not the second
unlock event, then a full lock state is entered again. If the next
event after the first unlock event is the second unlock event,
then LOCK_STAT is cleared, and a LOCK_INT interrupt is
generated. The user can at any stage clear LOCK_EN. This
clears the LOCK_STAT bit but does not cause a LOCK_INT
interrupt to be generated.
Figure 14. COL0-ROW3 is a Ghost Key Due to Short Between ROW0, COL0,
ROW0
ROW1
ROW2
ROW3
COL2 and ROW3 During Key Press
GHOST
PRESS
COL0
COL1
PRESS
PRESS
COL2

Related parts for ADP5589