Data Sheet ADP5587
Rev. D | Page 15 of 24
REGISTERS
The general behavior of registers is as follows:
All registers are 0 on reset.
All registers are read/write unless otherwise specified.
Unused bits are read as 0.
Interrupt bits are cleared by writing 1 to the flag; writing 0
or reading the flag has no effect, with the exception of the
key press, key release, and GPIO interrupt status registers,
which are cleared on a read.
Table 15.
Address Register Name Description
0x00 DEV_ID Device ID
0x01 CFG Configuration Register 1
0x02 INT_STAT Interrupt status register
0x03 KEY_LCK_EC_STAT Keylock and event counter register
0x04 KEY_E VENTA Key Event Register A
0x05 KEY_EVENTB Key Event Register B
0x06 KEY_EVENTC Key Event Register C
0x07 KEY_EVENTD Key Event Register D
0x08 KEY_EVENTE Key Event Register E
0x09 KEY_EVENTF Key Event Register F
0x0A
KEY_EVENTG
Key Event Register G
0x0B KEY_EVENTH Key Event Register H
0x0C KEY_EVENTI Key Event Register I
0x0D KEY_EVENTJ Key Event Register J
0x0E KP_LCK_TMR Keypad Unlock 1 timer to Keypad Unlock 2 timer
0x0F UNLOCK1 Unlock Key 1
0x10 UNLOCK2 Unlock Key 2
0x11 GPIO_INT_STAT1 GPIO interrupt status
0x12 GPIO_INT_STAT2 GPIO interrupt status
0x13 GPIO_INT_STAT3 GPIO interrupt status
0x14 GPIO_DAT_STAT1 GPIO data status, read twice to clear
0x15 GPIO_DAT_STAT2 GPIO data status, read twice to clear
0x16 GPIO_DAT_STAT3 GPIO data status, read twice to clear
0x17 GPIO_DAT_OUT1 GPIO data out
0x18 GPIO_DAT_OUT2 GPIO data out
0x19 GPIO_DAT_OUT3 GPIO data out
0x1A GPIO_INT_EN1 GPIO interrupt enable
0x1B
GPIO_INT_EN2
GPIO interrupt enable
0x1C GPIO_INT_EN3 GPIO interrupt enable
0x1D KP_GPIO1 Keypad or GPIO selection
0x1E KP_GPIO2 Keypad or GPIO selection
0x1F KP_GPIO3 Keypad or GPIO selection
0x20 GPI_EM_REG1 GPI Event Mode 1
0x21 GPI_EM_REG2 GPI Event Mode 2
0x22 GPI_EM_REG3 GPI Event Mode 3
0x23 GPIO_DIR1 GPIO data direction
0x24 GPIO_DIR2 GPIO data direction
0x25 GPIO_DIR3 GPIO data direction
0x26 GPIO_INT_LVL1 GPIO level detect
0x27 GPIO_INT_LVL2 GPIO level detect
0x28 GPIO_INT_LVL3 GPIO level detect
0x29 DEBOUNCE_DIS1 Debounce disable
ADP5587 Data Sheet
Rev. D | Page 16 of 24
Address Register Name Description
0x2A DEBOUNCE_DIS2 Debounce disable
0x2B DEBOUNCE_DIS3 Debounce disable
0x2C GPIO_PULL1 GPIO pull disable
0x2D GPIO_PULL2 GPIO pull disable
0x2E
GPIO_PULL3
GPIO pull disable
REGISTER DESCRIPTIONS
Table 16. DEV_IDRegister 0x00 (Device ID)
Register Name Register Description Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
DEV_ID Device ID[3:0], MFG ID[7:4] MFID3 MFID2 MFID1 MFID0 DID3 DID2 DID1 DID0
Table 17. CFGRegister 0x01 (Configuration Register 1)
Field
Bits
Description
AUTO_INC 7 I
2
C auto-increment. Burst read is supported; burst write is not supported.
1: I
2
C auto-increment is on.
0: I
2
C auto-increment is off.
GPIEM_CFG 6 GPI event mode configuration.
1: GPI events are not tracked when the keypad is locked.
0: GPI events are tracked when the keypad is locked.
OVR_FLOW_M 5 Overflow mode.
1: overflow mode is on; register overflow data shifts in, starting at the last event and losing first event data.
0: overflow mode is off; register overflow data is lost.
INT_CFG 4 Interrupt configuration.
1: processor interrupt is deasserted for 275 μs and is reasserted with pending key events.
0: processor interrupt remains asserted when host tries to clear interrupt while there is a pending key event.
OVR_FLOW_IEN
3
Overflow interrupt enable.
1: overflow interrupt is enabled.
0: overflow interrupt is disabled.
K_LCK_IM 2 Keypad lock interrupt mask.
1: keypad lock interrupt is enabled.
0: keypad lock interrupt is disabled.
GPI_IEN 1 GPI interrupt enable.
1: GPI interrupt is enabled.
0: GPI interrupt is disabled.
KE_IEN 0 Key events interrupt enable.
1: key events interrupt is enabled.
0: key events interrupt is disabled.
Data Sheet ADP5587
Rev. D | Page 17 of 24
Table 18. INT_STATRegister 0x02 (Interrupt Status Register)
Field Bits Description
Not Used [7:4] N/A
OVR_FLOW_INT
1
3 Overflow interrupt status. When set, write 1 to clear.
1: overflow interrupt is detected.
0: overflow interrupt is not detected.
K_LCK_INT
2
2 Keylock interrupt status. When set, write 1 to clear.
1: keylock interrupt is detected.
0: keylock interrupt is not detected.
GPI_INT
1, 3
1 GPI interrupt status. When set, write 1 to clear.
1: GPI interrupt is detected.
0: GPI interrupt is not detected.
KE_INT
1, 3
0 Key events interrupt status. When set, write 1 to clear.
1: key events interrupt is detected.
0: key events interrupt is not detected.
1
The KE_INT, GPI_INT, and OVR_FLOW_INT bits reflect the status of the interrupts when the interrupt types are enabled even if the processor interrupt is masked.
2
The K_LCK_INT bit is the interrupt to the processor when the keypad lock sequence is triggered.
3
If there is a pending key event or GPI interrupt in their respective registers, KE_INT is not cleared until the FIFO is empty, and GPI_INT is not cleared until the cause of
the interrupt is resolved. The host must write a 1 to the KE_INT and GPI_INT bits to clear them.
Table 19. KEY_LCK_EC_STATRegister 0x03 (Keylock and Event Counter Register)
Field Bits Description
K_LCK_EN [6] 0: lock feature is disabled.
1: lock feature is enabled.
LCK2, LCK1 [5:4] Keypad lock status[1:0] (00 = unlocked; 11 = locked; read-only bits).
KEC
1
[3:0] Key event count of key event register.
1
The KEC field indicates the key event count of key event registers that have values in the bit (KEC(0000) = 0 events, KEC(0001) = 1 event, KEC(1010) = 10 events). As the
key events are read and cleared, the state machine automatically reduces the event count in KEC.
Table 20. KEY_EVENTx—Register 0x04 to Register 0x0D (Key Event Register A to Key Event Register J)
1
Register Name Register Description Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
KEY_EVENTA
(Register 0x04)
Key Event Register A status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KA7 KA6 KA5 KA4 KA3 KA2 KA1 KA0
KEY_EVENTB
(Register 0x05)
Key Event Register B status (KE[6:0] = key number),
KP[7 ] = 0: released, 1: pressed (cleared on read)
KB7 KB6 KB5 KB4 KB3 KB2 KB1 KB0
KEY_EVENTC
(Register 0x06)
Key Event Register C status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KC7 KC6 KC5 KC4 KC3 KC2 KC1 KC0
KEY_EVENTD
(Register 0x07)
Key Event Register D status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KD7 KD6 KD5 KD4 KD3 KD2 KD1 KD0
KEY_EVENTE
2
(Register 0x08)
Key Event Register E status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KE7 KE6 KE5 KE4 KE3 KE2 KE1 KE0
KEY_EVENTF
(Register 0x09)
Key Event Register F status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KF7 KF6 KF5 KF4 KF3 KF2 KF1 KF0
KEY_EVENTG
(Register 0x0A)
Key Event Register G status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KG7 KG6 KG5 KG4 KG3 KG2 KG1 KG0
KEY_EVENTH
(Register 0x0B)
Key Event Register H status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KH7 KH6 KH5 KH4 KH3 KH2 KH1 KH0
KEY_EVENTI
(Register 0x0C)
Key Event Register I status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KI7
KI6
KI5
KI4
KI3
KI2
KI1
KI0
KEY_EVENTJ
(Register 0x0D)
Key Event Register J status (KE[6:0] = key number),
KP[7] = 0: released, 1: pressed (cleared on read)
KJ7 KJ6 KJ5 KJ4 KJ3 KJ2 KJ1 KJ0
1
Data in key event registers is provided as a FIFO, where data is sequentially provided on each read, regardless of an event register read. The user can read the
KEY_EVENTA register only for an event count or can read registers sequentially.
2
KE[6:0] reflects the value 1 to 80 for key press events and the value 97 to 114 for GPI events. For KE[7:0], 0 = key released event, 1 = key pressed event. For GPIEM_CFG,
0 reflects a change in the GPI from GPI_INT_LVL = true to GPI_INT_LVL = false; 1 reflects a change in the GPI in which the GPI_INT_LVL condition becomes true.

ADP5587ACBZ-R7

Mfr. #:
Manufacturer:
Analog Devices Inc.
Description:
Interface - I/O Expanders QWERTY Keypad Cntlr
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet