Asynchronous Transmission Overview

Introduction

The ASYNCHRONOUS (ASYNC) format for data transmission is a procedure or protocol in which each information CHARACTER or BYTE is individually synchronized or FRAMED by the use of Start and Stop Elements, also referred to as START BITS and STOP BITS.

The Asynchronous Transmission Format is also known as START-STOP mode or CHARACTER mode. Each character or byte is framed as a separate and independent unit of DATA that may be transmitted and received at irregular and independent time intervals. The characters or bytes may also be transmitted as a contiguous stream or series of characters.

The character or byte may contain the number of bits required to allow translation of the BIT PATTERN into a group of symbols used to represent:

Elements of an Asynchronous Data Communication Network

    TERMINAL     MODEM                    MODEM      TERMINAL
     _____       _____   COMMUNICATIONS   _____       _____
    |     |     |     |       LINK       |     |     |     |
    | DTE |-<=>-| DCE |__/\  /\  /\  /\__| DCE |-<=>-| DTE |
    |     |  ^  |     |    \/  \/  \/    |     |  ^  |     |
    |_____|  |  |_____|                  |_____|  |  |_____|
       ^     |         `--- NO CLOCK ---'         |     ^
       |     |                                    |     |
       |     `------------- INTERFACE ------------'     |
       |                                                |
       `---------------- INTERNAL  CLOCK ---------------'

NOTE: If clocking is provided by the modems (DCE), refer to the the Isochronous Transmission Overview.

The TERMINALS or DTE devices normally communicate with other terminals or DTE devices across a communications NETWORK via some form of MODEMS (MOdulator-DEModulators) that are connected through a communications LINK.

The terminals are connected to the modems through an INTERFACE. There are many different types of interfaces in use due to the differences in the characteristics of the DTE terminals and the communications links being used, and the performance requirements.

The terminals or DTE devices operating in the Asynchronous Mode will normally provide the INTERNAL TIMING or CLOCKS required to strobe the data out of and into the modems or DCE Devices.

The modems or DCE devices operating ASYNC normally do not provide any data timing or clocks.

NOTE: If the modems (DCE) provide the data timing or clock strobes to the terminals (DTE) through the interface, the operation is using Isochronous Transmission format and procedures. Refer to the Isochronous Transmission Overview.

The normal IDLE condition of the communications link is referred to as MARK, which indicates that there is continuity through the link and that energy is present. The transition from MARK to the SPACE condition indicates that an event is occurring, either a character is being received or the communications link has been interrupted.

The transition to a SPACE condition for a defined time period (BIT TIME) will normally indicate the "start" of a character and is referred to as the START BIT. After the last bit of the data character, the communications link should "stop" the data and be returned to the MARK condition for one or more bit times or STOP BITS.

Character Format

Most communications equipment will require a specific number of BITS to be in each data character or byte, depending upon the equipment, the protocol, and the type of information that is to be transmitted. Each bit may be set to a BINARY VALUE of either 1 or 0.

A group of 4 bits is referred to as a DIGIT. This group of 4 bits provides 16 different patterns that are referred to as HEXADECIMAL NOTATION. The basic hexadecimal notation allows a single 4-bit digit or symbol to represent 16 different values: 0 through 15.

The relative position of each bit will determine the value that is assigned to the specific bit which, in turn, will determine the value of the digit. The combination of two 4-bit digits will form an 8-bit BIT CHARACTER or BYTE that may be processed and displayed as a symbol.

The table on the next page shows the binary value, decimal value, and symbol for each of the 16 hexadecimal digits.

    SYMBOL  DECIMAL  8   4   2   1  <-- BINARY VALUE
   --:--------:------:---:---:---:-----------------
     0        0      0   0   0   0
     1        1      0   0   0   1
     2        2      0   0   1   0
     3        3      0   0   1   1
     4        4      0   1   0   0
     5        5      0   1   0   1     HEXADECIMAL
     6        6      0   1   1   0
     7        7      0   1   1   1     NOTATION
     8        8      1   0   0   0
     9        9      1   0   0   1     FORMAT
     A       10      1   0   1   0
     B       11      1   0   1   1
     C       12      1   1   0   0
     D       13      1   1   0   1
     E       14      1   1   1   0
     F       15      1   1   1   1

Most of the existing equipment now uses a character or byte that contains 8 bits, consisting of two 4-bit digits that represent a specific symbol, letter, number, or function depending upon the type of translation (CODESET) used. The digits are referred to as belonging to a COLUMN (COL) and a ROW (ROW) as presented on many code translation charts.

The number of data bits per character may be five (5), six (6), seven (7), or eight (8). The most commonly used 8-bit format uses 7 DATA BITS with the 8th bit, referred to as the PARITY BIT, reserved for error-checking purposes. This type of error checking is called PARITY CHECKING.

One of the most commonly used TRANSLATION or CODESETS used with this format is the 7 data bit ASCII plus 1 parity bit. Other codesets that may use character parity are BAUDOT and EBCD.

Character Parity

The PARITY BIT is used to establish the number of bits that are set to the value of 1. Some common CHARACTER PARITY algorithms are identified as:
EVEN
The EVEN parity algorithm specifies that the character must have an EVEN number of 1 bits. Referred to as "7 EVEN" (7-E).
ODD
The ODD parity algorithm specifies that the character must have an ODD number of 1 bits. Referred to as "7 ODD" (7-O).
SPACE
The SPACE parity algorithm specifies that the PARITY BIT of the character must have a value of 0, the "space" condition. This is referred to as "7 SPACE" (7-S).
MARK
The MARK parity algorithm specifies that the PARITY BIT of the character must have a value of 1, the "mark" condition. This is referred to as "7 MARK" (7-M).
NONE
Some procedures will use all 8 bits for data or may not provide error checking. Therefore, NONE of the bits are used for parity and all 8 bits are considered to be data. This technique is referred to as "EIGHT NONE" (8-N).

Character parity is also referred to as VERTICAL PARITY. The vertical parity error-checking algorithms will report an error if the CHARACTER does not contain the correct number of 1 bits in the correct positions. This is displayed by a BAR through the parity-flawed character.

The Asynchronous Format data character will normally contain 8 DATA BITS plus 1 START BIT and include at least 1 STOP BIT, for a total of 10 bits.

If 2 STOP BITS are used, then each character will contain 11 bits.

Transmission Speed and Timing

TRANSMISSION SPEEDS are expressed in the number of bits that are transmitted per unit of time, usually in BITS PER SECOND (bps). The FLOW of the number of CHARACTERS PER SECOND is dependent upon the number of bits required to form one character.

The accuracy of the BIT TIMES is very critical: all bit times must remain within a narrow range to ensure accurate and error- free communications. The allowable bit-time variation is normally less than 3%.

The SENDING data terminal equipment (DTE) must generate the bit timing using a very precise INTERNAL Clock, usually crystal controlled, so that all bit times are of equal duration and operate at a constant repetition rate.

The RECEIVING DTE must use the same defined normal bit-timing clock speed as the SENDING DTE; these two clocks must be operating at the same or matched speed. The receiving DTE will sense the beginning of the START BIT and then sample each succeeding bit near the OPTIMUM CENTER of the bit time.

The RECEIVING DTE sample timing or STROBE is generated by using another internal clock, usually operating at speeds 16 or 32 times as fast as the normal bit-timing clock.

Some common speeds with the corresponding bit times and character rates are shown in the table on the next page.

        SPEED      BIT TIME          CHARACTER RATE (cps)
        (bps)                    10 BIT   11 BIT    8 BIT (SYNC)
       ------     ----------     ------  -------   -------------
         110      9.09  mSEC       11       10         14
         150      6.666 mSEC       15       13.6       19
         300      3.333 mSEC       30       27.3       37.5
         600      1.666 mSEC       60       54.5       75
        1200       833  uSEC      120      109.1      150
        2400       416  uSEC      240      218.2      300
        3600       278  uSEC      360      327.3      450
        4800       208  uSEC      480      436.4      600
        9600       104  uSEC      960      872.7     1200
       19200        52  uSEC     1920     1745.5     2400
       48000        21  uSEC     4800     4363.6     6000
       56000        18  uSEC     5600     5090.1     7000
       64000        16  uSEC     6400     5818.2     8000

             mSEC = MILLISECONDS    uSEC = MICROSECONDS

Bit Sense

The MARK condition is normally established by a NEGATIVE voltage on the interface. The SPACE condition is normally established by a POSITIVE voltage on the interface.

There are many different types of interfaces defined. The specific Interface Parameters should be referred to.

Bit Order

The ORDER OF TRANSMISSION may be established by the protocol and the specific devices being used. One of the most commonly used methods is to transmit the Least-Significant Bit (LSB) first and the Parity Bit last, following the Most-Significant Bit (MSB) of data.

Asynchronous Character Format

THE LETTER "A" =  (HEX 41) USING ASCII 7 DATA BIT EVEN PARITY

               MSB                         LSB       SPACE = + V
               ___     ___________________     ___
              |   |   |   :   :   :   :   |   |   |
    <--  S  S | 0 | 1 | 0 . 0 . 0 . 0 . 0 | 1 | S |  <--- IDLE
   ___________|   |___|   .   .   .   .   |___|   |_____________
         ^  ^                                   ^
         |  |   8   4   2   1   8   4   2   1   |    MARK= - V
         \__/                                   |
STOP BITS '          HEX = 4  +  1              `--- START BIT
(1 or 2 BITS)             COL + ROW                   (1 BIT)

