Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 15. Modem Controller Register 4310 DTR 0 = Polling Operator 1 = Interrupts Enabled RTS 1 =Self Test 0 =Normal.

Similar presentations


Presentation on theme: "Lecture 15. Modem Controller Register 4310 DTR 0 = Polling Operator 1 = Interrupts Enabled RTS 1 =Self Test 0 =Normal."— Presentation transcript:

1 Lecture 15

2 Modem Controller Register 4310 DTR 0 = Polling Operator 1 = Interrupts Enabled RTS 1 =Self Test 0 =Normal

3 Modem Status Register 76543210 CD Change in CTS Change in RI Change in CD CTS RI DSR Change in DSR

4 UART (16550) FIFO QUEUE 76210 FIFO buffer on=1 Clear send Buffer =1 Number of Characters Received To Trigger an Interrupt 00 =After Every Character 01 =After 4 Character 10 =After 8 Character 11 =After 14 Character Clear Receiver Buffer =1

5 Interrupt ID Register (Revisited) 763210 Interrupt Triggered =1 Any one of these BEING Set Indicates FIFO is ON. Reasons of Interrupt 00= Change in Modem Line Status 01=THR is Empty 10=Data is ready 11=Error in Data Transmit 1= Interrupt Triggered Because Buffer is not full But other side has stop sending data. (Time OUT)

6 BIOS support for COM ports: INT# 14H DX = port # 0 for COM1 1 for COM2 etc. Service# 0 = Set communication parameters Service# 01 = Output character Service# 02 = Read in characters Service# 03 = Get port status

7 Data Length 00 = 5bits 01 = 6bits 10 = 7bits 11 = 8bits # of stop bits 0 = 1 stop bit 1 = 1.5 or 2 stop bit Parity Check 00 = None 01 = Odd 10 = Parity Disable 11 = Even Baud Rate 000 = 110 bauds 001 = 150 bauds 010 = 300 bauds 011 = 600 bauds 100 = 1200 bauds 101 = 2400 bauds 110 = 4800 bauds 111 = 9600 bauds Service # 0 AL =

8 Data Ready Over run error Parity error Framing error Time Out TSR Empty THR Break Detected AH = Line Status

9 Change in CTS Change in DSR Change in RI Change in CD CD RI Ready (DSR) Ready to Receive AL = Modem Status

10 Service # 01 ON ENTRY AL = ASCII character to send ON RETURN AH = Error Code If 7 th bit in AH = 1 = Unsuccessful 0 = Successful Service # 02 ON RETURN AL = ASCII character received AH = Error Code

11 Modem PC Modem UARTDigital DataAnalog Tel Line UART PC Modem Digital DataAnalog

12 NULL Modem PC Cable UART

13 CD 1 RxD 2 TxD 3 DTR 4 GND 5 DSR 6 RTS 7 CTS 8 RI 9 CD 1 RxD 2 TxD 3 DTR 4 GND 5 DSR 6 RTS 7 CTS 8 RI 9 DTR DSR RTS CTS DSR DTR CTS RTS

14 Example: #include char ch1, ch2; void initialize (int pno) { _AH=0; _AL=0x57; _DX=pno; geninterrupt(0x14); }

15 char receivechar (int pno) { char ch; _DX = pno; _AH = 2; geninterrupt (0x14); ch = _AL; return ch; }

16 void sendchar (char ch, int pno) { _DX = pno; _AH = 1; _AL = ch; geninterrupt (0x14); } unsigned int getcomstatus (int pno) { unsigned int temp; _DX = pno; _AH = 03; geninterrupt (0x14); *((char*)(&temp)) = _AL; *(((char*)(&temp)) + 1) = _AH; return temp; }


Download ppt "Lecture 15. Modem Controller Register 4310 DTR 0 = Polling Operator 1 = Interrupts Enabled RTS 1 =Self Test 0 =Normal."

Similar presentations


Ads by Google