XR21B1422

Enhanced 2-Ch Full-Speed USB UART
Data Sheet

Description

The XR21B1422 is an enhanced Universal Asynchronous Receiver and Transmitter (UART) bridge to USB interface. The USB interface is fully compliant to the USB 2.0 (Full-Speed) specification with 12 Mbps USB data transfer rate. The USB interface also supports USB suspend, resume and remote wakeup operations. The USB Vendor ID, Product ID, power mode, remote wakeup support, maximum power, and numerous other settings may be programmed in the on-chip OTP memory via the USB interface.

The XR21B1422 includes an internal oscillator and does not require an external crystal/oscillator. Any UART baud rate up to 12 Mbps may be generated with this internal clock and the fractional baud rate generator.

The UART pins for each port may also be configured as GPIO; direction, state, output driver type and input pull-up or pull-down resistors are programmed either through on chip OTP, or on the fly via memory mapped registers.

Large 512-byte TX and RX FIFOs prevent buffer overflow errors and optimize data throughput. Automatic half-duplex direction control and optional multi drop (9-bit) mode simplify both hardware and software in half-duplex RS-485 applications.

The XR21B1422 uses the native OS CDC-ACM driver or an Exar supplied custom driver. Exar provides WHQL/HCK-certified software drivers for Windows 2000, XP, Vista, 7, 8, 8.1 as well as software drivers for Windows CE, Linux and Mac OS X. Full source code is available.

The XR21B1422 operates from a single 5V or 3.3V power supply. When powered with 5V input, a regulated 3.3V output is supplied.

For UART technical support or to obtain an IBIS model for this product, please email Exar's UART Technical Support group.

Features

  • ±15kV ESD on USBD+/USBD-
  • USB 2.0 Compliant, Full-Speed (12Mbps)
  • Unique pre-programmed USB serial number
  • Internally generated 48MHz core clock
  • Enhanced UART features
    • Baud rates up to 12 Mbps
    • Fractional Baud Rate Generator
    • 512-byte TX and 512-byte RX FIFOs
    • Auto Hardware / Software Flow Control
    • Multidrop and Half-Duplex Modes
    • Auto RS-485 Half-Duplex Control
    • Selectable GPIO or Modem I/O
  • Up to 10 GPIOs per channel
  • 5V tolerant GPIO inputs
  • Suspend state GPIO configuration
  • Configurable clock output
  • 40-pin QFN package
  • Industrial -40°C to +85°C Temperature Range

Application

  • Building Automation
  • Security Systems
  • Factory and Process Control
  • ATM Terminals
  • USB to Serial Controllers

Download Software Drivers

Design Tools

Evaluation Hardware and Software
Operating System Driver Version Release Date File
Windows XP, Vista, 7, 8, 8.1, 10 2.5.0.0 September 2018
Linux 3.6.x and Newer 1C January 2017
Android Application 1C November 2015
Linux 2.6.18 to 3.4.x 1A January 2015
Sample USB UART GUI 1.0.9.2 December 2013

Packaging

Pkg Code Details Quantities Dimensions PDF
QFN40 6x6 OPT2
  • JEDEC Reference:
  • MSL Pb-Free: L3 @ 260ᵒC
  • MSL SnPb Eutectic:
  • ThetaJA: 32.3ᵒC/W
  • Bulk Pack Style: Tray
  • Quantity per Bulk Pack: 490
  • Quantity per Reel: 3000
  • Quantity per Tube: n/a
  • Quantity per Tray: 490
  • Reel Size (Dia. x Width x Pitch): 330 x 16 x 12
  • Tape & Reel Unit Orientation: Quadrant 1
  • Dimensions: mm
  • Length: 6
  • Width: 6
  • Thickness: 1.00
  • Lead Pitch: 0.5

Parts & Purchasing

Part Number Pkg Code RoHS Min Temp Max Temp Status Buy Now Order Samples
XR21B1422IL40-F QFN40 6x6 OPT2 -40 85 Active Order
XR21B1422IL40TR-F QFN40 6x6 OPT2 -40 85 OBS Suggested:
XR21B1422IL40-F
XR21B1422IL40-0A-EVB Board Active
Show obsolete parts
Part Status Legend
Active - the part is released for sale, standard product.
EOL (End of Life) - the part is no longer being manufactured, there may or may not be inventory still in stock.
CF (Contact Factory) - the part is still active but customers should check with the factory for availability. Longer lead-times may apply.
PRE (Pre-introduction) - the part has not been introduced or the part number is an early version available for sample only.
OBS (Obsolete) - the part is no longer being manufactured and may not be ordered.
NRND (Not Recommended for New Designs) - the part is not recommended for new designs.

Quality Documents

Additional Quality Documentation may be available, please contact customersupport@maxlinear.com.
Distribution Date Description File
07/21/2017 Qualification of alternate assembly subcon, ANST. PCN 17-0626-01 ANST-1033.pdf
07/11/2017 Product Discontinuation Notification Product Discontinuation Notice 17-0623-02 r-1033.pdf
01/31/2017 Addition of qualified 12 inch wafer processing line in Global Foundries, in addition to the currently qualified 8 inch wafer processing. Note: Reliability report will be available February 17, 2017. PCN 16-0731-01-01 12 inch Global Foundries-1033.pdf