NOTE:  The order of transmission is from LSB to MSB.

THE LETTER "R" =  (HEX D2) USING ASCII 7 DATA BIT EVEN PARITY

               MSB                         LSB       SPACE = + V
              .   .    ___     _______     ___ ___
              .   .   |   |   |   :   |   |   :   |
    <--  S  S . 1 . 1 | 0 | 1 | 0 . 0 | 1 | 0 . S |  <--- IDLE
   ___________:___:___|   |___|   .   |___|   .   |_____________
         ^  ^                                   ^
         |  |   8   4   2   1   8   4   2   1   |    MARK= - V
         \__/                                   |
STOP BITS '          HEX = D  +  2              `--- START BIT
(1 or 2 BITS)             COL + ROW                   (1 BIT)

NOTE:  The order of transmission is from LSB to MSB.

Block Mode Transmission

Characters may be linked together or stored in a Memory Buffer and then transmitted in one contiguous string where the STOP BIT of one character is immediately followed by the START BIT of the next character. This contiguous string of characters is referred to as a TRANSMISSION BLOCK.

The Transmission Block may use special characters to provide control functions and to act as delimiters to assist in the flow-control and error-recovery procedures. These special characters are referred to as CONTROL CHARACTERS and normally provide a standard set of controls and functions.

Some equipment and protocols may modify the use and functions of the Control Characters for unique circumstances.

