Data Transmission 1
contains a clock source and the clock to be used by both devices is generated within the null modem. The latter is then known as a modem eliminator.
2.4.2 RS-449/V.35
The interface used when RS-422 electrical signals are used is RS-449/V.35. Some of the control signals used with this standard are shown in Figure 2.18.
The differential signals used with RS-422 mean that each line requires a pair of wires. As can be seen, some of the control signals are the same as those used with the RS-232C standard. Also, the data mode and receiver ready lines correspond to the DSR and DTR lines in the RS-232C standard. Test mode is a new mandatory signal specific to the RS-449 standard which is intended to provide a means for testing the communication equipment. Essentially, this provides a facility for looping the output of the DTE (terminal or computer) back again through the DCE (modem); that is, the TxD output line is automatically looped back to the RxD input line. In this way, a series of tests can be carried out by the DTE to determine which (if any) piece of communication equipment (DCE) is faulty.
DATA TRANSMISSION
3.1 INTRODUCTION
Data communication is concerned with the exchange of digitally encoded information between two DTEs. The physical separation of the two pieces of equipment may vary from a few tens of metres - for example, between a computer and a locally connected terminal - to several hundreds of kilometres, if the two devices are connected using a national data network, for example.
Within the data communication community, the term “data” is normally reserved for describing a set or block of one or more digitally encoded alphabetic and numerical characters being exchanged between two devices. Typically, these represent a string of numbers or perhaps the contents of a computer file containing a stored document. When using a data communication facility to transfer this type of data, it is also necessary for the two communicating parties (DTEs) to exchange some additional control information (messages); for example, to overcome the effect of transmission errors within the communication facility. Throughout this course, therefore, the more general term information will be used to describe any meaningful item, both data and control, being exchanged across the data communication facility.
In any form of digital system, the loss or corruption of a single bit (binary digit) of information can be critical. It is thus essential when designing a communication facility for a distributed system to ensure that adequate precautions are taken to detect and, if necessary, correct for any possible loss or corruption of information during transmission. Data communication is concerned, therefore, not only with the way data are transmitted over the physical transmission medium but also with the techniques that may be adopted to detect and, if necessary, correct transmission errors, with the control of the transfer rate of the data, with the format of the data being transferred, and other related issues.
Both this chapter and the next are concerned with the fundamental concepts associated with data communication and, in particular, with the techniques that are available to achieve the reliable (error free and no losses or duplicates) transfer of information across a data link connecting two DTEs. More specifically, this chapter deals with the basic techniques and circuits used for the transmission of data between two DTEs while Chapter 4 describes the basic techniques employed for the control of data transfer between the two communicating parties. It should be stressed that, irrespective of the type of error-detection (and correction) scheme adopted, it is not possible to detect all possible combinations of transmission errors with 100% certainty. In practice, therefore, the aim of the various error-detection and correction techniques is to make the probability of any undetected errors being present in a received message acceptably low.
3.2 DATA TRANSMISSION BASICS
All electronic digital equipment operate using a fixed number of binary digits to represent a single element of data or word.Within a computer, for example, this may be 8, 16 or 32 bits; data requiring more than this precision are represented by multiples of these bits. Because of this range of bits to represent each word, it is usual when communicating data between two pieces of equipment to use multiple fixed-length elements, each of 8 bits. In some applications the 8 bits may represent a binary encoded alphabetic or numeric (alphanumeric) character while in others it may represent an 8-bit component of a larger value. In the latter case, the component is often referred to as an 8-bit byte;but, in general, within the communication facility, each 8-bit element is simply referred to as an octet.
3.2.1 Bit-serial transmission
Within a piece of equipment, the distance and hence lengths of wire used to connect each subunit together are short. Thus, it is normal practice to transfer the data between subunits by using a separate piece of wire to carry each bit of the data. This means that there are multiple wires connecting each subunit together and data are said to be exchanged using a parallel transfer mode.This mode of operation results in minimal delays in transferring each word.
When transferring information between two physically separate pieces of equipment, especially if the separation is more than several metres, for reasons of cost and varying transmission delays in the individual wires, it is more usual to use just single pair lines and transmit each octet making up the data a single bit at a time using a fixed time interval for each bit. This mode of operation is known as bit-serial transmission.
The two alternative modes of operation are shown in diagrammatic form in Figure 3.1. A binary digit is normally represented within a piece of digital electronic equipment as a specific voltage or current level relative to a reference level. Thus, in the figure, a high signal relative to the reference is used to indicate the transmission of a binary 1 while a low signal level, equal to the reference, represents a binary 0.
3.2.2 Communication modes
When a person is giving a lecture or speech, information is primarily conveyed in one direction only. During a conversation between two people, however, it is usual for spoken messages (information) to be exchanged in both directions. These messages are normally exchanged alternately but can, of course, be exchanged simultaneously. Similarly, when data are transmitted between two pieces of equipment, there are three analogous modes of operation that may be used:
(1)Simplex: This is used when data are to be transmitted in one direction only; for example, in a data logging system in which a monitoring device returns a reading at regular intervals to the data gathering facility.
(2)Half-duplex: This is used when the two interconnected devices wish to exchange information (data) alternately; for example, if one of the devices only returns some data in response to a request from the other. Clearly, it is necessary for the two devices to be able to switch between send and receive modes after each transmission.
(3)Duplex: This is also referred to as full-duplex and is used when data are to be exchanged between the two connected devices in both directions simultaneously; for example, if for throughput reasons data can flow in each direction independently.
The alternative communication modes are important since in many distributed systems the circuits (lines) used to provide the necessary communication facilities are often leased from the PTT authorities, and hence it is clearly less expensive to lease a single circuit, rather than two circuits, if only simplex operation is required, for example.
3.2.3 Transmission modes
As has been mentioned, data are normally transmitted between two DTEs in multiples of a fixed-length unit, typically of 8 bits. For example, when a terminal is communicating with a computer, each typed (keyed) character is normally encoded into an 8-bit binary value and the complete message is then made up of a string (block) of similarly encoded characters. Since each character is transmitted bit serially, the receiving DTE receives one of two signal levels which vary according to the bit pattern (and hence character string) making up the message. For the receiving device to decode and interpret this bit pattern correctly, it must know:
(1)the bit rate being used (that is, the time duration of each bit cell),
(2)the start and end of each element (character or byte), and
(3) the start and end of each complete message block or frame.
These three factors are known as bit or clock synchronism, byte or character synchronism and block or frame synchronism,respectively.
In general, synchronization is accomplished in one of two ways, the method used being determined by whether the transmitter and receiver clocks are independent (asynchronous) or synchronized (synchronous). If the data to be transmitted are made up of a string of characters with random (possibly long) time intervals between each character, then each character is normally transmitted independently and the receiver resynchronizes at the start of each new character received. For this type of communication, asynchronous transmission is normally used. If, however, the data to be transmitted are made up of complete blocks of data each containing, say, multiple bytes or characters, the transmitter and receiver clocks must be in synchronism over long intervals, and hence synchronous transmission is normally used. These two types of transmission will now be considered separately.
Asynchronous transmission
This method of transmission is primarily used when the data to be transmitted are generated at random intervals - for example, by a user at a VDU communicating with a computer. Clearly, with this type of communication, the user keys in each character at an indeterminate rate, with possibly long random time intervals between each successive typed character. This means that the signal on the transmission line will be in the idle (off) state for long time intervals. With this type of communication, therefore, it is necessary for the receiver to be able to resynchronize at the start of each new character received. To accomplish this, each transmitted character or, more generally, item of user data, is encapsulated or framed between an additional start bit and one or more stop bits, as shown in Figure 3.2.
As can be seen from Figure 3.2, the polarity of the start and stop bits is different. This ensures that there is always a minimum of one transition (1 --> 0 --> 1) between each successive character, irrespective of the bit sequences in the characters being transmitted. The first l --> 0 transition after an idle period is then used by the receiving device to determine the start of each new character. In addition, by utilizing a clock whose frequency is N times higher than the transmitted bit rate frequency (N= 16 is typical), the receiving device can reliably determine the state of each transmitted bit in the character by sampling the received signal approximately at the centre of each bit cell period. This is shown diagrammatically in Figure 3.2 and will be discussed further in the next section.
It can be deduced from the foregoing that to transmit each item of user data, 10 (one start bit and one stop bit) or possibly 11 (one start bit and two stop bits) bits are utilized. Thus, assuming a single start bit and two stop bits per 8-bit item and a data transmission rate of, say, 1200 bps, the data rate is 1200/11 or approximately 110 bytes per second. The useful data rate is, in fact, less than this for reasons that will be described later.
When defining the transmission rate of a line, the term 'baud' is often used by communication engineers. When correctly used, however, the term baud indicates the number of line signal transitions per second. Thus, if each transmitted signal can be in one of two states, the term baud and bps are equivalent; but, as was described in Chapter 2, in some instances the line signal can take on more than two states, and hence each transmitted cell can be used to convey more than a single binary digit of information. To avoid confusion, therefore, the term signalling rate is used to define the number of line signal transitions per second (in baud) while the data or information transfer rate represents the number of information bits per second (in bps). For example, a signalling rate of 300 baud with four bits per signalling element would yield an information rate of 1200 bps. The most common information rates in use on asynchronous lines are 110, 300, 1200, 2400, 4800, 9600 and 19200 bps.
Synchronous transmission
Asynchronous transmission is normally used when the rate at which characters are generated is indeterminate, and hence the transmission line can be idle for long periods between each transmitted character. The use of additional bits per character for framing purposes is therefore not important. In many applications, however - for example, for computer-to-computer communication - there is often a need to transmit large blocks of datathat have already been preassembled ready for transmission - the contents of a disk file, for example. Clearly, the use of additional framing bits per character then becomes wasteful. Also, because of the clock synchronization mechanism used with an asynchronous scheme, asynchronous transmission can only be used reliably at up to 19200 bps. An alternative and indeed a more efficient approach for the transmission of complete blocks of data is to transmit each complete block (or frame) as a single entity.
Using synchronous transmission, the complete block or frame of data is transmitted as a single bit stream with no delay between each 8-bit element. To enable the receiving device to achieve the various levels ofsynchronization:
(1)the transmitted bit stream is suitably encoded so that the receiver can be kept in bit synchronism;
(2)all frames are preceded by one or more reserved bytes or characters to ensure the receiver reliably interprets the received bit stream on the correct byte or character boundaries (byte/character synchronization); and
(3)the contents of each frame are encapsulated between a pair of reserved bytes or characters.
The latter ensures that the receiver, on receipt of the opening byte or character after an idle period, can determine that a new frame is being transmitted and, on receipt of the closing byte or character, that this signals the end of the frame. During the period between the transmission of successive frames either idle (sync) bytes or characters are continuously transmitted to allow the receiver to retain bit and byte synchronism, or each frame is preceded by one or more special synchronizing bytes or characters to allow the receiver to regain synchronism. This is shown diagrammatically in Figure 3.3.
The alternative bit-encoding methods that may be employed to achieve bit synchronism will be described in Section 3.4. Also, with synchronous transmission, it is necessary to ensure that the special start and end-of-frame bytes or characters are unique; that is, they are not present in the contents of the frame being transmitted. Clearly, if the frame contains, say, the contents of a binary code file, this cannot be guaranteed, and hence additional steps have to be taken to allow for this possibility. These aspects will be discussed in more detail in later sections.
3.2.4 Transmission error control
During the transmission of a serial bit stream between two DTEs, it is very common - especially when the physical separation is large and, say, the switched telephone network is being used - for the transmitted information to become corrupted; that is, the signal level corresponding to a binary 0 is modified and, in the limit, is interpreted by the receiver as the level for a binary 1, and vice-versa. It is normal when data are being transmitted between two devices, therefore, to provide a means for detecting possible transmission errors and, should they arise, a means for correcting for such errors.
There are a number of alternative schemes that may be utilized for this purpose but the one selected is normally determined by the type of transmission method used. When asynchronous transmission is used, for example, it is normal to embed an additional binary digit (bit) within each transmitted character, since each character is treated as a separate entity. The additional digit used is known as a parity bit.
In contrast, when synchronous transmission is used, it is more usual to determine possible transmission errors on the complete frame, as the basic unit of transmission is a frame. Moreover, since the contents of a frame may be large, the probability of more than one bit being corrupted increases; hence, a more sophisticated error check sequence must be used. Again, this may take a number of different forms but, in general, the transmitting device computes a sequence of error check digits, based on the contents of the frame being transmitted, and appends these to the tail of the frame before the character or pattern signalling the end of the frame.
Hence, the receiver, during transmission of the frame, can recompute a new set of error check digits based on the received contents and, on receipt of the end-of-frame character or pattern, can compare this with the transmitted check digits. If these are not equal, a transmission error is then assumed.
Both of the schemes just described only allow the receiver to detect the occurrence of transmission errors. Consequently, a scheme is also necessary to enable the receiver to obtain another copy of the transmitted information when errors are detected. Again, a number of schemes are possible. For example, consider the case of a terminal and a computer transmitting data using asynchronous transmission. As the user keys in each character at the keyboard of the terminal, the encoded character is normally transmitted to the computer as already outlined. The character corresponding to the received bit stream is then “echoed” back by the computer and displayed on the screen of the user terminal. If the displayed character is different from the selected keyed character, the user may send a special (delete) character to inform the computer to ignore the last (erroneous) character received. This in general is referred to as error control.