XR17D158

Universal (3.3V and 5V) PCI Bus Octal UART
Data Sheets OBS (Obsolete)

Overview

Information Universal (3.3V and 5V) PCI Bus Octal UART
Data Bus Interface PCI Bus 2.2
# of Channels 8
Max Data Rate 5V (Mbps) 6.25
Max Data Rate 3.3V (Mbps) 4
Tx/Rx FIFO (Bytes) 64/64
FIFO Level Counters
Program. Trigger Levels
Auto Flow Control
Auto RS-485 Half-Duplex Control
Fractional Baud Rate Generator
Power Down Mode
5V Tolerant Inputs
Supply Voltage Range VCC (V) 4.5 to 5.5
No. of GPIOs 8
PCI Interface Supply Voltage Range VIO (V) 3 to 3.6, 4.5 to 5.5
Max UART/GPIO Input Voltage (V) 6
Max UART/GPIO Output Voltage (V) VCC
Temperature Range (°C) -40 to 85
Package LQFP-144
Show more

The XR17D152 (dual) and XR17D154 (quad) and XR17D158 (octal) are industry first UARTs to support both 3.3V and 5V Universal PCI Bus signaling designs. A PCI Bus add-in card designed using one of the Universal PCI UART means the card will operate virtually in any PC system, old with 5V and new at 3.3V. PC Add-in card manufacturers can simply build and ship the Universal PCI cards to the distribution channel or customers without having to concern with slot's VIO voltage compatibility.

This multi-channel Universal PCI UART product family is highly integrated and well suited for Universal PCI add-in card solutions. In addition, they support high bandwidth requirements found in communication devices of Point-of-Sale (POS) systems, industrial machineries, computer servers and telecom network management solutions for systems based on PCI Bus, CompactPCI, PMC, VME and PC/104Plus industry standards. These Universal PCI UART devices build on the earlier successful introduction of the 5V devices (XR17C152/154/158, 2/4/8 channels), and 3.3V (XR17L152/154) and will deliver the same product innovations that have been a hallmark of Exar's offerings including: minimized design cycles, increased performance, and acceleration of time-to-market.

Product Highlights

The new series complies with Universal PCI Bus signaling to support designs for old at 5V and new at 3.3V PCI systems. The three devices meet and support the Universal PCI Bus Target signaling speed of up to 33MHz at 3.3V and 5V. The devices support auto-configuration registers for plug-and-play installation. Their 32-bit global interrupt source register offers an at-a-glance status that is capable of identifying which UART channel's transmitter or receiver has requested service. This feature greatly facilitates interrupt parsing and increases service efficiency, hence, eliminates the conventional approach of individually polling each channel. The Universal PCI UART series is capable of operating 4 times faster in data transfer efficiency by its 32-bit data loading and unloading capability than the traditional ISA (8-bit) bus.

In addition, automatic RS-485 direction control with selectable turn-around delay is provided enabling faster polling in 2-wire half-duplex networks. Automatic hardware (RTS/CTS or DTR/DSR) and software flow (Xon/Xoff) control facility is supported to prevent data loss and packet retransmission, hence, increasing throughput.

The 5G register set is compatible to the industry's standard 16C550, providing easy software migration from existing driver codes. Additionally, they support programmable TX and RX FIFO interrupt trigger levels and FIFO level counters to optimize interrupt intervals.

A Universal PCI Bus demonstration add-in card is available now for purchase with schematics and Windows(TM) 2000/NT/XP device driver for evaluation. Furthermore, a Linux device driver is also available now.

Windows is a trademark of Microsoft Corporation.


  • Industry First Universal Board PCI Bus UART
  • Direct 3.3V and 5V PCI Bus Connection
  • PCI Bus Target revision 2.3 Signaling Compliant
  • 32-bit Wide Data Read/Write Operation for Higher Data Throughput
  • Data Burst Operation for Faster Data Loading/Unloading
  • Global Interrupt Signal Register Increases Driver Efficiency
  • Each UART has 64-byte TX and RX FIFOs
  • Programmable TX and RX FIFO Trigger Level and FIFO Level Counters
  • Automatic RTS/CTS or DTR/DSR Hardware Flow Control
  • Automatic RS485 Direction Control Output with Selectable turn-around delay
  • Up to 6.125 MBps Data Rate
  • Pb-Free, RoHS Compliant Versions Offered

  • Universal PCI Bus Add-in Cards
  • Multi Serial Port Solution
  • Terminal Servers
  • Point-of-Sale Systems
  • Factory Automation Management
  • Process Control Machinery
  • Data Collection Servers
  • Systems Monitoring and Management
  • Ethernet to Serial Ports