Frequently Asked Questions

For some UARTs, Microsoft certified drivers are available for Windows Operating System and can be downloaded via Windows Update. These drivers and others, including for Linux and other Operating Systems can be found by visiting https://www.exar.com/design-tools/software-drivers Please note Software Driver Use Terms.

 

 
You can also get to this link by going to the exar.com website, clicking on Support (in black bar near top of page), then click on Design Tools, then under Evaluation Hardware and Software (towards right of page) click on Software Drivers.
 
 

Click on the version link under Driver Version of the desired type of UART, part number and operating system. A zip file is downloaded which contains a ReadMe file with instructions.

Links to datasheets and product family pages are in the software driver table for easy reference. 

No, Auto RTS and Auto CTS are independent. Auto RTS is toggled by the UART receiver. Auto CTS is monitored by the UART Transmitter.

No, Auto RTS and Auto CTS will work normally without the interrupts enabled.

No, software flow control characters are not loaded into the RX FIFO.

Auto RS485 Half-Duplex Control feature overrides the Auto RTS flow control feature if both features use the RTS# output pin. Both features can only be used simultaneously if the Auto RS485 control output is not the RTS# output. For some UARTs, the Auto RS485 control output is not the RTS# output.

The polarity of the RS485 control output varies from one UART to another. For some UARTs, an inverter may be required. Some of the newer UARTs have register bits that can change that polarity of the RS485 control output.

All of the UARTs that have the IR mode supports up to 115.2Kbps as specified in IrDA 1.0. The newer I2C/SPI UARTs can support up to 1.152Mbps as specified in IrDA 1.1.

Find the product page of the part that you want to get an evaluation board for and click on Parts & Purchasing. Example:

 

Find the icons under Buy Now or Order Samples:

 
 

Click on the Buy Now icon and see who has stock and click on the Buy button:

 
 
 

Alternatively, you can click on the Order Samples

 
 

If the icons are missing, then contact Customer Support.

The -F suffix indicates ROHS / Green compliance:
https://www.exar.com/quality-assurance-and-reliability/lead-free-program

The best way to determine this is to go to exar.com and type the part into the search function. At or near the top of the results you should see something that looks like
 
 

In this example, we looked for XRA1201. When you hover over it, it will turn grey and you can click anywhere in the grey box. This brings you to the product page. For example:

 
 

Click on Parts & Purchasing, highlighted in yellow above. The screen changes to:

 

Notice the status column and the “Show obsolete parts” link:

 

A legend tells you the definition of the different statuses. Click on the “Show obsolete parts” link to see EOL or OBS part numbers along with the Active part numbers:

 
 

Another method to find out if a part is OBS or EOL is to click on SUPPORT:

 

And then Product Change Notifications

 
 

Type the part into the search, and click on one of the part numbers from the drop down menu. Then you can look for the Product Discontinuation Notice, which generally is at the top of the list, for example:

 
 

If you see this, it tells you that this particular orderable part has been discontinued and when the last order date is, or was. If you click on the file, then you can view the notice we sent about this if you purchased the part in the recent past. It may also advise of a replacement part. When an orderable part first becomes discontinued, Product Discontinuation Notices are sent are sent to those who have purchased the parts in the recent past, if purchased directly, with a dated opportunity to place a last order.

When using the native CDC-ACM driver the USB UARTs defaults to HW RTS/CTS flow control. Please see the datasheet:
https://www.exar.com/product/interface/uarts/usb-uarts/xr21b1422
section on CDC-ACM driver and Table 2.

You can test to see if there is data by grounding the CTS input.

USB peripheral devices may operate in bus or self-powered modes. In bus powered mode, the peripheral device is powered by the USB host 5V VBUS power either directly, or for example through a voltage regulator that might provide a regulated 3.3V to the device from the 5V VBUS input. In self-powered mode, power to the peripheral device comes from another source other than the USB host VBUS. For example, power might come from an AC to DC converter.

 

MaxLinear USB to serial / UART(s), USB hubs and USB to Ethernet devices all comply fully to USB standards and are fully USB compliance tested. One USB compliance test ensures that self-powered peripheral devices do not have “back voltage” when disconnected from the USB host, on either the USB data signals (USBD+ / USBD-) or the VBUS power itself.

 

All MaxLinear USB UARTs, hubs and USB to Ethernet devices are USB full speed or high-speed devices. As such, they have an internal pull-up on the USBD+ signal to “advertise” their speed rating. The VBUS_SENSE pin on these devices must be connected to VBUS from the host, or upstream device if that is not the host, such that the device “senses” the disconnection from the host or upstream device. The default power mode advertised to the USB host for all USB UARTs and USB to Ethernet devices is bus powered mode. Self-powered mode can be programmed in either the internal OTP memory or external EEPROM for self-powered mode. For MaxLinear hubs, an external pin controls the power mode advertised to the USB host, except the XR22417 which must always be operated in self-powered USB mode.

