19-1259; Rev 0; 7/97 SPI/Microwire-Compatible UART in QSOP-16 The MAX3100 includes a crystal oscillator and a baudrate generator with software-programmable divider ratios for all common baud rates from 300 baud to 230k baud. A software- or hardware-invoked shutdown lowers quiescent current to 10µA, while allowing the MAX3100 to detect receiver activity. An 8-word-deep first-in/first-out (FIFO) buffer minimizes processor overhead. This device also includes a flexible interrupt with four maskable sources, including address recognition on 9-bit networks. Two hardware-handshaking control lines are included (one input and one output). The MAX3100 is available in 14-pin plastic DIP and small, 16-pin QSOP packages in the commercial and extended temperature ranges. ________________________Applications Hand-Held Instruments Intelligent Instrumentation UART in SPI Systems Small Networks in HVAC or Building Control Isolated RS-232/RS-485: Directly Drives Opto-Couplers Low-Cost IR Data Links for Computers/Peripherals ____________________________Features ♦ 16-Pin QSOP Package (8-pin SO footprint): Smallest UART Available ♦ Full-Featured UART: —IrDA SIR Timing Compatible —8-Word FIFO Minimizes Processor Overhead at High Data Rates —Up to 230k Baud with a 3.6864MHz Crystal —9-Bit Address-Recognition Interrupt —Receive Activity Interrupt in Shutdown ♦ SPI/Microwire-Compatible µC Interface ♦ Lowest Power: —150µA Operating Current at 3.3V —10µA in Shutdown with Receive Interrupt ♦ +2.7V to +5.5V Supply Voltage in Operating Mode ♦ Schmitt-Trigger Inputs for Opto-Couplers ♦ TX and RTS Outputs Sink 25mA for Opto-Couplers ______________Ordering Information PART TEMP. RANGE MAX3100CPD 0°C to +70°C MAX3100CEE 0°C to +70°C MAX3100EPD MAX3100EEE -40°C to +85°C -40°C to +85°C PIN-PACKAGE 14 Plastic DIP 16 QSOP 14 Plastic DIP 16 QSOP Typical Operating Circuit appears at end of data sheet. __________________________________________________________Pin Configurations TOP VIEW 14 VCC DIN 1 DIN 1 16 VCC DOUT 2 13 TX DOUT 2 15 TX SCLK 3 12 RX SCLK 3 14 RX CS 4 MAX3100 IRQ 5 MAX3100 11 RTS CS 4 10 CTS N.C. 5 12 N.C. 11 CTS SHDN 6 9 X1 IRQ 6 GND 7 8 X2 SHDN 7 13 RTS 10 X1 GND 8 9 X2 DIP QSOP SPI is a trademark of Motorola, Inc. Microwire is a trademark of National Semiconductor Corp. ________________________________________________________________ Maxim Integrated Products 1 For free samples & the latest literature: http://www.maxim-ic.com, or phone 1-800-998-8800. For small orders, phone 408-737-7600 ext. 3468. MAX3100 _______________General Description The MAX3100 universal asynchronous receiver transmitter (UART) is the first UART specifically optimized for small microcontroller-based systems. Using an SPI™/Microwire™ interface for communication with the host microcontroller (µC), the MAX3100 comes in a compact 16-pin QSOP. The asynchronous I/O is suitable for use in RS-232, RS-485, IR, and opto-isolated data links. IR-link communication is easy with the MAX3100’s infrared data association (IrDA) timing mode. MAX3100 SPI/Microwire-Compatible UART in QSOP-16 ABSOLUTE MAXIMUM RATINGS VCC to GND ...........................................................................+6V Input Voltage to GND (CS, SHDN, X1, CTS, RX, DIN, SCLK) ....-0.3V to (VCC + 0.3V) Output Voltage to GND (DOUT, RTS, TX, X2) ..............................-0.3V to (VCC + 0.3V) IRQ...........................................................................-0.3V to 6V TX, RTS Output Current ....................................................100mA X2, DOUT, IRQ Short-Circuit Duration (to VCC or GND) .........................................................Indefinite Continuous Power Dissipation (TA = +70°C) Plastic DIP (derate 10.00mW/°C above +70°C) .......... 800mW QSOP (derate 8.30mW/°C above +70°C) .....................667mW Operating Temperature Ranges MAX3100C_ _ ......................................................0°C to +70°C MAX3100E_ _ ...................................................-40°C to +85°C Storage Temperature Range ............................ -65°C to +160°C Lead Temperature (soldering, 10sec) ............................ +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 (VCC = +2.7V to +5.5V, TA = TMIN to TMAX, unless otherwise noted. Typical values are measured at 9600 baud at TA = +25°C.) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS LOGIC INPUTS (DIN, SCLK, CS, SHDN, CTS, RX) Input High Voltage Input Low Voltage Input Hysteresis VIH 0.7 x VCC V VIL VHYST Input Leakage IIL Input Capacitance CIN VCC = 3.3V 0.3 x VCC V ±1 µA 0.05 x VCC V 5 pF OSCILLATOR INPUT (X1) Input High Voltage VIH Input Low Voltage VIL 0.7 x VCC VCC / 2 VCC / 2 Input Current IIN VX1 = 0V and 5.5V Input Capacitance CIN VX1 = 0V and 5.5V V 0.2 x VCC Active mode 25 Shutdown mode 2 5 V µA pF OUTPUTS (DOUT, TX, RTS) Output High Voltage VOH Output Low Voltage VOL Output Leakage ILK Output Capacitance ISOURCE = 5mA VCC - 0.5 ISOURCE = 25µA, TX only VCC - 0.5 V TX, RTS: ISINK = 25mA 0.9 DOUT, TX, RTS: ISINK = 4mA 0.4 DOUT only, CS = VCC ±1 COUT 5 V µA pF IRQ OUTPUT (Open Drain) Output Low Voltage Output Leakage Output Capacitance VOL ISINK = 4mA ILK V IRQ = 5.5V COUT 0.4 V ±1 µA 5 pF POWER REQUIREMENTS VCC Supply Current in Normal Mode ICC VCC Supply Current in Shutdown ICC Supply Voltage VCC 2 With 1.8432MHz crystal; all other logic inputs are at 0V or VCC VCC = 5V 0.27 1 VCC = 3.3V 0.15 0.4 mA SHDN bit = 1 or SHDN = 0, logic inputs are at 0V or VCC 2.7 _______________________________________________________________________________________ 10 µA 5.5 V SPI/Microwire-Compatible UART in QSOP-16 MAX3100 ELECTRICAL CHARACTERISTICS (continued) (VCC = +2.7V to +5.5V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at TA = +25°C.) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS AC TIMING (Figure 1) CS Low to DOUT Valid tDV CLOAD = 100pF 100 ns CS High to DOUT Tri-State tTR CLOAD = 100pF, R CS = 10kΩ 100 ns CS to SCLK Setup Time tCSS CS to SCLK Hold Time tCSH SCLK Fall to DOUT Valid tDO DIN to SCLK Setup Time tDS DIN to SCLK Hold Time SCLK Period 100 ns 0 ns CLOAD = 100pF 100 ns 100 ns tDH 0 ns tCP 238 ns SCLK High Time tCH 100 ns SCLK Low Time tCL 100 ns SCLK Rising Edge to CS Falling tCS0 (Note 1) 100 ns CS Rising Edge to SCLK Rising tCS1 (Note 1) 200 ns CS High Pulse Width tCSW 200 ns Output Rise Time tr TX, RTS, DOUT: CLOAD = 100pF 10 ns Output Fall Time tf TX, RTS, DOUT, IRQ: CLOAD = 100pF 10 ns Note 1: tCS0 and tCS1 specify the minimum separation between SCLK rising edges used to write to other devices on the SPI bus and the CS used to select the MAX3100. A separation greater than tCS0 and tCS1 ensures that the SCLK edge is ignored. ••• CS tCSH tCSS tCL SCLK tCH tCSH ••• tDS tDH ••• DIN tDV tDO tTR ••• DOUT Figure 1. Detailed Serial-Interface Timing _______________________________________________________________________________________ 3 __________________________________________Typical Operating Characteristics (TA = +25°C, unless otherwise noted.) SHUTDOWN CURRENT vs. TEMPERATURE 700 600 500 VCC = 5V 400 300 VCC = 3.3V 200 6 5 4 3 0 20 40 80 60 300 200 0 -20 0 20 40 80 60 0 100 1 2 4 3 TEMPERATURE (°C) EXTERNAL CLOCK FREQUENCY (MHz) SUPPLY CURRENT vs. BAUD RATE TX, RTS, DOUT OUTPUT CURRENT vs. OUTPUT LOW VOLTAGE (VCC = 3.3V) TX, RTS, DOUT OUTPUT CURRENT vs. OUTPUT LOW VOLTAGE (VCC = 5V) 250 200 3V TRANSMITTING RTS TX 40 30 DOUT 20 10 3V STANDBY 1000 10k BAUD RATE (bps) 100k 1M 80 70 RTS 60 TX 50 DOUT 40 30 20 10 0 0 50 5 MAX3100-05 60 50 90 MAX3100-04 MAX3100-03a 5V STANDBY 100 70 OUTPUT SINK CURRENT (mA) 5V TRANSMITTING 300 100 VCC = 3.3V TEMPERATURE (°C) 1.8432 MHz CRYSTAL 150 VCC = 5V 400 100 VCC = 3.3V -40 100 500 VCC = 5V 0 -20 400 4 7 1 -40 350 600 8 2 0 MAX3100-03 9 100 700 OUTPUT SINK CURRENT (mA) SUPPLY CURRENT (µA) 800 1.8432MHz CRYSTAL SUPPLY CURRENT (µA) 900 10 MAX3100-01 1.8432MHz CRYSTAL TRANSMITTING AT 115.2 kbps SHUTDOWN CURRENT (µA) 1000 SUPPLY CURRENT vs. EXTERNAL CLOCK FREQUENCY MAX3100-02 SUPPLY CURRENT vs. TEMPERATURE SUPPLY CURRENT (µA) MAX3100 SPI/Microwire-Compatible UART in QSOP-16 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 VOLTAGE (V) VOLTAGE (V) _______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 PIN NAME FUNCTION QSOP DIP 1 1 DIN 2 2 DOUT SPI/Microwire Serial-Data Output. High impedance when CS is high. 3 3 SCLK SPI/Microwire Serial-Clock Input. Schmitt-trigger input. 4 4 CS Active-Low Chip-Select Input. DOUT goes high impedance when CS is high. IRQ, TX, and RTS are always active. Schmitt-trigger input. 6 5 IRQ Active-Low Interrupt Output. Open-drain interrupt output to microprocessor. 7 6 SHDN Hardware-Shutdown Input. When shut down (SHDN = 0), the oscillator turns off immediately without waiting for the current transmission to end, reducing supply current to just leakage currents. 8 7 GND Ground 9 8 X2 Crystal Connection. Leave X2 unconnected for external clock. See Crystal-Oscillator Operation—X1, X2 Connection section. 10 9 X1 Crystal Connection. X1 also serves as an external clock input. See Crystal-Oscillator Operation—X1, X2 Connection section. 11 10 CTS General-Purpose Active-Low Input. Read via the CTS register bit; often used for RS-232 clearto-send input (Table 1). 13 11 RTS General-Purpose Active-Low Output. Controlled by the RTS register bit. Often used for RS-232 request-to-send output or RS-485 driver enable. 14 12 RX Asynchronous Serial-Data (receiver) Input. The serial information received from the modem or RS-232/RS-485 receiver. A transition on RX while in shutdown generates an interrupt (Table 5). 15 13 TX Asynchronous Serial-Data (transmitter) Output 16 14 VCC Positive Supply Pin (2.7V to 5.5V) 5, 12 — N.C. No Connection. Not internally connected. SPI/Microwire Serial-Data Input. Schmitt-trigger input. _______________Detailed Description The MAX3100 universal asynchronous receiver transmitter (UART) interfaces the SPI/Microwire-compatible, synchronous serial data from a microprocessor (µP) to asynchronous, serial-data communication ports (RS232, RS-485, IrDA). Figure 2 shows the MAX3100 functional diagram. The MAX3100 combines a simple UART and a baud-rate generator with an SPI interface and an interrupt generator. Configure the UART by writing a 16-bit word to a write-configuration register, which contains the baud rate, data-word length, parity enable, and enable of the 8-word receive first-in/first-out (FIFO). The write configuration selects between normal UART timing and IrDA timing, controls shutdown, and contains 4 interrupt mask bits. Transmit data by writing a 16-bit word to a write-data register, where the last 7 or 8 bits are actual data to be transmitted. Also included is the state of the transmitted parity bit (if enabled). This register controls the state of the RTS output pin. Received words generate an interrupt if the receive-bit interrupt is enabled. Read data from a 16-bit register that holds the oldest data from the receive FIFO, the received parity data, and the logic level at the CTS input pin. This register also contains a bit that is the framing error in normal operation and a receive-activity indicator in shutdown. The baud-rate generator determines the rate at which the transmitter and receiver operate. Bits B0 to B3 in the write-configuration register determine the baud-rate divisor (BRD), which divides down the X1 oscillator frequency. The baud clock is 16 times the data rate (baud rate). The transmitter section accepts SPI/Microwire data, formats it, and transmits it in asynchronous serial format from the TX output. Data is loaded into the transmitbuffer register from the SPI/Microwire interface. The MAX3100 adds start and stop bits to the data and clocks the data out at the selected baud rate (Table 7). _______________________________________________________________________________________ 5 MAX3100 ______________________________________________________________Pin Description MAX3100 SPI/Microwire-Compatible UART in QSOP-16 9 Pt TX-BUFFER REGISTER 9 TX-SHIFT REGISTER D0t–D7t Pt TX SHDN DIN CS SCLK DOUT X1 SPI INTERFACE B0 B1 B2 B3 XTAL BAUD-RATE GENERATOR RA ACTIVITY DETECT X2 FE START/STOPBIT DETECT Pr RX-SHIFT REGISTER D0r–D7r RX 9 (SOURCES) T R Pr RA/FE Pr (MASKS) Pr RX-BUFFER REGISTER RX-BUFFER REGISTER CTS I/O TRANSMIT-DONE (TM) IRQ INTERRUPT LOGIC DATA-RECEIVED (RM) RTS 9 PARITY (PM) FRAMING ERROR (RAM)/ RECEIVE ACTIVITY Figure 2. Functional Diagram 6 _______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 MAX3100 ONE BAUD PERIOD RX A BAUD BLOCK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 MAJORITY CENTER SAMPLER Figure 3. Start-Bit Timing DATA UPDATED CS SCLK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 DIN 1 1 FEN SHDN TM RM PM RAM IR ST PE L B3 B2 B1 B0 DOUT R T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Figure 4. SPI Interface (Write Configuration) The receiver section receives data in serial form. The MAX3100 detects a start bit on a high-to-low RX transition (Figure 3). An internal clock samples data at 16 times the data rate. The start bit can occur as much as one clock cycle before it is detected, as indicated by the shaded portion. The state of the start bit is defined as the majority of the 7th, 8th, and 9th sample of the internal 16x baud clock. Subsequent bits are also majority sampled. Receive data is stored in an 8-word FIFO. The FIFO is cleared if it overflows. The on-board oscillator can use a 1.8432MHz or 3.6864MHz crystal, or it can be driven at X1 with a 45% to 55% duty-cycle square wave. SPI Interface The bit streams for DIN and DOUT consist of 16 bits, with bits assigned as shown in the MAX3100 Operations section. DOUT transitions on SCLK’s falling edge, and DIN is latched on SCLK’s rising edge (Figure 4). Most operations, such as the clearing of internal registers, are executed only on CS’s rising edge. The DIN stream is monitored for its first two bits to tell the UART the type of data transfer being executed (Write Config, Read Config, Write Data, Read Data). Only 16-bit words are expected. If CS goes high in the middle of a transmission (any time before the 16th bit), the sequence is aborted (i.e., data does not get written to individual registers). Every time CS goes low, a new 16-bit stream is expected. An example of a write configuration is shown in Figure 4. _______________________________________________________________________________________ 7 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 MAX3100 Operations MAX3100. The device enters test mode if bit 0 = 1. In this mode, if CS = 0, the RTS pin acts as the 16x clock generator’s output. This may be useful for direct baudrate generation (in this mode, TX and RX are in digital loopback). Write Operations Table 1 shows write-configuration data. A 16-bit SPI/Microwire write configuration clears the receive FIFO and the R, T, RA/FE, D0r–D7r, D0t–D7t, Pr, and Pt registers. RTS and CTS remain unchanged. The new configuration is valid on CS’s rising edge if the transmit buffer is empty (T = 1) and transmission is over. If the latest transmission has not been completed, the registers are updated when the transmission is over (T = 0). The write-configuration bits (FEN, SHDNi, IR, ST, PE, L, B3–B0) take effect after the current transmission is over. The mask bits (TM, RM, PM, RAM) take effect immediately after the 16th clock’s rising edge at SCLK. Normally, the write-data register loads the TX-buffer register. To change the RTS pin’s state without writing data, set the TE bit. Setting the TE bit high inhibits the write command (Table 3). Reading data clears the R bit and interrupt IRQ (Table 4). Register Functions Table 5 shows read/write operation and power-on reset state (POR), and describes each bit used in programming the MAX3100. Figure 5 shows parity and wordlength control. Read Operations Table 2 shows read-configuration data. This register reads back the last configuration written to the Table 1. Write Configuration (D15, D14 = 1, 1) BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DIN 1 1 FEN SHDNi TM RM PM RAM IR ST PE L B3 B2 B1 B0 DOUT R T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Table 2. Read Configuration (D15, D14 = 0, 1) BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DIN 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 TEST DOUT R T FEN SHDNo TM RM PM RAM IR ST PE L B3 B2 B1 B0 Table 3. Write Data (D15, D14 = 1, 0) BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DIN 1 0 0 0 0 TE RTS Pt D7t D6t D5t D4t D3t D2t D1t D0t DOUT R T 0 0 0 RA/FE CTS Pr D7r D6r D5r D4r D3r D2r D1r D0r Table 4. Read Data (D15, D14 = 0, 0) 8 BIT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DIN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DOUT R T 0 0 0 RA/FE CTS Pr D7r D6r D5r D4r D3r D2r D1r D0r _______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 BIT NAME READ/ WRITE POR STATE B0–B3 w 0000 Baud-Rate Divisor Select Bits. Sets the baud clock’s value (Table 6). B0–B3 r 0000 Baud-Rate Divisor Select Bits. Reads the 4-bit baud clock value assigned to these registers. CTS r No change D0t–D7t w X D0r–D7r r 00000000 FEN w 0 FIFO Enable. Enables the receive FIFO when FEN = 0. When FEN = 1, FIFO is disabled. FEN r 0 FIFO-Enable Readback. FEN’s state is read. IR w 0 Enables the IrDA timing mode when IR = 1. IR r 0 Reads the value of the IR bit. L w 0 Bit for setting the word length of the transmitted or received data. L = 0 results in 8-bit words (9-bit words if PE = 1), see Figure 5. L = 1 results in 7-bit words (8-bit words if PE = 1). L r 0 Reads the value of the L bit. Pt w X Transmit-Parity Bit. This bit is treated as an extra bit that will be transmitted if PE = 1. To be useful in 9-bit networks, the MAX3100 does not calculate parity. If PE = 0, then this bit (Pt) is ignored in transmit mode (see the Nine-Bit Networks section). Pr r X Receive-Parity Bit. This bit is the extra bit received if PE = 1. Therefore, PE = 1 results in 9-bit transmissions (L = 0). If PE = 0, then Pr is set to 0. Pr is stored in the FIFO with the receive data (see the Nine-Bit Networks section). w 0 Parity-Enable Bit. Appends the Pt bit to the transmitted data when PE = 1, and sends the Pt bit as written. No parity bit is transmitted when PE = 0. With PE = 1, an extra bit is expected to be received. This data is put into the Pr register. Pr = 0 when PE = 0. The MAX3100 does not calculate parity. PE MAX3100 Table 5. Bit Descriptions DESCRIPTION Clear-to-Send-Input. Records the state of the CTS pin (CTS bit = 0 implies CTS pin = logic high). Transmit-Buffer Register. Eight data bits written into the transmit-buffer register. D7t is ignored when L = 1. Eight data bits read from the receive FIFO or the receive register. These will be all 0s when the receive FIFO or the receive registers are empty. When L = 1, D7r is always 0. PE r 0 Reads the value of the Parity-Enable bit. PM w 0 Mask for Pr bit. IRQ is asserted if PM = 1 and Pr = 1 (Table 6). PM r 0 Reads the value of the PM bit (Table 6). R r 0 Receive Bit or FIFO Not Empty Flag. R = 1 means new data is available to be read from the receive register or FIFO. RM w 0 Mask for R bit. IRQ is asserted if RM = 1 and R = 1 (Table 6). RM r 0 Reads the value of the RM bit (Table 6). RAM w 0 Mask for RA/FE bit. IRQ is asserted if RAM = 1 and RA/FE = 1 (Table 6). RAM r 0 Reads the value of the RAM bit (Table 6). RTS w 0 Request-to-Send Bit. Controls the state of the RTS output. This bit is reset on power-up (RTS bit = 0 sets the RTS pin = logic high). _______________________________________________________________________________________ 9 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 Table 5. Bit Descriptions (continued) BIT NAME RA/FE READ/ WRITE r POR STATE DESCRIPTION 0 Receiver-Activity/Framing-Error Bit. In shutdown mode, this is the RA bit. In normal operation, this is the FE bit. In shutdown mode, a transition on RX sets RA = 1. In normal mode, a framing error sets FE = 1. A framing error occurs if a zero is received when the first stop bit is expected. FE is set when a framing error occurs, and cleared upon receipt of the next properly framed character independent of the FIFO being enabled. When the device wakes up, it is likely that a framing error will occur. This error can be cleared with a write configuration. The FE bit is not cleared on a Read Data operation. When an FE is encountered, the UART resets itself to the state where it is looking for a start bit. Software-Shutdown Bit. Enter software shutdown with a write configuration where SHDNi = 1. Software shutdown takes effect after CS goes high, and causes the oscillator to stop as soon as the transmitter becomes idle. Software shutdown also clears R, T, RA/FE, D0r–D7r, D0t–D7t, Pr, Pt, and all data in the receive FIFO. RTS and CTS can be read and updated while in shutdown. Exit software shutdown with a write configuration where SHDNi = 0. The oscillator restarts typically within 50ms of CS going high. RTS and CTS are unaffected. Refer to the Pin Description for hardware shutdown (SHDN input). Shutdown Read-Back Bit. The read-configuration register outputs SHDNo = 1 when the UART is in shutdown. Note that this bit is not sent until the current byte in the transmitter is sent (T = 1). This tells the processor when it may shut down the RS-232 driver. This bit is also set immediately when the device is shut down through the SHDN pin. SHDNi w 0 SHDNo r 0 ST w 0 Transmit-Stop Bit. One stop bit will be transmitted when ST = 0. Two stop bits will be transmitted when ST = 1. The receiver only requires one stop bit. ST r 0 Reads the value of the ST bit. T r 1 Transmit-Buffer-Empty Flag. T = 1 means that the transmit buffer is empty and ready to accept another data word. TE w 0 Transmit-Enable Bit. If TE = 1, then only the RTS pin will be updated on CS’s rising edge. The contents of RTS, Pt, and D0t–D7t transmit on CS’s rising edge when TE = 0. TM w 0 Mask for T bit. IRQ is asserted if TM = 1 and T = 1 (Table 6). TM r 0 Reads the value of the TM bit (Table 6). PE = 0, L = 0 IDLE START D0 D1 D2 D3 D4 D5 D6 D7 STOP STOP D2 D3 D4 D5 D6 STOP STOP IDLE D2 D3 D4 D5 D6 D7 Pt D2 D3 D4 D5 D6 Pt STOP IDLE PE = 0, L = 1 IDLE START IDLE START IDLE START D0 D1 PE = 1, L = 0 D0 D1 STOP STOP IDLE PE = 1, L = 1 D0 TIME D1 STOP IDLE SECOND STOP BIT IS OMITTED IF ST = 0. Figure 5. Parity and Word-Length Control 10 ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 shows the functional diagram for the interrupt sources and mask blocks. Table 6. Interrupt Sources and Masks—Bit Descriptions BIT NAME MASK BIT MEANING WHEN SET DESCRIPTION Pr PM Received parity bit = 1 The Pr bit reflects the value in the word currently in the receive-buffer register (oldest data available). The Pr bit is set when parity is enabled (PE = 1) and the received parity bit is 1. The Pr bit is cleared either when parity is not enabled (PE = 0), or when parity is enabled and the received bit is 0. An interrupt is issued based on the oldest Pr value in the receiver FIFO. The oldest Pr value is the next value that will be read by a Read Data operation. R RM Data available The R bit is set when new data is available to be read from the receive register/ FIFO. FIFO is cleared when all data has been read. An interrupt is asserted as long as R = 1 and RM = 1. RA/FE T Transition on RX when in shutdown; framing error when not in shutdown RAM Transmit buffer is empty TM This is the RA (RX-transition) bit in shutdown, and the FE (framing-error) bit in operating mode. RA is set if there has been a transition on RX since entering shutdown. RA is cleared when the MAX3100 exits shutdown. IRQ is asserted when RA is set and RAM = 1. FE is determined solely by the currently received data, and is not stored in FIFO. The FE bit is set if a zero is received when the first stop bit is expected. FE is cleared upon receipt of the next properly framed character. IRQ is asserted when FE is set and RAM = 1. The T bit is set when the transmit buffer is ready to accept data. IRQ is asserted low if TM = 1 and the transmit buffer becomes empty. This source is cleared on CS’s rising edge during a Read Data operation. Although the interrupt is cleared, T may be polled to determine transmit-buffer status. S R NEW DATA AVAILABLE DATA READ R Q T RM MASK S TRANSMIT BUFFER EMPTY Q R DATA READ TM MASK IRQ Pr N Q S R PE = 1 AND RECEIVED PARITY BIT = 1 PE = 0 OR RECEIVED PARITY BIT = 0 PM MASK RA FE TRANSITION ON RX SHUTDOWN RAM MASK FRAMING ERROR SHUTDOWN RAM MASK Figure 6. Interrupt Sources and Masks Functional Diagram ______________________________________________________________________________________ 11 MAX3100 Interrupt Sources and Masks A Read Data operation clears the interrupt IRQ. Table 6 gives the details for each interrupt source. Figure 6 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 Table 7. Baud-Rate Selection Table* B3 BAUD B2 B1 B0 DIVISION RATIO BAUD RATE (fOSC = 1.8432MHz) BAUD RATE (fOSC = 3.6864MHz) Shutdown clears the receive FIFO, R, A, RA/FE, D0r–D7r, Pr, and Pt registers and sets the T bit high. Configuration bits (RM, TM, PM, RAM, IR, ST, PE, L, B0-3, and RTS) can be modified when SHDNo = 1 and CTS can also be read. Even though RA is reset upon entering shutdown, it will go high when any transitions are detected on the RX pin. This allows the UART to monitor activity on the receiver when in shutdown. The command to power up (SHDNi = 0) turns on the oscillator when CS goes high if SHDN pin = logic high, with a start-up time of about 25ms. This is done through a write configuration, which clears all registers but RTS and CTS. Since the crystal oscillator typically requires 25ms to start, the first received characters will be garbled, and a framing error may occur. 0 0 0 0** 1 115.2k** 230.4k** 0 0 0 1 2 57.6k 115.2k 0 0 1 0 4 28.8k 57.6k 0 0 1 1 8 14.4k 28.8k 0 1 0 0 16 7200 14.4k 0 1 0 1 32 3600 7200 0 1 1 0 64 1800 3600 0 1 1 1 128 900 1800 1 0 0 0 3 38.4k 76.8k 1 0 0 1 6 19.2k 38.4k Driving Opto-Couplers 1 0 1 0 12 9600 19.2k 1 0 1 1 24 4800 9600 1 1 0 0 48 2400 4800 1 1 0 1 96 1200 2400 1 1 1 0 192 600 1200 1 1 1 1 384 300 600 Figure 7 shows the MAX3100 in an isolated serial interface. The MAX3100 Schmitt-trigger inputs are driven directly by opto-coupler outputs. Isolated power is provided by the MAX845 transformer driver and linear regulator shown. A significant feature of this application is that the opto-coupler’s skew does not affect the asynchronous serial output’s timing. Only the set-up and hold times of the SPI interface need to be met. *Standard baud rates shown in bold **Default baud rate Clock-Oscillator Baud Rates Bits B0–B3 of the write-configuration register determine the baud rate. Table 7 shows baud-rate divisors for given input codes, as well as the given baud rate for 1.8432MHz and 3.6864MHz crystals. Note that the baud rate = crystal frequency / 16x division ratio. Shutdown Mode In shutdown, the oscillator turns off to reduce power dissipation (I CC < 10µA). The MAX3100 enters shutdown in one of two ways: by a software command (SHDNi bit = 1) or by a hardware command (SHDN = logic low). The hardware shutdown is effective immediately and will immediately terminate any transmission in progress. The software shutdown, requested by setting SHDNi bit = 1, is entered upon completing the transmission of the data in both the transmit register and the transmit-buffer register. The SHDNo bit is set when the MAX3100 enters shutdown (either hardware or software). The microcontroller (µC) can monitor the SHDNo bit to determine when all data has been transmitted, and shut down any external circuitry (such as RS-232 transceivers) at that time. 12 __________Applications Information Figure 8 shows a bidirectional opto-isolated interface using only two opto-isolators. Over 81% power savings is realized using IrDA mode due to its 3/16-wide baud periods. Crystal-Oscillator Operation— X1, X2 Connection The MAX3100 includes a crystal oscillator for baud-rate generation. For standard baud rates, use a 1.8432MHz or 3.6864MHz crystal. The 1.8432MHz crystal results in lower operating current; however, the 3.6864MHz crystal may be more readily available in surface mount. Ceramic resonators are low-cost alternatives to crystals and operate similarly, though the “Q” and accuracy are lower. Some ceramic resonators are available with integral load capacitors, which can further reduce cost. The tradeoff between crystals and ceramic resonators is in initial frequency accuracy and temperature drift. The total error in the baud-rate generator should be kept below 1% for reliable operation with other systems. This is accomplished easily with a crystal, and in most cases can be achieved with ceramic resonators. Table 8 lists the different types of crystals and resonators and their suppliers. ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 MAX3100 ISO +5V 2k VCC 6N136 DIN 470Ω MAX3100 DOUT ISO +5V 2k VCC MAX3222 6N136 SCLK TX RX 470Ω CTS SCLK VCC RTS 2k 470Ω 6N136 DIN DOUT 2k VCC 6N136 CS 470Ω CS +5V MBR0520 MAX667 LINEAR REGULATOR ISO 5V MAX253 TRANSFORMER DRIVER HALO TGM-010P3 Figure 7. Driving Optocouplers ______________________________________________________________________________________ 13 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 ISO +5V +5V 2k VCC VCC RX TX CS CS 470Ω SCLK DIN SCLK MAX3100 DIN MAX3100 DOUT DOUT +5V 2k RX TX GND 470Ω GND Figure 8. Bidirectional Opto-Isolated Interface Table 8. Component and Supplier List DESCRIPTION FREQUENCY (MHz) TYPICAL C1, C2 (pF) SUPPLIER Through-Hole Crystal (HC-49/U) 1.8432 25 ECS International, Inc. ECS-18-13-1 (913) 782-7787 Through-Hole Resonator 1.8432 47 Murata North America CSA1.84MG (800) 831-9172 Through-Hole Crystal (HC-49/US) 3.6864 33 ECS International, Inc. ECS-36-18-4 (913) 782-7787 SMT Crystal 3.6864 39 ECS International, Inc. ECS-36-20-5P (913) 782-7787 SMT Resonator 3.6864 None (integral) AVX/Kyocera PBRC-3.68B (803) 448-9411 This oscillator supports parallel-resonant mode crystals and ceramic resonators, or can be driven from an external clock source. Internally, the oscillator consists of an inverting amplifier with its input, X1, tied to its output, X2, by a bias network that self-biases the inverter at approximately VCC / 2. The external feedback circuit, usually a crystal, from X2 to X1 provides 180° of phase shift, causing the circuit to oscillate. As shown in the standard application circuit, the crystal or resonator is connected between X1 and X2, with the load capacitance for the crystal being the series combination of C1 and C2. For example, a 1.8432MHz crystal with a spec14 PART NUMBER PHONE NUMBER ified load capacitance of 11pF would use capacitors of 22pF on either side of the crystal to ground. Series-resonant mode crystals have a slight frequency error, typically oscillating 0.03% higher than specified seriesresonant frequency, when operated in parallel mode. It is very important to keep crystal, resonator, and load-capacitor leads and traces as short and direct as possible. The X1 and X2 trace lengths and ground tracks should be tight, with no other intervening traces. This helps minimize parasitic capacitance and noise pickup in the oscillator, and reduces EMI. Minimize capacitive loading on X2 to minimize supply current. ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 The parity/9th-bit interrupt is controlled only by the data in the receive register, and is not affected by data in the FIFO, so the most effective use of the parity/9th-bit interrupt is with FIFO disabled. With the FIFO disabled, received nonaddress words can be ignored and not even read from the UART. 9-Bit Networks The MAX3100’s IrDA mode can be used to communicate with other IrDA SIR-compatible devices, or to reduce power consumption in opto-isolated applications. STOP NORMAL UART TX START The MAX3100 supports a common multidrop communication technique referred to as 9-bit mode. In this mode, the parity bit is set to indicate a message that contains a header with a destination address. The MAX3100 parity mask can be set to generate interrupts for this condition. Operating a network in this mode reduces the processing overhead of all nodes by enabling the slave controllers to ignore most message traffic. This can relieve the remote processor to handle more useful tasks. In 9-bit mode, the MAX3100 is set up with 8 bits plus parity. The parity bit in all normal messages is clear, but is set in an address-type message. The MAX3100 parity-interrupt mask is enabled to generate an interrupt on high parity. When the master sends an address message with the parity bit set, all MAX3100 nodes issue an interrupt. All nodes then retrieve the received byte to compare to their assigned address. Once addressed, the node continues to process each received byte. If the node was not addressed, it ignores all message traffic until a new address is sent out by the master. 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 IrDA TX 0 START NORMAL RX DATA BITS UART FRAME Figure 9. IrDA Timing STOP IrDA RX SIR IrDA Mode In IrDA mode, a bit period is shortened to 3/16 of a baud period (1.6µs at 115,200 baud) (Figure 9). A data zero is transmitted as a pulse of light (TX pin = logic low, RX pin = logic high). In receive mode, the RX signal’s sampling is done halfway into the transmission of a high level. The sampling is done once, instead of three times, as in normal mode. The MAX3100 ignores pulses shorter than approximately 1/16 of the baud period. The IrDA device that is communicating with the MAX3100 must be set to transmit pulses at 3/16 of the baud period. For compatibility with other IrDA devices, set the format to 8-bit data, one stop, no parity. IrDA Module The MAX3100 was optimized for direct optocoupler drive, whereas IrDA modules contain inverting buffers. Invert the RX and TX outputs as shown in Figure 10. 8051 Example: IrDA to RS-232 Converter Figure 10 shows the MAX3100 with an 8051 µC. This circuit receives IrDA data and outputs standard RS-232 data. Although the 8051 contains an internal UART, it does not support IrDA or high-speed communications. The MAX3100 can easily interface to the 8051 to support these high-performance communications modes. The 8051 does not have an SPI interface, so communication with the MAX3100 is accomplished with port pins and a short software routine (Figure 12a). The software routine polls the IRQ output to see if data is available from the MAX3100 UART. It then shifts the data out, using the 8051 port pins, and transmits it out the RS-232 side through the MAX3221 driver. The 8051 simultaneously monitors its internal UART for incoming communications from the RS-232 side, and transmits this data out the IrDA side through the MAX3100. The low-level routine (UTLK) is the core routine that sends and receives data over the port pins to simulate an SPI port on the 8051. This technique is useful for any 8051based MAX3100 port-pin-interfaced application. ______________________________________________________________________________________ 15 MAX3100 The MAX3100 X1 input can be driven directly by an external CMOS clock source. The trip level is approximately equal to V CC / 2. No connection should be made to X2 in this mode. If a TTL or non-CMOS clock source is used, AC couple with a 10nF capacitor to X1. The peak-to-peak swing on the input should be at least 2V for reliable operation. MAX3100 SPI/Microwire-Compatible UART in QSOP-16 DIRECT OPTO-COUPLER DRIVE IR MODULE DRIVE OR +5V 330Ω MAX3221 IR LED TX +5V 100Ω MAX3100 TXD TX 8051 1/6 HC00 IR MODULE 3100 0.1µF IRQ RX 1.8432MHz 22pF RXD RX 10k 1/6 HC00 22pF Figure 10. Bidirectional RS-232 IrDA Using an 8051 Interface to PIC Processor (“Quick Brown Fox” Generator) Figure 11 illustrates the use of the MAX3100 with the PIC®. This circuit is a “Quick Brown Fox” generator that repeatedly transmits “THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG” (covering the entire alphabet) over an RS-232 link with adjustable baud rate, word length, and delay. Although a software-based UART could be implemented on the PIC, features like accurate variable baud rates, high baud rates, and simple protocol selection would be difficult to implement reliably. The 16C54 in the example is the most basic of the PICs. Thus, it is possible to implement the example on any member of the PIC family. 16 The software routine (Figure 12) begins by reading the DIP switch on port RB. The switch data includes 4 bits for the baud rate, 1 bit for number of stop bits, 1 bit for a word length of 7 or 8 bits, and 1 bit for delay between messages. The PIC reads the switch only at initialization (reset), and programs the parameters into the MAX3100. It then begins sending the message repeatedly. If the delay bit is set, it inserts a 1sec delay between transmissions. As in the 8051 example, the main routine is called UTLK, and can be used in any PIC-based, port-pin-interfaced application. PIC is a registered trademark of Microchip Corporation. ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 MAX3100 VCC RB7 GO 100k PIC16C54 RB6 Y/N 1µs Delay RA0 DOUT MAX3221 100k MAX3100 1/2 STOP BITS RB5 RA1 DIN RB4 RA2 SCLK RB3 RA3 CS TX TX 100k 7/8 BITS 100k B3 100k X1 X2 RB2 B2 100k 1. 8432MHz 22pF 22pF RB1 B1 100k RB0 B0 100k Figure 11. Quick Brown Fox Generator ______________________________________________________________________________________ 17 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 __________MAX3100 Synchronous-to-Asynchronous SPI UART at a Glance Table 9. Synchronous Data Input Format (DIN pin from microprocessor, SPI MOSI) Bit Number Operation 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Write Config 1 1 FEN SHDNi TM RM PM RAM IR (IrDA) ST PE L B3 B2 B1 B0 Read Config 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 TEST Write Data 1 0 0 0 0 TE RTS Pt D7t D6t D5t D4t D3t D2t D1t D0t Read Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Table 10. Synchronous Data Output Format (DOUT pin to microprocessor, SPI MISO) Bit Number Operation 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Write Config R T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Read Config R T FEN SHDNo TM RM PM RAM IR (IrDA) ST PE L B3 B2 B1 B0 Write Data R T 0 0 0 RA/ FE CTS Pr D7r D6r D5r D4r D3r D2r D1r D0r Read Data R T 0 0 0 RA/ FE CTS Pr D7r D6r D5r D4r D3r D2r D1r D0r 18 ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 MAX3100 Table 11. Bit Definitions* Register Bit Name Config FEN Config SHDNi Config TM Bit Set (1) Bit Clear (0) Disable FIFO buffer Enable FIFO buffer Shutdown Operate Enable transmitdone interrupt Disable transmitdone interrupt Register Bit Name Config L Write Data Bit Set (1) Bit Clear (0) Word length = 7 bits Word length = 8 bits TE Inhibit TX output Enable normal operation Write Data RTS Drive RTS output pin low Drive RTS output pin high Write Data Pt Transmit parity = 1 Transmit parity = 0 Config RM Enable datareceived interrupt Disable datareceived interrupt Config PM Enable parity interrupt Disable parity interrupt Read Data RA/FE Data overrun or framing error Normal Config RAM Enable framingerror interrupt Disable framingerror interrupt Read Data CTS CTS input pin is low CTS input pin is high Config IR Enable IrDA timing mode Standard timing All R Data has been received Data buffer is empty Config ST Two stop bits One stop bit Config PE Parity enabled Parity disabled All T Transmit buffer is empty UART is busy transmitting *Default setting is clear Table 13. 1.8432MHz Baud Rates Table 12. Field Definitions Register Field Name Config B3–B0 Write Data D7t–D0t Read Data Pr Read Data D7r–D0r B3...B0 BRD Baud B3...B0 BRD Baud Baud-rate divisor 0 0 0 0 1 115.2k 1 0 0 0 3 38.4k Transmit data 0 0 0 1 2 56k 1 0 0 1 6 19.2k Received parity bit 0 0 1 0 4 28k 1 0 1 0 12 9600 Received data 0 0 1 1 8 14k 1 0 1 1 24 4800 0 1 0 0 16 7200 1 1 0 0 48 2400 0 1 0 1 32 3600 1 1 0 1 96 1200 0 1 1 0 64 1800 1 1 1 0 192 600 0 1 1 1 128 900 1 1 1 1 384 300 Meaning ______________________________________________________________________________________ 19 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 Figure 12a. 8051 IrDA/RS-232 Code 20 ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 MAX3100 Figure 12b. MAX3100 Using PIC µC ______________________________________________________________________________________ 21 MAX3100 SPI/Microwire-Compatible UART in QSOP-16 Figure 12b. MAX3100 Using PIC µC (continued) 22 ______________________________________________________________________________________ SPI/Microwire-Compatible UART in QSOP-16 µC MAX3223 MAX3100 SPI/MICROWIRE RS-232 I/O DIN TX DOUT RX SCLK CTS CS RTS IRQ C1 C2 ______________________________________________________________________________________ 23 MAX3100 ___________________________________________________Typical Operating Circuit ___________________Chip Information TRANSISTOR COUNT: 6848 SUBSTRATE CONNECTED TO GND ________________________________________________________Package Information QSOP.EPS MAX3100 SPI/Microwire-Compatible UART in QSOP-16 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 © 1997 Maxim Integrated Products Printed USA is a registered trademark of Maxim Integrated Products.