Documentation & Design Tools

Type Title Version Date File Size
Data Sheets XR17D158 UNIVERSAL (3.3V and 5V) PCI BUS Octal UART 1.2.2 August 2005 1.5 MB
Application Notes AN-225, Installing and Testing a PCI/PCIe UART Serial Port Using a Custom MaxLinear Driver in Linux 1B July 2018 427.1 KB
Application Notes AN 209 - Windows & Linux API interface code for PCI/PCIe UARTs’ drivers December 2011 199.5 KB
Application Notes AN-204, UART Sleep Mode 1.0.0 June 2010 515.8 KB
Application Notes DAN-189, MaxLinear UARTs in GPS Applications 1.0.0 April 2008 139 KB
Application Notes DAN-183, Migrating from the XR17D15X to the XR17V25X 1.0.0 September 2005 88.3 KB
Application Notes DAN-112, PCI UART - EEPROM Interface June 2003 36.8 KB
User Guides & Manuals PCI/PCIe EEPROM Programming Utility User Manual 1.0.0 November 2010 262.5 KB
User Guides & Manuals Evaluation Board User's Manual 7.3.0 August 2003 22.7 KB
Software: GUIs & Utilities PCI UART EEPROM Programming Utility July 2017 10.9 KB
Product Brochures Interface Brochure November 2023 3.7 MB
Software: Drivers Windows 10 5.5.0.0 September 2020 319.1 KB
Software: Drivers Linux 2.6.32 and newer 2.6.0.0 August 2019 20.2 KB
Software: Drivers Windows XP, Vista, 7, 8, 8.1 5.3.0.0 September 2015 275.2 KB
Software: Drivers Linux 2.6.31 1.0.0 July 2010 12.6 KB
Software: Drivers Linux 2.6.21 1.0.0 July 2007 13.5 KB
Software: Drivers Linux 2.6.18 1.0.0 February 2007 13.8 KB
Software: Drivers Linux 2.6.16 1.0.0 August 2006 13.7 KB
Software: Drivers Linux 2.6.8 1.0.0 September 2005 13.8 KB
Software: Drivers Linux 2.4 1.0.0 April 2002 898.6 KB
Schematics & Design Files PCI Eval Board Schematic 9.1 January 2009 119.6 KB
Simulation Models
Package Type Vcc Temp Mode Version File
LQFP 3.3V Commercial PCI 1
LQFP 5V Commercial PCI 1
LQFP 3.3V Industrial PCI 1
LQFP 5V Industrial PCI 1
Register for a myMxL account or Login to myMxL to view all Technical Documentation & Design Tools.

Quality & RoHS

Part Number RoHS | Exempt RoHS Halogen Free REACH TSCA MSL Rating / Peak Reflow Package
XR17D158CV-F N Y Y Y Y L3 / 260ᵒC LQFP144
XR17D158IV-F N Y Y Y Y L3 / 260ᵒC LQFP144

Click on the links above to download the Certificate of Non-Use of Hazardous Substances.

Additional Quality Documentation may be available, please Contact Support.

Parts & Purchasing

Part Number Pkg Code Min Temp Max Temp Status Suggested Replacement PDN
XR17D158CV LQFP144 0 70 OBS XR17D158CV-F
XR17D158CV-F LQFP144 0 70 OBS XR17V358IB176-F
XR17D158CVTR-F LQFP144 0 70 OBS XR17D158CV-F
XR17D158IV LQFP144 -40 85 OBS XR17D158IV-F
XR17D158IV-F LQFP144 -40 85 OBS XR17V358IB176-F
XR17D158IVTR-F LQFP144 -40 85 OBS XR17D158IV-F
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.

Packaging