Control Characters and Functions

There are many characters that are used for specific functions, the control of the flow of data, the control of the associated devices, and error reporting. The following table (next three pages) is a list of the more commonly used CONTROL CHARACTERS and their standard functions.

       CONTROL   HEX  HEX  HEX    DESCRIPTION OR FUNCTION
      CHARACTER  7-E  7-O  8-N
     -----------------------------------------------------
        NULL =   0-0  1-0  0-0    NULL or PAD character
        SOH  =   8-1  0-1  0-1    Start Of Header
        STX  =   8-2  0-2  0-2    Startof TeXt
        ETX  =   0-3  8-3  0-3    End of TeXt
        EOT  =   8-4  0-4  0-4    End Of Transmission
        ENQ  =   0-5  8-5  0-5    ENQuiry
        ACK  =   0-6  8-6  0-6    ACKnowledgment
        BEL  =   8-7  0-7  0-7    BELl or alarm character
        BS   =   8-8  0-8  0-8    Back Space character
        HT   =   0-9  8-9  0-9    Horizontal Tabulation
        LF   =   0-A  8-A  0-A    Line Feed
        VT   =   8-B  0-B  0-B    Vertical Tabulation
        FF   =   0-C  8-C  0-C    Form Feed or top of form
        CR   =   8-D  0-D  0-D    Carriage Return
        SO   =   8-E  0-E  0-E    Shift Out
        SI   =   0-F  9-F  0-F    Shift In
        DLE  =   9-0  1-0  1-0    Data Link Escape
        DC1  =   1-1  9-1  1-1    Device Control 1 - READER ON
        DC2  =   1-2  9-2  1-2    Device Control 2 - PUNCH ON
        DC3  =   9-3  1-3  1-3    Device Control 3 - READER OFF
        DC4  =   1-4  9-4  1-4    Device Control 4 - PUNCH OFF
        NAK  =   9-5  1-5  1-5    Negative AcKnowledgment
        SYN  =   9-6  1-6  1-6    SYNchronizing character (SYNC)
        ETB  =   1-7  9-7  1-7    End of Transmission Block
        CAN  =   1-8  9-8  1-8    CANcel
        EM   =   9-9  1-9  1-9    End of Media
        SUB  =   9-A  1-A  1-A    SUBstitute character
        ESC  =   1-B  9-B  1-B    ESCape character
        FS   =   9-C  1-C  1-C    File Separator
        GS   =   1-D  9-D  1-D    Group Separator
        RS   =   1-E  9-E  1-E    Record Separator
        US   =   9-F  1-F  1-F    Unit Separator
        DEL  =   F-F  7-F  F-F    DELete or trailing PAD

