The MAX3107 is an advanced universal asynchronous
receiver-transmitter (UART) with 128 words each of
receive and transmit first-in/first-out (FIFO) that can be
controlled through I2C or high-speed SPI™. The 2x and
4x rate modes allow a maximum of 24Mbps data rates.
A phase-locked loop (PLL), prescaler, and fractional
baud-rate generator allow for high-resolution baud-rate
programming and minimize the dependency of baud
rate on reference clock frequency.
Autosleep and shutdown modes help reduce power
consumption during periods of inactivity. A low 640µA
(typ) supply current and tiny 24-pin TQFN (3.5mm x
3.5mm) package make the MAX3107 ideal for low-power
portable devices.
Integrated logic-level translation on the controller and
transceiver (RX/TX and RTS/CTS) interfaces enable use
with a wide selection of RS-232/RS-485 transceivers.
Automatic hardware and software flow control with
selectable FIFO interrupt triggering offloads low-level
activity from the host controller. Automatic half-duplex
transceiver control with programmable setup and hold
times allow the MAX3107 to be used in high-speed applications, for example Profibus-DP.
The MAX3107 is ideal for use in portable devices,
industrial applications, and automotive applications. The
MAX3107 is available in a 24-pin SSOP package and a
24-pin TQFN package. It is specified over the -40NC to
+85NC extended ambient temperature range.
MAX3107
Features
S 24-Pin, Lead-Free TQFN (3.5mm x 3.5mm) and
24-Pin, Lead-Free SSOP Packages
S 24Mbps (max) Data Rate
S Integrated PLL and Divider
S Fractional Baud-Rate Generator
S SPI Up to 26MHz Clock Rate
S Auto Transceiver Direction Control
S Half-Duplex Echo Suppression
S Auto RTS/CTS and XON/XOFF Flow Control
S Special Character Detection
S GPIO-Based Character Detection
S 9-Bit Multidrop-Mode Data Filtering
S SIR- and MIR-Compliant IrDA Encoder/Decoder
S +2.35V to +3.6V Supply Range
S Logic-Level Translation on the Controller and
Transceiver Interfaces (Down to 1.7V)
S Four Flexible GPIOs
S Line Noise Indication
S Shutdown and Autosleep Modes
S Low 640µA (typ) Supply Current at 1Mbaud and
20MHz Clock
S Low 20µA (typ) Shutdown Power
Ordering Information
Applications
Portable Devices
Industrial Control Systems
Fieldbus Networks
Automotive Infotainment Systems
Medical Systems
Point-of-Sale Systems
+Denotes a lead(Pb)-free/RoHS-compliant package.
*EP = Exposed pad.
/V denotes an automotive qualified part.
T = Tape and reel.
V18, XOUT .................................................. -0.3V to (VA + 0.3V)
RST, IRQ, DIN/A1, CS/A0, SCLK/SCL,
DOUT/SDA, LDOEN, I2C/SPI .................. -0.3V to (VL + 0.3V)
TX, RX, RTS/CLKOUT, CTS, GPIO_ ....... -0.3V to (V
DGND .................................................................. -0.3V to +0.3V
, XIN ................................................ -0.3V to +4.0V
EXT
EXT
+ 0.3V)
MAX3107
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.
Standard mode4.7
Fast mode1.3
Standard mode4.0
Fast mode0.6
Standard mode00.9
Fast mode00.9
Fs
Fs
Fs
Fs
SPI/I2C UART with 128-Word FIFOs
AC ELECTRICAL CHARACTERISTICS (continued)
(VA = +2.35V to +3.6V, VL = +1.71V to +3.6V, V
are at VA = +2.8V, VL = +1.8V, V
PARAMETERSYMBOLCONDITIONSMINTYPMAXUNITS
Data Setup Timet
Setup Time for Repeated START
(Sr) Condition
Rise Time of SDA and SCL
Signals Receiving
Fall Time of SDA and SCL
Signals
Setup Time for STOP (P)
Condition
Capacitive Load for SDA and
SCL (Note 3)
I/O Capacitance (SCL, SDA)C
Pulse Width of Spike
Suppressed
SPI BUS: TIMING CHARACTERISTICS (see Figure 2)
SCLK Clock Periodt
SCLK Pulse-Width Hight
SCLK Pulse-Width Lowt
CS Fall to SCLK Rise Timet
DIN Hold Timet
DIN Setup Timet
Output Data Propagation Delay t
DOUT Rise and Fall Timest
CS Hold Timet
Note 2: All devices are production tested at TA = +25NC. Specifications over temperature are guaranteed by design.
Note 3: Not production tested. Guaranteed by design.
Note 4: When V18 is powered by an external voltage regulator, the external power supply must have current capability above or
equal to I18.
Note 5: CB is the total capacitance of either the clock or data line of the synchronous bus in pF.
= +2.5V, TA = +25NC.) (Note 2)
EXT
SU:DAT
t
SU:STA
t
R
t
F
t
SU:STO
C
B
I/O
t
SP
CH+CL
CH
CL
CSS
DH
DS
DO
FT
CSH
= +1.71V to +3.6V, TA = -40NC to +85NC, unless otherwise noted. Typical values
EXT
Standard mode250
Fast mode100
Standard mode4.7
Fast mode0.6
Standard mode (0.3 x VL to 0.7 x VL)
(Note 5)
Fast mode (0.3 x VL to 0.7 x VL) (Note 5)
Standard mode (0.7 x VL to 0.3 x VL)
(Note 5)
Fast mode (0.7 x VL to 0.3 x VL) (Note 5)
Standard mode4.7
Fast mode0.6
Standard mode400
Fast mode400
Internal 1.8V LDO Output and 1.8V Logic Supply Input. Bypass V18 with a 1FF
ceramic capacitor to DGND. Keep V18 powered in shutdown mode.
SPI or Active-Low I2C Selector Input. Drive I2C/SPI high to enable SPI. Drive I2C/SPI
low to enable I2C.
LDO Enable Input. Drive LDOEN high to enable the internal 1.8V LDO. Drive LDOEN
low to disable the internal LDO. Power V18 with an external 1.8V supply when
LDOEN is low.
Serial-Data Output. When I2C/SPI is high, DOUT/SDA functions as the DOUT SPI
47DOUT/SDA
serial-data output. When I2C/SPI is low, DOUT/SDA functions as the SDA I2C serialdata input/output.
Serial-Clock Input. When I2C/SPI is high, SCLK/SCL functions as the SCLK SPI serial-
58SCLK/SCL
clock input (up to 26MHz). When I2C/SPI is low, SCLK/SCL functions as the SCL I2C
serial-clock input (up to 400kHz).
Active-Low Chip-Select and Address 0 Input. When I2C/SPI is high, CS/A0 functions
69
CS/A0
as the CS SPI active-low chip select. When I2C/SPI is low, CS/A0 functions as the A0
I2C device address programming input. Connect CS/A0 to DGND or VL.
1821RXReceive Input. Serial UART data input. RX has an internal weak pullup resistor to V
1922TXTransmit Output. Serial UART data output.
2023V
2124XOUT
221XIN
232AGNDAnalog Ground
243V
——EP
NAMEFUNCTION
Serial-Data and Address 1 Input. When I2C/SPI is high, DIN/A1 functions as the DIN
SPI serial-data input. When I2C/SPI is low, DIN/A1 functions as the A1 I2C device
address programming input and connects to DIN/A1 DGND or VL.
IRQ
RST
L
CTSActive-Low Clear-to-Send Input. CTS is a flow-control input.
RTS/CLKOUT
EXT
A
Active-Low Interrupt Open-Drain Output. IRQ is asserted when an interrupt is
pending.
Active-Low Reset Input. Drive RST low to force the UART into hardware reset mode.
In hardware reset mode, the oscillator and the internal PLL are shut down; there is no
clock activity.
Digital Interface Logic-Level Supply. VL powers the internal logic-level translators for
RST, IRQ, DIN/A1, CS/A0, SCLK/SCL, DOUT/SDA, LDOEN, and I2C/SPI. Bypass VL
with a 0.1FF ceramic capacitor to DGND. VL must be powered in all modes.
General-Purpose Input/Output 0. GPIO0 is user programmable as an input or output
(push-pull or open drain). GPIO0 has a weak pulldown resistor to ground.
General-Purpose Input/Output 1. GPIO1 is user programmable as an input or output
(push-pull or open drain). GPIO1 has a weak pulldown resistor to ground.
General-Purpose Input/Output 2. GPIO2 is user programmable as an input or output
(push-pull or open drain). GPIO2 has a weak pulldown resistor to ground.
General-Purpose Input/Output 3. GPIO3 is user programmable as an input or output
(push-pull or open drain). GPIO3 has a weak pulldown resistor to ground.
Active-Low Request-to-Send Output. RTS/CLKOUT can be set high or low by programming bit 7 (RTS) of the LCR register.
Transceiver Interface Level Supply. V
RX, TX, RTS, CTS, and GPIO_. Bypass V
DGND.
Crystal Output. When using an external crystal, connect one end of the crystal to
XOUT and the other to XIN. When using an external clock source, leave XOUT
unconnected.
Crystal/Clock Input. When using an external crystal, connect one end of the crystal to
XIN and the other one to XOUT. When using an external clock source, drive XIN with
the external clock.
Analog Supply. VA powers the PLL and internal LDO. Bypass VA with a 0.1FF ceramic capacitor to AGND.
Exposed Paddle. Connect EP to AGND. EP is not intended as an electrical connection point. Only for TQFN-EP package.
The MAX3107 UART is a bridge between an SPI/
MICROWIRE™ or I2C microprocessor bus and an
asynchronous serial-data communication link, such as
RS-485, RS-232, or IrDA. The MAX3107 contains an
advanced UART, a fractional baud-rate generator, and
four GPIOs. The MAX3107 is configured and monitored,
and data is written and read from 8-bit registers through
SPI or I2C. These registers are organized by related
function as shown in the Register Map.
The host controller loads data into the Transmit Holding
register (THR) through SPI or I2C. This data is automatically pushed into the transmit FIFO and sent out at TX.
The MAX3107 adds START, STOP, and parity bits to
the data and sends the data out at the selected baud
rate. The clock configuration registers determine the
baud rate, clock source selection, and clock frequency
prescaling.
The receiver in the MAX3107 detects a START bit as a
high-to-low RX transition. An internal clock samples this
data. The received data is automatically placed in the
receive FIFO and can then be read out of the RxFIFO
through the RHR.
Register Set
The MAX3107 has a flat register structure without shadow registers. The registers are 8 bits wide. The MAX3107
registers have some similarities to the 16C550 registers.
Receive and Transmit FIFOs
The UART’s receiver and the transmitter each have a
128-word deep FIFO, reducing the intervals that the host
processor needs to dedicate for high-speed, high-volume data transfer. As the data rates of the asynchronous
RX, TX interfaces increase and get closer to those of the
host controller’s SPI/I2C data rates, UART management
and flow control can make up a significant portion of the
host’s activity. By increasing FIFO size, the host is interrupted less often and can utilize SPI/I2C burst data block
transfers to/from the FIFOs.
FIFO trigger levels can generate interrupts to the host
controller, signaling that programmed FIFO fill levels
have been reached. The transmitter and receiver trigger levels are programmed through FIFOTrgLvl with a
resolution of eight FIFO locations. When a receive FIFO
trigger is generated, the host knows that the receive
FIFO has a defined number of words waiting to be read
out or that a known number of vacant FIFO locations are
available and ready to be filled. The transmit FIFO trigger generates an interrupt when the transmit FIFO level
is above the programmed trigger level. The host then
knows to throttle data writing to the transmit FIFO.
The host can read out the number of words present in each
of the FIFOs through the TxFIFOLvl and RxFIFOLvl registers.
Transmitter Operation
Figure 3 shows the structure of the transmitter with the
TxFIFO. The transmit FIFO can hold up to 128 words that
are written to it through THR.
The current number of words in the TxFIFO can be read
out through the TxFIFOLvl register. The transmit FIFO
can be programmed to generate an interrupt when a
programmed number of words are present in the TxFIFO
through the FIFOTrgLvl register. The TxFIFO interrupt
trigger level is selectable through FIFOTrgLvl[3:0]. When
the transmit FIFO fill level reaches the programmed trigger level, the ISR[4] interrupt is set.
The transmit FIFO is empty when ISR[5]: TxEmtyInt is set.
ISR[5] turns high when the transmitter starts transmitting the last word in the TxFIFO. Hence, the transmitter
is completely empty after ISR[5] is set with an additional delay equal to the length of a complete character
(including START, parity, and STOP bits).
The contents of the TxFIFO and RxFIFOs are both
cleared through MODE2[1]: FIFORst.
2
TRIGGER
LEVEL
EMPTY
C INTERFACE
CURRENT FILL LEVEL
THR
FIFOTrgLvl[3:0]
TRANSMIT FIFO
TRANSMITTERTX
128
3
2
1
DATA FROM SPI/I
ISR[4]
TxFIFOLvl
ISR[5]
Figure 3. Transmit FIFO Signals
MAX3107
MICROWIRE is a trademark of National Semiconductor Corp.
To halt transmission, set MODE1[1]: TxDisabl to 1. After
MODE1[1] is set, the transmitter completes transmission
of the current character and then ceases transmission.
The TX output logic can be inverted through IrDA[5]:
TxInv. If not stated otherwise, all transmitter logic
described in this data sheet assumes IrDA[5] is 0.
The receiver expects the format of the data at RX to be
as shown in Figure 4. The quiescent logic state is a high
and the first bit (the START bit) is logic-low. The receiver
samples the data near the midbit instant (Figure 4). The
received words and their associated errors are deposited into the receive FIFO. Errors and status information
are stored for every received word (Figure 6). The host
reads data out of the receive FIFO through the Receive
Holding register (RHR), oldest data first. The status
information of the word previously read out of the RHR is
located in the Line Status register (LSR). After a word is
read out of the RHR, the LSR contains the status information for that word.
The following three error conditions are determined for
each received word: parity error, framing error, and
noise on the line. Line noise is detected by checking the
consistency of the logic of the three samples (Figure 5).
The receiver can be turned off through MODE1[0]:
RxDisabl. When this bit is set to 1, the MAX3107 turns the
receiver off immediately following the current word and
A
1
23456789
Receiver Operation
MSB
ONE BIT PERIOD
1011
MAJORITY
CENTER
SAMPLER
1213141516
does not receive any further data. The RX input logic can
be inverted through IrDA[4]: RxInv.
Line Noise Indication
When operating in standard (i.e., not 2x or 4x rate) mode,
the MAX3107 checks that the binary logic level of the
three samples per received bit are identical. If any of
the three samples have differing logic levels, then noise
on the transmission line has affected the received data
and is considered to be noisy. This noise indication is
reflected in the LSR[5]: RxNoise bit for each received
byte. Parity errors are another indication of noise, but are
not as sensitive.
Clocking and Baud-Rate Generation
The MAX3107 can be clocked by an external crystal or an
external clock source. Figure 7 shows a simplified diagram
of the clocking circuitry. When the MAX3107 is clocked
by the crystal, the STSInt[5]: ClockReady indicates when
the clocks have settled and the baud-rate generator is
ready for stable operation.
The baud-rate clock can be routed to the RTS/CLKOUT
output. The clock rate is 16x the baud rate in standard
operating mode, and 8x the baud rate in 2x rate mode.
In 4x rate mode, the CLKOUT frequency is 4x the
programmed baud rate. If the fractional portion of the
baud-rate generator is used, the clock is not regular and
exhibits jitter.