English
Language : 

W90P710_05 Datasheet, PDF (490/526 Pages) Winbond – 16/32-bit ARM microcontroller
W90P710
7.21 Keypad Interface
W90P710 Keypad Interface (KPI) is an APB slave with 4-row scan output and 8-column scan input.
KPI scans an array up to 16x8 with an external 4 to 16 decoder. It can also be programmed to scan
8x8 or 4x8 key array. If the 4x8 array is selected then external decoder is not necessary because the
scan signals are dived by W90P710 itself. For minimum pin counts application, an auxiliary priority
encoder (TTL 74148) can be used to encode 8 columns input to 3 binary code and one indicator flag.
Total 8 pins are required to implement 16x8 key scan.
Any 1 or 2 keys in the array that pressed are debounced and encoded. The keypad controller scan
key matrix from ROW0 COL 0 Æ 1 Æ 2 …. Æ 7, ROW1 COL 0 Æ 1 Æ 2 … Æ 7 till to ROW 16 (or
ROW 8 or ROW 4) COL 0 Æ 0 Æ 1 …. Æ 7. If more than 2 keys are pressed, only the keys or
apparent keys in the array with the lowest address will be decoded.
KPI also supports 2-keys scan interrupt and specified 3-keys interrupt or chip reset. If the 3 pressed
keys matches with the 3 keys defined in KPI3KCONF, it will generate an interrupt or chip reset to
nWDOG reset output depend on the ENRST setting. The interrupt is generated whenever the scanner
detects a key is pressed. The interrupt conditions are 1 key, 2 keys and 3keys.
W90P710 provides two keypad connecting interface. One is allocated in LCD (GPIO30-41) interface,
the other is in Ethernet RMII PHY interface and I2C interface 2 SDA1, SCL1 (GPIO42-51). Software
should set KPSEL bit in KPICONF register to decide which interface is used as keypad connection
port.
The keypad interface has the following features:
z maximum 16x8 array
z programmable debounce time
z low-power wakeup mode
z programmable three-key reset
- 490 -