ANSI X3.110-1983: Character Structure and Character Parity Sense for Serial-by-Bit Data Communication

A Foundational Standard for Asynchronous Serial Communication in Information Systems

Scope of ANSI X3.110-1983

ANSI X3.110-1983, published by the American National Standards Institute (ANSI), defines the character structure and character parity sense for serial-by-bit data communication in information systems. This standard applies to asynchronous serial transmission, specifying the format of characters transmitted bit by bit over a single communication channel. It establishes a common framework for the electrical and procedural characteristics of the data link layer, ensuring interoperability between devices such as terminals, modems, computers, and other data terminal equipment (DTE) and data circuit-terminating equipment (DCE).

The standard addresses the arrangement of bits within a character, including the start bit, data bits, optional parity bit, and stop bits. It also defines the sense of parity (even, odd, mark, or space) and the order of bit transmission (least significant bit first). By providing a uniform character structure, ANSI X3.110-1983 facilitates reliable data exchange across various physical interfaces, including those based on RS-232 and similar serial standards.

Compliance Note: ANSI X3.110-1983 was superseded by later standards (e.g., ANSI/TIA-232-F) but remains a historical reference for legacy asynchronous communication systems. Understanding its requirements is still valuable for maintaining compatibility with older equipment.

Technical Requirements and Character Structure

Character Format

ANSI X3.110-1983 mandates a specific frame structure for each transmitted character. The character format consists of a start bit, a group of data bits (5 to 8 bits), an optional parity bit, and one or more stop bits. The standard allows for flexibility in the number of data bits and stop bits, as well as the type of parity, enabling adaptation to different communication needs. The most common configuration is 7 or 8 data bits, no parity, and 1 stop bit, but the standard explicitly supports other combinations to ensure compatibility with a wide range of equipment.

Bit Order and Timing

All bits within a character are transmitted sequentially, starting with the least significant bit (LSB) of the data field. The start bit is always a space (logical 0), and the stop bits are always mark (logical 1). The duration of each bit is determined by the baud rate, which must be consistent between transmitter and receiver. The standard does not define a specific baud rate but allows any rate that meets the timing tolerances for bit synchronization.

Parity Sense

Parity is a simple form of error detection that checks the number of 1s in the data bits (and optionally the parity bit itself) to ensure it is even or odd. ANSI X3.110-1983 defines four parity modes:

  • Even parity: The parity bit is set so that the total number of 1s in the data bits plus the parity bit is even.
  • Odd parity: The parity bit is set so that the total number of 1s in the data bits plus the parity bit is odd.
  • Mark parity: The parity bit is always 1 (mark).
  • Space parity: The parity bit is always 0 (space).
  • No parity: No parity bit is transmitted; the frame length is reduced by one bit.

The standard also covers parity sense, meaning whether the parity bit is inverted relative to the usual definitions. The default sense is non-inverted (as described above), but some implementations offer inverted parity sense for specific applications.

ParameterSpecified ValuesNotes
Data Bits per Character5, 6, 7, or 85-bit characaters are often used for Baudot code; 7-bit for ASCII; 8-bit for binary data.
Start Bit1 bit, always space (0)Provides bit synchronization start.
Stop Bits1, 1.5, or 2 bits, always mark (1)1.5 stop bits used only with 5-bit characters at certain speeds.
Parity Bit0 or 1 bitOptional; type: even, odd, mark, space, none.
Bit OrderLSB firstTransmitted after start bit.
Implementation Warning: Mismatched parity settings between devices can cause communication failures or undetected errors. Always verify that both ends use the same character structure (data length, parity type, stop bits).

Implementation Highlights and Practical Considerations

UART Configuration

ANSI X3.110-1983 is implemented in Universal Asynchronous Receiver-Transmitters (UARTs) and similar communication controllers. Modern UARTs allow programming of data length, parity mode, and stop bits through control registers, enabling them to comply with this standard. When designing serial interfaces, engineers must ensure that the UART configuration matches the parameters defined in the standard for the intended application.

Baud Rate Tolerance

The standard requires that the receiver sample each bit near its center to minimize errors due to clock drift. For reliable communication, the difference between the transmitter and receiver baud rates should not exceed ±2% for most configurations, and more stringent limits apply when using longer frames or high speeds. This requirement aligns with typical UART specifications that allow up to ±2.5% error tolerance.

Tip: When designing a system for maximum robustness, use 8 data bits, no parity, and 1 stop bit (8N1). This configuration is widely supported and simplifies the initialization process.

Legacy Equipment Interoperability

Many legacy devices from the 1980s and 1990s rely on ANSI X3.110-1983 for communication. For example, older terminals, printers, and industrial controllers often use 7 data bits with even parity. Engineers working with such equipment must be able to configure modern systems to emulate these settings. Failure to do so can result in garbled data or complete communication breakdown.

Critical: Incorrect parity sense can cause data corruption that is not easily detectable. If a device expects even parity but receives odd, the parity check will always fail, leading to repeated retransmissions or a loss of synchronization. Always verify the exact parity sense specified by the equipment manufacturer.

Compliance and Status Notes

ANSI X3.110-1983 is currently classified as a historical standard. It has been superseded by more comprehensive standards such as ANSI/TIA-232-F (Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange) and ISO 2110. However, many semiconductor data sheets and communication protocols still reference the character structure defined in this standard.

Compliance with ANSI X3.110-1983 is achieved by implementing the character format and parity sense as specified. When designing new systems, it is recommended to follow the guidelines of the current standard (e.g., TIA-232-F) but to include backward compatibility modes for legacy interactions. For systems that must interoperate with legacy equipment, certification of compliance may not be required, but verification through conformance testing is advised.

Status Overview

  • Published: 1983
  • Withdrawn: 1995 (replaced by ANSI/TIA-232-F and others)
  • Application: Used primarily in RS-232 communications and legacy serial links.
  • Cross-reference: EIA RS-232-C, CCITT V.24, V.28.
Compliance Note: Although ANSI X3.110-1983 is no longer an active standard, many UART implementations and serial communication libraries still offer configuration options that directly map to its requirements. Understanding this standard aids in diagnosing communication issues and ensuring compatibility with older hardware.

Frequently Asked Questions

Q: Is ANSI X3.110-1983 still used today?
A: It is rarely used in new designs, but many legacy systems still require its specified character structures. Modern UARTs are backward compatible and can be programmed to match any of the standard’s configurations.
Q: What is the difference between mark parity and space parity?
A: Mark parity forces the parity bit always to 1; space parity forces it always to 0. Neither provides error detection; they are used to maintain a consistent frame length or to satisfy specific timing requirements of some devices.
Q: Can I use 5-bit characters with modern equipment?
A: Yes, but it is uncommon. Some terminals and telegraphy equipment use 5-bit Baudot code. Most UARTs support 5-bit mode, but you must ensure the receiver is configured identically.
Q: How does the standard relate to RS-232?
A: ANSI X3.110-1983 defines the data link layer character structure, while RS-232 (e.g., TIA-232-F) defines the electrical and mechanical interface. Together, they enable asynchronous serial communication. The character format in RS-232 implementations is based on the specifications of ANSI X3.110-1983.

Last updated: 2026

📥 Standard Documents Download

🔒
Please wait 10 seconds, the download links will appear after the ad loads

Leave a Reply

Your email address will not be published. Required fields are marked *