MAXIM MAX6956ANI

19-2414; Rev 3; 3/09
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
The MAX6956 compact, serial-interfaced LED display
driver/I/O expander provide microprocessors with up to
28 ports. Each port is individually user configurable to
either a logic input, logic output, or common-anode
(CA) LED constant-current segment driver. Each port
configured as an LED segment driver behaves as a
digitally controlled constant-current sink, with 16 equal
current steps from 1.5mA to 24mA. The LED drivers are
suitable for both discrete LEDs and CA numeric and
alphanumeric LED digits.
Each port configured as a general-purpose I/O (GPIO)
can be either a push-pull logic output capable of sinking 10mA and sourcing 4.5mA, or a Schmitt logic input
with optional internal pullup. Seven ports feature configurable transition detection logic, which generates an
interrupt upon change of port logic level. The MAX6956
is controlled through an I2C-compatible 2-wire serial
interface, and uses four-level logic to allow 16 I 2C
addresses from only 2 select pins.
The MAX6956AAX and MAX6956ATL have 28 ports
and are available in 36-pin SSOP and 40-pin thin QFN
packages, respectively. The MAX6956AAI and
MAX6956ANI have 20 ports and are available in 28-pin
SSOP and 28-pin DIP packages, respectively.
For an SPI-interfaced version, refer to the MAX6957
data sheet. For a lower cost pin-compatible port
expander without the constant-current LED drive capability, refer to the MAX7300 data sheet.
Applications
Features
400kbps I C-Compatible Serial Interface
2
2.5V to 5.5V Operation
-40°C to +125°C Temperature Range
20 or 28 I/O Ports, Each Configurable as
Constant-Current LED Driver
Push-Pull Logic Output
Schmitt Logic Input
Schmitt Logic Input with Internal Pullup
11µA (max) Shutdown Current
16-Step Individually Programmable Current
Control for Each LED
Logic Transition Detection for Seven I/O Ports
Ordering Information
PART
MAX6956ANI
TEMP RANGE
PIN-PACKAGE
-40°C to +125°C
28 DIP
MAX6956AAI
-40°C to +125°C
28 SSOP
MAX6956AAX
-40°C to +125°C
36 SSOP
MAX6956ATL
-40°C to +125°C
*EP = Exposed pad.
40 Thin QFN-EP*
Pin Configurations
TOP VIEW
Set-Top Boxes
Bar Graph Displays
ISET 1
28 V+
Panel Meters
Industrial Controllers
GND 2
27 AD1
White Goods
System Monitoring
GND 3
26 SCL
AD0 4
25 SDA
Automotive
P12 5
P13 6
Typical Operating Circuit appears at end of data sheet.
24 P31
MAX6956
23 P30
P14 7
22 P29
P15 8
21 P28
P16 9
20 P27
P17 10
19 P26
P18 11
18 P25
P19 12
17 P24
P20 13
16 P23
P21 14
15 P22
SSOP/DIP
Pin Configurations continued at end of data sheet.
________________________________________________________________ Maxim Integrated Products
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
1
MAX6956
General Description
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
ABSOLUTE MAXIMUM RATINGS
Voltage (with Respect to GND)
V+ .............................................................................-0.3V to +6V
SCL, SDA, AD0, AD1................................................-0.3V to +6V
All Other Pins................................................-0.3V to (V+ + 0.3V)
P4–P31 Current ................................................................±30mA
GND Current .....................................................................800mA
Continuous Power Dissipation
28-Pin PDIP (derate 14.3mW/°C above TA = +70°C) 1143mW
28-Pin SSOP (derate 9.1mW/°C above TA = +70°C) ...727mW
36-Pin SSOP (derate 11.8mW/°C above TA = +70°C) ...941mW
40-Pin TQFN (derate 26.3mW/°C above TA = +70°C) 2105mW
Operating Temperature Range
(TMIN to TMAX) ...............................................-40°C to +125°C
Junction Temperature ......................................................+150°C
Storage Temperature Range .............................-65°C to +150°C
Lead Temperature (soldering, 10s) .................................+300°C
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
ELECTRICAL CHARACTERISTICS
(Typical Operating Circuit, V+ = 2.5V to 5.5V, TA = TMIN to TMAX, unless otherwise noted.) (Note 1)
PARAMETER
Operating Supply Voltage
Shutdown Supply Current
Operating Supply Current
Operating Supply Current
Operating Supply Current
SYMBOL
V+
ISHDN
IGPOH
IGPOL
ILED
CONDITIONS
All digital inputs at V+
or GND
All ports programmed
as outputs high, no
load, all other inputs at
V+ or GND
All ports programmed
as outputs low, no
load, all other inputs at
V+ or GND
MIN
2.5
TA = +25°C
TYP
MAX
5.5
5.5
8
TA = -40°C to +85°C
10
TA = TMIN to TMAX
11
TA = +25°C
180
250
TA = TMIN to TMAX
270
170
230
TA = TMIN to TMAX
240
110
µA
210
TA = -40°C to +85°C
All ports programmed
TA = +25°C
as LED outputs, all LEDs
TA = -40°C to +85°C
off, no load, all other
inputs at V+ or GND
TA = TMIN to TMAX
µA
230
TA = -40°C to +85°C
TA = +25°C
UNITS
V
µA
135
140
µA
145
INPUTS AND OUTPUTS
Logic-High Input Voltage
Port Inputs
VIH
Logic-Low Input Voltage
Port Inputs
VIL
Input Leakage Current
IIH, IIL
GPIO Input Internal Pullup to V+
IPU
Hysteresis Voltage GPIO Inputs
ΔVI
Output High Voltage
Port Sink Current
Output Short-Circuit Current
2
VOH
IOL
IOLSC
0.7 ✕
V+
GPIO inputs without pullup,
VPORT = V+ to GND
V+ = 2.5V
V+ = 5.5V
V
0.3 ✕
V+
V
-100
±1
+100
nA
12
80
19
120
30
180
µA
0.3
GPIO outputs, ISOURCE = 2mA, TA = -40°C to
+85°C
V+ 0.7
GPIO outputs, ISOURCE = 1mA, TA = TMIN to
TMAX (Note 2)
V+ 0.7
VPORT = 0.6V
Port configured output low, shorted to V+
V
V
2
10
18
mA
2.75
11
20
mA
_______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
(Typical Operating Circuit, V+ = 2.5V to 5.5V, TA = TMIN to TMAX, unless otherwise noted.) (Note 1)
PARAMETER
Port Drive LED Sink Current,
Port Configured as LED Driver
Port Drive Logic Sink Current,
Port Configured as LED Driver
Input High-Voltage SDA, SCL,
AD0, AD1
Input Low-Voltage SDA, SCL,
AD0, AD1
Input Leakage Current SDA, SCL
Input Capacitance
Output Low-Voltage SDA
SYMBOL
CONDITIONS
V+ = 2.5V, VLED = 2.3V at maximum LED
current
V+ = 3.3V, VLED = 2.4V at maximum LED
IDIGIT
current (Note 2)
V+ = 5.5V, VLED = 2.4V at maximum LED
current
V+ = 2.5V, VOUT = 0.6V at maximum sink
current
IDIGIT_SC
V+ = 5.5V, VOUT = 0.6V at maximum sink
current
MIN
TYP
MAX
9.5
13.5
18
18.5
24
27.5
19
25
30
18.5
23
28
19
24
28
V
VIL
IIH, IIL
VOL
mA
mA
0.7 ✕
V+
VIH
UNITS
-50
(Note 2)
ISINK = 6mA
0.3 ✕
V+
50
10
0.4
nA
pF
V
MAX
400
UNITS
kHz
V
TIMING CHARACTERISTICS (Figure 2)
(V+ = 2.5V to 5.5V, TA = TMIN to TMAX, unless otherwise noted.) (Note 1)
PARAMETER
Serial Clock Frequency
Bus Free Time Between a STOP
and a START Condition
Hold Time (Repeated) START
Condition
Repeated START Condition
Setup Time
STOP Condition Setup Time
Data Hold Time
Data Setup Time
SCL Clock Low Period
SCL Clock High Period
Rise Time of Both SDA and SCL
Signals, Receiving
Fall Time of Both SDA and SCL
Signals, Receiving
Fall Time of SDA Transmitting
SYMBOL
fSCL
CONDITIONS
MIN
TYP
tBUF
1.3
µs
tHD, STA
0.6
µs
tSU, STA
0.6
µs
tSU, STO
tHD, DAT
tSU, DAT
tLOW
tHIGH
(Note 3)
tR
(Notes 2, 4)
tF
(Notes 2, 4)
tF,TX
(Notes 2, 5)
0.6
15
100
1.3
0.7
900
20 +
0.1Cb
20 +
0.1Cb
20 +
0.1Cb
µs
ns
ns
µs
µs
300
ns
300
ns
250
ns
Pulse Width of Spike Suppressed
tSP
(Notes 2, 6)
0
50
ns
Capacitive Load for Each Bus
(Note 2)
400
pF
Cb
Line
Note 1: All parameters tested at TA = +25°C. Specifications over temperature are guaranteed by design.
Note 2: Guaranteed by design.
Note 3: A master device must provide a hold time of at least 300ns for the SDA signal (referred to VIL of the SCL signal) in order to
bridge the undefined region of SCL’s falling edge.
Note 4: Cb = total capacitance of one bus line in pF. tR and tF measured between 0.3V+ and 0.7V+.
Note 5: ISINK ≤ 6mA. Cb = total capacitance of one bus line in pF. tR and tF measured between 0.3V+ and 0.7V+.
Note 6: Input filters on the SDA and SCL inputs suppress noise spikes less than 50ns.
_______________________________________________________________________________________
3
MAX6956
ELECTRICAL CHARACTERISTICS (continued)
__________________________________________Typical Operating Characteristics
(RISET = 39kΩ, TA = +25°C, unless otherwise noted.)
ALL PORTS
OUTPUT (0)
ALL PORTS
OUTPUT (1)
0.20
0.16
0.12
0.08
6
V+ = 2.5V
ALL PORTS OUTPUT (1)
1
ALL PORTS OUTPUT (0)
ALL PORTS LED (OFF)
ALL PORTS LED (OFF)
0
3
-12.5
15.0
42.5
70.0
97.5
125.0
0.01
-40.0
-12.5
15.0
42.5
70.0
97.5
125.0
2.0
3.0
3.5
4.0
4.5
5.0
V+ (V)
LED DRIVER SINK CURRENT
vs. V+
LED DRIVER SINK CURRENT
vs. TEMPERATURE
GPO SINK CURRENT vs. TEMPERATURE
(OUTPUT = 0)
20
LED DROP = 2.4V
18
16
LED DROP = 1.8V
14
26
PORT SINK CURRENT (mA)
22
VLED = 2.4V
12
V+ = 5.5V
18
V+ = 2.5V TO 5.5V, VPORT = 0.6V
16
PORT SINK CURRENT (mA)
27
MAX6956 toc04
24
25
24
23
V+ = 3.3V
22
10
21
8
2.5
3.0
3.5
4.0
4.5
5.0
12
10
8
6
2
-40.0
5.5
14
4
20
6
-12.5
15.0
42.5
70.0
97.5
-40.0
125.0
-12.5
15.0
42.5
70.0
97.5
V+ (V)
TEMPERATURE (°C)
TEMPERATURE (°C)
GPO SOURCE CURRENT vs. TEMPERATURE
(OUTPUT = 1)
GPI PULLUP CURRENT
vs. TEMPERATURE
GPO SHORT-CIRCUIT CURRENT
vs. TEMPERATURE
PULLUP CURRENT (μA)
V+ = 5.5V
V+ = 3.3V
6
5
V+ = 2.5V
4
PORT CURRENT (mA)
V+ = 5.5V
100
V+ = 3.3V
GPO = 0, PORT
SHORTED TO V+
10
V+ = 2.5V
3
2
GPO = 1, PORT
SHORTED TO GND
1
10
-12.5
15.0
42.5
70.0
TEMPERATURE (°C)
97.5
125.0
125.0
MAX6956 toc09
8
100
MAX6956 toc08
VPORT = 1.4V
7
1000
MAX6956 toc07
9
-40.0
5.5
TEMPERATURE (°C)
26
2.0
2.5
TEMPERATURE (°C)
MAX6956 toc05
-40.0
4
10
0.1
4
0.04
PORT SINK CURRENT (mA)
V+ = 3.3V
5
ALL PORTS LED (ON)
MAX6956 toc06
0.24
100
SUPPLY CURRENT (mA)
0.28
V+ = 5.5V
7
SUPPLY CURRENT (μA)
SUPPLY CURRENT (mA)
0.32
OPERATING SUPPLY CURRENT vs. V+
(NO LOADS)
MAX6956 toc02
V+ = 2.5V TO 5.5V
NO LOAD
0.36
8
MAX6956 toc01
0.40
SHUTDOWN SUPPLY CURRENT
vs. TEMPERATURE
MAX6956 toc03
OPERATING SUPPLY CURRENT
vs. TEMPERATURE
PORT SOURCE CURRENT (mA)
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
-40.0
-12.5
15.0
42.5
70.0
TEMPERATURE (°C)
97.5
125.0
-40.0
-12.5
15.0
42.5
70.0
TEMPERATURE (°C)
_______________________________________________________________________________________
97.5
125.0
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
PIN
NAME
FUNCTION
36
ISET
Segment Current Setting. Connect ISET to GND through a resistor (RISET) to set
the maximum segment current.
2, 3
37, 38, 39
GND
Ground
4
4
40
AD0
Address Input 0. Sets device slave address. Connect to either GND, V+, SCL,
SDA to give four logic combinations. See Table 3.
5–24
—
—
P12–P31
LED Segment Drivers and GPIO. P12 to P31 can be configured as CA LED
drivers, GPIO outputs, CMOS logic inputs, or CMOS logic inputs with weak
pullup resistor.
—
5–32
1–10,
12–19,
21–30
P4–P31
LED Segment Drivers and GPIO. P4 to P31 can be configured as CA LED
drivers, GPIO outputs, CMOS logic inputs, or CMOS logic inputs with weak
pullup resistor.
SSOP/DIP
SSOP
TQFN
1
1
2, 3
—
—
11, 20, 31
N.C.
No Connection
25
33
32
SDA
I2C-Compatible Serial Data I/O
26
34
33
SCL
I2C-Compatible Serial Clock Input
27
35
34
AD1
Address Input 1. Sets device slave address. Connect to either GND, V+, SCL,
SDA to give four logic combinations. See Table 3.
28
36
35
V+
Positive Supply Voltage. Bypass V+ to GND with minimum 0.047µF capacitor.
—
—
—
EP
Exposed Pad (TQFN Only). Not internally connected. Connect EP to ground
plane for maximum thermal performance.
Detailed Description
The MAX6956 LED driver/GPIO peripheral provides up
to 28 I/O ports, P4 to P31, controlled through an I2C-compatible serial interface. The ports can be configured to
any combination of constant-current LED drivers, logic
inputs and logic outputs, and default to logic inputs on
power-up. When fully configured as an LED driver, the
MAX6956 controls up to 28 LED segments with individual
16-step adjustment of the constant current through each
LED segment. A single resistor sets the maximum segment current for all segments, with a maximum of 24mA
per segment. The MAX6956 drives any combination of
discrete LEDs and CA digits, including seven-segment
and starburst alphanumeric types.
Figure 1 is the MAX6956 functional diagram. Any I/O
port can be configured as a push-pull output (sinking
10mA, sourcing 4.5mA), or a Schmitt-trigger logic input.
Each input has an individually selectable internal pullup
resistor. Additionally, transition detection allows seven
ports (P24 through P30) to be monitored in any maskable combination for changes in their logic status. A
detected transition is flagged through a status register
bit, as well as an interrupt pin (port P31), if desired.
The Typical Operating Circuit shows two MAX6956s
working together controlling three monocolor 16-seg-
ment-plus-DP displays, with five ports left available for
GPIO (P26–P31 of U2).
The port configuration registers set the 28 ports, P4 to
P31, individually as either LED drivers or GPIO. A pair
of bits in registers 0x09 through 0x0F sets each port’s
configuration (Tables 1 and 2).
The 36-pin MAX6956AAX has 28 ports, P4 to P31. The
28-pin MAX6956ANI and MAX6956AAI make only 20
ports available, P12 to P31. The eight unused ports
should be configured as outputs on power-up by writing 0x55 to registers 0x09 and 0x0A. If this is not done,
the eight unused ports remain as floating inputs and
quiescent supply current rises, although there is no
damage to the part.
Register Control of I/O Ports and LEDs
Across Multiple Drivers
The MAX6956 offers 20 or 28 I/O ports, depending on
package choice. These can be applied to a variety of
combinations of different display types, for example:
seven, 7-segment digits (Figure 7). This example
requires two MAX6956s, with one digit being driven by
both devices, half by one MAX6956, half by the other
(digit 4 in this example). The two drivers are static, and
therefore do not need to be synchronized. The
MAX6956 sees CA digits as multiple discrete LEDs. To
_______________________________________________________________________________________
5
MAX6956
Pin Description
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Table 1. Port Configuration Map
REGISTER DATA
ADDRESS
CODE (HEX)
REGISTER
Port Configuration for P7, P6, P5, P4
D7
0x09
D6
D5
P7
D4
D3
P6
D2
P5
D1
D0
P4
Port Configuration for P11, P10, P9, P8
0x0A
P11
P10
P9
P8
Port Configuration for P15, P14, P13, P12
0x0B
P15
P14
P13
P12
Port Configuration for P19, P18, P17, P16
0x0C
P19
P18
P17
P16
Port Configuration for P23, P22, P21, P20
0x0D
P23
P22
P21
P20
Port Configuration for P27, P26, P25, P24
0x0E
P27
P26
P25
P24
Port Configuration for P31, P30, P29, P28
0x0F
P31
P30
P29
P28
Table 2. Port Configuration Matrix
MODE
FUNCTION
Output
LED Segment Driver
Output
GPIO Output
Input
GPIO Input
Without Pullup
Input
GPIO Input with Pullup
PORT
REGISTER
(0x20–0x5F)
PIN BEHAVIOR
PORT
CONFIGURATION
BIT PAIR
UPPER
LOWER
0x09 to 0x0F
0
0
0x09 to 0x0F
0
1
Schmitt logic input
0x09 to 0x0F
1
0
Schmitt logic input with pullup
0x09 to 0x0F
1
1
Register bit = 0
High impedance
Register bit = 1
Open-drain current sink, with sink
current (up to 24mA) determined
by the appropriate current register
Register bit = 0
Active-low logic output
Register bit = 1
Active-high logic output
Register bit =
input logic level
ADDRESS
CODE (HEX)
Note: The logic is inverted between the two output modes; a high makes the output go low in LED segment driver mode (0x00) to
turn that segment on; in GPIO output mode (0x01), a high makes the output go high.
simplify access to displays that overlap two MAX6956s,
the MAX6956 provides four virtual ports, P0 through P3.
To update an overlapping digit, send the same code
twice as an eight-port write, once to P28 through P35 of
the first driver, and again to P0 through P7 of the second driver. The first driver ignores the last 4 bits and
the second driver ignores the first 4 bits.
Two addressing methods are available. Any single port
(bit) can be written (set/cleared) at once; or, any
sequence of eight ports can be written (set/cleared) in
any combination at once. There are no boundaries; it is
equally acceptable to write P0 through P7, P1 through
P8, or P31 through P38 (P32 through P38 are nonexistent, so the instructions to these bits are ignored).
Using 8-bit control, a seven-segment digit with a decimal point can be updated in a single byte-write, a 146
segment digit with DP can be updated in two bytewrites, and 16-segment digits with DP can be updated
in two byte-writes plus a bit write. Also, discrete LEDs
and GPIO port bits can be lit and controlled individually
without affecting other ports.
Shutdown
When the MAX6956 is in shutdown mode, all ports are
forced to inputs (which an be read), and the pullup current sources are turned off. Data in the port and control
registers remain unaltered, so port configuration and
output levels are restored when the MAX6956 is taken
out of shutdown. The display driver can still be programmed while in shutdown mode. For minimum supply current in shutdown mode, logic inputs should be at
GND or V+ potential. Shutdown mode is exited by setting the S bit in the configuration register (Table 8).
_______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
MAX6956
INTENSITY REGISTERS
INTENSITY
TEST REGISTER
TEST
CONFIGURATION
MAX6956
PORT REGISTERS
MASK REGISTER
P4 TO P31
LED DRIVERS
OR GPIO
LED DRIVERS AND GPIO
CONFIGURATION
REGISTERS
PORT CHANGE
DETECTOR
DATA
R/W
CE
8
SEGMENT OR
GPIO DATA
R/W
8
AD0
COMMAND
REGISTER DECODE
ADDRESS
MATCHER
AD1
7
8
8
DATA BYTE
D0
D1
D2
D3
D4
7
COMMAND BYTE
D5
D6
D7
D8
D9
D10
TO/FROM DATA REGISTERS
7-BIT DEVICE ADDRESS
D11
D12
D13
D14
D15
TO COMMAND REGISTERS
R/W
SDA
SCL
SLAVE ADDRESS BYTE
DATA BYTE
COMMAND BYTE
Figure 1. MAX6956 Functional Diagram
Shutdown mode is temporarily overridden by the display test function.
Serial Interface
Serial Addressing
The MAX6956 operates as a slave that sends and
receives data through an I2C-compatible 2-wire interface. The interface uses a serial data line (SDA) and a
serial clock line (SCL) to achieve bidirectional communication between master(s) and slave(s). A master (typically a microcontroller) initiates all data transfers to and
from the MAX6956, and generates the SCL clock that
synchronizes the data transfer (Figure 2).
The MAX6956 SDA line operates as both an input and
an open-drain output. A pullup resistor, typically 4.7kΩ,
is required on SDA. The MAX6956 SCL line operates
only as an input. A pullup resistor, typically 4.7kΩ, is
required on SCL if there are multiple masters on the 2wire interface, or if the master in a single-master system
has an open-drain SCL output.
Each transmission consists of a START condition
(Figure 3) sent by a master, followed by the MAX6956
7-bit slave address plus R/ W bit (Figure 6), a register
address byte, one or more data bytes, and finally a
STOP condition (Figure 3).
Start and Stop Conditions
Both SCL and SDA remain high when the interface is
not busy. A master signals the beginning of a transmission with a START (S) condition by transitioning SDA
from high to low while SCL is high. When the master
_______________________________________________________________________________________________________
7
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
SDA
tBUF
tSU, STA
tSU, DAT
tHD, STA
tLOW
tSU, STO
tHD, DAT
SCL
tHIGH
tHD, STA
tR
tF
REPEATED START CONDITION
START CONDITION
STOP CONDITION
START CONDITION
Figure 2. 2-Wire Serial Interface Timing Details
SDA
SCL
S
P
START
CONDITION
STOP
CONDITION
Figure 3. Standard Stop Conditions
SDA
SCL
DATA LINE STABLE;
DATA VALID
CHANGE OF DATA ALLOWED
Figure 4. Bit Transfer
has finished communicating with the slave, it issues a
STOP (P) condition by transitioning SDA from low to
high while SCL is high. The bus is then free for another
transmission (Figure 3).
Bit Transfer
One data bit is transferred during each clock pulse.
The data on SDA must remain stable while SCL is high
(Figure 4).
8
Acknowledge
The acknowledge bit is a clocked 9th bit, which the
recipient uses to handshake receipt of each byte of
data (Figure 5). Thus, each byte transferred effectively
requires 9 bits. The master generates the 9th clock
pulse, and the recipient pulls down SDA during the
acknowledge clock pulse, such that the SDA line is stable low during the high period of the clock pulse. When
the master is transmitting to the MAX6956, the
MAX6956 generates the acknowledge bit because the
_______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
MAX6956
START CONDITION
CLOCK PULSE FOR ACKNOWLEDGMENT
SCL
1
2
8
9
SDA
BY TRANSMITTER
S
SDA
BY RECEIVER
Figure 5. Acknowledge
SDA
1
0
0
A3
A2
A1
A0
R/W
ACK
LSB
MSB
SCL
Figure 6. Slave Address
MAX6956 is the recipient. When the MAX6956 is transmitting to the master, the master generates the
acknowledge bit because the master is the recipient.
Slave Address
The MAX6956 has a 7-bit-long slave address (Figure 6).
The eighth bit following the 7-bit slave address is the
R/ W bit. It is low for a write command, high for a read
command.
The first 3 bits (MSBs) of the MAX6956 slave address
are always 100. Slave address bits A3, A2, A1, and A0
are selected by address inputs, AD1 and AD0. These
two input pins may be connected to GND, V+, SDA, or
SCL. The MAX6956 has 16 possible slave addresses
(Table 3) and therefore, a maximum of 16 MAX6956
devices may share the same interface.
Message Format for Writing
the MAX6956
A write to the MAX6956 comprises the transmission of
the MAX6956’s slave address with the R/ W bit set to
zero, followed by at least 1 byte of information. The first
byte of information is the command byte. The command byte determines which register of the MAX6956
is to be written by the next byte, if received. If a STOP
condition is detected after the command byte is
received, then the MAX6956 takes no further action
(Figure 8) beyond storing the command byte.
Any bytes received after the command byte are data
bytes. The first data byte goes into the internal register of
the MAX6956 selected by the command byte (Figure 9). If
multiple data bytes are transmitted before a STOP condition is detected, these bytes are generally stored in subsequent MAX6956 internal registers because the command
byte address generally autoincrements (Table 4).
Message Format for Reading
The MAX6956 is read using the MAX6956’s internally
stored command byte as address pointer, the same
way the stored command byte is used as address
pointer for a write. The pointer generally autoincrements after each data byte is read using the same rules
as for a write (Table 4). Thus, a read is initiated by first
configuring the MAX6956’s command byte by perform-
_______________________________________________________________________________________
9
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
7-SEGMENT DIGIT 1
7-SEGMENT DIGIT 2
7-SEGMENT DIGIT 3
V+
7-SEGMENT DIGIT 4
VIRTUAL SEGMENTS
P0
P1
P2
P3
P4
P5
P6
P7
P8
P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31
7-SEGMENT DIGIT 5
7-SEGMENT DIGIT 6
V+
7-SEGMENT DIGIT 7
VIRTUAL SEGMENTS
P0
P1
P2
P3
P4
P5
P6
P7
P8
P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31
Figure 7. Two MAX6956s Controlling Seven 7-Segment Displays
D15 D14 D13 D12 D11 D10 D9
COMMAND BYTE IS STORED ON RECEIPT OF STOP CONDITION
ACKNOWLEDGE FROM MAX6956
SLAVE ADDRESS
S
0
COMMAND BYTE RECEIVED
A
D8
A
COMMAND BYTE
P
ACKNOWLEDGE FROM MAX6956
R/W
Figure 8. Command Byte Received
ACKNOWLEDGE FROM MAX6956
D15 D14 D13 D12 D11 D10
HOW COMMAND BYTE AND DATA BYTE MAP INTO MAX6956's REGISTER
ACKNOWLEDGE FROM MAX6956
S
SLAVE ADDRESS
0
R/W
A
COMMAND BYTE
D9
ACKNOWLEDGE FROM MAX6956
D8
D7
A
D6
D5
D4
D3
D2
DATA BYTE
1 BYTE
Figure 9. Command and Single Data Byte Received
10
______________________________________________________________________________________
D1
D0
A
P
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
D15 D14 D13 D12 D11 D10 D9
MAX6956
ACKNOWLEDGE FROM MAX6956
ACKNOWLEDGE FROM MAX6956
HOW COMMAND BYTE AND DATA BYTE MAP INTO MAX6956's REGISTER
D8
D7
D6
D5
D4
D3
D2
D1
D0
ACKNOWLEDGE FROM MAX6956
SLAVE ADDRESS
S
0
COMMAND BYTE
A
DATA BYTE
A
A
P
n BYTES
R/W
AUTOINCREMENT MEMORY WORD ADDRESS
Figure 10. n Data Bytes Received
Table 3. MAX6956 Address Map
PIN
CONNECTION
DEVICE ADDRESS
AD1
AD0
A6
A5
A4
A3
A2
A1
A0
GND
GND
1
0
0
0
0
0
0
GND
V+
1
0
0
0
0
0
1
GND
SDA
1
0
0
0
0
1
0
GND
SCL
1
0
0
0
0
1
1
V+
GND
1
0
0
0
1
0
0
V+
V+
1
0
0
0
1
0
1
V+
SDA
1
0
0
0
1
1
0
V+
SCL
1
0
0
0
1
1
1
SDA
GND
1
0
0
1
0
0
0
SDA
V+
1
0
0
1
0
0
1
SDA
SDA
1
0
0
1
0
1
0
SDA
SCL
1
0
0
1
0
1
1
SCL
GND
1
0
0
1
1
0
0
SCL
V+
1
0
0
1
1
0
1
SCL
SDA
1
0
0
1
1
1
0
SCL
SCL
1
0
0
1
1
1
1
Table 4. Autoincrement Rules
COMMAND BYTE ADDRESS RANGE
x0000000 to x1111110
x1111111
AUTOINCREMENT BEHAVIOR
Command address autoincrements after byte read or written
Command address remains at x1111111 after byte written or read
ing a write (Figure 8). The master can now read n consecutive bytes from the MAX6956, with the first data
byte being read from the register addressed by the initialized command byte. When performing read-afterwrite verification, remember to reset the command
byte’s address because the stored control byte
address generally has been autoincremented after the
write (Table 4). Table 5 is the register address map.
Operation with Multiple Masters
If the MAX6956 is operated on a 2-wire interface with
multiple masters, a master reading the MAX6956
should use a repeated start between the write, which
sets the MAX6956’s address pointer, and the read(s)
that takes the data from the location(s). This is because
it is possible for master 2 to take over the bus after
master 1 has set up the MAX6956’s address pointer but
before master 1 has read the data. If master 2 subse-
______________________________________________________________________________________
11
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Table 5. Register Address Map
COMMAND ADDRESS
D15
D14
D13
D12
D11
D10
D9
D8
HEX
CODE
No-Op
X
0
0
0
0
0
0
0
0x00
Global Current
X
0
0
0
0
0
1
0
0x02
REGISTER
Configuration
X
0
0
0
0
1
0
0
0x04
Transition Detect Mask
X
0
0
0
0
1
1
0
0x06
Display Test
X
0
0
0
0
1
1
1
0x07
Port Configuration P7, P6, P5, P4
X
0
0
0
1
0
0
1
0x09
Port Configuration P11, P10, P9, P8
X
0
0
0
1
0
1
0
0x0A
Port Configuration P15, P14, P13, P12
X
0
0
0
1
0
1
1
0x0B
Port Configuration P19, P18, P17, P16
X
0
0
0
1
1
0
0
0x0C
Port Configuration P23, P22, P21, P20
X
0
0
0
1
1
0
1
0x0D
Port Configuration P27, P26, P25, P24
X
0
0
0
1
1
1
0
0x0E
Port Configuration P31, P30, P29, P28
Current054
X
X
0
0
0
0
0
1
1
0
1
0
1
1
1
0
0x0F
0x12
Current076
X
0
0
1
0
0
1
1
0x13
Current098
X
0
0
1
0
1
0
0
0x14
Current0BA
X
0
0
1
0
1
0
1
0x15
Current0DC
X
0
0
1
0
1
1
0
0x16
Current0FE
X
0
0
1
0
1
1
1
0x17
Current110
X
0
0
1
1
0
0
0
0x18
Current132
X
0
0
1
1
0
0
1
0x19
Current154
X
0
0
1
1
0
1
0
0x1A
Current176
X
0
0
1
1
0
1
1
0x1B
Current198
X
0
0
1
1
1
0
0
0x1C
Current1BA
X
0
0
1
1
1
0
1
0x1D
Current1DC
X
0
0
1
1
1
1
0
0x1E
Current1FE
X
0
0
1
1
1
1
1
0x1F
Port 0 only (virtual port, no action)
X
0
1
0
0
0
0
0
0x20
Port 1 only (virtual port, no action)
X
0
1
0
0
0
0
1
0x21
Port 2 only (virtual port, no action)
X
0
1
0
0
0
1
0
0x22
Port 3 only (virtual port, no action)
X
0
1
0
0
0
1
1
0x23
Port 4 only (data bit D0; D7–D1 read as 0)
X
0
1
0
0
1
0
0
0x24
Port 5 only (data bit D0; D7–D1 read as 0)
X
0
1
0
0
1
0
1
0x25
Port 6 only (data bit D0; D7–D1 read as 0)
X
0
1
0
0
1
1
0
0x26
Port 7 only (data bit D0; D7–D1 read as 0)
X
0
1
0
0
1
1
1
0x27
Port 8 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
0
0
0
0x28
Port 9 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
0
0
1
0x29
Port 10 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
0
1
0
0x2A
12
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
REGISTER
COMMAND ADDRESS
HEX
CODE
D15
D14
D13
D12
D11
D10
D9
D8
Port 11 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
0
1
1
0x2B
Port 12 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
1
0
0
0x2C
Port 13 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
1
0
1
0x2D
Port 14 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
1
1
0
0x2E
Port 15 only (data bit D0; D7–D1 read as 0)
X
0
1
0
1
1
1
1
0x2F
Port 16 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
0
0
0
0x30
Port 17 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
0
0
1
0x31
Port 18 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
0
1
0
0x32
Port 19 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
0
1
1
0x33
Port 20 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
1
0
0
0x34
Port 21 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
1
0
1
0x35
Port 22 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
1
1
0
0x36
Port 23 only (data bit D0; D7–D1 read as 0)
X
0
1
1
0
1
1
1
0x37
Port 24 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
0
0
0
0x38
Port 25 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
0
0
1
0x39
Port 26 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
0
1
0
0x3A
Port 27 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
0
1
1
0x3B
Port 28 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
1
0
0
0x3C
Port 29 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
1
0
1
0x3D
Port 30 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
1
1
0
0x3E
Port 31 only (data bit D0; D7–D1 read as 0)
X
0
1
1
1
1
1
1
0x3F
4 ports 4–7 (data bits D0–D3; D4–D7 read as 0)
X
1
0
0
0
0
0
0
0x40
5 ports 4–8 (data bits D0–D4; D5–D7 read as 0)
X
1
0
0
0
0
0
1
0x41
6 ports 4–9 (data bits D0–D5; D6–D7 read as 0)
X
1
0
0
0
0
1
0
0x42
7 ports 4–10 (data bits D0–D6; D7 reads as 0)
X
1
0
0
0
0
1
1
0x43
8 ports 4–11 (data bits D0–D7)
X
1
0
0
0
1
0
0
0x44
8 ports 5–12 (data bits D0–D7)
X
1
0
0
0
1
0
1
0x45
8 ports 6–13 (data bits D0–D7)
X
1
0
0
0
1
1
0
0x46
8 ports 7–14 (data bits D0–D7)
X
1
0
0
0
1
1
1
0x47
8 ports 8–15 (data bits D0–D7)
X
1
0
0
1
0
0
0
0x48
8 ports 9–16 (data bits D0–D7)
X
1
0
0
1
0
0
1
0x49
8 ports 10–17 (data bits D0–D7)
X
1
0
0
1
0
1
0
0x4A
8 ports 11–18 (data bits D0–D7)
X
1
0
0
1
0
1
1
0x4B
8 ports 12–19 (data bits D0–D7)
X
1
0
0
1
1
0
0
0x4C
8 ports 13–20 (data bits D0–D7)
X
1
0
0
1
1
0
1
0x4D
8 ports 14–21 (data bits D0–D7)
X
1
0
0
1
1
1
0
0x4E
8 ports 15–22 (data bits D0–D7)
X
1
0
0
1
1
1
1
0x4F
______________________________________________________________________________________
13
MAX6956
Table 5. Register Address Map (continued)
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Table 5. Register Address Map (continued)
COMMAND ADDRESS
D15
D14
D13
D12
D11
D10
D9
D8
HEX
CODE
8 ports 16–23 (data bits D0–D7)
X
1
0
1
0
0
0
0
0x50
8 ports 17–24 (data bits D0–D7)
X
1
0
1
0
0
0
1
0x51
8 ports 18–25 (data bits D0–D7)
X
1
0
1
0
0
1
0
0x52
8 ports 19–26 (data bits D0–D7)
X
1
0
1
0
0
1
1
0x53
8 ports 20–27 (data bits D0–D7)
X
1
0
1
0
1
0
0
0x54
8 ports 21–28 (data bits D0–D7)
X
1
0
1
0
1
0
1
0x55
8 ports 22–29 (data bits D0–D7)
X
1
0
1
0
1
1
0
0x56
8 ports 23–30 (data bits D0–D7)
X
1
0
1
0
1
1
1
0x57
8 ports 24–31 (data bits D0–D7)
X
1
0
1
1
0
0
0
0x58
7 ports 25–31 (data bits D0–D6; D7 reads as 0)
X
1
0
1
1
0
0
1
0x59
6 ports 26–31 (data bits D0–D5; D6–D7 read as 0)
X
1
0
1
1
0
1
0
0x5A
5 ports 27–31 (data bits D0–D4; D5–D7 read as 0)
X
1
0
1
1
0
1
1
0x5B
4 ports 28–31 (data bits D0–D3; D4–D7 read as 0)
X
1
0
1
1
1
0
0
0x5C
3 ports 29–31 (data bits D0–D2; D3–D7 read as 0)
X
1
0
1
1
1
0
1
0x5D
2 ports 30–31 (data bits D0–D1; D2–D7 read as 0)
X
1
0
1
1
1
1
0
0x5E
1 port 31 only (data bit D0; D1–D7 read as 0)
X
1
0
1
1
1
1
1
0x5F
REGISTER
Note: Unused bits read as 0.
quently changes, the MAX6956’s address pointer, then
master 1’s delayed read may be from an unexpected
location.
Command Address Autoincrementing
Address autoincrementing allows the MAX6956 to be
configured with the shortest number of transmissions
by minimizing the number of times the command
address needs to be sent. The command address
stored in the MAX6956 generally increments after each
data byte is written or read (Table 4).
Initial Power-Up
On initial power-up, all control registers are reset, the
current registers are set to minimum value, and the
MAX6956 enters shutdown mode (Table 6).
LED Current Control
LED segment drive current can be set either globally or
individually. Global control simplifies the operation
when all LEDs are set to the same current level,
because writing just the global current register sets the
current for all ports configured as LED segment drivers.
It is also possible to individually control the current
14
drive of each LED segment driver. Individual/global
brightness control is selected by setting the configuration register I bit (Table 9). The global current register
(0x02) data are then ignored, and segment currents are
set using register addresses 0x12 through 0x1F (Tables
12, 13, and 14). Each segment is controlled by a nibble
of one of the 16 current registers.
Transition (Port Data Change) Detection
Port transition detection allows any combination of the
seven ports P24–P30 to be continuously monitored for
changes in their logic status (Figure 11). A detected
change is flagged on the transition detection mask register INT status bit, D7 (Table 15). If port P31 is configured as an output (Tables 1 and 2), then P31 also
automatically becomes an active-high interrupt output
(INT), which follows the condition of the INT status bit.
Port P31 is set as output by writing bit D7 = 0 and bit
D6 = 1 to the port configuration register (Table 1). Note
that the MAX6956 does not identify which specific
port(s) caused the interrupt, but provides an alert that
one or more port levels have changed.
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
POWER-UP CONDITION
ADDRESS
CODE
(HEX)
D7
D6
D5
D4
D3
D2
D1
D0
LED Off; GPIO Output Low
0x24 to
0x3F
X
X
X
X
X
X
X
0
1/16 (minimum on)
0x02
X
X
X
X
0
0
0
0
Shutdown Enabled
Current Control = Global
Transition Detection Disabled
0x04
0
0
X
X
X
X
X
0
Input Mask
Register
All Clear (Masked Off)
0x06
X
0
0
0
0
0
0
0
Display Test
Normal Operation
0x07
X
X
X
X
X
X
X
0
Port
Configuration
P7, P6, P5, P4: GPIO Inputs Without Pullup
0x09
1
0
1
0
1
0
1
0
Port
Configuration
P11, P10, P9, P8: GPIO Inputs Without Pullup
0x0A
1
0
1
0
1
0
1
0
Port
Configuration
P15, P14, P13, P12: GPIO Inputs Without Pullup
0x0B
1
0
1
0
1
0
1
0
Port
Configuration
P19, P18, P17, P16: GPIO Inputs Without Pullup
0x0C
1
0
1
0
1
0
1
0
Port
Configuration
P23, P22, P21, P20: GPIO Inputs Without Pullup
0x0D
1
0
1
0
1
0
1
0
Port
Configuration
P27, P26, P25, P24: GPIO Inputs Without Pullup
0x0E
1
0
1
0
1
0
1
0
Port
Configuration
P31, P30, P29, P28: GPIO Inputs Without Pullup
0x0F
1
0
1
0
1
0
1
0
Current054
1/16 (minimum on)
0x12
0
0
0
0
0
0
0
0
Current076
1/16 (minimum on)
0x13
0
0
0
0
0
0
0
0
Current098
1/16 (minimum on)
0x14
0
0
0
0
0
0
0
0
Current0BA
1/16 (minimum on)
0x15
0
0
0
0
0
0
0
0
Current0DC
1/16 (minimum on)
0x16
0
0
0
0
0
0
0
0
Current0FE
1/16 (minimum on)
0x17
0
0
0
0
0
0
0
0
Current110
1/16 (minimum on)
0x18
0
0
0
0
0
0
0
0
Current132
1/16 (minimum on)
0x19
0
0
0
0
0
0
0
0
Current154
1/16 (minimum on)
0x1A
0
0
0
0
0
0
0
0
Current176
1/16 (minimum on)
0x1B
0
0
0
0
0
0
0
0
REGISTER
FUNCTION
Port Register
Bits 4 to 31
Global
Current
Configuration
Register
REGISTER DATA
Current198
1/16 (minimum on)
0x1C
0
0
0
0
0
0
0
0
Current1BA
1/16 (minimum on)
0x1D
0
0
0
0
0
0
0
0
Current1DC
1/16 (minimum on)
0x1E
0
0
0
0
0
0
0
0
Current1FE
1/16 (minimum on)
0x1F
0
0
0
0
0
0
0
0
X = unused bits; if read, zero results.
______________________________________________________________________________________
15
MAX6956
Table 6. Power-Up Configuration
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Table 7. Configuration Register Format
REGISTER DATA
FUNCTION
ADDRESS CODE
(HEX)
D7
D6
D5
D4
D3
D2
D1
D0
Configuration Register
0x04
M
I
X
X
X
X
X
S
Table 8. Shutdown Control (S Data Bit D0) Format
REGISTER DATA
FUNCTION
ADDRESS CODE
(HEX)
D7
D6
D5
D4
D3
D2
D1
D0
Shutdown
0x04
M
I
X
X
X
X
X
0
Normal Operation
0x04
M
I
X
X
X
X
X
1
Table 9. Global Current Control (I Data Bit D6) Format
REGISTER DATA
ADDRESS
CODE (HEX)
FUNCTION
D7
D6
D5
D4
D3
D2
D1
D0
Global
Constant-current limits for all digits are
controlled by one setting in the Global Current
register, 0x02
0x04
M
0
X
X
X
X
X
S
Individual Segment
Constant-current limit for each digit is
individually controlled by the settings in the
Current054 through Current1FE registers
0x04
M
1
X
X
X
X
X
S
Table 10. Transition Detection Control (M-Data Bit D7) Format
REGISTER DATA
FUNCTION
ADDRESS CODE
(HEX)
D7
D6
D5
D4
D3
D2
D1
D0
Disabled
0x04
0
I
X
X
X
X
X
S
Enabled
0x04
1
I
X
X
X
X
X
S
The mask register contains 7 mask bits, which select
which of the seven ports P24–P30 are to be monitored
(Table 15). Set the appropriate mask bit to enable that
port for transition detect. Clear the mask bit if transitions
on that port are to be ignored. Transition detection
works regardless of whether the port being monitored is
set to input or output, but generally, it is not particularly
useful to enable transition detection for outputs.
To use transition detection, first set up the mask register
and configure port P31 as an output, as described
above. Then enable transition detection by setting the
16
M bit in the configuration register (Table 10). Whenever
the configuration register is written with the M bit set,
the MAX6956 updates an internal 7-bit snapshot register, which holds the comparison copy of the logic states
of ports P24 through P30. The update action occurs
regardless of the previous state of the M bit, so that it is
not necessary to clear the M bit and then set it again to
update the snapshot register.
When the configuration register is written with the M bit
set, transition detection is enabled and remains
enabled until either the configuration register is written
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
LED DRIVE
FRACTION
TYPICAL SEGMENT
CURRENT (mA)
ADDRESS
CODE (HEX)
D7
D6
D5
D4
D3
D2
D1
D0
HEX CODE
1/16
1.5
0x02
X
X
X
X
0
0
0
0
0xX0
2/16
3
0x02
X
X
X
X
0
0
0
1
0xX1
3/16
4.5
0x02
X
X
X
X
0
0
1
0
0xX2
4/16
6
0x02
X
X
X
X
0
0
1
1
0xX3
5/16
7.5
0x02
X
X
X
X
0
1
0
0
0xX4
6/16
9
0x02
X
X
X
X
0
1
0
1
0xX5
7/16
10.5
0x02
X
X
X
X
0
1
1
0
0xX6
8/16
12
0x02
X
X
X
X
0
1
1
1
0xX7
9/16
13.5
0x02
X
X
X
X
1
0
0
0
0xX8
10/16
15
0x02
X
X
X
X
1
0
0
1
0xX9
11/16
16.5
0x02
X
X
X
X
1
0
1
0
0xXA
12/16
18
0x02
X
X
X
X
1
0
1
1
0xXB
13/16
19.5
0x02
X
X
X
X
1
1
0
0
0xXC
14/16
21
0x02
X
X
X
X
1
1
0
1
0xXD
15/16
22.5
0x02
X
X
X
X
1
1
1
0
0xXE
16/16
24
0x02
X
X
X
X
1
1
1
1
0xXF
X = Don’t care bit.
with the M bit clear, or a transition is detected. The INT
status bit (transition detection mask register bit D7)
goes low. Port P31 (if enabled as INT output) also goes
low, if it was not already low.
M bit set, to take a new snapshot of the seven ports
P24 to P30.
Once transition detection is enabled, the MAX6956
continuously compares the snapshot register against
the changing states of P24 through P31. If a change on
any of the monitored ports is detected, even for a short
time (like a pulse), the INT status bit (transition detection mask register bit D7) is set. Port P31 (if enabled as
INT output) also goes high. The INT output and INT status bit are not cleared if more changes occur or if the
data pattern returns to its original snapshot condition.
The only way to clear INT is to access (read or write)
the transition detection mask register (Table 15). So if
the transition detection mask register is read twice in
succession after a transition event, the first time reads
with bit D7 set (identifying the event), and the second
time reads with bit D7 clear.
Display test mode turns on all ports configured as LED
drivers by overriding, but not altering, all controls and
port registers, except the port configuration register
(Table 16). Only ports configured as LED drivers are
affected. Ports configured as GPIO push-pull outputs
do not change state. In display test mode, each port’s
current is temporarily set to 1/2 the maximum current
limit as controlled by RISET.
Transition detection is a one-shot event. When INT has
been cleared after responding to a transition event,
transition detection is automatically disabled, even
though the M bit in the configuration register remains
set (unless cleared by the user). Reenable transition
detection by writing the configuration register with the
Display Test Register
Selecting External Component RISET
to Set Maximum Segment Current
The MAX6956 uses an external resistor RISET to set the
maximum segment current. The recommended value,
39kΩ, sets the maximum current to 24mA, which makes
the segment current adjustable from 1.5mA to 24mA in
1.5mA steps.
To set a different segment current, use the formula:
RISET = 936kΩ / ISEG
where ISEG is the desired maximum segment current.
______________________________________________________________________________________
17
MAX6956
Table 11. Global Segment Current Register Format
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Table 12. Individual Segment Current Registers
REGISTER
FUNCTION
ADDRESS
CODE (HEX)
Current054 register
0x12
Segment 5
Segment 4
Current076 register
0x13
Segment 7
Segment 6
Current098 register
0x14
Segment 9
Segment 8
Current0BA register
0x15
Segment 11
Segment 10
Current0DC register
0x16
Segment 13
Segment 12
D7
D6
D5
D4
D3
D2
D1
Current0FE register
0x17
Segment 15
Segment 14
Current110 register
0x18
Segment 17
Segment 16
Current132 register
0x19
Segment 19
Segment 18
Current154 register
0x1A
Segment 21
Segment 20
Current176 register
0x1B
Segment 23
Segment 22
Current198 register
0x1C
Segment 25
Segment 24
Current1BA register
0x1D
Segment 27
Segment 26
Current1DC register
0x1E
Segment 29
Segment 28
Current1FE register
0x1F
Segment 31
Segment 30
D0
Table 13. Even Individual Segment Current Format
LED DRIVE
FRACTION
SEGMENT
CONSTANT
CURRENT WITH
RISET = 39kΩ (mA)
ADDRESS
CODE (HEX)
1/16
1.5
2/16
3
3/16
4.5
18
D7
D6
D5
D4
D3
D2
D1
D0
HEX CODE
0x12 to 0x1F
0
0
0
0
0xX0
0x12 to 0x1F
0
0
0
1
0xX1
0x12 to 0x1F
0
0
1
0
0xX2
4/16
6
0x12 to 0x1F
0
0
1
1
0xX3
5/16
7.5
0x12 to 0x1F
0
1
0
0
0xX4
6/16
9
0x12 to 0x1F
0
1
0
1
0xX5
7/16
10.5
0x12 to 0x1F
0
1
1
0
0xX6
8/16
12
0x12 to 0x1F
0
1
1
1
0xX7
9/16
13.5
0x12 to 0x1F
1
0
0
0
0xX8
10/16
15
0x12 to 0x1F
1
0
0
1
0xX9
11/16
16.5
0x12 to 0x1F
1
0
1
0
0xXA
12/16
18
0x12 to 0x1F
1
0
1
1
0xXB
13/16
19.5
0x12 to 0x1F
1
1
0
0
0xXC
14/16
21
0x12 to 0x1F
1
1
0
1
0xXD
15/16
22.5
0x12 to 0x1F
1
1
1
0
0xXE
16/16
24
0x12 to 0x1F
1
1
1
1
0xXF
See Table 14.
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
LED
DRIVE
FRACTION
SEGMENT
CONSTANT
CURRENT WITH
RISET = 39kΩ (mA)
ADDRESS
CODE (HEX)
D7
D6
D5
D4
1/16
1.5
0x12 to 0x1F
0
0
0
0
0x0X
2/16
3
0x12 to 0x1F
0
0
0
1
0x1X
3/16
4.5
0x12 to 0x1F
0
0
1
0
0x2X
D3
D2
D1
D0
HEX CODE
4/16
6
0x12 to 0x1F
0
0
1
1
0x3X
5/16
7.5
0x12 to 0x1F
0
1
0
0
0x4X
6/16
9
0x12 to 0x1F
0
1
0
1
0x5X
7/16
10.5
0x12 to 0x1F
0
1
1
0
8/16
12
0x12 to 0x1F
0
1
1
1
0x7X
9/16
13.5
0x12 to 0x1F
1
0
0
0
0x8X
10/16
15
0x12 to 0x1F
1
0
0
1
0x9X
11/16
16.5
0x12 to 0x1F
1
0
1
0
0xAX
12/16
18
0x12 to 0x1F
1
0
1
1
0xBX
13/16
19.5
0x12 to 0x1F
1
1
0
0
0xCX
14/16
21
0x12 to 0x1F
1
1
0
1
0xDX
15/16
22.5
0x12 to 0x1F
1
1
1
0
0xEX
16/16
24
0x12 to 0x1F
1
1
1
1
0xFX
The recommended value of RISET is 39kΩ.
The recommended value of R ISET is the minimum
allowed value, since it sets the display driver to the
maximum allowed segment current. RISET can be a
higher value to set the segment current to a lower maximum value where desired. The user must also ensure
that the maximum current specifications of the LEDs
connected to the driver are not exceeded.
The drive current for each segment can be controlled
through programming either the Global Current register
(Table 11) or Individual Segment Current registers
(Tables 12, 13, and 14), according to the setting of the
Current Control bit of the Configuration register (Table 9).
These registers select the LED’s constant-current drive
from 16 equal fractions of the maximum segment current. The current difference between successive current
steps, ISTEP, is therefore determined by the formula:
ISTEP = ISEG / 16
If ISEG = 24mA, then ISTEP = 24mA / 16 = 1.5mA.
See Table 13.
0x6X
Applications Information
Driving Bicolor and Tricolor LEDs
Bicolor digits group a red and a green die together for
each display element, so that the element can be lit
red, green (or orange), depending on which die (or
both) is lit. The MAX6956 allows each segment’s current to be set individually from 1/16th (minimum current
and LED intensity) to 16/16th (maximum current and
LED intensity), as well as off (zero current). Thus, a
bicolor (red-green) segment pair can be set to 289
color/intensity combinations. A discrete or CA tricolor
(red-green-yellow or red-green-blue) segment triad can
be set to 4913 color/intensity combinations.
Power Dissipation Issues
Each MAX6956 port can sink a current of 24mA into an
LED with a 2.4V forward-voltage drop when operated
from a supply voltage of at least 3.0V. The minimum
voltage drop across the internal LED drivers is therefore (3.0V - 2.4V) = 0.6V. The MAX6956 can sink 28 x
24mA = 672mA when all outputs are operating as LED
______________________________________________________________________________________
19
MAX6956
Table 14. Odd Individual Segment Current Format
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
GPIO INPUT
CONDITIONING
GPIO IN
GPIO/PORT
OUTPUT LATCH
GPIO/PORT OUT
INT STATUS STORED AS MSB OF MASK REGISTER
P31
INT
OUTPUT LATCH
CLOCK PULSE AFTER EACH READ ACCESS TO MASK REGISTER
R
S
CONFIGURATION REGISTER M BIT = 1
GPIO INPUT
CONDITIONING
P30
GPIO IN
D
Q
GPIO/PORT OUT
MASK REGISTER BIT 6
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P29
GPIO IN
D
Q
GPIO/PORT OUT
MASK REGISTER BIT 5
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P28
GPIO IN
D
Q
GPIO/PORT OUT
MASK REGISTER BIT 4
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P27
GPIO IN
D
Q
OR
MASK REGISTER BIT 3
GPIO/PORT OUT
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P26
GPIO IN
D
Q
GPIO/PORT OUT
MASK REGISTER BIT 2
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P25
GPIO IN
D
Q
GPIO/PORT OUT
MASK REGISTER BIT 1
GPIO/PORT OUTPUT LATCH
GPIO INPUT
CONDITIONING
P24
GPIO IN
D
GPIO/PORT OUT
GPIO/PORT OUTPUT LATCH
Q
MASK REGISTER LSB
CLOCK PULSE WHEN WRITING CONFIGURATION REGISTER WITH M BIT SET
Figure 11. Maskable GPIO Ports P24 Through P31
20
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
FUNCTION
REGISTER
ADDRESS
(HEX)
Mask
Register
REGISTER DATA
READ/
WRITE
D7
D6
D5
D4
D3
D2
D1
D0
Read
INT Status*
Write
Unchanged
Port
30
mask
Port
29
mask
Port
28
mask
Port
27
mask
Port
26
mask
Port
25
mask
Port
24
mask
D0
0x06
*INT is automatically cleared after it is read.
Table 16. Display Test Register
REGISTER DATA
MODE
ADDRESS CODE
(HEX)
D7
D6
D5
D4
D3
D2
D1
Normal Operation
0x07
X
X
X
X
X
X
X
0
Display Test Mode
0x07
X
X
X
X
X
X
X
1
X = Don’t care bit
segment drivers at full current. On a 3.3V supply, a
MAX6956 dissipates (3.3V - 2.4V) 672mA = 0.6W
when driving 28 of these 2.4V forward-voltage drop
LEDs at full current. This dissipation is within the ratings
of the 36-pin SSOP package with an ambient temperature up to +98°C. If a higher supply voltage is used or
the LEDs used have a lower forward-voltage drop than
2.4V, the MAX6956 absorbs a higher voltage, and the
MAX6956’s power dissipation increases.
If the application requires high drive current and high
supply voltage, consider adding a series resistor to
each LED to drop excessive drive voltage off-chip. For
example, consider the requirement that the MAX6956
must drive LEDs with a 2.0V to 2.4V specified forwardvoltage drop, from an input supply range is 5V ±5%
with a maximum LED current of 20mA. Minimum input
supply voltage is 4.75V. Maximum LED series resistor
value is (4.75V - 2.4V - 0.6V)/0.020A = 87.5Ω. We
choose 82Ω ±2%. Worst-case resistor dissipation is at
maximum toleranced resistance, i.e., (0.020A)2 (82Ω
1.02) = 34mW. The maximum MAX6956 dissipation
per LED is at maximum input supply voltage, minimum
toleranced resistance, minimum toleranced LED forward-voltage drop, i.e., 0.020 x (5.25V - 2.0V - (0.020A
82Ω x 0.98)) = 32.86mW. Worst-case MAX6956 dissipation is 920mW driving all 28 LEDs at 20mA full current at once, which meets the 941mW dissipation
ratings of the 36-pin SSOP package.
Low-Voltage Operation
The MAX6956 operates down to 2V supply voltage
(although the sourcing and sinking currents are not guaranteed), providing that the MAX6956 is powered up initially to at least 2.5V to trigger the device’s internal reset.
Serial Interface Latency
When a MAX6956 register is written through the I2C interface, the register is updated on the rising edge of SCL
during the data byte’s acknowledge bit (Figure 5). The
delay from the rising edge of SCL to the internal register
being updated can range from 50ns to 350ns.
PC Board Layout Considerations
Ensure that all of the MAX6956 GND connections are
used. A ground plane is not necessary, but may be useful
to reduce supply impedance if the MAX6956 outputs are
to be heavily loaded. Keep the track length from the ISET
pin to the RISET resistor as short as possible, and take the
GND end of the resistor either to the ground plane or
directly to the GND pins.
Power-Supply Considerations
The MAX6956 operates with power-supply voltages of
2.5V to 5.5V. Bypass the power supply to GND with a
0.047µF capacitor as close to the device as possible.
Add a 1µF capacitor if the MAX6956 is far away from
the board’s input bulk decoupling capacitor.
______________________________________________________________________________________
21
MAX6956
Table 15. Transition Detection Mask Register
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
MAX6956
Typical Operating Circuit
3V
3V
36
47nF
V+
3
GND
2
GND
1
ISET
U1
MAX6956AAX
39kΩ
35
AD1
4
AD0
33
SDA
34
SCL
DATA
CLOCK
31
P31
29 P30
27
P29
25
P28
24 P27
23
P26
22 P25
21
P24
32
P4
30
P5
28
P6
26
P7
5
P8
7
P9
P10 9
11
P11
6
P12
8
P13
10
P14
P15 12
13
P16
14
P17
15
P18
16
P19
P20 17
18
P21
P22 19
20
P23
a1
a2
LED1
b
c
d1
d2
e
f
g1
g2
h
i
j
k
l
m
dp
ca
a1
a2
LED2
b
c
d1
d2
e
f
g1
g2
h
i
3V
36
V+
U2
47nF
3
GND
2
GND
1
ISET
39kΩ
35
AD1
4
AD0
33 SDA
34
SCL
31
IRQ OUT
1
SW1
22
SW2
2
SW3
P31
29
P30
27
P29
25
P28
24
P27
23
P26
22
P25
21
P24
MAX6956AAX
32
P4
30
P5
28
P6
26
P7
5
P8
7
P9
P10 9
11
P11
6
P12
P13 8
10
P14
P15 12
13
P16
14
P17
15
P18
P19 16
P20 17
18
P21
P22 19
20
P23
j
k
l
m
dp
ca
a1
a2
LED3
b
c
d1
d2
e
f
g1
g2
h
i
j
k
l
m
dp
ca
______________________________________________________________________________________
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
MAX6956
31 P31
P9
7
30 P5
P13
8
29 P30
P10
9
28 P6
N.C.
31
32
6
33
P12
34
32 P4
35
33 SDA
5
GND
ISET
V+
AD1
SCL
SDA
4
P8
36
AD0
37
34 SCL
GND
GND
3
38
35 AD1
GND
AD0
36 V+
2
39
ISET 1
GND
40
TOP VIEW
P4
P31
P8
P12
1
30
2
29
P9
P13
P10
P14
3
28
4
27
7
24
8
23
P29
P7
P28
9
22
P27
10
21
P26
20 P23
P21 18
19 P22
20
P20 17
16
21 P24
15
22 P25
P19 16
14
23 P26
P18 15
13
P17 14
19
P17
P25
N.C.
24 P27
18
P16 13
P24
25 P28
17
P15 12
12
26 P7
25
11
P11 11
P11
P15
P16
P18
P19
P20
P21
P22
P23
27 P29
26
MAX6956
6
N.C.
P14 10
5
P5
P30
P6
TQFN
SSOP
Package Information
Chip Information
PROCESS: CMOS
For the latest package outline information and land patterns, go
to www.maxim-ic.com/packages.
PACKAGE TYPE
PACKAGE CODE
DOCUMENT NO.
28 DIP
N28-2
21-0043
28 SSOP
A28-1
21-0056
36 SSOP
A36-4
21-0040
40 Thin QFN-EP
T4066-5
21-0141
______________________________________________________________________________________
23
MAX6956
Pin Configurations (continued)
MAX6956
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port LED Display Driver and I/O Expander
Revision History
REVISION
NUMBER
REVISION
DATE
2
11/03
—
3
3/09
Added exposed pad information and updated packaging information
DESCRIPTION
PAGES
CHANGED
—
1, 2, 5, 23
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
24 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
© 2009 Maxim Integrated Products
Maxim is a registered trademark of Maxim Integrated Products, Inc.