ADP5588 Analog Devices, ADP5588 Datasheet - Page 9

no-image

ADP5588

Manufacturer Part Number
ADP5588
Description
Mobile I/O Expander and QWERTY Keypad Controller
Manufacturer
Analog Devices
Datasheet

Specifications of ADP5588

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

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ADP5588ACPZ
Manufacturer:
ADI
Quantity:
298
Part Number:
ADP5588ACPZ
Manufacturer:
NUVOTON
Quantity:
2 000
Part Number:
ADP5588ACPZ
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Part Number:
ADP5588ACPZ-R7
Manufacturer:
ADI
Quantity:
5 795
Part Number:
ADP5588ACPZ-R7
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Data Sheet
Autoincrement
The ADP5588 features automatic increment during I
access. This allows the user to increment the address pointer
without having to send a read command for subsequent
addresses. This minimizes processor intervention and, therefore,
saves processor bandwidth and current drain. Bit 7 of Register 0x01
must be set to initiate autoincrement (see Figure 16 for the full
write and read sequence).
Key Event Interrupt
On a key event (KE) interrupt, the processor reads the interrupt
register to determine the cause of the interrupt. If the KE_INT
bit in Register 0x02 is the cause of the interrupt, the state
machine sets the KE_INT bit and reads the key event count
from the KEC[3:0] field in Register 0x03 to determine the number
of events. It then reads the INT_STAT register (Register 0x02)
to make sure that no new events have come in. After all the
events are read, the KEC field is decremented to zero (KEC =0)
and the KE_INT bit can be cleared by writing a 1 to it. Both key
presses and key releases are capable of generating key event
interrupts. The KE_INT bit cannot be cleared, and the INT pin
cannot be deasserted, until the FIFO is cleared of all events.
Keypad Lock/Unlock Feature
The ADP5588 has a locking feature that allows the user to lock
the keypad or GPIs (configured to be part of the event table).
Once enabled, the keypad lock can prevent generation of key
event interrupts and key events to be recorded in the key event
table. This feature comprises the Unlock Key 1 and Unlock Key 2
registers (Register 0x0F and Register 0x10), the keypad lock
interrupt mask, the keypad unlock timers (Register 0x0E),
and the LCK1 and LCK2 bits, and the keylock enable bit
(Register 0x03).
The unlock keys can be programmed with any value of the keys
in the keypad matrix or any GPI values that are part of the key
event table. When the keypad lock interrupt mask timer is
enabled, the user must press two specific keys before a keylock
interrupt is generated or keypad events are recorded. After the
keypad is locked (set Bit 6, Register 0x03 to enable the lock), the
first time that the user presses any key, a key event interrupt is
generated. No additional interrupt is generated unless both
unlock key sequences are correct; then a keylock interrupt is
generated.
If the correct unlock keys are not pressed before the mask timer
expires, the state machine starts over. The first key event
interrupt is generated to allow the software to see that the user
has pressed a key so that the host can turn on the LCD and
READ KE(s) TO CLEAR
THROUGH 0x1F
REG. 0x1D
KP_MODE
REG. 0x01
REG. 0x03
KE_IEN
KEC
Figure 6. Key Event Interrupt Generation
WRITE 1 TO CLEAR
REG. 0x02
KE_INT
AND
INT DRIVE
2
C read
Rev. C | Page 9 of 28
status bit is set in Register 0x02; clearing that bit masks the
interrupt, causing the interrupt pin not to respond to the keylock
interrupt status bit. The mask interrupt timer should be set for
the time that it takes for the LCD to dim or turn off so that, if a
key is pressed, the backlight is set to bright mode again or reset
to turn on the LCD.
When the unlock mask interrupt timer equals 0, only the
correct unlock sequence can generate an interrupt. Disabling
the unlock mask interrupt timer allows the processor to remain
undisturbed for situations in which the user has the phone in a
pocket or purse and the keys are constantly pressed. The flow
chart in Figure 6 shows the interaction of the interrupt mask
timer and interrupt generation.
GENERAL-PURPOSE INPUTS AND OUTPUTS
The ADP5588 supports up to 18 programmable GPIOs that can
be configured to address a variety of uses. Figure 7 shows the
makeup of a typical GPIO block where GPIOx represents any of
the 18 I/O lines.
General Purpose Inputs (GPI)
The ADP5588 allows the user to configure all or some of its
GPIOs into GPIs (general-purpose inputs). After the GPIOs are
configured as GPIs, the user can opt to also turn on pull-up
resistors and interrupt generation capability, thus reducing the
amount of software monitoring and processor interaction and
saving power.
The programmed level of the GPI interrupt determines the
active level of the GPI pin. For example, if a GPI interrupt level
display the unlock message. The host then reads the lock status
register to see if the keypad is unlocked. After the first key event
interrupt, the state machine does not interrupt the processor
again unless the correct sequence is keyed. The state machine
resets if the correct sequences are not keyed before the keypad
lock interrupt mask timer expires.
The state of the keypad lock interrupt mask bit (Register 0x01,
Bit 2) in the configuration register determines whether the
interrupt pin is asserted when the keylock interrupt status bit
(Register 0x02, Bit 2) is set. Setting the keylock interrupt mask
bit causes the INT pin to be asserted when the keylock interrupt
Dx_IN_DBNC
Dx_IN
Dx_OUT
Dx_DIR
Figure 7. Typical GPIO Block
DEBOUNCE
V
CC
Dx_PULL
V
CC
GPIOx
ADP5588

Related parts for ADP5588