Pkg Code Details Quantities Dimensions PDF
LQFP144
  • JEDEC Reference: MO-026
  • MSL Pb-Free: L3 @ 260ºC
  • MSL SnPb Eutectic: n/a
  • ThetaJA: 24.0ºC/W
  • Bulk Pack Style: Tray
  • Quantity per Bulk Pack: 60
  • Quantity per Reel: 750
  • Quantity per Tube: n/a
  • Quantity per Tray: 60
  • Reel Size (Dia. x Width x Pitch): 330 x 44 x 32
  • Tape & Reel Unit Orientation: Quadrant 2
  • Dimensions: mm
  • Length: 20
  • Width: 20
  • Thickness: 1.60
  • Lead Pitch: 0.50

Notifications

Distribution Date Description File
06/23/2022 Product Discontinuation Notice
12/21/2016 Qualification of an alternate production site, TSHT, China for 144L SQFP.
07/26/2016 Product discontinuation notification. Discontinued.
12/05/2013 Addition of an alternate qualified assembly site, ASE Chung-Li (Taiwan) for assembly using copper or gold wire bonding. Material change and alternate assembly site.
08/10/2011 Material change and a new assembly & test supplier (ASE, Kunshan). Business consolidation.
04/11/2011 Product Discontinuation Notice In support of “green” initiatives, the listed leaded part numbers will be discontinued by Exar.

FAQs & Support

Search our list of FAQs for answers to common technical questions.
For material content, environmental, quality and reliability questions review the Quality tab or visit our Quality page.
For ordering information and general customer service visit our Contact Us page.

Submit a Technical Support Question As a New Question

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. 

The XR17Cxxx, XR17Dxxx, and XR17Vxxx are all UARTs but have the following basic differences:

  • PCI UARTs
    • XR17Cxxx – 5V supply, up to 33MHz clock input
    • XR17Dxxx – 5V or 3.3V supply, up to 33MHz clock input
    • XR17V2xx – 3.3V supply, up to 66MHz clock input
  • PCIe UARTs
    • XR17V3xx – 3.3V supply, up to 125MHz clock input

Yes, however, you will need to use a PCI-PCI bridge.

The schematics for our evaluation boards are available for download from https://www.exar.com/technical-documentation?doctypeid=34

No, it is not required. If an external EEPROM is not detected, the PCI UARTs will use Exar's default Vendor and Device ID. However, we do recommend that you use an EEPROM with your own Vendor and Device IDs.

You will need to be a member of PCI-SIG. You can find information for becoming a member at www.pcisig.com.

LSR bit-6 is a superset of LSR bit-5. The transmitter consists of a TX FIFO (or THR only when FIFOs are not enabled) and a Transmit Shift Register (TSR). When LSR bit-5 is set, it indicates that the TX FIFO (or THR) is empty, however there may be data in the TSR. When LSR bit-6 is set, it indicates that the transmitter (TX FIFO + TSR) is completely empty.

You can tell by reading LSR bit-5 or bit-6. If they are '0', then the transmit interrupt was generated by the trigger level. If they are '1', then the transmit interrupt was generated by the TX FIFO becoming empty. For enhanced UARTs, you can just read the FIFO level counters.

An RX Data Ready interrupt is generated when the number of bytes in the RX FIFO has reached the RX trigger level. An RX Data Timeout interrupt is generated when the RX input has been idle for 4 character + 12 bits time.

For some UARTs, the RX Data Timeout interrupt has a higher priority and in others, the RX Data Ready interrupt has a higher priority. See the interrupt priority section of the datasheet.

The UART requires a clock and a valid baud rate in order to transmit and receive data. Check that there is a clock signal on the XTAL1 input pin. Also, valid divisors need to be written into the DLL and DLM registers. Most UARTs have random (invalid) values upon power-up.

For most UARTs, the interrupt is generated when the data is ready to be read from the RX FIFO. The are some UARTs that generate the interrupt when the character with the error is received. There are some UARTs that have a register bit to select whether the LSR interrupt is generated immediately or delayed until it is ready to be read.

The UART will enter the sleep mode if the following conditions have been satisfied for all channels:
 
-Sleep Mode is enabled
-No interrupts are pending
-TX and RX FIFOs are empty
-RX input pin is idling HIGH (LOW in IR mode)
-Valid values in DLL and DLM registers
-Modem input pins are idle (MSR bits 3-0=0x0)
 
See AN204, UART Sleep Mode for more information on UART Sleep Mode

The UART will wake-up from sleep mode by any of the following conditions on any channel:
 
