Lecture # 14
RS – 232C Standard Standard for physical dimensions of the connectors. PC (DTE) Modem RS – 232C Cable Connected via serial port (DCE)
RS – 232C Connectors and Signals DB25 (25 pin connector) 25 pin connector on PC RI DTR CD GND DSR CTS RTS RD T X D
PC MODEM DTEDCE DTR DSR RTS CTS CD RI DTR (SHOULD REMAIN HIGH THROUGH OUT THE SESSION ) CTS (CAN BE USED FOR FLOW CONTROL ) RxD TxD
CD R x D T x D D T R G N D RI CTS RTS DSR DB9 Connector
UART Internals Receiver Buffer Register Interrupt Enable Register Line Status Register Interrupt ID Register Divisor Latch Register Line Control Register Modem Control Register Modem Status Register Transmitter Holding Register Receiver Shift Register Interrupt to Parity LOGIC R x D Transmit Shift Register T x D 1.CTS 2.DSR 3.CD 4.RI 1.RT 2.DTR
Transmitter Holding RegisterTHR0 Receiver DataRBR0 Band Rate Divisor (Low Byte)DLL0 Band Rate Divisor (High Byte)DLM1 Interrupt EnableIER1 FIFO Control RegisterFCR2 Interrupt IDIIR2 Line ControlLCR3 Mode ControlMCR4 Line StatusLSR5 Modem StatusMSR6 Scratch PadSP7 Base +
Served Ports in Standard PC BIOS supports 4 UARTS as COM Ports COM1, COM2, COM3, COM4 PortsMemory Address Port Base COM10040:000003F8H COM20040:00022F8H COM30040:00043E8H COM40040:00062E8H
Text Dump - d 40:0 0040:0000 F8 03 F8 02 E8 03 E8 02-BC C0 9F x.x : C # q. 0040:0020 0D 1C D 1C B 3A 27..q...d 94.0.:' 0040: B 0D 1C :0040 D8 00 C P : A :0060 0F 0C 00 D C9 0B ) : q
Setting the Baud Rate MHZ=frequency generating by UARTS internally Divisor value loaded in DLL ( Base +0 ) and DLM ( Base +1 ) Baud rate = MHZ / (16*Divisor) Divisor = 1, Baud Rate = Divisor = 0CH, Baud Rate = 9600 Divisor = 180H, Baud Rate = 300
Line Control Register Load THR 1Load Divisor Value Word Length 00 = 5 BITS 01 = 6 BITS 10 = 7 BITS 11 = 8 BITS Length of Stop BITS 0 = one BIT 1 =1-5 for 5 bit Word Parity Check and generation on Parity 0 = odd 1 = Even. Stop Communication =1 Resume Communication =0 Constant Parity 0 =NO constant Parity 1 =Constant Parity 0 if bit 4 =1 1 if bit 4 =0
Line Status Register Data Ready =1 Over Run Error = 1 Parity Error =1 Stop Communication Signal from Other end =1 TSR is Empty=1 TSR Contain a Byte=0 THR entry =1 THR contains a BYTE =0 Transfer Error (Framing Error)
Interrupt Enable Register 3210 Trigger Interrupt On Data Ready =1 Trigger Interrupt On change in Modem Status =1 Trigger Interrupt As soon as THR is empty =1 Trigger Interrupt On line status change =1
Interrupt ID Register 210 Trigger Triggered Modem/Line 00 =Change in Modem Status 01 = THR is Empty 10 = Data is Ready 11 =Error in Data