Quản trị mạng - Chương 5: Digital interfacing

Ghép nối hệ trung tâm với Thiết bị ngoại vi qua các tín

hiệu logic 1/0

- PARALLEL IN/OUT

- PORTS: PRINCIPLE, PPI, CENTRONICS/LPT

- PCMCIA, DUAL PORTED RAM.

- INTERCACING TO DEVICES: KEY PAD, LED,

TEXT PANEL, ENCODER, STEP MOTOR, .

- HI-POWER INTERFACE: RELAY, SCR, TRIAC,

POWER MOSFET, IGBT.

- SERIAL IN/OUT: SYNC, ASYNC,

- RS-232, RS-485, RS-422

- MODEM.

pdf65 trang | Chia sẻ: Mr Hưng | Lượt xem: 865 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Quản trị mạng - Chương 5: Digital interfacing, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
. EIA/TIA (RS)-232C/V24 EIA/TIA 1969, Electronics (Telecommunication) Industry Association, cho việc truyền tin không đồng bộ, [truyền qua mạng điện thoại]. RS: Recommended Standard Nhiều nhược điểm so với các chuẩn khác: tốc độ chậm, khoảng không xa, single end signals - dễ nhiễu, tỷ lệ bít không mang tin lớn. . . nhưng . . . Rất thông dụng, có trong hầu hết các thiết bị số (máy tính, máy điều khiển số, máy đo thông minh... và họ vi điều khiển, Global PS, Gyro Compass, PLC, Switching System... Là cửa ngõ trao đổi thông tin giữa các hệ VXL không cùng chuẩn (số bit, bộ lệnh, tốc độ...) P&I Ch5-Digi In/Out 102 5.2. serial interface: 5.2.2. chuÈn EIA/TIA-232c/v24 5.2.2.1. FORMAT of FRAME/ CHARACTER: 1 start bit = 0, đương nhiên, thường không nhắc lại 5/ 6 / 7/ 8 data bit, D0 – first. 5 và 6 not use today [Parity bit - PE/ PO] – ít dùng vì đã có kiểm soát chung bởi giao thức 1/ 1.5/2 stop bit = 1s – thường dùng 1 bit H. 5.23. RS-232 Frame trên đường truyền 52 P&I Ch5-Digi In/Out 103 5.2. Serial Interface: 5.2.2. RS232C/V24 5.2.2.2. MÔ HÌNH VÀ CÁC TÍN HIỆU: P&I Ch5-Digi In/Out 104 Các tín hiệu truyền tin: TxD - Transmit Data: Serial data out + bit không mang tin RxD - Receive Data: Serial data in + bit không mang tin Signal Ground: 0 Volt. Reference for Single End Signals Modem handshaking/ status signals (Low active): -RTS : Request To Send, Out - DTE -CTS : Clear To Send, In - DTE -DTR : Data Terminal Ready, Out -DSR : Data Set Ready, In -RI : Ring Indication, In: báo chuông -CD : [Data] Carrier Detect, In: mất sóng mang - đứt dây, mất điện remote terminal.... 53 P&I Ch5-Digi In/Out 105 5.2.2.3. MỨC TÍN HIỆU: Các tín hiệu RS232 có mức áp: -3V .. -15V => logic 1, so called 'Mark' +3V .. +15V => logic 0, so called 'Space' Các vi mạch dùng để biến đổi: 232 modems/ converters Motorola MC-1488 (Driver: TTL to 232) và MC-1489 (Receiver: 232 to TTL), 3 nguồn cấp : +5V, +12V, -12V, cổ Maxim 232 hoặc Intersil - ICL 232: là 232 'modem' ; Single Power Supply +5V. Bên trong có các bộ đổi nguồn: Doubler và Inverter => +10V và -10V, Hình 5.25 P&I Ch5-Digi In/Out 106 H. 5.25. MAXIM 232 IC 54 P&I Ch5-Digi In/Out 107 5.2.2.4. TỐC ĐỘ TRUYỀN TIN: Đơn vị tính là bps (bit per second) Các tốc độ RS-232 : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800 và 9600, BIOS support Thêm: 19.200, 38.400, 57.600 và 115.200 Dùng Xtal (quartz, Thạch anh) 1.8432 MHz 16 chu kỳ clock => truyền (thu hoặc phát) được 1 bit Thường trong các cổng truyền tin, tốc độ được tính theo: 1.8432 x 106 Baud rate (bps) = ------------------------- ; 16 (m x 256 + n) m-n: số chia 16 bit, n : low divisior, m: hi divisior P&I Ch5-Digi In/Out 108 5.2.2.5. KHOẢNG CÁCH : Distance x baud rate product ! Tùy thuộc môi trường, cáp truyền, nhưng: @ 9600 bps, L < 100‘ ~ 33m @ 19.200 bps, L<50' ~ 16,5 m 5.2.2.6. CONNECTOR - JACK: D shell 9 hoặc 25 pin [DB9 hoặc DB25] connector Male - Female 55 P&I Ch5-Digi In/Out 109 5.2. serial interface: 5.2.3. PC's rs-232 ports Tên gọi: so called: RS 232C/ V24/ EIA 232 Communication port (Comm/ Com) Asynchronous [Async] port Serial port UART Intel 8250/ National Semiconductor 16450, 16550, 16550A Properties: Ports Comm1 Comm2 Comm3 Comm4 BaseAddr 3F8h 2F8h 3E8h 2E8h IRQ 4 3 Option Option HRQ (Option) P&I Ch5-Digi In/Out 110 5.2. serial interface: 5.2.3. PC RS232 ports UART 8250, Universal Asynchronous Receiver-Transmitter (KT VXL, tác giả MTV) CS interface: 8bit data, IRQ (for Trans, Rec, Modem & Errors), -CS, -RD, -WR và 3 Reg Select bits => 1 of 8 Modem Interface: RTS-CTS, DTR-DSR, CD và RI Line [Modem] Control Registers : để định format of character và chế độ hoạt động cho port và modem. Divisor Latches: định tốc độ truyền (thu và phát) Line [Modem] Status Registers đọc trạng thái, Errors để hoạt động polling và Int. UART NS 16550A: compatible 100% 8250 FIFO buffers for Rec và Trans 2x16 byte, Hoạt động: polling, interrupt [có thêm] DMA Tham khảo UART 16550A @ site: www.national.com 56 P&I Ch5-Digi In/Out 111 P&I Ch5-Digi In/Out 112 HOẠT ĐỘNG CỦA COMM PORT: SETTING & TRANSCEIVE SETTING/ INITIALIZING - KHỞI TẠO: Selecting Port: BaseAddr:= $2F8 {Comm2} Formats of character: (Line Control Register - BA+3) Vídụ 9600, 8(7), N(PE/ PO), 1(2): Port[BaseAddr+3]:= 3; {8, n, 1, 3F8+3} Baud rate Setting: DLAB (bit7 of LCR) = 1, nạp Low Div và Hi Div. Khi setting baudrate, DLAB=1, otherwise=0 Port[BaseAddr+3] := Port[BaseAddr+3] or $80; {DLAB=1 only} Port[BaseAddr+0] := 12; {xf8h, Low divisor, n} Port[BaseAddr+1] := 0; { xf9h, Hi divisor , m} Port[BaseAddr+3] := Port[BaseAddr+3] and $7F;{DLAB=0 !} 57 P&I Ch5-Digi In/Out 113 • Line Control Register: XFBh – BaseAddr+3 – b1, b0 : 11 10 01 00 – 8 7 6 5 data bit, 5 và 6 bit không dùng. – b2 : 0 => 1 stop bit; 1 => 2 stop bit – b3: 0 – non parity, 1: parity – b4: (chỉ có nghĩa khi b3=1) 0=> PO, 1=> PE – b5: 0: normal, 1: Stuck parity (PE) – b6: Space Out: 0, normal, 1: space out – b7: DLAB: divisor latch access bit. Dùng để truy nhập số chia, định tốc độ truyền. 0: normal, 1: BA – (XF8) low divisor, BA+1 (XF9) – hi divisor – Ví dụ: 7, PE, 2  LCR = 0001 1110b  1Eh P&I Ch5-Digi In/Out 114 1.8432 x 106 cps • Công thức tính: Baud rate (bps) = --------------------- ; 16 (m x 256 + n) n : low divisior, m: hi divisior 600 bps m=0, n = 192 1200 bps m=0, n= 96; 2400 bps m=0, n= 48 4800 bps m=0, n= 24 9600 bps: m=0, n= 12 19200 bps m=0, n= 6 38400 bps m=0, n= 3 57600 bps m=0, n = 2 115200 bps m=0, n= 1 max rate Nạp cả m và n khi DLAB = 1 58 P&I Ch5-Digi In/Out 115 HOẠT ĐỘNG TRANS-CEIVING Line Status Register LSR, BA+5, các bit/ cờ TT: b0 = 1 => IBF data received, = 0 khi CPU đọc Receice Buffer, RxR - xF8h b1 = 1 => OE, Overrun Err, mất số liệu, bị sl sau đè lên b2 = 1 => PE, Parity Err, Vd đặt PE, thu về số bit 1 lẻ b3 = 1 => FE, Framing Err, sai stop bit, sai clock 2 phía b4 = 1 => BI, BreakInt, t(space)> t(full char) b5: THRE: Transmit Hold Reg Empty b6: Data Transmitted b7: Not Use Và chú ý TimeOut !!! Thủ tục thu 1 packet được mô tả Hình 5.26: 5.2. serial interface: 5.2.3. PC RS-232 ports P&I Ch5-Digi In/Out 116 5.2. serial interface: 5.2.3. PC rs-232 ports HOẠT ĐỘNG: POLLING, sau setting, thu;phát tin giống như song song Transmitting: Line Status Register LSR, BA+5 Sending 1 char: Thanh ghi giữ sl phát TxR, Base Addr+0 Port[BA+0]:= sent_char; ghi ra thanh ghi phát Sending 1 packet n byte. bit 5 (of LSR) = 1 => THRE (Trans Hold Reg Empty): For i:= 1 to n do Begin {0010 0000} Repeat Until Port[BA+5] and $20 0; {test bit 5} Port[BA+0]:= xau_ky_tu[i] End; {không cần kiểm tra TimeOut hoặc lỗi ?} 59 P&I Ch5-Digi In/Out 117 Hình 5.26. Lưu đồ Thu 1 packet qua Comm Port - Polling P&I Ch5-Digi In/Out 118 Rec Proc Near ; Bien Cobao ket qua mov bp, offset Tx_Buffer ; Init Array of Receiving mov cx, n ; Init counter of Packet Rec1: mov bx, TOC ; Init TOC, tre 1s Rec2: call @delay ; delay khoang 50us dec bx jne Rec3 mov bl, 0FFh mov Cobao, bl ; Loi Time Out jmp Ketthuc Rec3: mov dx, BaseAddr+5 ; Line Status Reg in al, dx test al, 00000001b ; IBF je Rec2 60 P&I Ch5-Digi In/Out 119 mov dx, BaseAddr+0 ; Rx Register in al, dx mov [bp], al ; Cat ket qua mov dx, BaseAddr+5 ; LSR in al, dx and al, 00011110b ; any error? jne Rec31 inc bp ; next char loop Rec1 mov bl, 0 mov Cobao, bl ; PERFECT RETURN jmp Ketthuc Rec31:test al, 00000010b ; Overrun Error? je Rec4 mov bl, 1 mov Cobao, bl ; Loi 1 P&I Ch5-Digi In/Out 120 Rec4: test al, 00000100b je Rec5 mov bl, 2 mov Cobao, bl ; Loi 2 Rec5: test al, 00001000b je Rec6 mov bl, 3 mov Cobao, bl ; Loi 3 Rec6: mov bl, 4 mov Cobao, bl ; Loi 4 Ketthuc: ret Rec Endp 61 P&I Ch5-Digi In/Out 121 INTERRUPT SETTING IRQ 4 - Comm1, IRQ3 - Comm2. Interrupt Enable Register - IER, BA+1, 4 lowest bit. b(i) = 1 => Enable; b(i) = 0 => Disable. b0 : Thu xong 1 byte/ char b1 : TxR Empty b2 : 1 of 4 Errors of Receive Action b3 : MODEM IRQ Interrupt Identification Register: BA+2, Đọc II Reg để biết nguồn ngắt, có 4 mắc ưu tiên cố định, dùng b1 và b2: xxxxx11x Highest Prio., 1 of 4 lỗi thu xxxxx10x Thu xong 1 char/ byte xxxxx01x Phát xong 1 char/ byte xxxxx00x  hoặc  của 1 of 4 modem HSK signals. P&I Ch5-Digi In/Out 122 5.2. serial interface: 5.2.4. Hayes modems Do Công ty Hayes Microcomputer Product Inc. giới thiệu vào đầu 80s, tốc độ 300...2400bps, over telephone line Có bộ lệnh (command set) và trả lời (response set), được dùng như các lệnh chuẩn AT (standard modem). Tín hiệu: TxD, RxD, Gnd, CD, RI. [Thêm] DTR-DSR, [RTS-CTS] Chế độ hoạt động: Command và Data (Online) Modes Command Mode: modem nhận lệnh từ CS qua RS-232 port và thực hiện lệnh - không truyền tin. Khi thiết lập xong kết nối với remote modem => online mode (data mode) và chỉ truyền tin, không nhận lệnh. 62 P&I Ch5-Digi In/Out 123 H×nh 5.27. Block diagram of Hayes Compatible Data-Fax Modem P&I Ch5-Digi In/Out 124 Khi mất sóng mang (remote modem has hungup) trở về command mode không disconnecting để đợi guard time (default 1s) Escape command: +++ Lệnh gửi từ máy tính: software hoặc gõ trực tiếp từ bàn phím qua RS-232 port Char gửi từ máy tính 1 trong 2 formats: 7,PE,1 hoặc 8,N,1 Khi truyền 110 bps => 2 stop bit Khi nhận command, modem gửi về result code. Option: Digit code - for controlling modem by software Word code - for controlling modem by keyboard 63 P&I Ch5-Digi In/Out 125 RESULT CODES: DIGIT Word Meaning 0 OK Cmmnd executed 1 CONNECT Connect @ 0..300bps 2 RING ring signal detected 3 NO CARRIER mất sóng mang 4 ERROR error in cmmnd line 5 CONNECT 1200 6 NO DIALTONE Không có quay số 7 BUSY Báo bận 8 NO ANSWER Không trả lời 10 CONNECT 2400 P&I Ch5-Digi In/Out 126 AT COMMAND SET: attention Các lệnh bắt đầu bằng AT or at (not At or aT) để modem detects tốc độ và format (ngoại trừ 2 lệnh '+++' và A/ - repeat last Cmmnd ) và kết thúc: Enter (0ah,0dh) Command line: có thể có hơn 1 lệnh, chỉ cần 1st có AT, cách nhau dấu ' ' và không quá 40 char/cmmnd line. Các lệnh và Tham số ATDT 048692463 Dial using touch Tone ATDP 048696125 Dial Pulse ATT/ ATP default tone/ pulse O end of C line, return O mode ; end of C line, stay C mode after executing @ wait for 5s hoặc silent 64 P&I Ch5-Digi In/Out 127 • VÝ dô: • ATDT 9,3456789 Kết nối từ máy trong tổng đài • ATXn Hayes Smartmodem compatible • Other Commands: • ATE0/ 1 Disable/ Enable Echo • +++ Esc Char switch to command mode • ATHn 0:On-Hook (hangup),1: Off-Hook • ATLn 0/1/2/3 volume of speaker • ATMn 0: speaker off, 1: on until DCD, 2: on • ATNn 0: connect @ DTE rate, 1: auto rate negot. • ATO return to O mode • ATQn 0: result code En, 1: result code Dis • ATVn 0: digit, 1: word • ATZ hangup, reset to default settings • A/ Repeat last command (re dial) • Các modem đều có bộ lệnh riêng, Ref. User's Guide Man. P&I Ch5-Digi In/Out 128 Case study: Adding a Comm to uC • Init: 9600, 8, n, 1, P20=1 (P20 thay cho Pij), TxBuff , RxBuff byte • Transmitting a char: – TxBuff = transmit byte – Start bit: P20=0, delay 104 us – For i=0 to 7 do (P20= TxBuff(i), delay 104 us) – Stop bit: P20=1, delay 104us • Receiving a char: khi nhận start bit, ISR được gọi từ INT0: – Delay 52us, If P20=1 then iret (not start) else • For i= 0 to 7 do (RxBuff(i)=P20, delay 104us) • If P20 = 0 then framing Error • iret 65 P&I Ch5-Digi In/Out 129 BÀI TẬP CHƯƠNG 5 (1 OF 2) Thiết kế mạch cổng INPUT có trạng thái vs H5.3 Mạch ghép nối, tín hiệu trạng thái báo ngắt – Disable/Enable Xây dựng mạch ghép nối PC và PPI 8255 qua ISA bus Theo hình 5.7, xây dựng mạch ghép nối n CA-LEDs and/or keypad + chương trình điều khiển, với hệ Vi xử lý bất kỳ. Theo hình 5.8 và 5.9, tạo 16 x (8x16) char box board và DD để hiện 1 thông báo. T/k Color Char board: 2 LED Green/Red => 4 color Bài tập dài: Nghiên cứu và lập trình vào ra LPT với SPP, EPP, ECP và IEEE 1284 modes Thiết kế giao thức và xây dựng ch/tr truyền file giữa 2 máy tính qua LPT theo SPP và các mode trên Tạo Bill board tiếng Việt 16 row-80 column P&I Ch5-Digi In/Out 130 BÀI TẬP CHƯƠNG 5 (2 OF 2) Xây dựng mạch ghép nối 2 encoders theo chiều X và Y để xác định tọa độ của một động tử (positioner) - tỷ lệ length/count đã cho (có thể dùng Timer 8254) Ghép nối Step motor [và Encoder] để điều khiển 1 thiết bị như máy khoan định vị bằng chương trình, máy cắt vải, giấy, máy vẽ, khoan toạ độ, automobile ... Xây dựng sơ đồ chi tiết để điều khiển các tải công suất lớn: motor, gen-set field wild dc, ac (lò, đèn) Thuần thục lập trình cho các cổng RS-232/V24 trong máy tính và các thiết bị khác. Truyền tin giữa máy tính và Embedded System (ES) qua RS-232: chat & file Truyền tin giữa 2 máy qua Hayes modem: chat & file

Các file đính kèm theo tài liệu này:

  • pdfch05_6073.pdf
Tài liệu liên quan