-Sleep mode is disabled
-Interrupt is generated
-Data is written into THR
-There is activity on the RX input pin
-There is activity on the modem input pins
 
If the sleep mode is still enabled and all wake-up conditions have been cleared, it will return to the sleep mode.
 
See AN204, UART Sleep Mode for more information on UART Sleep Mode 

There will be no activity on the XTAL2 output.
 
See AN204, UART Sleep Mode for more information on UART Sleep Mode 

For any UART that has the wake-up indicator interrupt, an interrupt will be generated when the UART wakes up even if no other interrupts are enabled.
 
See AN204, UART Sleep Mode for more information on UART Sleep Mode 

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.

Since 2-character software flow control requires that 2 consecutive flow control characters match before data transmission is stopped or resumes, there is less of a chance that data transmission is stopped because one data byte matched a control character.

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.

In the normal mode, the TX interrupt is generated when the TX FIFO is empty, and there may still be data in the Transmit Shift Register. In the RS485 mode, the TX interrupt is generated when the TX FIFO and the TSR register are both empty.

It is recommended that the FIFO counters at the Scratchpad Register location be used. When transmitting or receiving data, writing to the LCR register could result in transmit and/or receive data errors.

Due to the dynamic nature of the FIFO counters, it is recommended that the FIFO counter registers be read until consecutive reads return the same value.

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.

For external clock frequencies above 24MHz at the XTAL1 input, a 2K pull-up may be necessary to improve the rise times if there are data transmission errors.

No, it just has to meet the minimum high and low pulse widths.

Yes, if you are using a UART with a fractional baud rate generator. This provides a divisor feature with a granularity of 1/16, allowing for any baud rate to be generated by any clock frequency, standard or non-standard. Click on the parametric search button of the product family page and find the Fractional Baud Rate Generator column which tells which products have this feature.

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

Visit the product page for the part you are interested in.  The part's status is listed in the Parts & Purchasing section.  You can also view Product Lifecycle and Obsolescence Information including PDNs (Product Discontinuation Notifications).
 
To visit a product page, type the part into the search window on the top of the MaxLinear website.
 
In this example, we searched for XRA1201.  Visit the product page by clicking the part number or visit the orderable parts list by clicking "Orderable Parts". 
 
 
 

 

  

The Parts & Purchasing section of the product page shows the Status of all orderable part numbers for that product.  Click Show obsolete parts, to see all EOL or OBS products.

 
 
 

 

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.

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

See Application Note AN-225 https://www.exar.com/appnote/an-225.pdf

Most UARTs use RTS#, however in addition to using the RTS# output as the Auto RS485 control output, the XR17C158, XR17D152/154/158 and XR17V258 can use the DTR# output as the Auto RS485 control output.

The EEPROM needs to have the PCI Vendor ID and Device ID, Subvendor ID and Subsystem Device ID. For more details, see DAN112 https://www.exar.com/appnote/dan112v100.pdf.

Please check that all the following conditions are satisfied first.

 

  • no interrupts pending (ISR bit-0 = 1)
  • modem inputs are not toggling (MSR bits 0-3 = 0)
  • RX input pin is idling HIGH • divisor (the value in DLL register) is non-zero
  • TX and RX FIFOs are empty

 

Be sure sleep mode bit has been set to 1. If there are multiple UART channels, the sleep conditions must be true for all channels.

 

See more on Sleep Mode in AN204 UART Sleep Mode.

Yes. Note: some devices do have powersave mode. If UART goes into powersave mode, then the registers are not accessible.

 

See more on Sleep Mode in AN204 UART Sleep Mode.

Read LSR register to check whether the UART receives the data or not.

 

  • If LSR value is 0x60, it means that either UART receiver FIFO doesn’t receive the data or the data in receiver FIFO has been read out before the read of LSR.
  • If LSR value is 0x00, it means data is still in the THR (clock doesn’t oscillate to transmit data).
  • If LSR value is 0xFF, it means either UART is in powersave mode or UART is powered off. For those devices with powersave mode, be sure that UARTS are not in powersave mode.

 

 

See more on Sleep Mode in AN204 UART Sleep Mode.

 

  • Check whether the register set can be accessed.
  • Check whether the crystal is oscillating fully.
  • Check whether the data can be transmitted in internal loopback mode.

 

 

See more on Sleep Mode in AN204 UART Sleep Mode.