SEMTECH SX1509QBIULTRT

SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO with LED Driver and Keypad Engine
GENERAL DESCRIPTION
KEY PRODUCT FEATURES
The SX1508QB and SX1509QB are complete ultra
low voltage General Purpose parallel Input/Output
(GPIO) expanders ideal for low power handheld
battery powered equipment. This family of GPIOs
comes in 8-, 16-channel configuration and allows
easy serial expansion of I/O through a standard
2
400kHz I C interface. GPIO devices can provide
additional control and monitoring when the
microcontroller or chipset has insufficient I/O ports, or
in systems where serial communication and control
from a remote location is advantageous.
•
•
•
•
These devices can also act as a level shifter to
connect a microcontroller running at one voltage level
to a component running at a different voltage level,
thus eliminating the need for extra level translating
circuits. The core is operating as low as 1.425V while
the dual I/O banks can operate between 1.2V and
3.6V independent of the core voltage and each other
(5.5V tolerant).
•
•
The SX1508QB and SX1509QB feature a fully
programmable LED Driver with internal oscillator for
enhanced lighting control such as intensity (via 256step PWM), blinking and breathing (fade in/out) make
them highly versatile for a wide range of LED
applications.
•
In addition, keypad applications are also supported
with an on-chip scanning engine that enables
continuous keypad monitoring up to 64 keys without
any additional host interaction reducing bus activity.
•
•
•
•
•
•
•
•
The SX1508QB and SX1509QB have the ability to
generate mask-programmable interrupts based on a
falling/rising edge of any of its GPIO lines. A
dedicated pin (NINT) indicates to a host controller
that a state change occurred on one or more of the
lines. Each GPIO is programmable via a bank of 8-bit
configuration registers that include data, direction,
pull-up/pull-down, interrupt mask and interrupt
registers. These I/O expanders feature small footprint
packages and are rated from -40°C to +85°C
temperature range.
TYPICAL APPLICATIONS
•
•
•
ORDERING INFORMATION
I/Os
8
16
8
16
Package
QFN-UT-20
QFN-UT-28
Evaluation Kit
Evaluation Kit
Cell phones, PDAs, MP3 players
Digital camera, Notebooks, GPS Units
Any battery powered equipment
Marking
HAB7
HCA5
-
OSCIO
Part Number
SX1508QBIULTRT
SX1509QBIULTRT
SX1508BEVK
SX1509BEVK
1.2V to 3.6V Low Operating Voltage with Dual
Independent I/O Rails (VCC1, VCC2)
Enable Direct Level Shifting Between I/O
Banks and Host Controller
5.5V Tolerant I/Os, Up to 15mA Output Sink on
All I/Os (No Total Sink Current Limit)
Integrated LED Driver for Enhanced Lighting
Intensity Control (256-step PWM)
Blink Control (224 On/Off values)
Breathing Control (224 Fade In/Out values)
On-Chip Keypad Scanning Engine
Support Up to 8x8 Matrix (64 Keys)
Configurable Input Debouncer
8/16 Channels of True Bi-directional Style I/O
Programmable Pull-up/Pull-down
Push/Pull or Open-drain outputs
Programmable Polarity
Open Drain Active Low Interrupt Output (NINT)
Bit Maskable
Programmable Edge Sensitivity
Built-in Clock Management (Internal 2MHz
Oscillator/External Clock Input, 7 clock values)
OSCIO can be Configured as GPO
2
400kHz I C Compatible Slave Interface
4 User-Selectable I²C Slave Addresses
Power-On Reset and Reset Input (NRESET)
Ultra Low Current Consumption: 1uA Typ
-40°C to +85°C Operating Temperature Range
Up to 2kV HBM ESD Protection
Small Footprint Packages
Pb & Halogen Free, RoHS/WEEE compliant
LEVEL SHIFTING
VCC1
1.2 - 3.6V
IO0
IO1
VDDM
1.425 - 3.6V
Host
Controller
IO2
IO3
I2C
NINT
SX1508QB
NRESET
FULL LED DRIVE
VCC2
1.2 - 3.6V
IO4
IO5
IO6
KEYPAD SCANNING
ADDR1
ADDR0
IO7
BUTTON CONTROL
th
Rev 4 – 26 April 2011
1
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Table of Contents
GENERAL DESCRIPTION ..................................................................................................................... 1
ORDERING INFORMATION................................................................................................................... 1
KEY PRODUCT FEATURES.................................................................................................................. 1
TYPICAL APPLICATIONS ..................................................................................................................... 1
1
PIN DESCRIPTION ...................................................................................................................... 4
1.1
1.2
1.3
2
2
SX1508QB 8-channel I C GPIO with LED Driver and Keypad Engine
2
SX1509QB 16-channel I C GPIO with LED Driver and Keypad Engine
I/Os Feature Summary
4
5
6
ELECTRICAL CHARACTERISTICS ............................................................................................... 7
2.1
2.2
Absolute Maximum Ratings
Electrical Specifications
7
7
3
TYPICAL OPERATING CHARACTERISTICS ............................................................................... 10
4
BLOCK DETAILED DESCRIPTION ............................................................................................. 11
2
4.1
4.2
4.3
SX1508QB 8-channel I C GPIO with LED Driver and Keypad Engine
2
SX1509QB 16-channel I C GPIO with LED Driver and Keypad Engine
Reset
4.3.1
Hardware (NRESET)
4.3.2
Software (RegReset)
2
4.4
2-Wire Interface (I C)
4.4.1
WRITE
4.4.2
READ
4.5
I/O Banks
4.5.1
Input Debouncer
4.5.2
Keypad Scanning Engine
4.5.3
Level Shifter
4.5.4
Polarity Inverter
4.6
Interrupt (NINT)
4.7
Clock Management
4.8
LED Driver
4.8.1
Overview
4.8.2
Static Mode
4.8.3
Single Shot Mode
4.8.4
Blink Mode
4.8.5
LED Driver Modes
4.8.6
Synchronization of LED Drivers across several ICs
4.8.7
Tutorial
5
11
11
12
12
12
12
13
13
14
14
14
15
16
16
17
17
17
18
18
19
19
20
20
CONFIGURATION REGISTERS .................................................................................................. 22
5.1
5.2
6
SX1508QB 8-channel GPIO with LED Driver and Keypad Engine
SX1509QB 16-channel GPIO with LED Driver and Keypad Engine
22
26
APPLICATION INFORMATION ................................................................................................... 32
6.1
6.2
7
Typical Application Circuit
Typical LED Connection
32
32
PACKAGING INFORMATION ..................................................................................................... 33
7.1
7.2
QFN-UT 20-pin Outline Drawing
QFN-UT 20-pin Land Pattern
th
Rev 4 – 26 April 2011
33
33
2
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
7.3
7.4
QFN-UT 28-pin Outline Drawing
QFN-UT 28-pin Land Pattern
34
34
8
SOLDERING PROFILE .............................................................................................................. 35
9
MARKING INFORMATION ......................................................................................................... 36
th
Rev 4 – 26 April 2011
3
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
1
1.1
PIN DESCRIPTION
2
SX1508QB 8-channel I C GPIO with LED Driver and Keypad Engine
Pin
Symbol
Type
1
2
3
4
NRESET
SDA
SCL
ADDR0
DI
DIO
DI
DI
5
I/O[0]
DIO (*1)
6
I/O[1]
DIO (*1)
7
8
VCC1
GND
9
I/O[2]
DIO (*1)
10
I/O[3]
DIO (*1)
11
12
13
14
NINT
ADDR1
OSCIO
VDDM
15
I/O[4]
DIO (*1)
16
I/O[5]
DIO (*1)
17
18
VCC2
GND
19
I/O[6]
DIO (*1)
20
I/O[7]
DIO (*1)
P
P
DO
DI
DIO (*1)
P
P
P
Description
Active low reset input
I2C serial data line
I2C serial clock line
Address input bit 0, connect to VDDM or GND
I/O[0], at power-on configured as an input
LED driver : Intensity control (PWM)
I/O[1], at power-on configured as an input
LED driver : Intensity control (PWM)
Supply voltage for Bank A I/O[3-0]
Ground Pin
I/O[2], at power-on configured as an input
LED driver : Intensity control (PWM), Blinking
I/O[3], at power-on configured as an input
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
Active low interrupt output
Address input bit 1, connect to VDDM or GND
Oscillator input/output, can also be used as GPO
Main supply voltage
I/O[4], at power-on configured as an input
LED driver : Intensity control (PWM)
I/O[5], at power-on configured as an input
LED driver : Intensity control (PWM)
Supply voltage for Bank B I/O[7-4]
Ground Pin
I/O[6], at power-on configured as an input
LED driver : Intensity control (PWM), Blinking
I/O[7], at power-on configured as an input
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
D/I/O/P: Digital/Input/Output/Power
This pin is programmable through the I2C interface
(*1)
I/O[5]
VCC2
GND
I/O[6]
I/O[7]
Table 1 – SX1508QB Pin Description
NRESET
I/O[4]
SDA
VDDM
SCL
OSCIO
ADDR0
ADDR1
I/O[3]
NINT
I/O[2]
VCC1
I/O[1]
I/O[0]
GND
GND
(PAD)
Figure 1 – SX1508QB QFN-UT-20 Pinout
th
Rev 4 – 26 April 2011
4
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
1.2
2
SX1509QB 16-channel I C GPIO with LED Driver and Keypad Engine
Pin
Symbol
Type
Description
I/O[2], at power-on configured as an input
LED driver : Intensity control (PWM), Blinking
I/O[3], at power-on configured as an input
2
I/O[3]
DIO (*1)
LED driver : Intensity control (PWM), Blinking
3
GND
P
Ground Pin
4
VCC1
P
Supply voltage for Bank A I/O[7-0]
I/O[4], at power-on configured as an input
5
I/O[4]
DIO (*1)
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[5], at power-on configured as an input
(*1)
6
I/O[5]
DIO
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[6], at power-on configured as an input
(*1)
7
I/O[6]
DIO
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[7], at power-on configured as an input
8
I/O[7]
DIO (*1)
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
9
NINT
DO
Active low interrupt output
10
ADDR1
DI
Address input bit 1, connect to VDDM or GND
11
OSCIO
DIO (*1)
Oscillator input/output, can also be used as GPO
12
VDDM
P
Main supply voltage
I/O[8], at power-on configured as an input
(*1)
13
I/O[8]
DIO
LED driver : Intensity control (PWM), Blinking
I/O[9], at power-on configured as an input
(*1)
14
I/O[9]
DIO
LED driver : Intensity control (PWM), Blinking
I/O[10], at power-on configured as an input
(*1)
15
I/O[10]
DIO
LED driver : Intensity control (PWM), Blinking
I/O[11], at power-on configured as an input
16
I/O[11]
DIO (*1)
LED driver : Intensity control (PWM), Blinking
17
GND
P
Ground Pin
18
VCC2
P
Supply voltage for Bank B I/O[15-8]
I/O[12], at power-on configured as an input
(*1)
19
I/O[12]
DIO
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[13], at power-on configured as an input
(*1)
20
I/O[13]
DIO
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[14], at power-on configured as an input
(*1)
21
I/O[14]
DIO
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
I/O[15], at power-on configured as an input
22
I/O[15]
DIO (*1)
LED driver : Intensity control (PWM), Blinking, Breathing (Fade In/Out)
23
NRESET
DI
Active low reset input
24
SDA
DIO
I2C serial data line
25
SCL
DI
I2C serial clock line
26
ADDR0
DI
Address input bit 0, connect to VDDM or GND
I/O[0], at power-on configured as an input
(*1)
27
I/O[0]
DIO
LED driver : Intensity control (PWM), Blinking
I/O[1], at power-on configured as an input
(*1)
28
I/O[1]
DIO
LED driver : Intensity control (PWM), Blinking
(*1)
2
This pin is programmable through the I C interface
1
I/O[2]
DIO
(*1)
22 I/O[15]
23 NRESET
20
I/O[13]
TOP VIEW
19
I/O[12]
GND
(PAD)
18
VCC2
I/O[4] 5
17
GND
I/O[5] 6
16
I/O[6] 7
15
I/O[11]
I/O[10]
I/O[9] 14
ADDR1 10
NINT 9
I/O[7] 8
I/O[8] 13
I/O[3] 2
VCC1 4
Rev 4 – 26 April 2011
24 SDA
I/O[14]
VDDM 12
21
OSCIO 11
I/O[2] 1
GND 3
th
25 SCL
26 ADDR0
27 I/O[0]
28 I/O[1]
Table 2 – SX1509QB Pin Description
Figure 2 – SX1509QB QFN-UT-28 Pinout
5
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
1.3
I/Os Feature Summary
SX1508QB
LED Driver
Keypad
I/O
PWM
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
√
√
√
√
√
√
√
√
Blink
√
√
√
√
Breathe
Row
√
√
√
√
√
√
Col.
√
√
√
√
SX1509QB
LED Driver
Keypad
PWM
Blink
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
Breathe
Row
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
Col.
√
√
√
√
√
√
√
√
Table 3 – I/Os Feature Summary
Please note that in addition to table above, all I/Os feature bank-to-bank and bank-to-host level shifting.
th
Rev 4 – 26 April 2011
6
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
2
ELECTRICAL CHARACTERISTICS
2.1
Absolute Maximum Ratings
Stress above the limits listed in the following table may cause permanent failure. Exposure to absolute ratings for
extended time periods may affect device reliability. The limiting values are in accordance with the Absolute
Maximum Rating System (IEC 134). All voltages are referenced to ground (GND).
Symbol
Description
Min
Max
Unit
Vmax_VDDM
Main supply voltage
- 0.4
3.7
V
Vmax_VCC1-2
Digital I/O pin supply voltage
- 0.4
3.7
V
(1)
Electrostatic handling HBM model (SX1508QB)
2000
VES_HBM
V
(1)
Electrostatic handling HBM model (SX1509QB)
1500
VES_CDM
VES_MM
Electrostatic handling CDM model
-
1000
Electrostatic handling MM model (SX1508QB)
-
200
Electrostatic handling MM model (SX1509QB)
-
150
V
V
TA
Operating ambient temperature range
-40
+85
°C
TC
Junction temperature range
-40
+125
°C
TSTG
Storage temperature range
-55
+150
°C
+/-100
-
mA
Ilat
(2)
Latchup-free input pin current
(1) Tested according to JESD22-A114A
(2) Static latch-up values are valid at maximum temperature according to JEDEC 78 specification
Table 4 - Absolute Maximum Ratings
2.2
Electrical Specifications
Table below assumes default registers values, unless otherwise specified. Typical values are given for
+25°C, VDDM=VCC1=VCC2=3.3V.
Symbol Description
Conditions
Min
Typ
Max
Supply
VDDM Main supply voltage
1.425
3.6
VCC1,2 I/O banks supply voltage
1.2
3.6
Oscillator OFF
1
5
Main supply current
Internal osc. (2MHz)
175
235
2
(SX1508QB, I C inactive)
External osc. (32kHz)
10
IDDM
Oscillator OFF
1
5
Main supply current
Internal osc. (2MHz)
365
460
2
(SX1509QB, I C inactive)
External osc. (32kHz)
10
(1)
ICC1,2 I/O banks supply current
1
2
I/Os set as Input
0.7*
(8)
VCC1,2 >= 2V
5.5
VCC1,2
VIH
High level input voltage
0.8*
(8)
VCC1,2 < 2V
5.5
VCC1,2
0.3*
VCC1,2 >= 2V
-0.4
VCC1,2
VIL
Low level input voltage
0.2*
VCC1,2 < 2V
-0.4
VCC1,2
Assuming no active
ILEAK
Input leakage current
-1
1
pull-up/down
CI
Input capacitance
10
I/Os set as Output
VCC1,2
VOH
High level output voltage
VCC1,2
– 0.3
VOL
Low level output voltage
-0.4
0.3
(2)
VCC1,2 >= 2V
8
IOH
High level output source current
(2)
VCC1,2 < 2V
2
(2)
VCC1,2 >= 2V
15
IOL
Low level output sink current
(2)
VCC1,2 < 2V
8
th
Rev 4 – 26 April 2011
7
TA =
Unit
V
V
µA
µA
µA
V
V
µA
pF
V
V
mA
mA
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Symbol Description
tPV
Output data valid timing
NINT (Output)
VOL
Low level output voltage
IOLM
Low level output sink current
tIV
Interrupt valid timing
tIR
Interrupt reset timing
Conditions
Cf. Figure 8
Min
-
Typ
-
Max
425
Unit
ns
VDDM >= 2V
VDDM < 2V
From input data change
From RegInterruptSource
clearing
-0.4
-
-
0.3
8
4
4
V
mA
-
-
4
µs
µs
NRESET (Input)
VIHMR
High level input voltage
VILM
Low level input voltage
ILEAK Input leakage current
CI
Input capacitance
VPOR Power-On-Reset voltage
VDROPH High brown-out voltage
VDROPL Low brown-out voltage
tRESET
Reset time
tPULSE
Reset pulse from host uC
ADDR0, ADDR1 (Inputs)
VIHMA
High level input voltage
VILM
Low level input voltage
ILEAK Input leakage current
CI
Input capacitance
OSCIO (Input/Output)
VIHMO
High level input voltage
VILMO
Low level input voltage
ILEAK
CI
VOHM
VOL
Input leakage current
Input capacitance
High level output voltage
Low level output voltage
IOHM
High level output source current
IOLM
Low level output sink current
VDDM >= 2V
VDDM < 2V
VDDM >= 2V
VDDM < 2V
Cf. Figure 6
Cf. Figure 6
Cf. Figure 6
Cf. Figure 6
Cf. Figure 6
0.7*VDDM
0.8*VDDM
-0.4
-0.4
-1
0.8
VDDM-1
0.2
200
-
VDDMmax
VDDMmax
0.3*VDDM
0.2*VDDM
1
10
2.5
-
VDDM >= 2V
VDDM < 2V
VDDM >= 2V
VDDM < 2V
-
0.7*VDDM
0.8*VDDM
-0.4
-0.4
-1
-
-
VDDM+0.3
V
VDDM+0.3
0.3*VDDM
V
0.2*VDDM
1
µA
10
pF
VDDM >= 2V
1.425V =< VDDM < 2V
VDDM < 1.425V
VDDM >= 2V
1.425V =< VDDM < 2V
VDDM < 1.425V
VDDM >= 2V
VDDM < 2V
VDDM >= 2V
VDDM < 2V
0.7*VDDM
0.8*VDDM
0.9*VDDM
-0.4
-0.4
-0.4
-1
VDDM-0.3
-0.4
-
-
VDDM+0.3
VDDM+0.3
VDDM+0.3
0.3*VDDM
0.2*VDDM
0.1*VDDM
1
10
VDDM
0.3
8
2
8
4
V
V
µA
pF
V
V
V
ms
ns
V
V
µA
pF
V
V
mA
mA
(3)
SCL (Input) and SDA (Input/Output)
2
2
Interface complies with slave F/S mode I C interface as described by Philips I C specification version 2.1
2
dated January, 2000. Please refer to that document for more detailed I C specifications.
VOL
Low level output voltage
IOLM
Low level output sink current
VIHMR
High level input voltage
VILM
Low level input voltage
th
Rev 4 – 26 April 2011
VDDM >= 2V
VDDM < 2V
VDDM >= 2V
VDDM < 2V
VDDM >= 2V
VDDM < 2V
8
-0.4
0.7*VDDM
0.8*VDDM
-0.4
-0.4
-
0.3
V
8
mA
4
VDDMmax
V
VDDMmax
0.3*VDDM
V
0.2*VDDM
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Symbol
fSCL
Description
SCL clock frequency
Hold time (repeated) START
tHD;STA
condition
tLOW
LOW period of the SCL clock
tHIGH
HIGH period of the SCL clock
Set-up time for a repeated
tSU;STA
START condition
tHD;DAT
Data hold time
tSU;DAT
Data set-up time
tr
Rise time of both SDA and SCL
tf
Fall time of both SDA and SCL
tSU;STO
Set-up time for STOP condition
Bus free time between a STOP
tBUF
and START condition
Cb
Capacitive load for each bus line
Noise margin at the LOW level
VnL
for each connected device
(including hysteresis)
Noise margin at the HIGH level
VnH
for each connected device
(including hysteresis)
Pulse width of spikes
tSP
suppressed by the input filter
Miscellaneous
Programmable pull-up/down
RPULL
resistors for IO[0-7]
fOSC
Oscillator frequency
Conditions
-
Min
-
Typ
-
Max
400
Unit
kHz
-
0.6
-
-
µs
-
1.3
0.6
-
-
µs
µs
-
0.6
-
-
-
(4)
0
(6)
100
(7)
20+0.1Cb
(7)
20+0.1Cb
0.6
-
0.9
300
300
-
µs
ns
ns
ns
µs
-
1.3
-
-
µs
-
-
-
400
pF
-
-
0.1*
VDDM
-
V
-
-
0.2*
VDDM
-
V
-
-
-
50
ns
-
-
42
-
kΩ
Internal
1.3
2
2.6
External from OSCIN
(40-60% duty cycle)
-
-
2.6
µs
(5)
MHz
(1) Assuming no load connected to outputs and inputs fixed to VCC1,2 or GND.
(2) Can be increased by tying together and driving simultaneously several I/Os.
(3) All values referred to VIHMR min and VILM max levels.
(4) A device must internally provide a hold time of at least 300ns for the SDA signal (referred to VIHMR min) to bridge the undefined region of
the falling edge of SCL.
(5) The maximum tHD;DAT has only to be met if the device does not stretch the LOW period (tLOW ) of the SCL signal.
(6) A Fast-mode I2C-bus device can be used in a Standard-mode I2C-bus system, but the requirement tSU;DAT ≥ 250 ns must then be met.
This will automatically be the case if the device does not stretch the LOW period of the SCL signal.
If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line tr max+ tSU;DAT = 1000 + 250
= 1250 ns (according to the Standard-mode I2C-bus specification) before the SCL line is released.
(7) Cb = total capacitance of one bus line in pF. If mixed with Hs-mode devices, faster fall-times are allowed.
(8) With RegHighInput bit enabled (VCCx min =1.65V), else 3.6V (VCCx min = 1.2V)
Table 5 – Electrical Specifications
th
Rev 4 – 26 April 2011
9
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
3
TYPICAL OPERATING CHARACTERISTICS
SX1509QB IDDM vs.VDDM (Oscillator Enabled)
SX1509QB IDDM vs.VDDM (Oscillator Enabled)
360
340
340
320
320
300
300
280
280
260
260
I D D M (u A )
ID D M (u A )
360
240
240
220
220
200
200
180
180
160
160
140
140
120
120
100
100
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
3.1
3.3
1.3
3.5
1.5
1.7
1.9
2.1
2.3
2.7
2.9
3.1
3.3
3.5
2.7
2.9
3.1
3.3
3.5
Fosc vs. VDDM
Fosc vs.Temperature (VDDM = 3.6V)
2.5
2.3
2.3
2.1
2.1
F o s c (M H z )
F o s c (M H z )
2.5
1.9
1.9
1.7
1.7
1.5
1.5
1.3
1.3
-50
-30
-10
10
30
50
70
1.3
90
1.5
1.7
1.9
2.1
2.3
2.5
VDDM (V)
Temp (oC)
VOL vs.Temperature (VCCx = 3.6V, IOL = 15mA)
VOL vs. IOL (VCCx = 3.6V, Temp 25C)
0.3
0.25
0.25
0.2
0.2
V O L (V )
V O L (V )
0.3
0.15
0.15
0.1
0.1
0.05
0.05
0
0
0
2
4
6
8
10
12
14
-50
-30
-10
10
IOL (mA)
30
50
70
90
70
90
Temp (oC)
VOH vs. IOH (VDDM = 3.6V, Temp 25C)
VOH vs. Temperature (VCCx = 3.6V, IOH = 8mA)
3.6
3.6
3.55
3.55
3.5
3.45
V O H (V )
3.5
3.45
V O H (V )
2.5
VDDM (V)
VDDM (V)
3.4
3.35
3.4
3.35
3.3
3.3
3.25
3.25
3.2
3.2
-8
-7
-6
-5
-4
-3
-2
-1
-50
0
-30
-10
10
30
50
Temp (oC)
IOH (mA)
Figure 3 – Typical Operating Characteristics
th
Rev 4 – 26 April 2011
10
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
4
4.1
BLOCK DETAILED DESCRIPTION
2
SX1508QB 8-channel I C GPIO with LED Driver and Keypad Engine
OSCIO
Keypad
Engine
16 Keys Max
Clock Mgmt
LED Driver
External
Clock
Intensity (PWM)
Internal
Oscillator
Breathe (Ramp)
Blink (Timer)
VDDM
I/O Bank A
Reset
NRESET
A
2
SCL
I C Bus
8-Bit
Control
R/W
Input
I/O Bank B
Filter
SDA
A
VCC1
I/O[0]
I/O[1]
I/O[2]
I/O[3]
VCC2
I/O[4]
I/O[5]
I/O[6]
I/O[7]
ADDR1
ADDR0
SX1508QB
Interrupt
NINT
GND
Figure 4 – 8-channel Low Voltage GPIO with LED Driver and Keypad Engine
4.2
2
SX1509QB 16-channel I C GPIO with LED Driver and Keypad Engine
OSCIO
Keypad
Engine
64 Keys Max
Auto
Sleep/Wakeup
Clock Mgmt
LED Driver
External
Clock
Intensity (PWM)
Internal
Oscillator
Breathe (Ramp)
Blink (Timer)
I/O Bank A
VDDM
8-Bit
A
Reset
R/W
NRESET
I2C Bus
Control
SCL
SDA
Input
8-Bit
Filter
R/W
I/O Bank B
A
ADDR1
ADDR0
VCC1
I/O[0]
I/O[1]
I/O[2]
I/O[3]
I/O[4]
I/O[5]
I/O[6]
I/O[7]
VCC2
I/O[8]
I/O[9]
I/O[10]
I/O[11]
I/O[12]
I/O[13]
I/O[14]
I/O[15]
SX1509QB
Interrupt
NINT
GND
Figure 5 – 16-channel Low Voltage GPIO with LED Driver and Keypad Engine
th
Rev 4 – 26 April 2011
11
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
4.3
Reset
4.3.1 Hardware (NRESET)
The SX1508QB and SX1509QB generate their own power on reset signal after a power supply is connected to
the VDDM pin. NRESET input pin can be used to reset the chip anytime, it must be connected to VDDM (or
greater) either directly (if not used), or via a resistor.
1
2
3
4
5
6
2
1
VDROPH
VDDM
VPOR
VDROPL
Reset
Signal
Undefined
Undefined
tRESET
Undefined
tPULSE
tRESET
Figure 6 – Power-On / Brown-out Reset Conditions
1. Device behavior is undefined until VDDM rises above VPOR, at which point internal reset procedure is
started.
2. After tRESET, the reset procedure is completed.
3. In operation, the SX1508QB and SX1509QB may be reset (POR like or LED driver counters only
depending on RegMisc setting) at anytime by an external device driving NRESET low for tPULSE or longer.
Chip can be accessed normally again after NRESET rising edge.
4. During a brown-out event, if VDDM drops above VDROPH a reset will not occur.
5. During a brown-out event, if VDDM drops between VDROPH and VDROPL a reset may occur.
6. During a brown-out event, if VDDM drops below VDROPL a reset will occur next time VPOR is crossed.
Please note that a brown-out event is defined as a transient event on VDDM. If VDDM is attached to a battery,
then the gradual decay of the battery voltage will not be interpreted as a brown-out event.
Please also note that a sharp rise in VDDM (> 1V/us) may induce a circuit reset.
4.3.2 Software (RegReset)
Writing consecutively 0x12 and 0x34 to RegReset register will reset all registers to their default values.
2
4.4
2-Wire Interface (I C)
The SX1508QB and SX1509QB 2-wire interface operates only in slave mode. In this configuration, the device
has one or 4 possible devices addresses defined by ADDR[1:0] pins:
Device
SX1508QB
SX1509QB
ADDR[1:0]
00
01
10
11
00
01
10
11
Address
Description
First address of the 2-wire interface
0x20 (0100000)
Second address of the 2-wire interface
0x21 (0100001)
Third address of the 2-wire interface
0x22 (0100010)
Fourth address of the 2-wire interface
0x23 (0100011)
First address of the 2-wire interface
0x3E (0111110)
Second address of the 2-wire interface
0x3F (0111111)
Third address of the 2-wire interface
0x70 (1110000)
Fourth
address of the 2-wire interface
0x71 (1110001)
Table 6 - 2-Wire Interface Address
2 lines are used to exchange data between an external master host and the slave device:
• SCL : Serial CLock
• SDA : Serial DAta
th
Rev 4 – 26 April 2011
12
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
2
2
The SX1508QB and SX1509QB are read-write slave-mode I C devices and comply with the Philips I C standard
Version 2.1 dated January, 2000. The SX1508QB and SX1509QB have a few user-accessible internal 8-bits
registers to set the various parameters of operation (Cf. §5 for detailed configuration registers description). The
2
I C interface has been designed for program flexibility, in that once the slave address has been sent to the
SX1508QB or SX1509QB enabling it to be a slave transmitter/receiver, any register can be written or read
independently of each other. The start and stop commands frame the data-packet and the repeat start condition
is allowed if necessary.
Seven bit addressing is used and ten bit addressing is not allowed. Any general call address will be ignored by
the SX1508QB and SX1509QB. The SX1508QB and SX1509QB are not CBUS compatible and can operate in
standard mode (100kbit/s) or fast mode (400kbit/s).
4.4.1
WRITE
After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The
slave then Acknowledges [A] that it is being addressed, and the Master sends an 8 bit Data Byte consisting of
the slave Register Address (RA). The Slave Acknowledges [A] and the master sends the appropriate 8 bit Data
Byte (WD0). Again the slave Acknowledges [A]. In case the master needs to write more data, a succeeding 8 bit
Data Byte will follow (WD1), acknowledged by the slave [A]. This sequence will be repeated until the master
terminates the transfer with the Stop condition [P].
Figure 7 - 2-Wire Serial Interface, Write Operation
When successive register data (WD1...WDn) is supplied by the master, the register address can be
automatically incremented or kept fixed depending on the setting programmed in RegMisc.
1
tpv
Figure 8 – Example: Write RegData Register
4.4.2
READ
After the start condition [S], the slave address (SA) is sent, followed by an eighth bit (‘0’) indicating a Write. The
slave then Acknowledges [A] that it is being addressed, and the Master responds with an 8 bit Data consisting of
the Register Address (RA). The slave Acknowledges [A] and the master sends the Repeated Start Condition
[Sr]. Once again, the slave address (SA) is sent, followed by an eighth bit (‘1’) indicating a Read.
The slave responds with an Acknowledge [A] and the read Data byte (RD0). If the master needs to read more
data it will acknowledge [A] and the slave will send the next read byte (RD1). This sequence can be repeated
until the master terminates with a NACK [N] followed by a stop [P].
th
Rev 4 – 26 April 2011
13
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Figure 9 - 2-Wire Serial Interface, Read Operation
When successive register data (RD1...RDn) is read by the master, the register address will be automatically
incremented or kept fixed depending on the setting programmed in RegMisc.
4.5
4.5.1
I/O Banks
Input Debouncer
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.5.2
Keypad Scanning Engine
SX1508QB, and SX1509QB integrate a fully programmable keypad scanning engine to implement keypad
applications up to 8x8 matrix (i.e. 64 keys).
Please note that SX1509QB also implements an Auto Sleep/Wakeup feature to save power consumption when
no key has been pressed for a programmed time.
Y
SX1508QB
IO3
IO2
IO1
IO0
X
IO4
IO5
IO6
IO7
- IO[3-0] as outputs (scanning)
- IO[7-4] as inputs
RegKeyData =
X
Y
Figure 10 – 4x4 Keypad Connection to SX1508QB
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:
•
The column data will be stored in RegKeyData[7:4] (Note: column indication is active low)
th
Rev 4 – 26 April 2011
14
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
•
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.
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.5.3 Level Shifter
Because of their 5.5V tolerant I/O banks with independent supply voltages between 1.2V and 3.6V, the
SX1508QB and SX1509QB 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).
This can save significant BOM cost in a final application where only a few signals need to be level-shifted (no
need for an additional external level shifter IC).
1.2-3.6V
VCC1
1.2-5.5V
IO0
tLevelShiftMin
SX1508/9QB
1.2-3.6V
1.2-3.6V
VCC2
IO4
Figure 11 – Level Shifting Example
The minimum pulse width tLevelShiftMin which can be level shifted properly depends on VCCx and VDDM:
tLevelShiftMin = Input Delay + Core Delay + Output Delay
Input/Core/Output delays vs VCCx/VDDM are given in figures below.
th
Rev 4 – 26 April 2011
15
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
IO Input Delay vs. Supply Voltage
10.000
9.000
8.000
(ns)
6.000
Tdelay
7.000
5.000
4.000
3.000
2.000
1.000
0.000
1.000
1.500
2.000
2.500
3.000
3.500
VCCx (V)
Typical
Worst Case
SX1509QB Digital Core Delay vs. Supply Voltage
26
26
24
24
(ns)
22
22
20
Tdelay
(ns)
28
28
Tdelay
SX1508QB Digital Core Delay vs. Supply Voltage
20
18
18
16
16
14
14
1
1.5
2
2.5
3
3.5
1
1.5
2
2.5
VDDM (V)
Typical
Worst Case
Typical
IO Output Delay vs. Supply Voltage ( LowDriveEn=0, 20pF Load)
100.000
80.000
(ns)
100.000
80.000
60.000
Tdelay
120.000
(ns)
120.000
Tdelay
140.000
60.000
40.000
40.000
20.000
20.000
1.500
2.000
2.500
3.000
0.000
1.000
3.500
1.500
Worst Case
2.000
2.500
VCCx (V)
Typical
3.5
IO Output Delay vs. Supply Voltage (LowDriveEn=1, 20pF Load)
140.000
0.000
1.000
3
VDDM (V)
3.000
3.500
VCCx (V)
Worst Case
Typical
Worst Case
Figure 12 – Level Shifter Max Frequency Calculation Data
4.5.4 Polarity Inverter
Each IO’s polarity can be individually inverted by setting corresponding bit in RegPolarity register. Please note
that polarity inversion can also be combined with level shifting feature.
4.6
Interrupt (NINT)
At start-up, the transition detection logic is reset, and NINT is released to a high-impedance state. The interrupt
mask register is set to 0xFF, disabling the interrupt output for transitions on all I/O ports. The transition flags are
cleared to indicate no data changes.
An interrupt NINT can be generated on any programmed combination of I/Os rising and/or falling edges through
the RegInterruptMask and RegSense registers.
If needed, the I/Os which triggered the interrupt can then be identified by reading RegInterruptSource register.
When NINT is low (i.e. interrupt occurred), it can be reset back high (i.e. cleared) by writing 0xFF in
RegInterruptSource (this will also clear corresponding bits in RegEventStatus register).
The interrupt can also be cleared automatically when reading RegData register (Cf. RegMisc)
Example: We want to detect rising edge of I/O[1] on SX1508QB (NINT will go low).
1. We enable interrupt on I/O[1] in RegInterruptMask
th
Rev 4 – 26 April 2011
16
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
RegInterruptMask =“XXXXXX0X”
2. We set edge sense for I/O[1] in RegSense
RegSenseLow =“XXXX01XX”
Please note that independently from the “user defined” process described above the keypad engine, when
enabled, also uses NINT to indicate a key press.
Hence we have NINT = “user defined condition occurred” OR “keypad engine condition occurred”.
4.7
Clock Management
A main oscillator clock fOSC is needed by the LED driver, keypad engine and debounce features.
Clock management block is illustrated in figure below.
OSCIO
Clock
Mgmt
External
Clock
Div
fOSC
Internal
Oscillator
Figure 13 – Clock Management Overview
The block is configured in register RegClock (Cf §5 for more detailed information):
Selection of internal clock source: none (OFF) or internal oscillator or external clock input from OSCIN.
Definition of OSCIO pin function (OSCIN or OSCOUT)
OSCOUT frequency setting (sub-multiple of fOSC)
Please note that if needed the OSCOUT feature can be used as an additional GPO (Cf. RegClock)
4.8
LED Driver
4.8.1 Overview
Every IO has its own independent LED driver (Cf §6.2 for typical LED connection) , all IOs can perform intensity
control (PWM) while some of them additionally include blinking and breathing features (Cf pin description §1)
The LED drivers of all I/Os share the same clock ClkX configurable in RegMisc[6:4]. Please note that for power
consumption reasons ClkX is OFF by default.
Assuming ClkX is not OFF, LED driver for IO[X] is enabled when RegLEDDriverEnable[X] = 1 in which case it
can operate in one of the three modes below:
•
Static mode (all I/Os, with or without fade in/out)
•
Single shot mode (blinking capable I/Os only, with or without fade in/out)
•
Blink mode (blinking capable I/Os only, with or without fade in/out)
th
Rev 4 – 26 April 2011
17
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
RegData[X]
1
0
t
IO[X] Intensity (PWM value)
100%
ON
IOnX
Fade In
Fade Out
OFF
IOffX
0
TRiseX
TOnX
TFallX
t
TOffX
Figure 14 – LED Driver Overview
Each IO[X] has its own set of programmable registers (Cf §5 for more detailed information):
RegTOnX (blinking capable I/Os only): TOnX, ON time of IO[X]
RegIOnX (all I/Os): IOnX, ON intensity of IO[X]
RegOffX (blinking capable I/Os only): TOffX and IOffX, OFF time and intensity of IO[X]
RegTRiseX(breathing capable I/Os only): TRiseX, fade in time of IO[X]
RegTFallX(breathing capable I/Os only): TFallX, fade out time of IO[X]
Please note that the LED driver mode is selectable for each IO bank between linear and logarithmic. (Cf §4.8.5)
All the figures assume normal IO polarity, for inverse polarity RegData control must be inverted (does not invert
the polarity of the IO signal itself).
4.8.2 Static Mode
Only mode available for non blinking capable IOs (with Off intensity = 0), else invoked when TOnX = 0.
If the I/O doesn’t support fading the LED intensity will step directly to the IOnX/IOffX value.
RegData(X)
On intensity(max) determined by
register RegIOnX
IOLED(X) level
Off intensity(min) determined by
register RegIOffX
Fade in rate determined by
register RegTRiseX
Fade out rate determined
by register RegTFallX
Figure 15 – LED Driver Static Mode
4.8.3 Single Shot Mode
Invoked when TOnX != 0 and TOffX = 0.
If the I/O doesn’t support fading the LED intensity will step directly to the IOnX/IOffX value.
th
Rev 4 – 26 April 2011
18
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
RegData(X)
On intensity(max)
IOLED(X) level
Off intensity(min)
Fade in rate determined by
register RegTRiseX
Minimum intensity duration
determined by register
RegData(x)
Fade out rate determined
by register RegTFallX
Figure 16 – LED Driver Single Shot Mode
4.8.4 Blink Mode
Invoked when TOnX != 0 and TOffX != 0.
If the I/O doesn’t support fading the LED intensity will step directly to the IOnX/IOffX value.
When RegData(X) is cleared, the LED
will complete any current ramp, and then
stay at minimum intensity
RegData(X)
On intensity(max)
IOLED(X) level
Off intensity(min)
Fade in rate determined by
register RegTRiseX
Minimum intensity duration
determined by register
RegTOffX
Maximum intensity
duration determined by
register RegTOnX
Fade out rate determined
by register RegTFallX
Figure 17 – LED Driver Blink Mode
4.8.5
LED Driver Modes
For each IO bank, the LED driver mode of fading capable IOs can be selected between linear or logarithmic in
RegMisc.
Lin.
0
1
2
3
4
5
6
7
8
9
10
11
12
Log.
0
0
0
0
0
0
0
0
1
1
1
1
1
th
Lin.
32
33
34
35
36
37
38
39
40
41
42
43
44
Log.
4
4
4
4
5
5
5
5
6
6
6
6
7
Rev 4 – 26 April 2011
Lin.
64
65
66
67
68
69
70
71
72
73
74
75
76
Log.
13
13
13
13
14
14
14
14
16
16
17
17
18
Lin.
96
97
98
99
100
101
102
103
104
105
106
107
108
Log.
28
28
30
30
31
31
32
32
34
34
35
35
36
Lin.
128
129
130
131
132
133
134
135
136
137
138
139
140
19
Log.
53
53
53
53
56
56
56
56
60
60
60
60
65
Lin.
160
161
162
163
164
165
166
167
168
169
170
171
172
Log.
88
88
88
88
93
93
93
93
98
98
98
98
104
Lin.
192
193
194
195
196
197
198
199
200
201
202
203
204
Log.
135
135
135
135
142
142
142
142
150
150
150
150
157
Lin.
224
225
226
227
228
229
230
231
232
233
234
235
236
Log.
198
198
198
198
207
207
207
207
216
216
216
216
225
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
7
7
7
8
8
8
8
9
9
9
9
10
10
10
10
11
11
12
12
77
18
109
36
141
65
173
104
78
19
110
38
142
65
174
104
79
19
111
38
143
65
175
104
80
20
112
39
144
69
176
110
81
20
113
39
145
69
177
110
82
21
114
41
146
69
178
110
83
21
115
41
147
69
179
110
84
22
116
42
148
73
180
116
85
22
117
42
149
73
181
116
86
23
118
44
150
73
182
116
87
23
119
44
151
73
183
116
88
24
120
46
152
78
184
122
89
24
121
46
153
78
185
122
90
25
122
46
154
78
186
122
91
25
123
46
155
78
187
122
92
26
124
49
156
83
188
129
93
26
125
49
157
83
189
129
94
27
126
49
158
83
190
129
95
27
127
49
159
83
191
129
Table 7 – LED Driver Linear vs Logarithmic Function (I)
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
157
157
157
165
165
165
165
172
172
172
172
181
181
181
181
189
189
189
189
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
225
225
225
235
235
235
235
245
245
245
245
255
255
255
255
255
255
255
255
300
250
IOn (IOff)
200
Linear mode
150
Log mode
100
50
0
1
10
19
28
37 46
55
64
73
82 91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253
RegIOn (4xRegOff[2:0])
Figure 18 – LED Driver Linear vs Logarithmic Function (II)
4.8.6
Synchronization of LED Drivers across several ICs
When several GPIO expanders are used in the same application it may be useful that their LEDs drivers are
synchronous for coherent global operation.
In this case all ICs should share their fOSC through their OSCIO pins and have their reset connected together.
When RegMisc of each IC is set accordingly, NRESET signal can then be used to reset all devices’ internal
counters (but not the register settings) and allow synchronous LED operation (blinking, fading) across multiple
devices.
4.8.7
Tutorial
Below are the steps required to use the LED driver with the typical LED connection described §6.2:
-
Disable input buffer (RegInputDisable)
Disable pull-up (RegPullUp)
th
Rev 4 – 26 April 2011
20
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
-
Enable open drain (RegOpenDrain)
Set direction to output (RegDir) – by default RegData is set high => LED OFF
Enable oscillator (RegClock)
Configure LED driver clock and mode if relevant (RegMisc)
Enable LED driver operation (RegLEDDriverEnable)
Configure LED driver parameters (RegTOn, RegIOn, RegOff, RegTRise, RegTFall)
Set RegData bit low => LED driver started
th
Rev 4 – 26 April 2011
21
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
5
5.1
CONFIGURATION REGISTERS
SX1508QB 8-channel GPIO with LED Driver and Keypad Engine
Address
Name
Description
Device and IO Banks
0x00
RegInputDisable
0x01
RegLongSlew
0x02
RegLowDrive
0x03
RegPullUp
0x04
RegPullDown
0x05
RegOpenDrain
0x06
RegPolarity
0x07
RegDir
0x08
RegData
0x09
RegInterruptMask
0x0A
RegSenseHigh
0x0B
RegSenseLow
0x0C
RegInterruptSource
0x0D
RegEventStatus
0x0E
RegLevelShifter
0x0F
RegClock
0x10
RegMisc
0x11
RegLEDDriverEnable
Debounce and Keypad Engine
0x12
RegDebounceConfig
0x13
RegDebounceEnable
0x14
RegKeyConfig
0x15
RegKeyData
LED Driver (PWM, blinking, breathing)
0x16
RegIOn0
0x17
RegIOn1
0x18
RegTOn2
0x19
RegIOn2
0x1A
RegOff2
0x1B
RegTOn3
0x1C
RegIOn3
0x1D
RegOff3
0x1E
RegTRise3
0x1F
RegTFall3
0x20
RegIOn4
0x21
RegIOn5
0x22
RegTOn6
0x23
RegIOn6
0x24
RegOff6
0x25
RegTOn7
0x26
RegIOn7
0x27
RegOff7
0x28
RegTRise7
0x29
RegTFall7
Miscellaneous
0x2A
RegHighInput
Software Reset
0x7D
RegReset
Test (not to be written)
0x7E
RegTest1
0x7F
RegTest2
Default
Input buffer disable register
Output buffer long slew register
Output buffer low drive register
Pull-up register
Pull-down register
Open drain register
Polarity register
Direction register
Data register
Interrupt mask register
Sense register for I/O[7:4]
Sense register for I/O[3:0]
Interrupt source register
Event status register
Level shifter register
Clock management register
Miscellaneous device settings register
LED driver enable register
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
1111 1111*
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
Debounce configuration register
Debounce enable register
Key scan configuration register
Key value
0000 0000
0000 0000
0000 0000
1111 1111
ON intensity register for I/O[0]
ON intensity register for I/O[1]
ON time register for I/O[2]
ON intensity register for I/O[2]
OFF time/intensity register for I/O[2]
ON time register for I/O[3]
ON intensity register for I/O[3]
OFF time/intensity register for I/O[3]
Fade in register for I/O[3]
Fade out register for I/O[3]
ON intensity register for I/O[4]
ON intensity register for I/O[5]
ON time register for I/O[6]
ON intensity register for I/O[6]
OFF time/intensity register for I/O[6]
ON time register for I/O[7]
ON intensity register for I/O[7]
OFF time/intensity register for I/O[7]
Fade in register for I/O[7]
Fade out register for I/O[7]
1111 1111
1111 1111
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
1111 1111
1111 1111
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
High input enable register
0000 0000
Software reset register
0000 0000
Test register
Test register
0000 0000
0000 0000
*Bits set as output take “1” as default value.
Table 8 – SX1508QB Configuration Registers Overview
th
Rev 4 – 26 April 2011
22
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Addr
Name
Default
Bits
7:6
5:4
3:2
1:0
7:6
5:4
3:2
1:0
Disables the input buffer of each IO
0 : Input buffer is enabled (input actually being used)
1 : Input buffer is disabled (input actually not being used or LED connection)
Enables increased slew rate of the output buffer of each [output-configured] IO
0 : Increased slew rate is disabled
1 : Increased slew rate is enabled
Enables reduced drive of the output buffer of each [output-configured] IO
0 : Reduced drive is disabled
1 : Reduced drive is enabled. IOL specifications are divided by 2.
Enables the pull-up for each IO
0 : Pull-up is disabled
1 : Pull-up is enabled
Enables the pull-down for each IO
0 : Pull-down is disabled
1 : Pull-down is enabled
Enables open drain operation for each [output-configured] IO
0 : Regular push-pull operation
1 : Open drain operation
Enables polarity inversion for each IO
0 : Normal polarity : RegData[x] = IO[x]
1 : Inverted polarity : RegData[x] = !IO[x] (for both input and output configured IOs)
Configures direction for each IO.
0 : IO is configured as an output
1 : IO is configured as an input
Write: Data to be output to the output-configured IOs
Read: Data seen at the IOs, independent of the direction configured.
Configures which [input-configured] IO will trigger an interrupt on NINT pin
0 : An event on this IO will trigger an interrupt
1 : An event on this IO will NOT trigger an interrupt
Edge sensitivity of RegData[7]
00 : None
Edge sensitivity of RegData[6]
01 : Rising
10 : Falling
Edge sensitivity of RegData[5]
11 : Both
Edge sensitivity of RegData[4]
Edge sensitivity of RegData[3]
00 : None
Edge sensitivity of RegData[2]
01 : Rising
10 : Falling
Edge sensitivity of RegData[1]
11 : Both
Edge sensitivity of RegData[0]
7:0
Interrupt source (from IOs set in RegInterruptMask)
0 : No interrupt has been triggered by this IO
1 : An interrupt has been triggered by this IO (an event as configured in relevant
RegSense register occured).
7:0
Writing '1' clears the bit in RegInterruptSource and in RegEventStatus
When all bits are cleared, NINT signal goes back high.
Event status of all IOs.
0 : No event has occured on this IO
1 : An event has occured on this IO (an edge as configured in relevant RegSense
register occured).
0x00
RegInputDisable
0x00
7:0
0x01
RegLongSlew
0x00
7:0
0x02
RegLowDrive
0x00
7:0
0x03
RegPullUp
0x00
7:0
0x04
RegPullDown
0x00
7:0
0x05
RegOpenDrain
0x00
7:0
0x06
RegPolarity
0x00
7:0
0x07
RegDir
0xFF
7:0
0x08
RegData
0xFF
7:0
0x09
RegInterruptMask
0xFF
7:0
0x0A
RegSenseHigh
0x00
0x0B
RegSenseLow
0x00
0x0C
0x0D
0x0E
RegInterruptSource
RegEventStatus
RegLevelShifter
0x00
0x00
0x00
7:6
5:4
3:2
1:0
7
6:5
0x0F
RegClock
0x00
4
3:0
0x10
RegMisc
th
Rev 4 – 26 April 2011
0x00
Description
7
Writing '1' clears the bit in RegEventStatus and in RegInterruptSource if relevant.
If the edge sensitivity of the IO is changed, the bit(s) will be cleared automatically
Level shifter mode for IO[3] (Bank A) and IO[7] (Bank B)
00 : OFF
01 : A->B
Level shifter mode for IO[2] (Bank A) and IO[6] (Bank B)
10 : B->A
Level shifter mode for IO[1] (Bank A) and IO[5] (Bank B)
11 : Reserved
Level shifter mode for IO[0] (Bank A) and IO[4] (Bank B)
Unused
Oscillator frequency (fOSC) source
00 : OFF. LED driver, keypad engine and debounce features are disabled.
01 : External clock input (OSCIN)
10 : Internal 2MHz oscillator
11 : Reserved
OSCIO pin function (Cf. §4.7)
0 : OSCIO is an input (OSCIN)
1 : OSCIO is an output (OSCOUT)
Frequency of the signal output on OSCOUT pin:
0x0 : 0Hz, permanent "0" logical level (GPO)
0xF : 0Hz, permanent "1" logical level (GPO)
Else : fOSCOUT = fOSC/(2^(RegClock[3:0]-1))
LED Driver mode for Bank B ‘s fading capable IOs (IO7)
0: Linear
1: Logarithmic
23
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
6:4
3
2
1
0
0x11
RegLEDDriverEnable
0x00
7:0
7:3
0x12
RegDebounceConfig
0x00
0x13
RegDebounceEnable
0x00
2:0
7:0
7
6:5
4:3
0x14
RegKeyConfig
0x00
2:0
0x15
RegKeyData
0xFF
7:0
7:5
0xXX
RegTOnX
0x00
0xXX
RegIOnX
0xFF
0xXX
RegOffX
0x00
4:0
7:0
7:3
2:0
7:5
0xXX
RegTRiseX
th
Rev 4 – 26 April 2011
0x00
4:0
Frequency of the LED Driver clock ClkX of all IOs:
0 : OFF. LED driver functionality is disabled for all IOs.
Else : ClkX = fOSC/(2^(RegMisc[6:4]-1))
LED Driver mode for Bank A ‘s fading capable IOs (IO3)
0: Linear
1: Logarithmic
NRESET pin function when externally forced low (Cf. §4.3.1 and §4.8.5).
0: Equivalent to POR
1: Reset PWM/Blink/Fade counters (not user programmed values)
This bit is can only be reset manually or by POR, not by NRESET.
Auto-increment register address (Cf. §4.4)
0: ON. When several consecutive data are read/written, register address is incremented.
1: OFF. When several consecutive data are read/written, register address is kept fixed.
Autoclear NINT on RegData read (Cf. §4.6)
0: ON. RegInterruptSource is also automatically cleared when RegData is read.
1: OFF. RegInterruptSource must be manually cleared, either directly or via
RegEventStatus.
Enables LED Driver for each [output-configured] IO
0 : LED Driver is disabled
1 : LED Driver is enabled
Unused
Debounce time (Cf. §4.5.1)
000: 0.5ms x 2MHz/fOSC
001: 1ms x 2MHz/fOSC
010: 2ms x 2MHz/fOSC
011: 4ms x 2MHz/fOSC
100: 8ms x 2MHz/fOSC
101: 16ms x 2MHz/fOSC
110: 32ms x 2MHz/fOSC
111: 64ms x 2MHz/fOSC
Enables debouncing for each [input-configured] IO
0 : Debouncing is disabled
1 : Debouncing is enabled
Unused
Number of rows (outputs) + key scan enable
00 : Key scan OFF
01 : 2 rows – IO[0:1]
10 : 3 rows – IO[0:2]
11 : 4 rows – IO[0:3]
Number of columns (inputs)
00 : 1 column – IO[4]
01 : 2 columns – IO[4:5]
10 : 3 columns – IO[4:6]
11 : 4 columns – IO[4:7]
Scan time per row (must be set above debounce time).
000 : 1ms x 2MHz/fOSC
001 : 2ms x 2MHz/fOSC
010 : 4ms x 2MHz/fOSC
011 : 8ms x 2MHz/fOSC
100 : 16ms x 2MHz/fOSC
101 : 32ms x 2MHz/fOSC
110 : 64ms x 2MHz/fOSC
111 : 128ms x 2MHz/fOSC
Key which generated NINT (active low)
Ex: RegKeyData=11011110 => key [IO5;IO0] has been pressed and generated NINT
When read it is automatically cleared together with NINT and key scan continues.
Unused
ON Time of IO[X]:
0 : Infinite (Static mode, TOn directly controlled by RegData, Cf §4.8.2)
1 - 15 : TOnX = 64 * RegTOnX * (255/ClkX)
16 - 31 : TOnX = 512 * RegTOnX * (255/ClkX)
ON Intensity of IO[X]
- Linear mode : IOnX = RegIOnX
- Logarithmic mode (fading capable IOs only) : IOnX = f(RegIOnX) , Cf §4.8.5
OFF Time of IO[X]:
0 : Infinite (Single shot mode, TOff directly controlled by RegData, Cf §4.8.3)
1 - 15 : TOffX = 64 * RegOffX[7:3] * (255/ClkX)
16 - 31 : TOffX = 512 * RegOffX[7:3] * (255/ClkX)
OFF Intensity of IO[X]
- Linear mode : IOffX = 4 x RegOff[2:0]
- Logarithmic mode (fading capable IOs only) : IOffX = f(4 x RegOffX[2:0]) , Cf §4.8.5
Unused
Fade In setting of IO[X]
0 : OFF
1 - 15 : TRiseX = (RegIOnX-(4xRegOffX[2:0])) * RegTRiseX * (255/ClkX)
16 - 31 : TRiseX = 16 * (RegIOnX-(4xRegOffX[2:0])) * RegTRiseX * (255/ClkX)
24
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
7:5
0xXX
RegTFallX
0x00
0x2A
RegHighInput
0x00
7:0
0x7D
RegReset
0x00
7:0
4:0
Unused
Fade Out setting of IO[X]
0 : OFF
1 - 15 : TFallX = (RegIOnX-(4xRegOffX[2:0])) * RegTFallX * (255/ClkX)
16 - 31 : TFallX = 16 * (RegIOnX-(4xRegOffX[2:0])) * RegTFallX * (255/ClkX)
Enables high input mode for each [input-configured] IO
0 : OFF. VIH max = 3.6V and VCCx min = 1.2V
1 : ON. VIH max = 5.5V and VCCx min = 1.65V
Software reset register
Writing consecutively 0x12 and 0x34 will reset the device (same as POR).
Always reads 0.
Table 9 – SX1508QB Configuration Registers Description
th
Rev 4 – 26 April 2011
25
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
5.2
SX1509QB 16-channel GPIO with LED Driver and Keypad Engine
Address
Name
Device and IO Banks
0x00
RegInputDisableB
0x01
RegInputDisableA
0x02
RegLongSlewB
0x03
RegLongSlewA
0x04
RegLowDriveB
0x05
RegLowDriveA
0x06
RegPullUpB
0x07
RegPullUpA
0x08
RegPullDownB
0x09
RegPullDownA
0x0A
RegOpenDrainB
0x0B
RegOpenDrainA
0x0C
RegPolarityB
0x0D
RegPolarityA
0x0E
RegDirB
0x0F
RegDirA
0x10
RegDataB
0x11
RegDataA
0x12
RegInterruptMaskB
0x13
RegInterruptMaskA
0x14
RegSenseHighB
0x15
RegSenseLowB
0x16
RegSenseHighA
0x17
RegSenseLowA
0x18
RegInterruptSourceB
0x19
RegInterruptSourceA
0x1A
RegEventStatusB
0x1B
RegEventStatusA
0x1C
RegLevelShifter1
0x1D
RegLevelShifter2
0x1E
RegClock
0x1F
RegMisc
0x20
RegLEDDriverEnableB
0x21
RegLEDDriverEnableA
Debounce and Keypad Engine
0x22
RegDebounceConfig
0x23
RegDebounceEnableB
0x24
RegDebounceEnableA
0x25
RegKeyConfig1
0x26
RegKeyConfig2
0x27
RegKeyData1
0x28
RegKeyData2
LED Driver (PWM, blinking, breathing)
0x29
RegTOn0
0x2A
RegIOn0
0x2B
RegOff0
0x2C
RegTOn1
0x2D
RegIOn1
0x2E
RegOff1
0x2F
RegTOn2
0x30
RegIOn2
0x31
RegOff2
0x32
RegTOn3
0x33
RegIOn3
0x34
RegOff3
0x35
RegTOn4
0x36
RegIOn4
0x37
RegOff4
0x38
RegTRise4
th
Rev 4 – 26 April 2011
Description
Default
Input buffer disable register - I/O[15-8] (Bank B)
Input buffer disable register - I/O[7-0] (Bank A)
Output buffer long slew register - I/O[15-8] (Bank B)
Output buffer long slew register - I/O[7-0] (Bank A)
Output buffer low drive register - I/O[15-8] (Bank B)
Output buffer low drive register - I/O[7-0] (Bank A)
Pull-up register - I/O[15-8] (Bank B)
Pull-up register - I/O[7-0] (Bank A)
Pull-down register - I/O[15-8] (Bank B)
Pull-down register - I/O[7-0] (Bank A)
Open drain register - I/O[15-8] (Bank B)
Open drain register - I/O[7-0] (Bank A)
Polarity register - I/O[15-8] (Bank B)
Polarity register - I/O[7-0] (Bank A)
Direction register - I/O[15-8] (Bank B)
Direction register - I/O[7-0] (Bank A)
Data register - I/O[15-8] (Bank B)
Data register - I/O[7-0] (Bank A)
Interrupt mask register - I/O[15-8] (Bank B)
Interrupt mask register - I/O[7-0] (Bank A)
Sense register for I/O[15:12]
Sense register for I/O[11:8]
Sense register for I/O[7:4]
Sense register for I/O[3:0]
Interrupt source register - I/O[15-8] (Bank B)
Interrupt source register - I/O[7-0] (Bank A)
Event status register - I/O[15-8] (Bank B)
Event status register - I/O[7-0] (Bank A)
Level shifter register
Level shifter register
Clock management register
Miscellaneous device settings register
LED driver enable register - I/O[15-8] (Bank B)
LED driver enable register - I/O[7-0] (Bank A)
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
1111 1111
1111 1111*
1111 1111*
1111 1111
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
Debounce configuration register
Debounce enable register - I/O[15-8] (Bank B)
Debounce enable register - I/O[7-0] (Bank A)
Key scan configuration register
Key scan configuration register
Key value (column)
Key value (row)
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
1111 1111
ON time register for I/O[0]
ON intensity register for I/O[0]
OFF time/intensity register for I/O[0]
ON time register for I/O[1]
ON intensity register for I/O[1]
OFF time/intensity register for I/O[1]
ON time register for I/O[2]
ON intensity register for I/O[2]
OFF time/intensity register for I/O[2]
ON time register for I/O[3]
ON intensity register for I/O[3]
OFF time/intensity register for I/O[3]
ON time register for I/O[4]
ON intensity register for I/O[4]
OFF time/intensity register for I/O[4]
Fade in register for I/O[4]
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
26
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Address
Name
0x39
RegTFall4
0x3A
RegTOn5
0x3B
RegIOn5
0x3C
RegOff5
0x3D
RegTRise5
0x3E
RegTFall5
0x3F
RegTOn6
0x40
RegIOn6
0x41
RegOff6
0x42
RegTRise6
0x43
RegTFall6
0x44
RegTOn7
0x45
RegIOn7
0x46
RegOff7
0x47
RegTRise7
0x48
RegTFall7
0x49
RegTOn8
0x4A
RegIOn8
0x4B
RegOff8
0x4C
RegTOn9
0x4D
RegIOn9
0x4E
RegOff9
0x4F
RegTOn10
0x50
RegIOn10
0x51
RegOff10
0x52
RegTOn11
0x53
RegIOn11
0x54
RegOff11
0x55
RegTOn12
0x56
RegIOn12
0x57
RegOff12
0x58
RegTRise12
0x59
RegTFall12
0x5A
RegTOn13
0x5B
RegIOn13
0x5C
RegOff13
0x5D
RegTRise13
0x5E
RegTFall13
0x5F
RegTOn14
0x60
RegIOn14
0x61
RegOff14
0x62
RegTRise14
0x63
RegTFall14
0x64
RegTOn15
0x65
RegIOn15
0x66
RegOff15
0x67
RegTRise15
0x68
RegTFall15
Miscellaneous
0x69
RegHighInputB
0x6A
RegHighInputA
Software Reset
0x7D
RegReset
Test (not to be written)
0x7E
RegTest1
0x7F
RegTest2
Description
Default
Fade out register for I/O[4]
ON time register for I/O[5]
ON intensity register for I/O[5]
OFF time/intensity register for I/O[5]
Fade in register for I/O[5]
Fade out register for I/O[5]
ON time register for I/O[6]
ON intensity register for I/O[6]
OFF time/intensity register for I/O[6]
Fade in register for I/O[6]
Fade out register for I/O[6]
ON time register for I/O[7]
ON intensity register for I/O[7]
OFF time/intensity register for I/O[7]
Fade in register for I/O[7]
Fade out register for I/O[7]
ON time register for I/O[8]
ON intensity register for I/O[8]
OFF time/intensity register for I/O[8]
ON time register for I/O[9]
ON intensity register for I/O[9]
OFF time/intensity register for I/O[9]
ON time register for I/O[10]
ON intensity register for I/O[10]
OFF time/intensity register for I/O[10]
ON time register for I/O[11]
ON intensity register for I/O[11]
OFF time/intensity register for I/O[11]
ON time register for I/O[12]
ON intensity register for I/O[12]
OFF time/intensity register for I/O[12]
Fade in register for I/O[12]
Fade out register for I/O[12]
ON time register for I/O[13]
ON intensity register for I/O[13]
OFF time/intensity register for I/O[13]
Fade in register for I/O[13]
Fade out register for I/O[13]
ON time register for I/O[14]
ON intensity register for I/O[14]
OFF time/intensity register for I/O[14]
Fade in register for I/O[14]
Fade out register for I/O[14]
ON time register for I/O[15]
ON intensity register for I/O[15]
OFF time/intensity register for I/O[15]
Fade in register for I/O[15]
Fade out register for I/O[15]
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
0000 0000
1111 1111
0000 0000
0000 0000
0000 0000
High input enable register - I/O[15-8] (Bank B)
High input enable register - I/O[7-0] (Bank A)
0000 0000
0000 0000
Software reset register
0000 0000
Test register
Test register
0000 0000
0000 0000
*Bits set as output take “1” as default value.
Table 10 – SX1509QB Configuration Registers Overview
th
Rev 4 – 26 April 2011
27
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
Addr
Name
Default
Bits
0x00
RegInputDisableB
0x00
7:0
0x01
RegInputDisableA
0x00
7:0
0x02
RegLongSlewB
0x00
7:0
0x03
RegLongSlewA
0x00
7:0
0x04
RegLowDriveB
0x00
7:0
0x05
RegLowDriveA
0x00
7:0
0x06
RegPullUpB
0x00
7:0
0x07
RegPullUpA
0x00
7:0
0x08
RegPullDownB
0x00
7:0
0x09
RegPullDownA
0x00
7:0
0x0A
RegOpenDrainB
0x00
7:0
0x0B
RegOpenDrainA
0x00
7:0
0x0C
RegPolarityB
0x00
7:0
0x0D
RegPolarityA
0x00
7:0
0x0E
RegDirB
0xFF
7:0
0x0F
RegDirA
0xFF
7:0
0x10
RegDataB
0xFF
7:0
0x11
RegDataA
0xFF
7:0
0x12
RegInterruptMaskB
0xFF
7:0
0x13
RegInterruptMaskA
0xFF
7:0
0x14
0x15
RegSenseHighB
RegSenseLowB
0x00
0x00
0x16
RegSenseHighA
0x00
0x17
RegSenseLowA
0x00
th
Rev 4 – 26 April 2011
7:6
5:4
3:2
1:0
7:6
5:4
3:2
1:0
7:6
5:4
3:2
1:0
7:6
Description
Disables the input buffer of each IO
0 : Input buffer is enabled (input actually being used)
1 : Input buffer is disabled (input actually not being used or LED connection)
Disables the input buffer of each IO
0 : Input buffer is enabled (input actually being used)
1 : Input buffer is disabled (input actually not being used, LED connection)
Enables increased slew rate of the output buffer of each [output-configured] IO
0 : Increased slew rate is disabled
1 : Increased slew rate is enabled
Enables increased slew rate of the output buffer of each [output-configured] IO
0 : Increased slew rate is disabled
1 : Increased slew rate is enabled
Enables reduced drive of the output buffer of each [output-configured] IO
0 : Reduced drive is disabled
1 : Reduced drive is enabled. IOL specifications are divided by 2.
Enables reduced drive of the output buffer of each [output-configured] IO
0 : Reduced drive is disabled
1 : Reduced drive is enabled. IOL specifications are divided by 2.
Enables the pull-up for each IO
0 : Pull-up is disabled
1 : Pull-up is enabled
Enables the pull-up for each IO
0 : Pull-up is disabled
1 : Pull-up is enabled
Enables the pull-down for each IO
0 : Pull-down is disabled
1 : Pull-down is enabled
Enables the pull-down for each IO
0 : Pull-down is disabled
1 : Pull-down is enabled
Enables open drain operation for each [output-configured] IO
0 : Regular push-pull operation
1 : Open drain operation
Enables open drain operation for each [output-configured] IO
0 : Regular push-pull operation
1 : Open drain operation
Enables polarity inversion for each IO
0 : Normal polarity : RegData[x] = IO[x]
1 : Inverted polarity : RegData[x] = !IO[x] (for both input and output configured IOs)
Enables polarity inversion for each IO
0 : Normal polarity : RegData[x] = IO[x]
1 : Inverted polarity : RegData[x] = !IO[x] (for both input and output configured IOs)
Configures direction for each IO.
0 : IO is configured as an output
1 : IO is configured as an input
Configures direction for each IO.
0 : IO is configured as an output
1 : IO is configured as an input
Write: Data to be output to the output-configured IOs
Read: Data seen at the IOs, independent of the direction configured.
Write: Data to be output to the output-configured IOs
Read: Data seen at the IOs, independent of the direction configured.
Configures which [input-configured] IO will trigger an interrupt on NINT pin
0 : An event on this IO will trigger an interrupt
1 : An event on this IO will NOT trigger an interrupt
Configures which [input-configured] IO will trigger an interrupt on NINT pin
0 : An event on this IO will trigger an interrupt
1 : An event on this IO will NOT trigger an interrupt
Edge sensitivity of RegData[15]
00 : None
Edge sensitivity of RegData[14]
01 : Rising
10 : Falling
Edge sensitivity of RegData[13]
11 : Both
Edge sensitivity of RegData[12]
Edge sensitivity of RegData[11]
Edge sensitivity of RegData[10]
Edge sensitivity of RegData[9]
Edge sensitivity of RegData[8]
Edge sensitivity of RegData[7]
Edge sensitivity of RegData[6]
Edge sensitivity of RegData[5]
Edge sensitivity of RegData[4]
Edge sensitivity of RegData[3]
28
00 : None
01 : Rising
10 : Falling
11 : Both
00 : None
01 : Rising
10 : Falling
11 : Both
00 : None
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
5:4
3:2
1:0
0x18
0x19
0x1A
0x1B
RegInterruptSourceB
RegInterruptSourceA
RegEventStatusB
RegEventStatusA
0x00
0x00
0x00
0x00
0x1C
RegLevelShifter1
0x00
0x1D
RegLevelShifter2
0x00
7:0
Edge sensitivity of RegData[2]
Edge sensitivity of RegData[1]
Edge sensitivity of RegData[0]
Interrupt source (from IOs set in RegInterruptMask)
0 : No interrupt has been triggered by this IO
1 : An interrupt has been triggered by this IO (an event as configured in relevant
RegSense register occured).
7:0
Writing '1' clears the bit in RegInterruptSource and in RegEventStatus
When all bits are cleared, NINT signal goes back high.
Interrupt source (from IOs set in RegInterruptMask)
0 : No interrupt has been triggered by this IO
1 : An interrupt has been triggered by this IO (an event as configured in relevant
RegSense register occured).
7:0
Writing '1' clears the bit in RegInterruptSource and in RegEventStatus
When all bits are cleared, NINT signal goes back high.
Event status of all IOs.
0 : No event has occured on this IO
1 : An event has occured on this IO (an edge as configured in relevant RegSense
register occured).
7:0
Writing '1' clears the bit in RegEventStatus and in RegInterruptSource if relevant.
If the edge sensitivity of the IO is changed, the bit(s) will be cleared automatically
Event status of all IOs.
0 : No event has occured on this IO
1 : An event has occured on this IO (an edge as configured in relevant RegSense
register occured).
7:6
5:4
3:2
1:0
7:6
5:4
3:2
1:0
7
6:5
0x1E
RegClock
0x00
4
3:0
7
6:4
3
0x1F
RegMisc
0x00
2
1
0
0x20
RegLEDDriverEnableB
th
Rev 4 – 26 April 2011
0x00
7:0
Writing '1' clears the bit in RegEventStatus and in RegInterruptSource if relevant.
If the edge sensitivity of the IO is changed, the bit(s) will be cleared automatically
Level shifter mode for IO[7] (Bank A) and IO[15] (Bank B)
00 : OFF
01 : A->B
Level shifter mode for IO[6] (Bank A) and IO[14] (Bank B)
10 : B->A
Level shifter mode for IO[5] (Bank A) and IO[13] (Bank B)
11 : Reserved
Level shifter mode for IO[4] (Bank A) and IO[12] (Bank B)
Level shifter mode for IO[3] (Bank A) and IO[11] (Bank B)
00 : OFF
01 : A->B
Level shifter mode for IO[2] (Bank A) and IO[10] (Bank B)
10 : B->A
Level shifter mode for IO[1] (Bank A) and IO[9] (Bank B)
11 : Reserved
Level shifter mode for IO[0] (Bank A) and IO[8] (Bank B)
Unused
Oscillator frequency (fOSC) source
00 : OFF. LED driver, keypad engine and debounce features are disabled.
01 : External clock input (OSCIN)
10 : Internal 2MHz oscillator
11 : Reserved
OSCIO pin function (Cf. §4.7)
0 : OSCIO is an input (OSCIN)
1 : OSCIO is an output (OSCOUT)
Frequency of the signal output on OSCOUT pin:
0x0 : 0Hz, permanent "0" logical level (GPO)
0xF : 0Hz, permanent "1" logical level (GPO)
Else : fOSCOUT = fOSC/(2^(RegClock[3:0]-1))
LED Driver mode for Bank B ‘s fading capable IOs (IO15-12)
0: Linear
1: Logarithmic
Frequency of the LED Driver clock ClkX of all IOs:
0 : OFF. LED driver functionality is disabled for all IOs.
Else : ClkX = fOSC/(2^(RegMisc[6:4]-1))
LED Driver mode for Bank A ‘s fading capable IOs (IO7-4)
0: Linear
1: Logarithmic
NRESET pin function when externally forced low (Cf. §4.3.1 and §4.8.5)
0: Equivalent to POR
1: Reset PWM/Blink/Fade counters (not user programmed values)
This bit is can only be reset manually or by POR, not by NRESET.
Auto-increment register address (Cf. §4.4)
0: ON. When several consecutive data are read/written, register address is incremented.
1: OFF. When several consecutive data are read/written, register address is kept fixed.
Autoclear NINT on RegData read (Cf. §4.6)
0: ON. RegInterruptSourceA/B is also automatically cleared when RegDataA/B is read.
1: OFF. RegInterruptSourceA/B must be manually cleared, either directly or via
RegEventStatusA/B.
Enables LED Driver for each [output-configured] IO
0 : LED Driver is disabled
1 : LED Driver is enabled
29
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
0x21
RegLEDDriverEnableA
0x00
7:0
7:3
0x22
RegDebounceConfig
0x00
0x23
RegDebounceEnableB
0x00
7:0
0x24
RegDebounceEnableA
0x00
7:0
2:0
7
6:4
0x25
RegKeyConfig1
0x00
3
2:0
7:6
5:3
0x26
RegKeyConfig2
0x00
2:0
0x27
RegKeyData1
0xFF
7:0
0x28
RegKeyData2
0xFF
7:0
7:5
0xXX
RegTOnX
0x00
0xXX
RegIOnX
0xFF
th
Rev 4 – 26 April 2011
4:0
7:0
Enables LED Driver for each [output-configured] IO
0 : LED Driver is disabled
1 : LED Driver is enabled
Unused
Debounce time (Cf. §4.5.1)
000: 0.5ms x 2MHz/fOSC
001: 1ms x 2MHz/fOSC
010: 2ms x 2MHz/fOSC
011: 4ms x 2MHz/fOSC
100: 8ms x 2MHz/fOSC
101: 16ms x 2MHz/fOSC
110: 32ms x 2MHz/fOSC
111: 64ms x 2MHz/fOSC
Enables debouncing for each [input-configured] IO
0 : Debouncing is disabled
1 : Debouncing is enabled
Enables debouncing for each [input-configured] IO
0 : Debouncing is disabled
1 : Debouncing is enabled
Reserved
Auto Sleep time (no key press within this time will set keypad engine to sleep)
000 : OFF
001 : 128ms x 2MHz/fOSC
010 : 256ms x 2MHz/fOSC
011 : 512ms x 2MHz/fOSC
100 : 1sec x 2MHz/fOSC
101 : 2sec x 2MHz/fOSC
110 : 4sec x 2MHz/fOSC
111 : 8sec x 2MHz/fOSC
Unused
Scan time per row (must be set above debounce time).
000 : 1ms x 2MHz/fOSC
001 : 2ms x 2MHz/fOSC
010 : 4ms x 2MHz/fOSC
011 : 8ms x 2MHz/fOSC
100 : 16ms x 2MHz/fOSC
101 : 32ms x 2MHz/fOSC
110 : 64ms x 2MHz/fOSC
111 : 128ms x 2MHz/fOSC
Unused
Number of rows (outputs) + key scan enable
000 : Key scan OFF
001 : 2 rows – IO[0:1]
010 : 3 rows – IO[0:2]
011 : 4 rows – IO[0:3]
100 : 5 rows – IO[0:4]
101 : 6 rows – IO[0:5]
110 : 7 rows – IO[0:6]
111 : 8 rows – IO[0:7]
Number of columns (inputs)
000 : 1 column – IO[8]
001 : 2 columns – IO[8:9]
010 : 3 columns – IO[8:10]
011 : 4 columns – IO[8:11]
100 : 5 columns – IO[8:12]
101 : 6 columns – IO[8:13]
110 : 7 columns – IO[8:14]
111 : 8 columns – IO[8:15]
Column which generated NINT (active low)
Ex: RegKeyData1=11011111 => IO13 has generated NINT
The register is automatically cleared when RegKeyData2 is read.
Row which generated NINT (active low)
Ex: RegKeyData2=11111110 => IO0 has generated NINT
When the register is read both RegKeyData1 & RegKeyData2 are automatically cleared
together with NINT and key scan continues.
Unused
ON Time of IO[X]:
0 : Infinite (Static mode, TOn directly controlled by RegData, Cf §4.8.2)
1 - 15 : TOnX = 64 * RegTOnX * (255/ClkX)
16 - 31 : TOnX = 512 * RegTOnX * (255/ClkX)
ON Intensity of IO[X]
- Linear mode : IOnX = RegIOnX
- Logarithmic mode (fading capable IOs only) : IOnX = f(RegIOnX) , Cf §4.8.5
30
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
7:3
0xXX
RegOffX
0x00
2:0
7:5
0xXX
RegTRiseX
0x00
4:0
7:5
0xXX
RegTFallX
0x00
0x69
RegHighInputB
0x00
7:0
0x6A
RegHighInputA
0x00
7:0
0x7D
RegReset
0x00
7:0
4:0
OFF Time of IO[X]:
0 : Infinite (Single shot mode, TOff directly controlled by RegData, Cf §4.8.3)
1 - 15 : TOffX = 64 * RegOffX[7:3] * (255/ClkX)
16 - 31 : TOffX = 512 * RegOffX[7:3] * (255/ClkX)
OFF Intensity of IO[X]
- Linear mode : IOffX = 4 x RegOff[2:0]
- Logarithmic mode (fading capable IOs only) : IOffX = f(4 x RegOffX[2:0]) , Cf §4.8.5
Unused
Fade In setting of IO[X]
0 : OFF
1 - 15 : TRiseX = (RegIOnX-(4xRegOffX[2:0])) * RegTRiseX * (255/ClkX)
16 - 31 : TRiseX = 16 * (RegIOnX-(4xRegOffX[2:0])) * RegTRiseX * (255/ClkX)
Unused
Fade Out setting of IO[X]
0 : OFF
1 - 15 : TFallX = (RegIOnX-(4xRegOffX[2:0])) * RegTFallX * (255/ClkX)
16 - 31 : TFallX = 16 * (RegIOnX-(4xRegOffX[2:0])) * RegTFallX * (255/ClkX)
Enables high input mode for each [input-configured] IO
0 : OFF. VIH max = 3.6V and VCCx min = 1.2V
1 : ON. VIH max = 5.5V and VCCx min = 1.65V
Enables high input mode for each [input-configured] IO
0 : OFF. VIH max = 3.6V and VCCx min = 1.2V
1 : ON. VIH max = 5.5V and VCCx min = 1.65V
Software reset register
Writing consecutively 0x12 and 0x34 will reset the device (same as POR).
Always reads 0.
Table 11 – SX1509QB Configuration Registers Description
th
Rev 4 – 26 April 2011
31
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
6
6.1
APPLICATION INFORMATION
Typical Application Circuit
OSCIO
3.3V
VCC1
I/O[0]
I/O[1]
I/O[2]
I/O[3]
VDDM
Host
controller
I/O
2.5V
NRESET
SX1508QB
SCL
SCL
SDA
SDA
I/O
5V
5V
1.2V
VCC2
I/O[4]
I/O[5]
I/O[6]
I/O[7]
ADDR1
ADDR0
NINT
GND
Optional (depends
on the application)
Figure 19 - Typical Application Schematic
6.2
Typical LED Connection
Typical LED Connection is described below. The LED is usually connected to a high voltage (VBAT) to take
advantage of the high sink current of the I/O and to accommodate high LED threshold voltages (VLED).
Please note that in this configuration the IO must be programmed as open drain output (RegOpenDrain) with no
pull-up (RegPullUp) and input buffer must be disabled (RegInputBufferDisable).
VCCx can take any value without compromising LED operation.
VCCx
VBAT
VCCx
*
VLED
SX1508/9QB
R
IOx
IOL
*
LED colour/technology dependent
Figure 20 – Typical LED Operation
Serial R must be calculated for IOL not to exceed its max spec (Cf. Table 5) else VOL will increase.
th
Rev 4 – 26 April 2011
32
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
7
PACKAGING INFORMATION
7.1
QFN-UT 20-pin Outline Drawing
QFN-UT 20-pin, 3 x 3 mm, 0.4 mm pitch
Figure 21 - QFN-UT 20-pin Outline Drawing
7.2
QFN-UT 20-pin Land Pattern
Figure 22 - QFN-UT 20-pin Land Pattern
th
Rev 4 – 26 April 2011
33
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
7.3
QFN-UT 28-pin Outline Drawing
QFN-UT 28-pin, 4 x 4 mm, 0.4 mm pitch
Figure 23 - QFN-UT 28-pin Outline Drawing
7.4
QFN-UT 28-pin Land Pattern
Figure 24 - QFN-UT 28-pin Land Pattern
th
Rev 4 – 26 April 2011
34
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
8
SOLDERING PROFILE
The soldering reflow profile for the SX1508QB and SX1509QB is described in the standard IPC/JEDEC J-STD020C. For detailed information please go to http://www.jedec.org/download/search/jstd020c.pdf
Figure 25 - Classification Reflow Profile (IPC/JEDEC J-STD-020C)
th
Rev 4 – 26 April 2011
35
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
9
MARKING INFORMATION
HAB7
yyww
xxxx
yyww = Date Code
xxxx = Semtech Lot No.
Figure 26 – SX1508QB Marking Information
HCA5
yyww
xxxxx
xxxxx
yyww = Date Code
xxxxx = Semtech Lot No.
xxxxx
Figure 27 – SX1509QB Marking Information
th
Rev 4 – 26 April 2011
36
www.semtech.com
SX1508QB/SX1509QB
World’s Lowest Voltage Level Shifting GPIO
with LED Driver and Keypad Engine
ADVANCED COMMUNICATIONS & SENSING
© Semtech 2011
All rights reserved. Reproduction in whole or in part is prohibited without the prior written consent of the
copyright owner. The information presented in this document does not form part of any quotation or contract, is
believed to be accurate and reliable and may be changed without notice. No liability will be accepted by the
publisher for any consequence of its use. Publication thereof does not convey nor imply any license under patent
or other industrial or intellectual property rights. Semtech assumes no responsibility or liability whatsoever for
any failure or unexpected operation resulting from misuse, neglect improper installation, repair or improper
handling or unusual physical or electrical stress including, but not limited to, exposure to parameters beyond the
specified maximum ratings or operation outside the specified range.
SEMTECH PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED OR WARRANTED TO BE
SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL
APPLICATIONS. INCLUSION OF SEMTECH PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO
BE UNDERTAKEN SOLELY AT THE CUSTOMER’S OWN RISK. Should a customer purchase or use Semtech
products for any such unauthorized application, the customer shall indemnify and hold Semtech and its officers,
employees, subsidiaries, affiliates, and distributors harmless against all claims, costs damages and attorney
fees which could arise.
Notice: All referenced brands, product names, service names and trademarks are the property of their
respective owners.
Contact Information
Semtech Corporation
Advanced Communications and Sensing Products Division
200 Flynn Road, Camarillo, CA 93012
Phone: (805) 498-2111 Fax: (805) 498-3804
th
Rev 4 – 26 April 2011
37
www.semtech.com