Bài giảng Thiết bị ngoại vi và kỹ thuật ghép nối - Chương 2: Giao thức ghép nối - Bùi Quốc Anh

Memory Mapped IOs: o IOs chung với Mem trong MemSpace => chiếm vùng nhớ, tốn vựng nhớ o CPU xử lý các cổng IO bằng các lệnh như đ/v mem. ã IO Mapped IOs: (Z80, x86.): o Không chiếm không gian nhớ, o CPU chỉ thực hiện 2 lệnh: IN và OUT x86 CPU’s IO map: IO mapped IOs, 16 Addr bit IO => 64Kilo IO locations. ã PC’s IO map: o IO Mapped IOs, o Chỉ dùng 10 lowest addr bit, A0.A9 => 1 kilo IO locations Soi gương – 1st kilo Mirrored với 63 kilo còn lại, Mỗi IO port chiếm nhiều địa chỉ (như PIC, PIT, PPI.) => thiếu IO space. Sẽ dùng thêm kiểu Mem Mapped IOs. Lệnh IN và OUT: chỉ dùng các thanh ghi Accumulator: 8 bit: AL, 16 bit: AX và 32 bit: EAX. Chế độ địa chỉ: o Direct: for IO space: 0.0FFh Ví dụ: in al,60h ; Read KB port out 23Eh, ax ; lệnh sai, IOaddr>255 out 61h, al ; beep, set/reset key flag o Indirect: for IO space 0.0FFFFh, via dx register Ví dụ: mov dx, 378h ; PLT port Addr mov al, ‘A’ ;41h/ 65d out dx, al ; 'A' ==> Printer mov dx,3F8h ;Comm 1 port in al,dx ;

