Maxim advanced universal asynchronous receivers/transmitters (UARTs) ease the burden of physical layer management in an asynchronous communications network. The devices include a single UART with two package options (MAX3107/MAX3108), a dual UART (MAX3109), and a quad UART (MAX14830).
These UARTs share a common register set, which eases the task of adapting firmware from one UART to another. This article discusses each UART's unique set of features. It also examines the care that must be taken when adapting software and hardware from one device to another.
Maxim's advanced universal asynchronous receivers/transmitters (UARTs) help the host processor manage the physical layer in an asynchronous communications network. These advanced devices include a single UART with two package options (MAX3107/MAX3108), a dual UART (MAX3109), and a quad UART (MAX14830).
Why So Many UARTs?
Maxim produces four similar types of advanced UARTs to serve the needs of a wide variety of applications, including mobile Internet devices, point-of-sale (POS) systems, and airplane communication buses. Table 1 compares the features of each UART. For a detailed description of features and other specifications common to a UART, see the associated device's data sheet.
|Number of UARTs||1||1||2||4|
|Package||24-pin SSOP/TQFN||25-pin WLP||32-pin TQFN||48-pin TQFN|
|Number of GPIOs||4||4||8||16|
|LED-driving capability for GPIOs|
|Maximum I²C frequency (Hz)||400k||1M||1M||1M|
|Minimum width IrDA® pulses|
|Automatic sleep control|
|Manual sleep control|
|Line noise indication||1x rate mode only||1x or 2x rate mode only||1x or 2x rate mode only||1x or 2x rate mode only|
|Automatic transmitter disable|
|Enhanced I²C addressing|
|Basic register set (0x00–0x1E)|
|Extended register set (0x20–0x25)|
Extended Registers and Serial Interface
Unlike the single UARTs, the dual and quad UARTs have registers 0x20 to 0x25. This extended register set provides advanced synchronization features and general-purpose I/O (GPIO) timer options.
The MAX3109 and MAX14830 have a separate register set for each on-chip UART. In order for the host to write to a specific UART's registers, each UART has its own I²C address. There are also two UART select bits (U1 and U0) in the SPI™ command word.
The RevID register is 0x1F for the MAX3107, and 0x25 for the MAX3109 and MAX14830. The MAX3108 does not have a RevID register. Therefore, the RevID register is not compatible among the devices. Do not poll RevID during startup to determine when the UART is ready for programming in order to ensure driver compatibility.
Maxim's advanced UARTs have registers that are compatible among the devices. This allows firmware that was used for one UART to be used with another, as long as only the unique features of the implemented device are utilized in software.