ports register latches the current-input logic level of the
affected eight ports. Transition detection allows all ports
configured as inputs to be monitored for changes in
their logic status. The action of reading the input ports
register samples the corresponding 8 port bits’ input
condition. This sample is continuously compared with
the actual input conditions. A detected change in input
condition causes the INT/O8 interrupt output to go low,
if configured as an interrupt output. The interrupt is
cleared either automatically if the changed input returns
to its original state, or when the input ports register is
read.
The INT/O8 pin can be configured as either an interrupt
output or as a 9th output port with the same static or
blink controls as the other eight ports (Table 4).
Port Output Control and LED Blinking
The blink phase 0 register sets the output logic levels of
the eight ports P0–P7 (Table 8). This register controls
the port outputs if the blink function is disabled. A dupli-
cate register, the blink phase 1 register, is also used if
the blink function is enabled (Table 9). In blink mode,
the port outputs can be flipped between using the blink
phase 0 register and the blink phase 1 register using
software control (the blink flip flag in the configuration
register) (Table 4).
PWM Intensity Control
The MAX7315 includes an internal oscillator, nominally
32kHz, to generate PWM timing for LED intensity con-
trol. PWM intensity control can be enabled on an out-
put-by-output basis, allowing the MAX7315 to provide
any mix of PWM LED drives and glitch-free logic out-
puts (Table 10). PWM can be disabled entirely, in which
case all output ports are static and the MAX7315 oper-
ating current is lowest because the internal oscillator is
turned off.
PWM intensity control uses a 4-bit master control and 4
bits of individual control per output (Tables 13, 14). The
4-bit master control provides 16 levels of overall intensi-
ty control, which applies to all PWM-enabled output
ports. The master control sets the maximum pulse width
from 1/15 to 15/15 of the PWM time period. The individ-
ual settings comprise a 4-bit number further reducing
the duty cycle to be from 1/16 to 15/16 of the time win-
dow set by the master control.
For applications requiring the same PWM setting for all
output ports, a single global PWM control can be used
instead of all the individual controls to simplify the con-
trol software and provide 240 steps of intensity control
(Tables 10 and 13).
Standby Mode
When the serial interface is idle and the PWM intensity
control is unused, the MAX7315 automatically enters
standby mode. If the PWM intensity control is used, the
operating current is slightly higher because the internal
PWM oscillator is running. When the serial interface is
active, the operating current also increases because
the MAX7315, like all I2C slaves, has to monitor every
transmission.
Serial Interface
Serial Addressing
The MAX7315 operates as a slave that sends and
receives data through an I2C-compatible 2-wire inter-
face. The interface uses a serial data line (SDA) and a
serial clock line (SCL) to achieve bidirectional commu-
nication between master(s) and slave(s). A master (typ-
ically a microcontroller) initiates all data transfers to and
from the MAX7315 and generates the SCL clock that
synchronizes the data transfer (Figure 2).
The MAX7315 SDA line operates as both an input and
an open-drain output. A pullup resistor, typically 4.7k
,
is required on SDA. The MAX7315 SCL line operates
MAX7315
8-Port I/O Expander with LED Intensity
Control, Interrupt, and Hot-Insertion Protection
_______________________________________________________________________________________
7
Figure 2. 2-Wire Serial Interface Timing Details
SCL
SDA
tR
tF
tBUF
START
CONDITION
STOP
CONDITION
REPEATED START CONDITION
START CONDITION
tSU,STO
tHD,STA
tSU,STA
tHD,DAT
tSU,DAT
tLOW
tHIGH
tHD,STA