Asynchronous Transmission
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:
LETTERS (alpha characters)
NUMBERS (numerical values)
PUNCTUATION MARKS
CONTROL ELEMENTS
Elements of an Asynchronous Data Communication Network
1 2 3 4 5 6 7 8 9 10 11 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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 (CODE SET) 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 CODE SETS used with this format is the 7 data bit ASCII plus 1 parity bit. Other code sets that may use character parity are BAUDOT and EBCDIC.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
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 Start of 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.
1 2 3 4 5 6 7 8 9 10 |
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.