Internal function Block Diagram of 8251
The INTEL 8251A is the industry standard Universal Synchronous/Asynchronous Receiver/Transmitter (USART) designed for data communication with Intel’s microprocessor families such as MCS – 48, 80, 85 and IAPX – 86,88. The 8251A is used as a peripheral device and is programmed by the CPU to operate using virtually any serial data transmission technique presently in use. The USART accepts data characters from the CPU in parallel format and then converts them into a continuous serial data stream for transmission simultaneously it can receive serial data streams and convert them into parallel data characters for the CPU. The USART will signal the CPU whenever it can accept a new character for transmission or whenever it has received a character for the CPU. The CPU can read the complete status of the USART at any time. These include data transmission errors and control signals such as SYNDET, TXEMPTY. The chip is fabricated using high performance HMOS technology.
Features of 8251A:
8251A has doubled - buffered – data path with separate I/O registers for control, status, Data in and Data out which considerably simplifies control programming and minimizes CPU overhead.
1) In Asynchronous operations the Receiver detects and handles “break” automatically receiving the CPU of this task.
2) A refined RX initialization prevents the receiver from starting when in “break” state preventing unwanted interrupts from a disconnected USART.
USART- Universal Synchronous and Asynchronous Receiver and Transmitter.
8251 USART can transmit as well as receive data in synchronous mode as well as Asynchronous mode. The data transfer between MP and 8251 will be performed in parallel. But 8251 will be source and destination of serial data transmission.
The data transfer from MP to transmitter of 8251 will be in parallel but transmitter of 8251 will convert it into serial form and transferred it in the format of synchronous or asynchronous mode as defined by mode word.
The receiver of 8251 will receiver serial data in the mode defined by mode word this serial data is converted into parallel from and given to MP.
Transmitter Section of 8251:
When transmitter buffer register is empty then 7 x RDY = 1, so one character can be transferred from MP to transmitter buffer register. When one character is transferred to transmitter buffer register then 7 x RDY buffer becomes Zero.
This character is transferred from transmitter buffer register to o/p register and finally it is transferred in serial form on T x D pin.
The 8251 will transfer the character in the formal of synchronous mode or asynchronous mode depending upon the mode in which 8251 is defined using mode word.
Transmitter will start data transfer on T x D pin only if CTS¯ = 0.
Receiver Section of 8251:
The receiver will receive serial data in the format of synchronous mode or asynchronous mode on R x D pin depending upon the mode in which 8251 is defined. This serial data is converted into parallel data and when one character is available in i/p register then it is transferred to the receiver buffer register and R x RDY = 1 (Receiver ready).
When R x RDY = 1 then MP can ready the character from receiver buffer registers. So R x RDY becomes Zero again and same process is repeated.
SYNDET (Synchronous Detect/BDT Detect):-
When receiver of 8251 is defined in asynchronous mode then this pin is called BDT pin and it will be always O/P when receiver receive normal data in asynchronous format on R x D pin then BDT = 0 but if receiver of 8251 receives logic 0 continuously for the time during for which two characters can received then 8251 gives BDT = 1 indicating that character has broken.
Difference between Serial and Parallel Data Transfer
Types of Serial Data Transfer
Depending on the relation of transmitter clock and receiver clock frequency there are two types of serial data transfer or transmission.
Synchronous Serial Data Transfer
If operating clock frequency of transmitter and receiver are exactly same (Clk 7x = Clk Rx) then it is called Synchronous Serial Data Transfer. If there is slight difference between transmitter and receiver clock then this difference will go on adding in each clock cycle. Hence there is an error in data transmission. So Synchronous Serial Data Transfer is not preferred for long distances. It can be used for short distances. If source of transmitter and receiver clock frequency are same.
Clk 7x = Clk Rx = BAUD Rate.
Asynchronous Serial Data Transfer:-
If operating clock frequency of transmitter and receiver are unequal then it is called Asynchronous Serial Data Transfer. In asynchronous data transfer if there is slight difference in baud rate of transmitter and receiver then it is adjusted by using stop bits after each character transferred. Transmitter and receiver frequency are unequal but baud rate of transmitter and receiver should be equal.
Difference between Synchronous and Asynchronous Data Transfer
How 8251 can be initialized and explain how command word, status word, and mode word can be initialized?
8251 can be initialized with the help of mode word, command mode and status word.
1) D1D0 = B2B1 defines the relation of operating clock frequency and bordrate.
2) D3D2 = L2L1 defines the length of character. If character length is less than 8 bits then it is transferred from LSB’s of accumulation. The unused bits are transferred as don’t care from MP and received as logic 0 in accumulation of MP.
3) D5D4 = EP, PEN: Bits are used to define parity of data to be transmitted or received.
4) D7D6 = S2S1 bits are used to define number of stop bits.
Command Word of 8251 USART
For transmitting or receiving data we have to enable the transmitter or receiver respectively.
1) If D0 = 7 x EN = 1/0 then transmitter is enable or disable.
2) If D1 = DTR = 1/0 then 8251 will make DTR pin active (0)/inactive (1) (data terminal ready).
3) If D2 = R x E = 1/0 then receiver is enable or disable.
4) If D3 = SBRH (Send break character) = 1 then 8251 will make T x D pin law i.e. character is broken in asynchronous mode.
5) If D4 = ER (Error Reset) = 1 then 8251 will reset all the three error flags i.e. framing error, parity error and overrun error (FR, PR, OR).
6) If D5 = RTS = 1/0 then 8251 will make RTS¯ pin active (0)/inactive (1).
7) If D6 = IR (Internal Reset) = 1 then 8251 is reset by S/W.
8) If D7 = EH (Enter Hunt Mode) = 1 then receiver of 8251 will start searching for the synchronous character.
Status Mode of 8251 USART
1) If the transmitter buffer register is empty then T x RDY = D0 = D1.
2) If the receiver buffer register is full then D1 = R x RDY = 1.
3) If transmitter buffer register and O/P register is empty then D2 = T x E = 1.
4) If there is an error in the parity of data received then parity error (PE) = D3 = 1.
5) If receiver buffer register contains/character of MP then R x RDY = 1 but if MP does not read the first character and second character is received in i/p register then receiver will overwrite second character on first character in receiver buffer register and overrun flag OE = D4 = 1.
6) If receiver of 8251 is receiving a character in asynchronous mode and proper number of stop bits are not received then framing error (FE) equal to D5 = 1.
7) If bit will give the status of SYNDET/BOT. pin.
8) If DSR¯ i/p pin of 8251 is 0 (active)/1 (inactive), then D7 = DSR = 1/0.
RS 232 C Serial Data Standard
In 1960’s as the use of time share computer terminals become more wide spread, modems were developed, so that terminal could use phone lines to communicate with distant computer. As we stated earlier modems and other device used to send serial data are after referred to as DCE Data Communication Equipment. The terminals or computers that are sending as receiving data are referred as data terminal equipment or DTE in response to and need of signals and handshake standard between DTE and DCE the EIA (Electronic Industries Association) developed EIA standard RS 232 C. This standard describes the function of 25 signal and handshake pins for serial data transfer. It also describes the voltage level or impedance levels, raise and fault times maximum bit rate etc.
RS 232 C specify 25 signal pins and it specifies that DTE controller should be made and DCE connector should be female specific connectors is not given but for system where many of 25 pins are not needed. A 9 pin DIN connection is used. When you are writing MP this connection it is important to note the order in which pins are numbered.
Disadvantages of RS 232 C:
A major problem with RS 232 is that it can only transmit data reliably for about 50 feet (16.4m) at its maximum rate of 20000 Bd. If longer lines are used the transmission rate has to be drastically reduced. This limitation is caused by open signal lines with a single common ground that are used to RS – 232 C.
RS 423 A
A major problem with RS 232 C is that it only transmits data reliably for about 50 feet (16.4 meter) at its maximum rate of 20 thousand BD (Band Rate). If longer lines are used, the transmission rate has to be drastically reduced. This limitation is caused by open signal lines with a single, common ground that are used to RS 232 C.
Another EIA standard which on improvement over RS 232 C is RS 423 A. This standard specify low impedance single ended signal which can be sent over 50 coaxial cable and partially terminated at receiving end to prevent reflexion.
RS 423 A standard allow maximum data rate of one lakh BD over a 40 foot line.
RS 422 A
A still newer standard for serial data transfer, RS 422 A specify that each signal will be sent differential over two adjacent wire in a ribbon cable or twisted pair of wires.
The term differential in the standard means that the signal voltage is developed between two signal line and ground as in RS 232 C and RS 423 A.
The maximum data rate for RS 422 A lines ranges from 10 million BD on a line 40 feet long. The reason that the data rates are so much higher than for RS 423 lines is that the differential line function as a fully terminated transmission line. Several key advantages offered by this standard include the differential receiver, a differential driver and data rates as high as 10 megabaud at 12 metres (40 ft). The specification itself does not set an upper limit on data rate, but rather shows how signal rate degrades with cable length. The figure plotting this stops at 10 Mbit/s.
EIA-422 only specifies the electrical signaling characteristics of a single balanced signal. Protocols and pin assignments are defined in other specifications. The mechanical connections for this interface are specified by EIA-530 (DB-25 connector) or EIA-449 (DC-37 connector), however devices exist which have 4 screw-posts to implement the transmit and receive pair only. The maximum cable length is 1200 m. Maximum data rates are 10 Mbit/s at 12 m or 100 kbit/s at 1200 m. EIA-422 cannot implement a truly multi-point communications network (such as with EIA-485), however one driver can be connected to up to ten receivers.
A common use of EIA-422 is for RS-232 extenders. In video editing studios it is used to link control signals for all video and audio players/recorders to a central control board. Also, an RS-232-compatible variant of RS-422 using a mini-DIN-8 connector was widely used on Macintosh hardware until it was replaced by Intel's Universal Serial Bus on the iMac in 1998.
EIA-422 can interoperate with interfaces designed to MIL-STD-188-114B, but they are not identical. EIA-422 uses a nominal 0 to 5 volt signal while MIL-STD-188-114B uses a signal symmetric about 0 V. However the tolerance for common mode voltage in both specifications allows them to interoperate. Care must be taken with the termination network.
EIA-423 is a similar specification for unbalanced signaling.
When used in relation to communications wiring, RS-422 wiring refers to cable made of 2 sets of twisted pair, often with each pair being shielded, and a ground wire. While a double pair cable may be practical for many RS-422 applications, the RS-422 specification only defines one signal path and does not assign any function to it. Any complete cable assembly (i.e. with connectors) should be labeled with the specification that defined the signal function and mechanical layout of the connector, such as RS-449.
The RS-232 standard defines a bi-directional interface between exactly two communicators, the RS-423 standard defines a uni-directional interface between one transmitter and many receivers. For example, a single computer may need to update a number of terminals that are displaying, for example, a customers order information at multiple locations throughout a warehouse. The data direction is always in one direction.
RS-423 allows for distances up to 4000 feet but limits data rates to only 100 kb/sec for a maximum of ten receivers. The voltage levels are +3.6 to +6 volts to represent a binary 0 and -3.6 to -6 volts to represent a binary 1. The voltage levels are defined relative to an earth ground potential assumed to be zero volts. Consequently a difference in ground voltage levels will result in the Common Mode Voltage problem that will confuse the data values.
RS-423 is very similar to RS-422. RS-423 is a serial interface between one DTE and one DCE, unlike RS-422. A DB25 connector is sometimes used in place of the typical DB37, although the DB37 is still used. Like RS-422, all signals use both the A and B lines of a pair, but the B lines in RS-423 are all tied to the Ground (GND). RS-423 is also a single ended signal rather than the balanced signal of RS-422. Most RS-423 signals are synchronous, but asynchronous signals can be found on the MMJ, RJ, DB9, DB15, and 4-wire screw terminals.
RS 423 INTERFACE:
RS423 is a serial binary data interchange between a DTE and a DCE. This interface is used for data rates from 20kbps to 10Mbps. This interface is usually found on a 25 or 37 pin "D" style connector. There is an "A" and a "B" line for all interface signals. All the "B" lines are tied to signal ground.