Các kênh giao tiếp chuẩn

6 459 0
Các kênh giao tiếp chuẩn

Đang tải... (xem toàn văn)

Thông tin tài liệu

80 CHƯƠNG 12 : CÁC KÊNH GIAO TIẾP CHUẨN Trên IBM PC, có một số các kênh liên lạc chuẩn cho phép trao đổi dữ liệu giữa máy tính và các thiết bò khác . Các kênh liên lạc này được chia thành hai loại chính : Kênh liên lạc nối tiếp (serial) : đa dụng Kênh liên lạc song song (parallel) : thường dùng cho máy in Các kênh liên lạc này thường được gọi là các I/O port của IBM PC . Lưu ý rằng khái niệm port chúng ta đã dùng trong các chương trước là để xác đònh các đòa chỉ giao tiếp giữa CPU và các thành phần khác trong computer . Trong khi đó,serial ports hay parallel ports chỉ là một cách gọi cho các kênh liên lạc giữa computer và các thiết bò ở bên ngoài máy tính. Tài liệu này tạm dùng tên gọi “các ngõ ra” để chỉ các kênh liên lạc ấy. 12.1CÁC NGÕ RA NỐI TIẾP (SERIAL PORTS) Dựa trên chuẩn truyền thông RS-232, các serial port của IBM PC cho phép gởi và nhận số liệu theo nguyên tắc từng chuỗi các bit nối tiếp nhau.Theo đó, mỗi byte dữ liệu sẽ được chuyển thành từ 5-8 bit cộng với một số bit đánh dấu điểm đầu,điểm cuối,kiểm tra . thành một dãy các tín hiệu nối tiếp nhau phát đi trên một đường truyền duy nhất. Dạng thức truyền của một byte dữ liệu (8 bit) D0 D1 D2 D3 D4 D5 D6 D7 ------- ---------------------------------------- |Start bit|||||Parity bit|Stop bit| D0-D7 : các bit của byte được gởi đi . Mạch điều khiển sẽ tự động tạo ra start bit,parity bit và stop bit trong chuỗi dữ liệu được gởi đi.Khi nhận,các bit phụ ấy sẽ tự động được loại bỏ. Các ngõ ra nối tiếp của IBM PC thường được gọi là các cổng COM và được đánh số từ 1 đến 4 . Ngoài đường truyền dữ liệu (DATA OUT và DATA IN), mạch điều khiển các ngõ ra nối tiếp còn có một số các mạch tín hiệu chuẩn dùng giao tiếp với các modem.Các đường tín hiệu của ngõ ra nối tiếp được nối vào D-Shell connector 9 pin hoặc 25 pin . | Full nameIDDirection9 pin25 pin | |--------------------------|-----|-------------|---------|---------- 1. Carrier DetectDCDIN18 | 2. Receive Data| IN23 | 3. Transmit Data| OUT32 | 4. Data Terminal ReadyDTROUT420 | 5. Signal Ground|5| 6. Data Set ReadyDSRIN66 | 7. Request To SendRTSOUT74 | 8. Clear To SendCTSIN85 | 9. Ring IndicatorRIIN922 | IN và OUT được xét theo chiều dữ liệu chuyển đi hay nhận về từ computer 12.1.1Asynchronous Adapter 81 Điều khiển ngõ ra nối tiếp trên IBM PC là Asynchronous Adapter. Với mỗi cổng COM, có một loạt các register và các port tương ứng của Adapter. COM 1 có base port là 3F8h và sử dụng IRQ 4 COM 2 có base port là 2F8h và sử dụng IRQ 3 Tham số cho các port tương ứng với COM 1 như sau : Port 3F8H : When DLAB=1 Write divisor latch low byte | Baud110150300600200240048009600 | |---------|------|-----|-----|-----|-----|------|------|------- | Divisor104076838419296482412 | When DLAB=0 Write transmitter holding register Read receiver buffer register Port 3F9H : When DLAB=1 Write divisor latch high byte When DLAB=0 Write interrupt enable register [7|6|5|4|3|2|1|0] |0 0 0 0||| Ù----ÚĨÚĨÚĨÚỆ bit || ỐỚ 0: 1=enable an interrupt when rec’d data is available |ỐỚỚỚ 1: 1=enable interrupt when transmit buffer is empty | ỐỚỚỚỚỚ 2: 1=enable int on rec’r line status (error or break) ỐỚỚỚỚỚỚỚ 3: 1=enable int on modem status (CTS,DSR,RI,RLSD) Port 3FAh : Read interrupt identification register.When an interrupt occurs, read this register to find what caused it. [7|6|5|4|3|2|1|0] |0 0 0 0 0|| Ù-------ÚỆ ỐỖỄ ỐỚ 1=no interrupt pending ỐỚ 00=receiver line status interrupt. Occurs upon: overrun, parity, or framing error, or break Reset by reading line status (port 3fdH) 01=received data available Reset by reading receiver buffer (port 3f8H) 10=transmitter buffer empty Reset by writing transmitter buffer (port 3f8H) 11=modem status. Occurs upon: Clear To Send, Data Set Ready, Ring Ind, or Rec’d Line Sig Detect. Reset by reading modem status (port 3feH). Port 3FBh : Read/Write line control register [7|6|5|4|3|2|1|0] 82 || |par|s|len| ÙÚĨÚĨÚĨ—ÚĨ—Ệ bit || ỐỖỄỐỚỔỚ 0-1: word length: 00=5, 01=6, 10=7, 11=8 ||ỐỚỚỚỚỚ 2: stop bits: 0=1,1=2 || ỐỚỚỚỚỚỚ 3-4: parity: x0=None, 01=Odd, 11=Even |ỐỚỚỚỚỚỚỚỚỚỚỚ 5: stuck parity (not used by BIOS) | ỐỚỚỚỚỚỚỚỚỚỚỚỚỚ 6: enable break control. 1=start sending 0s (spaces) ỐỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚ 7: DLAB (Divisor Latch Access Bit) Determines mode of ports 3f8H and 3f9H. 1=set baud rate, 0=normal Port 3FCh : Write modem control register [7|6|5|4|3|2|1|0] |0 0 0||| | Ù---ÚĨÚĨÚĨÚĨÚỆ bit ||ỐỚ 0: 1=activate -DTR || ỐỚỚỚ 1: 1=activate -RTS |ỐỚỚỚỚỚ 2: 1=activate -OUT1 | ỐỚỚỚỚỚỚỚ 3: 1=activate -OUT2 ỐỚỚỚỚỚỚỚỚỚ 4: 1=activate loopback for diagnostic testing Port 3FDh : Read line status register [7|6|5|4|3|2|1|0] |0||||Note: bits 1-4 cause an interrupt if enabled (3f9H) Ù-ÚĨÚĨÚĨÚĨÚĨÚĨÚỆ bit |||ỐỚ 0: 1=data ready (DR). Reset by reading recv’r buffer ||| ỐỚỚỚ 1: 1=overrun error (OE). Previous character is lost ||ỐỚỚỚỚỚ 2: 1=parity error (PE). Reset by reading line status || ỐỚỚỚỚỚỚỚ 3: 1=framing error (FE). Bad stop bit in character |ỐỚỚỚỚỚỚỚỚỚ 4: 1=break indicated (BI). Sustained space received | ỐỚỚỚỚỚỚỚỚỚỚỚ 5: 1=transmitter holding register empty. OK to send ỐỚỚỚỚỚỚỚỚỚỚỚỚỚ 6: 1=transmitter empty. No data being processed. Port 3FEh : Read modem status register [7|6|5|4|3|2|1|0] ||||| Note: bits 0-3 cause an interrupt if enabled (3f9H) ÙÚĨÚĨÚĨÚĨÚĨÚĨÚĨÚỆ bit |||| ỐỚ 0: 1=Delta Clear To Send (DCTS) has changed state |||ỐỚỚỚ 1: 1=Delta Data Set Ready (DDSR) has changed state ||| ỐỚỚỚỚỚ 2: 1=Trailing Edge Ring Indicator (TERI) is active ||ỐỚỚỚỚỚỚỚ 3: 1=Delta Data Carrier Detect (DDCD) has changed || ỐỚỚỚỚỚỚỚỚỚ 4: 1=Clear To Send (CTS) is active |ỐỚỚỚỚỚỚỚỚỚỚỚ 5: 1=Data Set Ready (DSR) is active | ỐỚỚỚỚỚỚỚỚỚỚỚỚỚ 6: 1=Ring Indicator (RI) is active ỐỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚ 7: 1=Data Carrier Detect (DCD) is active 12.1.2Interrupt 14 83 Trong quá trình POST, BIOS kiểm tra các base port 3F8h và 2F8h, đòa chỉ của các port có đáp ứng sẽ được ghi vào các word bắt đầu từ đòa chỉ 00:400. Có tối đa 4 word tương ứng với 4 base port được BIOS liên hệ dưới tên gọi COM1-COM4.Chỉ hai word đầu được BIOS khởi tạo (tương ứng với COM1 và COM2). Hai word cuối (tương ứng với COM3 và COM4) dành riêng cho các cấu hình khác của ngõ ra nối tiếp, người sử dụng phải tự xác đònh các giá trò cho hai word này. BIOS cung cấp cho người sử dụng các phương tiện truy nhập đến các ngõ ra nối tiếp một cách đơn giản và dễ dàng thông qua các chức năng của interrupt 14. 12.1.2.1Khởi tạo thông số cho COM port Input : AH = 0 DX = số hiệu của port AL = Thông số khởi tạo: 7--6--5--4--3--2--1--0-- | baud rate |parity |stp|length | -----------------Ú-------- ỐỚỚỚỚỖỚỚỚỚỄ ỐỚỖỚỄỐỚỚỚỔỚỚ word length | ỐỚỚỚỚỚỚỚỚỚỚ stop bits ỐỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚ parity code ỐỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚ baud rate Word length : 10 = 7 bits ; 11 = 8 bits Stop bits : 0 = 1 bit ; 1 = 2 bits Parity : x0 = none ; 01 = odd (chẵn) ; 11 = even (lẻ) | Baud rate110150300600 |1200240048009600 | |-------------|-----|-----|-----|-----|-----|------|------|------- |Value setting| 000001010011100101110111 | Output: AH = byte tình trạng của port ( Xem func 03 ) 12.1.2.2Gởi một ký tự ra COM port Input : AH = 1 DX = số hiệu của port AL = ký tự gởi ra COM port Output: AL không đổi nếu bit 7 của AH = 1 --> có lỗi AH (bits 6-0) = byte tình trạng của port (Xem func 3) 12.1.2.3Nhận một ký tự từ COM port Input : AH = 2 DX = số hiệu của port Output: AL = ký tự nhận từ COM port nếu AH khác 0 --> có lỗi 12.1.2.4Lấy tình trạng của COM port Input : DX = số hiệu của port Output: AH = COM status AL = modem status ------------------------------ ------------------------------------- bit 7: timeout bit 7: received line detect signal bit 6: trans shift reg empty bit 6: ring indicator bit 5: trans holding reg empty bit 5: data set ready bit 4: break detect bit 4: clear to send 84 bit 3: framing error bit 3: delta recv line signal detect bit 2: parity error bit 2: trailing edge ring detector bit 1: overrun error bit 1: delta data set ready bit 0: data ready status bit 0: delta clear to send 12.2CÁC NGÕ RA SONG SONG (PARALLEL PORTS) Dành riêng cho các máy in song song, còn được gọi là các printer port . Ngõ ra của parallel ports là D-Shell connector 25 pin | Full nameDirection | |--------------------------|-------------- 1. StrobeOUT | 2. Data bit 0OUT | 3. Data bit 1OUT | 4. Data bit 2OUT | 5. Data bit 3OUT | 6. Data bit 4OUT | 7. Data bit 5OUT | 8. Data bit 6OUT | 9. Data bit 7OUT | 10. ACKIN | 11. BusyIN | 12. PEIN | 13. SLCTIN | 14. AUTO FEED XTOUT | 15. ErrorIN | 16. InitOUT | 17. SLCT INOUT | 18-25 Ground| Thông tin được chuyển đến máy in theo 8 đường data song song,mỗi lần chuyển được 1 byte . Quá trình chuyển thông tin được thực hiện như sau : Đặt data byte vào buffer đệm Đặt tín hiệu Strobe lên mức cao báo hiệu các đường data đã sẵn sàng. Chờ máy in đọc xong data thì đặt tín hiệu Strobe về mức thấp. ( tối thiểu 0.5 micro giây đối với các máy in kim EPSON ) 12.2.1Parallel Printer Adapters Trên IBM PC các cổng máy in song song có các base port như sau : - 3BCh : Printer port của Monochrome Display Adapter - 378h : Parallel Printer Adapter #1 - 278h : Parallel Printer Adapter #2 Tham số cho các port tương ứng với base port 378h như sau: Port 378H Printer Data Latch. Write: send byte to printer Read : fetch last byte sent Port 37Ah 85 Read/Write: Printer Controls [7|6|5|4|3|2|1|0] |0 0 0||| | Ù---ÚĨÚĨÚĨÚĨÚỆ bit ||ỐỚ> 0: +Strobe (pin 1) 1 when sending byte || ỐỚỚỚ> 1: +AUTO LineFeed (pin 14) 1 causes LF after CR | ỐỚỚỚỚỚ> 2: -INIT (pin 16) 0 resets the printer ỐỚỚỚỚỚỚỚ> 3: +SLCT IN (pin 17) 1 selects the printer ỐỚỚỚỚỚỚỚỚỚ> 4: +IRQ Enable (hdwr INT when -ACK goes false) LPT1Ớ>IRQ 7 (INT 0fH) LPT2Ớ>IRQ 5 (INT 0dH) Port 379h Read-only: Printer Status [7|6|5|4|3|2|1|0] ||| |0 0 0| ÙÚĨÚĨÚĨÚĨÚĨ---Ệ bit ||ỐỚỚỚỚỚỚỚ> 3: -ERROR (pin 15) 0=printer signals an error || ỐỚỚỚỚỚỚỚỚỚ> 4: +SLCT (pin 13) 1=printer is selected | ỐỚỚỚỚỚỚỚỚỚỚỚ> 5: +PE (pin 12) 1=out of paper ỐỚỚỚỚỚỚỚỚỚỚỚỚỚ> 6: -ACK (pin 10) 0=ready for next character ỐỚỚỚỚỚỚỚỚỚỚỚỚỚỚỚ> 7: -BUSY (pin 11) 0=busy or offline or error 12.2.2Interrupt 17 Trong quá trình POST, BIOS sẽ kiểm tra các port 3BCh,378h,278h .Đòa chỉ của các port có đáp ứng sẽ được ghi vào các word bắt đầu từ đòa chỉ 00:400. Có tối đa 4 word tương ứng với 4 base port được BIOS liên hệ dưới tên gọi LPT1-LPT4. BIOS cung cấp cho người sử dụng các phương tiện truy nhập đến các cổng máy in song song một cách đơn giản và dễ dàng thông qua các chức năng của interrupt 17. . CHƯƠNG 12 : CÁC KÊNH GIAO TIẾP CHUẨN Trên IBM PC, có một số các kênh liên lạc chuẩn cho phép trao đổi dữ liệu giữa máy tính và các thiết bò khác . Các kênh liên. mạch điều khiển các ngõ ra nối tiếp còn có một số các mạch tín hiệu chuẩn dùng giao tiếp với các modem .Các đường tín hiệu của ngõ ra nối tiếp được nối vào

Ngày đăng: 29/09/2013, 11:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan