Presentation on theme: "Serial Communications Interfaces"— Presentation transcript:
1Serial Communications Interfaces The EIA RS-232D StandardRS-232 Signal CharacteristicsRS-232 Pin Assignments and CablesNull ModemError ControlParity CheckBlock Character CheckBlock ChecksumPolynomial CodesHamming Codes
2The EIA RS-232D Standarddefines a range of bit rates, from 0 to 115,000 bpsA range of cable lengths, and cables up to 50 feetThe physical requirements for a serial interface.Provide the connectivity between the PC and the modemsOther devices, such as serial printers, can be configured as DCE or DTE devices,To communicate directly between a PC and another computer
4RS-232 Signal Characteristics It is necessary to agree on data and control signals.Provides voltage ranges for data and control signalsFigure 2 shows these ranges.Useful to hardware vendors and designer of serial ports and modems.The operation of these signals is not visible to a user
5RS-232 Signal Characteristics Figure 2 : EIA RS-232D Signal Levels
6RS-232 Pin Assignments and Cables Typical signals used, however are pins, 2, 3, 4, 5, 6, 7 ,8 20 and 22.A communication cable transmits the RS-232D signals to and from a serial port.Modems have a DB-25 female connectors, which requires a cable with a DB-25 male connectorMost PCs standard serial ports uses DB-9 male connectors
7Figure 3 : EIA RE-232D pin layout and assignments
8Diagram of DB-9 pin assignments and how they must be communicate with a DB-25 connector at a DCE (modem).
9Null ModemTo connect two computers using a device called a null modem or modem eliminator.A null modem, which is not a modem at all, is a cable or set of connectors designed to eliminate the need for a modem.The null modem makes each computer operate as if it were communicating with a modem.Without the addition of a null modem, the PCs cannot communicate directly.
10A PC’s asynchronous port is communicating with an asynchronous modem. Figure 4: Computer and modem interfacesA PC’s asynchronous port is communicating with an asynchronous modem.The two devices have compatible transmit and receive signalsFigure 5: Incompatible DTE to DTE connectionThe two PC asynchronous ports are both expecting to receive and send data on the same lines.
12Error Detection and Correction Data can be corrupted during transmission. For reliable communication, errors must be detected and corrected.Types of Errori) Single-Bit Errorii) Burst Error
13Single-Bit ErrorIn a single-bit error, only one bit in the data unit has changed
14Burst ErrorA burst error means that 2 or more bits in the data unit have changed.
15Error Detection Mechanisms The two broad categories of error detection mechanisms are:Forward error controlFeedback error control
16Forward error controlCharacter frame contains a more comprehensive form of redundant information. So that the receiver is able to detect and correct the erroneous information.It is used in simplex communication mode and in situation where retransmission is not possible. For example: Radio broadcast in which there are many receivers for one transmission.Disadvantages: Expensive and number of additional bits (oh) increases rapidly as the number of information bits increases.
17Feedback error control Character frame includes only sufficient additional information for the receiver to detect errors are present and employ retransmission to request the another correct copy of the errorneous information be sent.Advantages: It is simple to use and extremely effective.Disadvantage: The multiple retransmission can reduce the throughput to a small fraction of the link’s capacity.
18Type of Error Detection i) Redundancyii) Parity Checkiii) Cyclic Redundancy Check (CRC)iv) ChecksumError detection uses the concept of redundancy, which means adding extra bits for detecting errors at the destination.
20Parity Check Common in ‘small’ information Common when probability of error is lowCan be odd or evenOnly one extra bit is addedIn parity check, a parity bit is added to every data unit so that the total number of 1s is even or odd . With even parity, another bit is added to produce an even number of binary 1s. With odd parity, another bit is added to produce an odd number of binary 1s.
22Example 1Suppose the sender wants to send the word world. In ASCII the five characters are coded asThe following shows the actual bits sent if EVEN parity is used.
23Example 2Now suppose the word world in Example 1 is received by the receiver without being corrupted in transmission.The receiver counts the 1s in each character and comes up with even numbers (6, 6, 4, 4, 4). The data are accepted.
24Example 3Now suppose the word world in Example 1 is corrupted during transmission.The receiver counts the 1s in each character and comes up with even and odd numbers (7, 6, 5, 4, 4). The receiver knows that the data are corrupted, discards them, and asks for retransmission.Simple parity check can detect all single-bit errors. It can detect burst errors only if the total number of errors in each data unit is odd.
25Two-dimensional parity a.k.a BCC or 2 coordinate parity check
26Example 4Suppose the following block is sent:However, it is hit by a burst noise of length 8, and some bits are corrupted.When the receiver checks the parity bits, some of the bits do not follow the even-parity rule and the whole block is discarded.In two-dimensional parity check, a block of bits is divided into rows and a redundant row of bits is added to the whole block.
28Two-dimensional parity – correct single error HorizontallyErrordetectedError corrected to 1Error dictated
29CRC (Cyclic Redundancy Check) CRC appends a few bits to the end of the bit stringThe receiver performs a computation which should yield 0 forError free message.Yield of Non 0 means there has been an error in one or more bitsCRC can detect an impressive range of error but not all.32 bits of CRC is sufficient for 12KB of messages for the Ethernet.
31Polynomial CodesProvide a reliable detection scheme against error burstsCan also provide error correction but not normally usedAlso called CRCRules:1. Binary information is represented as a polynomialE.g = x5 + x3 + x2 + 12. These polynomials obeys the law of algebra but addition is base2 & NO carry is generated.i.e. -1+1=0, 1+0=1; 0+1=1; 0+0=0;Subtraction is equivalent to addition
39Example 5It is obvious that we cannot choose x (binary 10) or x2 + x (binary 110) as the polynomial because both are divisible by x.However, we can choose x + 1 (binary 11) because it is not divisible by x, but is divisible by x + 1. We can also choose x2 + 1 (binary 101) because it is divisible by x + 1 (binary division).
40Example 6The CRC-12x12 + x11 + x3 + x + 1which has a degree of 12, will detect all burst errors affecting an odd number of bits, will detect all burst errors with a length less than or equal to 12, and will detect, percent of the time, burst errors with a length of 12 or more.
43Data unit and checksumThe sender follows these steps:1. The unit is divided into k sections, each of n bits.2. All sections are added using one’s complement to get the sum.3. The sum is complemented and becomes the checksum.4. The checksum is sent with the data.
44Data unit and checksum1. The receiver follows these steps:2. The unit is divided into k sections, each of n bits.3. All sections are added using one’s complement to get the sum.4. The sum is complemented.5. If the result is zero, the data are accepted: otherwise, rejected.
45Example 7Suppose the following block of 16 bits is to be sent using a checksum of 8 bits.The numbers are added using one’s complementSumChecksumThe pattern sent is
46Example 8Now suppose the receiver receives the pattern sent in Example 7 and there is no error.When the receiver adds the three sections, it will get all 1s, which, after complementing, is all 0s and shows that there is no error.SumComplement means that the pattern is OK.
47Example 9Now suppose there is a burst error of length 5 that affects 4 bits.When the receiver adds the three sections, it getsPartial SumCarry 1SumComplement the pattern is corrupted.
48Number of redundancy bits r Data and redundancy bits (Hamming Code)(m+r+1) ≤ 2rNumber of data bits mNumber of redundancy bits rTotal bitsm + r123564791011
49r is also known as the check bit. Positions of redundancy bits in Hamming coder is also known as the check bit.
50General Algorithm Hamming code All bit positions that are powers of two are used as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.)All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)Each parity bit calculates the parity for some of the bits in the code word. The position of the parity bit determines the sequence of bits that it alternately checks and skips.Position 1 (n=1): skip 0 bit (0=n−1), check 1 bit (n), skip 1 bit (n), check 1 bit (n), skip 1 bit (n), etc. (1,3,5,7,9,11,13,15,...)Position 2 (n=2): skip 1 bit (1=n−1), check 2 bits (n), skip 2 bits (n), check 2 bits (n), skip 2 bits (n), etc. (2,3,6,7,10,11,14,15,...)Position 4 (n=4): skip 3 bits (3=n−1), check 4 bits (n), skip 4 bits (n), check 4 bits (n), skip 4 bits (n), etc. (4,5,6,7,12,13,14,15,20,21,22,23,...)Position 8 (n=8): skip 7 bits (7=n−1), check 8 bits (n), skip 8 bits (n), check 8 bits (n), skip 8 bits (n), etc. (8-15,24-31,40-47,...)Position 16 (n=16): skip 15 bits (15=n−1), check 16 bits (n), skip 16 bits (n), check 16 bits (n), skip 16 bits (n), etc. (16-31,48-63,80-95,...)Position 32 (n=32): skip 31 bits (31=n−1), check 32 bits (n), skip 32 bits (n), check 32 bits (n), skip 32 bits (n), etc. (32-63,96-127, ,...)General rule for position n: skip n−1 bits, check n bits, skip n bits, check n bits...And so on.50
51Redundancy Hamming code Bit Calculations This general rule can be shown visually:Bit position1234567891011121314151617181920...Encoded data bitsp1p2d1p3d2d3d4p4d5d6d7d8d9d10d11p5d12d13d14d15Parity bit coverageX51