Seeking 9-bit serial port card for Windows PC [closed]

[Update] This question was correctly closed several years ago. However, nowadays, it could be asked on https://hardwarerecs.stackexchange.com/ - I just wanted to make others aware of this very helpful site.


I need to connect to serial port on a system bus which uses 9 data bits.

Is there an off the shelf card which will handle that? Obviously it would need to come with driver software to return 9 (actually 16, with 7 unused) bits for each character sent on the serial bus.


There are USARTs that can send & receive 9 bits of data (with or without parity) per character. But I have only seen them as an integrated device that is part of a microcontroller or System-on-a Chip (SoC). I've seen 9-bit capable USARTs on Atmel ARM and AVR SoCs. The typical 8250 or 16550 type of UART (that are considered PC-compatible devices) are not capable of 9-bit characters, and are limited to 8 bits per character.

However there are various kludges to use 8 data bits plus the parity bit to simulate a 9-bit character.

Use The PC's UART With 9-Bit Protocols

Can I Do 9-bit Serial Communication Instead of 7 or 8 bits?

One scheme for transmission is to reconfigure the UART parity (to ODD or EVEN) before each byte transmission, according to the 9th data bit and the parity of the lower 8 bits. Receiving a 9-bit character is a bit trickier, as each character's 9th bit has to be derived from the parity of the received 8 bits plus whether or not there was a parity error for that byte. This scheme should be done at the device driver level, and may significantly reduce data throughput.

ADDENDUM

I am looking for a natie 9-bit card + driver for Windows.

Then this is technically a shopping question, which is not allowed on SU.

However I did find exactly what you are asking for (and it's not cheap):

Sealevel 7205e : Low Profile PCI Express RS-232, RS-422, RS-485 Serial Interface

The 7205e low-profile PCI Express serial interface provides two serial ports configurable for RS-232, RS-422 or RS-485. Each serial port utilizes a 16C950 UART with 128-byte Tx/Rx FIFOs that enables data rates to 921.6K bps for reliable high-speed communications in data intensive applications. This high-performance UART includes 9-bit framing support and is fully software compatible with legacy 16550 applications. In addition, the 14.7456 oscillator and UART's flexible clock prescalar supports the widest range of standard and non-standard baud rates.