Connect the USB data pins directly to the host or upstream hub. Connections should be impedance controlled to 90 ohms differential with short traces and no stubs. Connecting any other components that are not high impedance (series or shunt resistance, capacitance or inductance) will corrupt the USB data signaling and can prevent communication between the host and device. ESD protection diodes may be used and some EMI filters may also have only a slight impact on impedance but should be demonstrated for compliance with USB 2.0 devices. See Application Notes AN202 (USB UART Board Design Recommendations and Considerations for USB Compliance), section 2.0 Design Considerations  for more. 

1. Native drivers: Native drivers may be found in all major OS such as Windows, Linux, and Max OSX. Typically these drivers will be automatically loaded. In some cases, these are basic drivers and may have limitations on advanced device functionality, however. USB HID, Hub and CDC-ACM drivers are examples of native drivers. The CDC-ACM driver be used with our CDC-ACM class USB UARTs, but has limited functionality.

 

2. MaxLinear custom drivers: MaxLinear custom drivers may be used to support additional functionality in MaxLinear devices. For example, the MaxLinear custom driver for USB UARTs overcomes the limitations of the native CDC-ACM driver. See https://www.exar.com/design-tools/software-drivers for a list of and access to the drivers that we currently have. In some cases, the MaxLinear driver can also be customized, or source code can be provided after executing a Software License Agreement.

Yes: Go to the product page (XR22804 example below), click on the documentation tab on left, click on “Sample USB UART GUI” under Software:

 

It depends on the baud rate. For example, for a start bit, 8 data bits, no stop bit and 1 stop bit, the maximum baud rate deviation is 4.76%. For more information, see https://www.exar.com/appnote/dan108.pdf

Most UARTs use RTS#, however in addition to using the RTS# output as the Auto RS485 control output, the XR21B1420/1421/1422/1424 can use the DTR# output as the Auto RS485 control output.

The following lines of code must be modified in the xr_usb_serial_hal.c file in the xr_usb_serial_set_flow_mode function at the end of the function:

 

Change from:

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_flow_addr, flow);

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, gpio_mode);

 
For active low TX, change to:

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_flow_addr, 0x0);

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, 0x3);

 

For active high TX, change to:

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_flow_addr, 0x0);

xr_usb_serial_set_reg(xr_usb_serial, xr_usb_serial->reg_map.uart_gpio_mode_addr, 0xB);

All of MaxLinear / Exar's USB UARTs are CDC class / CDC-ACM compliant, except for XR21B1421 which is an HID class device. This means they can use a native CDC driver. All major OS have native CDC drivers, except Windows prior to Windows 10.

None of the MaxLinear / Exar USB UARTs require their custom driver, however they will have certain limitations when not using it. The native CDC driver is not capable of accessing the internal memory map of any device. As a result, when using the native CDC driver, the device “defaults” to a particular configuration. The main implications of this default configuration are that hardware RTS/CTS flow control is enabled and that other settings / advance settings are not configurable. Some devices, for example the XR21B1411 which has an internal OTP memory, can be programmed to change this default configuration, but the configuration cannot be changed “on the fly”.

1.  Enter root privileges: sudo -i
2.  Enter admin password.
3.  Edit /etc/modules file.  Append xr_usb_serial_common to the end of the file.
4.  Build the Exar/MxL driver from the folder using "make", confirm that the xr_usb_serial_common.ko file is successfully created.
5.  Run command: uname -r
This will return the kernal version currently in use. 
6.  Copy the resulting xr_usb_serial_common.ko to /lib/modules/2.6.38.8-generic in the above path with the kernal version that was returned in step 5.
7.  Run depmod.
8.  Reboot. 
9.  Connect the Exar/MxL USB UART.  Using ls/dev/tty* confirm /dev/ttyUSBn ports (Exar driver loaded) for Exar/MxL USB UART.
10. Connect another CDC device (not Exar/MxL), and confirm both /dev/ttyUSBn and /dev/ACMn ports. 

The maximum allowed bus-powered suspend current is 2.5mA per device function. The device function may not be the same as the IC, as there may be multiple device functions per IC. See the individual datasheet for a list of device functions. For example, the XR22804 has 8 device functions: an embedded hub, the Ethernet MAC and Phy, 4 UARTs, I2C controller and EDGE controller. Therefore, the XR22804 maximum allowed bus-powered suspend current is 8 x 2.5mA or 20mA. However, power used by all supporting XR22804 external components that use power from the USB host VBUS power must be included in the suspend current.

It is recommended, especially when connecting a USB cable to the VBUS 5V source.  See Application Note AN202 (USB UART Board Design Recommendations and Considerations for USB Compliance), section 2.2.2 In-rush Current for more.

The OTP can be programmed to modify various USB configuration descriptors such as Vendor ID, Product ID, Device Attributes and maximum power consumption. See Application Note AN202 (USB UART board Design Considerations for USB Compliance), section 2.3 External EEPROM or on-chip OTP for more. The OTP can also be programmed to change default register values, which can be found in the individual datasheets.