Download presentation
1
Serial Communications
Introduction to UART and USART Intel 8250 and 8251
2
Outline Concept of serial communications Synchronous, Asynchronous
RS-232 standard Hand shaking UART and USART chips 8250 and 8251 chips
3
What is Serial Communication
4
Serial Communication Types
In Terms of Data on a Line Asynchronous Synchronous In Terms of Number of Senders Simplex Half duplex Full duplex
5
Transfer Types
6
Asynchronous Data Framing
Sending Character ‘A’ = 0x41 on the Line Idle (high): Mark Low: Space Overhead? (parity, start, stop)
7
Vocabulary DTE DCE Data Transfer Rate data terminal equipment
e.g. computer, terminal DCE data communication equipment connects DTE to communication lines e.g. modem Data Transfer Rate Baud Rate Baud (Symbol representing n bits) BPS Bit per second
8
RS-232 Standard EIA 232 = ITU-T V.24/V.28
Specifies the interface between DTE and DCE: V.28 : mechanical and electrical characteristics V.24 : functional and procedural characteristics Even used in applications where there is no DCE e.g. connecting computer to printer, magnetic card reader, robot, … etc. Introduced in 1962 but is still widely used Stand for Recommended Standard
9
DTE Connections
10
Mechanical Characteristics
25-pin connector 9-pin connector is more commonly found in IBM-PC but it covers signals for asynchronous serial communication only Use male connector on DTE and female connector on DCE Note: all signal names are viewed from DTE
11
25-Pin RS232 Connector
12
9-Pin RS232 Connector
13
Electrical Characteristics
Single-ended one wire per signal, voltage levels are with respect to system common (i.e. signal ground) Mark: –3V to –15V represent Logic 1, Idle State (OFF) Space: +3 to +15V represent Logic 0, Active State (ON) Usually swing between –12V to +12V Recommended maximum cable length is 15m, at 20kbps
14
TTL to RS-232 Line drivers and line receivers
15
RS-232 Frame Format Example A 111101000001111 … Start bit ASCII Parity
Stop bit A Idle
16
RS232 Logic Waveform
17
Function of Signals TD: transmitted data RD: received data
DSR: data set ready indicate whether DCE is powered on DTR: data terminal ready indicate whether DTR is powered on turning off DTR causes modem to hang up the line RI: ring indicator ON when modem detects phone call
18
Function of Signals DCD: data carrier detect RTS: request to send
ON when two modems have negotiated successfully and the carrier signal is established on the phone line RTS: request to send ON when DTE wants to send data Used to turn on and off modem’s carrier signal in multi-point (i.e. multi-drop) lines Normally constantly ON in point-to-point lines CTS: clear to send ON when DCE is ready to receive data SG: signal ground
19
Flow Control Means to ask the transmitter to stop/resume sending in data Required when: DTE to DCE speed > DCE to DCE speed (e.g. terminal speed = 115.2kbps and line speed = 33.6kbps, in order to benefit from modem’s data compression protocol) without flow control, the buffer within modem will overflow – sooner or later the receiving end takes time to process the data and thus cannot be always ready to receive
20
Hardware Flow Control RTS/CTS
the transmitting end activates RTS to inform the receiving end that it has data to send if the receiving end is ready to receive, it activates CTS normally used between computer and modem computer is always ready to receive data but modem is not, because terminal speed > link speed
21
Software Flow Control Xon/Xoff
when the buffer within the receiving end is nearly full, Xoff is sent to the transmitting end to ask it to stop when data have been processed by the receiving end and the buffer has space again, Xon is sent to the transmitting end to notify it to resume advantage: only three wires are required (TD, RD and GND) disadvantage: confusion arises when the transmitted data (e.g. a graphics file) contains a byte equal to 13H (Xoff)
22
Are you ready to receive?
RS-232 (con) Communication between two nodes Software Handshaking Hardware Handshaking data transmission Are you ready to receive? Software flow control uses special characters to control the flow of data when a device wishes to halt the flow it sends the XOFF character, when flow can resume it sends the XON character. The XOFF character is called DC3 or Device Code 3. It is decimal 19 or control S. The XON character is called DC1 or Device Code 1. It is decimal 17 or control Q. XOn / XOff is a software flow control mechanism. It can only be used in character oriented data transmissions (not binary transfer) as it relies on the use of a pre-determined XOn character and a pre-determined XOff character. The basic idea is simple, when the receiver buffer fills to the point it cannot receive anymore data it issues an XOff (Transmit Off) to the transmitter. When the transmitter sees the XOff character is stops transmitting. It will only resume once it sees a corresponding XOn. The disadvantage of such a system is that should an issued character become damaged in transit no action will be taken by the transmitter. RTS RTS CTS CTS No x-off receiver receiver transmitter transmitter x-on CTS CTS Yes TD RD data transmission Send character
23
Null Modem Cables Used to directly connect two DTEs together
Many possibilities – depending on whether and how the two DTEs handshake (i.e. doing flow control)
24
Null Modem Cables Examples
25
Other Standards
26
UART in PC 115200*16=
27
8250/16450/16550 UART
28
Registers Transmitter holding register Receiver buffer register
Interrupt enable register
29
Registers Interrupt identification register
30
Line Control
31
Modem Registers Modem Control Register Modem Status Register
32
Line Status
33
Divisor Register
34
Example Program the divisor Latch for 300 baud. Assume Xin=1.8432MHz
The Base Address: 0x3F8
35
Example 2 Program the divisor Latch for 2400 baud. Assume Xin=1.8432MHz The Base Address: 0x3F8
36
Example 3 Program 8250 for 2400 baud, 8 data bit, even parity and 1 stop bit. Assume Xin=1.8432MHz The Base Address: 0x3F8 MOV AL,80H ; Accessing DLAB MOV DX,3FBH ;Line Control Register Address OUT DX,AL MOV AX,48 ;baud= :48=2400 MOV DX,3F8H ;Low byte of Divisor MOV AL,AH INC DX MOV AL, ; DLAB,Break,Even,1 stop, 8 data MOV DX,3FBH ;LCR
37
Synchronous Protocols
BCC block check character STX start of text Control field contains info like the sequence of data
38
CRC In SDLC: G(X) = x**16 + x**12 + x**5 + 1
39
8251 Block Diagram
40
8251 Registers
41
Mode Register
42
Mode Instruction (Asynchronous)
43
Mode Instruction (Synchronous)
44
Command Register
45
Status Register
46
8251 Timing
47
8251 USART Interface A7 A6 A5 A4 A3 A2 A1 IO/M D[7:0] RD WR A0 C/D CLK
TxC RxC TxD RxD 8251 RS232
48
Programming 8251 8251 mode register 7 6 5 4 3 2 1 Mode register
Mode register Number of Stop bits 00: invalid 01: 1 bit 10: 1.5 bits 11: 2 bits Parity 0: odd 1: even Parity enable 0: disable 1: enable Character length 00: 5 bits 01: 6 bits 10: 7 bits 11: 8 bits Baud Rate 00: Syn. Mode 01: x1 clock 10: x16 clock 11: x64 clock
49
Programming 8251 8251 command register TxE: transmit enable
EH IR RTS ER SBRK RxE DTR TxE command register TxE: transmit enable DTR: data terminal ready RxE: receiver enable SBPRK: send break character ER: error reset RTS: request to send IR: internal reset EH: enter hunt mode
50
Programming 8251 8251 status register TxRDY: transmit ready
DSR SYNDET FE OE PE TxEMPTY RxRDY TxRDY status register TxRDY: transmit ready RxRDY: receiver ready TxEMPTY: transmitter empty PE: parity error OE: overrun error FE: framing error SYNDET: sync. character detected DSR: data set ready
51
Simple Serial I/O Procedures
Read start Check RxRDY Is it logic 1? Read data register* end Yes No * This clears RxRDY Write Check TxRDY Write data register* * This clears TxRDY
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.