Transmission Block (Message)

The normal message or transmission block consists of a BEGINNING, the DATA or TEXT, and an ENDING.

The BEGINNING of a message is indicated by the Start Of Header (SOH) or the Start Of Text (STX) characters. The header or text will follow the respective characters. The END of the data or text is indicated by the End of Text (ETX) or the End of Transmission Block (ETB) characters.

The BLOCK MODE transmission protocol may provide error detection on each character with the use of character parity, also referred to as VERTICAL REDUNDANCY CHECK (VRC) or VERTICAL PARITY.

The Block Mode may also include the entire Message in an ERROR DETECTION Procedure that is referred to as a BLOCK CHECK or LONGITUDINAL REDUNDANCY CHECK (LRC) also referred to as the HORIZONTAL PARITY.

The CHARACTER PARITY and BLOCK CHECK procedure is designed to ensure that all of the BITS that are sent by the TRANSMITTING Device are correctly Received by the RECEIVING Device. There are several algorithms that may be used that may provide different levels of accuracy or validity.

                           FORMAT
      _____ ________ _____ ______________________ _____
     |     |        |     |                      |     |
     | SOH | HEADER | STX | TEXT OR DATA MESSAGE | BCC |
     |_____|________|_____|______________________|_____|
           ^                                     ^
           |                                     |
           |       / This portion of the  \      |
           `------{   transmission is      }-----'
                   \ protected by the BCC /

Error Detection and Correction

The TRANSMITTING device passes all of the bits of the message through an arithmetic process that generates a form of CHECK SUMMATION (CHECKSUM or BLOCK CHECK) of all of the bits and appends the results of the CHECKSUM to the END of the message.

The RECEIVER will perform the same arithmetic process while receiving all of the bits and will compare the results (CHECKSUM or BLOCK CHECK) of the arithmetic process with the results included with the message.

If the two BLOCK CHECK factors compare then the message is assumed to be VALID and the receiving device will respond with an ACK (Positive Acknowledgment) to the message and the transmitting device may send the NEXT message.

If the two factors or BLOCK CHECKS do not compare, then the message is assumed to contain errors and the receiving device will NAK (Negative Acknowledgment) the message. The message must be RETRANSMITTED until the receiving device responds with the ACK or the RETRY LIMIT is reached.

The number of times that the sending device will try to transmit the message is controlled by the specific protocol being used. If the error rate is too high the session may be ABORTED.