pdf19 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 301 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Thiết bị ngoại vi và kỹ thuật ghép nối - Chương 2: Giao thức ghép nối - Bùi Quốc Anh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1P&I-Ch2: Protocols 1 CH. 2 GIAO THỨC GHÉP NỐI (Interfacing Protocols) Bao gồm: - Giao thức ghép nối - Đặc điểm lập trình I/O P&I-Ch2: Protocols 2 2.1. Interface Protocols: • K/n: Là các quy định: – Signals, cable, port, connector, jack – Data format – Rate – Error detection & correction – Command & Response set – Scenario (kịch bản) ISO 7 layer Model (Ref. Computer networks) Có thể phân chia thành 2 nhóm chính: • Transport-Oriented Protocols (1..4) (!!!) – PhysicAL (wire, cable, connector, port), DataLink (CRC, CS, Token), NetWork (Comm. 2 networks ), Transport (Err-protected raw infor), • Application-Oriented Protocols (5..7) : – Session (Opening, End), Presentation (Common Language) vµ Application (Read/Write, Start/Stop, FileTransfer) 2P&I-Ch2: Protocols 3 2.1. INTERFACE PROTOCOLS: 2.1.1. Signals: Khi thiết kế, xây dựng ghép nối máy tính, cần chỳ ý đặc biệt tới tín hiệu theo các yêu cầu: Đối tượng: Analog/Digital - discrete? Digi: trạng tháI của sự vật, hiện tượng format, ser/par, mức logic Ana (vật lý): t, F, m, flow, level... => ỏp/dũng điện, tần, biờn pha, R, dải đo, độ phõn ly, thời gian tỏc động, độ chớnh xỏc, độ lặp lạigia tri do Nhóm đối týợng (In/Out): cựng kiểu hay vựng địa lý Thiết bị thông minh: Tùy cấp độ: giưa desktop và ES hay EM với device. Centralized or distributed topology Hơn 1 thiết bị? => bus/mạng hay không ? => dùng bit (trường) địa chỉ - tùy từng mặt cắt P&I-Ch2: Protocols 4 • Nếu dùng bus => Standard bus hay không (ISA, I2C, USB... Hay các bus trên chuẩn RS485)? • IDE và LPT - mode 0 cables là bus? tại sao? • Khoảng cách: Xa /gần => Serial vs Parallel, có liên quan tốc độ • Xa: Daisy chain cho t/h hoặc nguồn cấp... • Các tín hiệu điều khiển và trạng thái: – Control signals – Status signals – Handshaking signals - bắt tay 3P&I-Ch2: Protocols 5 • Daisy chain: – Nối các thiết bị có khoảng cách từ vài đến vài chục m, output của port (module) thứ n nối với input của n+1. Đặc biệt ở các Field Buses, có thể lên tới kms – Dùng cho tín hiệu (// & nt), nguồn cung cấp, handshake... – Ví dụ bảng điện tử, 74HC595, A6276, TL7059 P&I-Ch2: Protocols 6 2.1. Interface Protocols: 2.1.1. Signals: • Ví dụ 1: PC-LPT handshaking: PC LPT port Line Printer SLCT SLTC_in Hình 2.1.a. LPT handshake Signal 4P&I-Ch2: Protocols 7 2.1. Interface Protocols: 2.1.1. Signals: • Ví dụ 2: PC Comm-Modem handshaking - ch.5. Tuy nhiên có thể bắt tay bằng ký tự, không dùng t/h RTS CTS DTR DSR PC 1 Comm Port Modem or PC 2 Comm Port Hình 2.1.b. CommPort Handshake Signals Phương pháp biến đổi tín hiệu: biên, tần, pha, dòng, quang (cáp quang, Ir) P&I-Ch2: Protocols 8 2.1. Interface Protocols: 2.1.1. Signals: • T/c vật lý của tín hiệu: là hàm của thời gian, mức áp/dòng • Direction: In/Out, chú ý về chiều của dòng điện • Voltage/Current/Optical/wave • Chú ý Input Voltage: -0.6V => +0.6V so với nguồn cấp. Nếu dải áp lớn hơn phải dùng diode bảo vệ. Ví dụ bằng hình ảnh. Chú ý về nguồn cấp và mức tín hiệu ngoài, VDD=3.3V và tín hiệu 0 – 5V • Mức điện áp: Mức áp? (TTL ? (transistor transistor logic- [0..0.8V/ 2..5V]) , 12V/ 24V/48V...) • Single End (đơn cực) vs Differential (vi sai) signals: • Single End signal: • Tín hiệu là điện thế so với 1 thế chuẩn, thường là Gnd, ( 0 Volt) • Ví dụ: Các tín hiệu trên bus (data, addr, control), Centronics port/LPT, RS-232 ports, IDEs... • Có n tín hiệu => cần có ít nhất n+1 dây dẫn • Nhạy cảm với nhiễu, tốc độ thấp hơn so với cùng chuẩn 5P&I-Ch2: Protocols 9 • Differential Signal: Tín hiệu vi sai – N tín hiệu => 2 n dây dẫn. Ở phía thu: • (Va-Vb) > 100mV => logic 1, tùy thuộc chuẩn được áp dụng • (Va-Vb)<-100mV logic 0 – Thu: Nếu 2 dây có cùng kích thước, độ dài, trở kháng và gần nhau, thì mọi thành phần giống nhau trên 2 sợi A và B được loại trừ => chịu được nhiễu rất tốt vì phía thu: • Uin=k(Va-Vb) => những thành phần giống nhau được loại bỏ. – Khoảng cách lớn, tốc độ cao. – IC: SN75176 của TI là ví dụ – Địa chỉ ứng dụng: USB cable, Profi Bus, Ethernet Cat. 5 Cable P&I-Ch2: Protocols 10 • Ví dụ đối chứng: – RS232: đơn cực, ±12V, 9600bps chỉ dẫn xa được 100 feet (33m) • Mouse, ghép nối các thiết bị trong PTN, test • Profibus, USB, Ethernet dùng biến áp xung • Có thể dùng dây không bọc kim – RS485, ± 5V, 1Mbps, kc lên đến 5000 feet, 1,66km – Ví dụ: • USB, các thiết bị ngoại vi quan trọng – Server’s HDD Cables • Field Bus: bus trong môi trường công nghiệp, MOD Bus, Profi Bus 6P&I-Ch2: Protocols 11 • Khả năng phối hợp tải - dòng điện ra: (Fan Out, Loading): + Number of Standard/LS TTL loads, chú ý chiều dòng điện + Sink: dòng vào – LowLevel, (cỡ mA), + Source: dòng ra – HighLevel, mA/uA.(H. 2.1.c) • Nối chung/ghép nối bus đơn giản: 3 state (Hi Z), open collector (Open Drain), Mux – dồn kênh, Switch - khóa. • Hot swap – hot plugible: Y/c Vcc và t/h ( www.atmel.com ) • Cách ly (isolation): Relay, Opto Coupler – IrLED. Biến áp xung... • Bus Slot, Connector, chuẩn, số chân (pin) P&I-Ch2: Protocols 12 7P&I-Ch2: Protocols 13 H. 2.1d. Open Collector. Nếu là FET, so called Open Drain P&I-Ch2: Protocols 14 S¬ ®å c¸ch ly quang häc ®/v tÝn hiÖu In/Out: Hình 2.2. Opto Coupler (Isolator) -Trong môi trường công nghiệp, Hi Volt and/or Hi Current - Đường dây dài, dễ cảm ứng nhiễu/sét - Để đảm bảo an toàn cho người và thiết bị - In/Out - Yêu cầu phải cách ly nguồn cấp và Gnd(s) 8P&I-Ch2: Protocols 15 • Connectors: – D shell: DB9, DB25,... – DIN, Cable & Connectors: H×nh 2.3.a. Connectors • Cable: • Flat, • Coaxial, • Shield: cho tín hiệu hoặc nguồn cấp (!) • Twisted Pair: Cat. 5, Cat. 6 • Normal: vi sai • Optical Fiber... P&I-Ch2: Protocols 16 Hình 2.3.b. Optical Connector & Sơ đồ: 9P&I-Ch2: Protocols 17 Hình 2.3.c. Sợi cáp quang: P&I-Ch2: Protocols 18 2.1. Interface Protocols: 2.1.2. Format data: Thông tin được định dạng theo: binary/hex (ASCII) - Ví dụ: 1 số đo nhiệt độ 12bit, dảI giá trị 0 đến 999oC. Khi lưu trong CSDL, truyền tin: + binary: 12 bit ( 1,5 byte), tiết kiệm bộ nhớ, thời gian truyền + ASCII: 3 characters, dễ quản trị: kiểm soát sai số, hiện thị Lượng tin lớn => khi trao đổi (với DAS, PLC, Digi-Oscilloscope, GPS, TelSat...) ‘đóng gói’ số liệu (packaging) Mỗi gói tin (packet) gồm 3 phần: - Header: [có thể có: tên bản tin, tên gói, số thứ tự, ký tự bắt tay, ký tự đồng bộ, số ký tự/ byte trong gói tin...], không mang tin. - Content: nội dung tin - mang thông tin. - Tailer: Mã bắt tay kết thúc, [mã kiểm tra lỗi] - không mang tin. Ví dụ: HDC, FDC: Full Sector: gap - 5 byte ID field - 2 byte ID CRC - gap - data field: 512 byte - 2 byte CRC. FTP, Kermit, X-Modem.. Protocols: 128[256] B/pack. 10 P&I-Ch2: Protocols 19 Byte số liệu/character/frame: (truyền không đồng bộ, RS-232, RS-485, RS-422...): ký tự hay byte được định dạng thành 1 frame: - 1 start bit = 0, - 5/6/7/8 data bit, D0 first, - [parity: Even/ Odd], - 1 / [1.5 / 2] stop bit = 1(s). Hình 2.3.d. USB data packet format P&I-Ch2: Protocols 20 2.1. INTERFACE PROTOCOLS: 2.1.3. Tốc độ và khoảng cách trao đổi thông tin: • Xuất phát từ: Nhu cầu trao đổi thông tin của hệ (tốc độ và khoảng cách) => chọn kiểu truyền thích hợp, có liên quan tới t/h: • Chỉ ra ”bottle-neck”, khắc phục được => xuất hiện hiện bottle neck, ở mức độ thấp hơn, • Phụ thuộc Khoảng cách - tích số (k/c và tốc độ) • Nhiễu: theo công thức Shannon: bps = BW log2 (1+P/N). Với BW: bandwidth, P/N tỷ số công suất tín hiệu/ nhiễu (not a dB ratio) • Đường truyền: (công nghiệp), đường truyền (cáp đồng, quang, wireless: radio, infrared), • Synchronous/Asynchronous?, • Modulation/Demodulation ... => tốc độ bao nhiêu kbps/kBps? Ví dụ: LPT: SPP mode: 50..100kBps - software, ECP: 2..4 MBps - DMA LAN Ethernet – IEEE 802.3: 10/100 Mbps dual speed RS232: 2400/ 4800/ 9600/ 19200... bps 11 P&I-Ch2: Protocols 21 2.1. Interface Protocols: 2.1.4. Kiểm tra, sửa lại, nâng cao độ tin cậy: - Khi trao đổi thông tin thường hay gây ra lỗi, đặc biệt truyền xa/ chuyển đổi t/h. Nhiều phương pháp (Hardware, Software) hỗ trợ để kiểm tra: - [Block] check sum - BCC, phần mềm: tính tổng của tất cả các ký tự, các byte. Kết quả có thể: 1 byte wo carry, phép XOR, 2 byte w/wo hoặc lấy bù 2 (ví dụ BIOS ROM. Ext BIOS started @ chẵn 2K, 2 ô đầu là mã 55h và AAh, độ dài của mảng ROM BIOS đó tính theo kiểu 1count – 512 byte; checksum bù 2 sao cho tổng của tất cả các byte và mã checksum luôn bằng zero) - CRC, ECC,... vi mạch/ software - subroutine - Parity, 1 hoặc 2 chiều - Redundancy (RAID), thừa dư: trao đổi nội dung số liệu hơn 1 lần và so sánh. Case study: Barcode Phương pháp mã hóa, giải mã và kiểm tra lỗi P&I-Ch2: Protocols 22 • Bar Code: EAN 13, CODE 39 (Intermec), CODE 128 (Zebra), UPC ... • Case study: EAN 13 (European article numbering) - Encoding: AAA BBBBB CCCC D; 4 độ dày vạch, 6 vạch/digit (b&w) - A(National): VN 893, CN 690-692, JP 45-49, GE 400-440, RU 460-469 - B: com/ org - C: Product - D - Check sum, right most: (right to left): - 10 - [(D2*3 + D3*1 + D4*3 + D5*1...+ D13*1)mod10] Ví dụ: 893 12345 1234 7 • CODE 128, Zebra, check sum modulo 103 2.1. Interface Protocols: 2.1.4. Kiểm tra, sửa lại, nâng cao độ tin cậy: 12 P&I-Ch2: Protocols 23 2.1. Interface Protocols: 2.1.5. Command & Response (Result/Reaction) set: • Khi ghép Intelligent Devices (Computerized devices - mouse, KB, Printer, modem, FDC, HDC, RTU...) có nhiều tham số, chế độ hoạt động => xây dựng bộ lệnh (command set) và thông tin trả về (response set). • Các câu lệnh phần mềm => bớt tín hiệu và cổng phần cứng. • Tập hợp các yêu cầu từ CS - command set, • Tập hợp các trả lời, trạng thái - result/response/ reaction set. • Data down/up • Syntax of command and response (structure and grammar). P&I-Ch2: Protocols 24 2.1. Interface Protocols: 2.1.5. Command & Response (Result) set: Case Studies: lệnh AT và Response Hayes MODEMs: Lệnh: ATDT 1260 ? ' Với nhiều Options Trả lời (reaction) OK [Error] . . . Connect @19200 (result) Lệnh FX Printer: Esc * m, n1, n2; Sel Graph Mode Tham khảo các bộ lệnh của các thiết bị chuyên dùng: GPS, Gyrocompass, Digital Oscilloscope, SAGEM, TelSat, Programmer (Hi-Lo System All-11P2)... 13 P&I-Ch2: Protocols 25 2.1. Interface Protocols: 2.1.5. Command & Response (Result) set: 1 command/response - mã bắt đầu ký tự riêng như @ / # / $/ AT... - mã lệnh, 1..3 bytes/ char, - tham số lệnh, 1... n bytes, - mã kiểm tra lỗi check sum, CRC (dễ xử lý) - mã kết thúc, ký tự riêng. thường có cấu trúc: Có thêm các mã (ký tự) đối thoại/ reaction, [dùng] ký tự điều khiển của ASCII như: ENQ, ACK, NACK, Bell, OK, ERR, BUSY ... P&I-Ch2: Protocols 26 2.1. Interface Protocols: 2.1.6. Scenario: • Liệt kê các trường hợp có thể rồi áp các phép xử lý tương ứng để đảm bảo việc ghép nối: không mất tin, thừa tin, quẩn, treo, hỏng... • Thường xây dựng: Step List hoặc Chart: • Time Out ! Hinh 2.4. Scenario Chart Master ENQ Slave ACK NAK nothing 14 P&I-Ch2: Protocols 27 H×nh 2.5. USB Interlayer Interconnection Model P&I-Ch2: Protocols 28 Bài tập • Xây dựng giải pháp: topology... protocol, (kết hợp với Ch4) – Game show Ai là triệu phú, phần thăm dò ý kiến khán giả. • Số khán giả upto 100 • Chiều dài tín hiệu: 200-500m • Ý kiến khán giả: 4 options A, B, C và D – Game show Đấu trường 100 – Biểu quyết Đại biểu QH – Thu thập thông tin đa điểm đo lường (nhiệt độ đa điểm), trạng thái (ON/OFF) MCB – Hẹn trình bày 24/2, anyone/thing 15 P&I-Ch2: Protocols 29 2.2. PHÂN MIỀN VÀ LỆNH I/O: 2.2.1. IO Mapping: Hình 2.6. Phân miền các cổng I/O P&I-Ch2: Protocols 30 Memory Mapped IOs: o IOs chung với Mem trong MemSpace => chiếm vùng nhớ, tốn vựng nhớ o CPU xử lý các cổng IO bằng các lệnh như đ/v mem. ã IO Mapped IOs: (Z80, x86...): o Không chiếm không gian nhớ, o CPU chỉ thực hiện 2 lệnh: IN và OUT x86 CPU’s IO map: IO mapped IOs, 16 Addr bit IO => 64Kilo IO locations. ã PC’s IO map: o IO Mapped IOs, o Chỉ dùng 10 lowest addr bit, A0..A9 => 1 kilo IO locations Soi gương – 1st kilo Mirrored với 63 kilo còn lại, Mỗi IO port chiếm nhiều địa chỉ (như PIC, PIT, PPI..) => thiếu IO space. Sẽ dùng thêm kiểu Mem Mapped IOs. 16 P&I-Ch2: Protocols 31 2.2.2. LÖnh In/Out: (x86) : Lệnh IN và OUT: chỉ dùng các thanh ghi Accumulator: 8 bit: AL, 16 bit: AX và 32 bit: EAX. Chế độ địa chỉ: o Direct: for IO space: 0..0FFh Ví dụ: in al,60h ; Read KB port out 23Eh, ax ; lệnh sai, IOaddr>255 out 61h, al ; beep, set/reset key flag o Indirect: for IO space 0..0FFFFh, via dx register Ví dụ: mov dx, 378h ; PLT port Addr mov al, ‘A’ ;41h/ 65d out dx, al ; 'A' ==> Printer mov dx,3F8h ;Comm 1 port in al,dx ; P&I-Ch2: Protocols 32 Phụ lục PC’s I/O Port Map Port (hex) Port Assignments 000-00F DMA Controller, đkh truy nhập trực tiếp 1, 4 kênh 8 bit 020-02F Master PIC 8259A, ưu tiên ngắt 1, IRQ0 – IRQ7 040-05F PIT, Programmable Interval Timer 060-06F Keyboard Port, 070-071 Real Time Clock và 64 byte CMOS-RAM 080-083 DMA Page Register, giữ địa chỉ cao 17 P&I-Ch2: Protocols 33 0A0-0AF PIC #2, Bộ đkh ưu tiên ngắt số 2, IRQ8 – IRQ15 0C0-0CF DMAC #2, 3 kênh DRQ 16 bit 0E0-0EF reserved, để dành 110-16F AVAILABLE, để dành 170-17F Hard Drive 1 (AT) 180-1EF AVAILABLE 1F0-1FF Hard Drive 0 (AT) 200-20F Game Adapter P&I-Ch2: Protocols 34 210-217 Expansion Card Ports 220-26F AVAILABLE 278-27F Parallel Port 2/ LPT2 280-2A1 AVAILABLE 2A2-2A3 clock 2B0-2DF EGA/Video 2E2-2E3 Data Acquisition Adapter (AT) 2E8-2EF Serial Port COM4 2F0-2F7 Reserved 2F8-2FF Serial Port COM2 300-31F Prototype Adapter, cho người dùng phát triển 320-32F AVAILABLE 18 P&I-Ch2: Protocols 35 340-35F AVAILABLE 360-36F Network, LAN adaptor 370-377 Floppy Disk Controller 378-37F Parallel Port 1, LPT1 380-38F SDLC Adapter 390-39F Cluster Adapter 3A0-3AF reserved 3B0-3BF Monochrome Adapter 3BC-3BF Parallel Port 3 P&I-Ch2: Protocols 36 3C0-3CF EGA/VGA 3D0-3DF Color Graphics Adapter 3E8-3EF Serial Port COM3 3F0-3F7 Floppy Disk Controller 3F8-3FF Serial Port COM1 • Soundblaster cards usually use I/O ports 220-22F • Data acquisition cards frequently use 300-31F. 19 P&I-Ch2: Protocols 37 BÀI TẬP CHƯƠNG 2 2.1. Tham khảo một số giao thức: MODBUS (AEG) modbus.org, ProfiBus, ASI (Siemens), RTU ASCII (ABB), I2C... từ đó thiết kế đồ án môn học: hệ thu thập - điều khiển phân tán (Mini SCADA) 2.2. USB Protocol 2.3. Thiết kế giao thức truyền file giữa 2 máy tính (LPT/ Comm).

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

  • pdfbai_giang_thiet_bi_ngoai_vi_va_ky_thuat_ghep_noi_chuong_2_gi.pdf