SX1511BIULTRT Semtech, SX1511BIULTRT Datasheet - Page 16

no-image

SX1511BIULTRT

Manufacturer Part Number
SX1511BIULTRT
Description
8-chan GPIO With Independent I/O Voltages (SPI)
Manufacturer
Semtech
Datasheets
ADVANCED COMMUNICATIONS & SENSING
4.6
4.6.1
Each input can be individually debounced by setting corresponding bits in RegDebounce register. At power up
the debounce function is disabled. After enabling the debouncer, the change of the input value is accepted only if
the input value is identical at two consecutive sampling times.
The debounce time common to all IOs can be set in RegDebounceConfig register from 0.5 to 64ms.(fOSC =
2MHz)
4.6.2
SX1511B, and SX1512B integrate a fully programmable keypad scanning engine to implement keypad
applications up to 8x8 matrix (i.e. 64 keys).
Please note that SX1512B also implements an Auto Sleep/Wakeup feature to save power consumption when no
key has been pressed for a programmed time.
Following procedure should be implemented on the host controller for a 4x4 keypad:
1. Set RegDir to 0xF0 (IO[3-0] as outputs, IO[7-4] as inputs) , set RegOpenDrain to 0x0F (IO[3-0] as open-drain
outputs), set RegPullup to 0xF0 (pull-ups enabled on inputs IO[7-4]).
2. Enable and configure debouncing on IO[7-4] (RegDebounceEnable = 0xF0, Ex : RegDebounceConfig = 0x05)
3. Enable and configure keypad scanning engine (Ex : RegKeyConfig = 0x7D) This will start an infinite loop with
the following sequence to IO[3:0]: ZZZ0, ZZ0Z, Z0ZZ, 0ZZZ. Make sure that scan interval is set to higher value
than the debounce time.
4. When a key is pressed, NINT goes low, key scan is halted and the key coordinates are stored in RegKeyData:
5. Restart from point 4.
This implementation allows the host to handle both single and multi-touches easily (fast AAAAAA sequence is a
long press of key A, fast ABABABAB sequence is key A and key B pressed together, etc)
4.6.3
Because of their 5.5V tolerant I/O banks with independent supply voltages between 1.2V and 3.6V, the SX1511B
and SX1512B can perform level shifting of signals from one I/O bank to another without uC activity by
programming the corresponding configuration register bits accordingly in RegLevelShifter (and RegDir).
Rev 3 – 9
I/O Banks
Input Debouncer
Keypad Scanning Engine
Level Shifter
th
Sept. 2010
The column data will be stored in RegKeyData[7:4] (Note: column indication is active low)
The row data will be stored in RegKeyData[3:0] (Note: row indication is active low)
When RegKeyData is read, this data along with the interrupt is automatically cleared (same behavior
as reading RegData) and the key scan continues to the next row.
Figure 11 – 4x4 Keypad Connection to SX1511B
- IO[3-0] as outputs (scanning)
- IO[7-4] as inputs
SX1511B
IO3
IO2
IO1
IO0
IO4
IO5
IO6
IO7
Y
RegKeyData =
16
X
Y
World’s Lowest Voltage Level Shifting GPIO
X
SX1510B/SX1511B/SX1512B
with LED Driver and Keypad Engine
www.semtech.com

Related parts for SX1511BIULTRT