ch 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.1 Interface Protocols: ã K/n: Là qui định: Signals, cable, port, connector… Data format Rate Error detection & correction Command & Response set Scenario (kịch bản) ISO layer Model (Ref Computer networks) Có thể phân chia thành nhãm chÝnh: • Transport-Oriented Protocols (1 4) (!!!) – PhysicAL (wire, cable, connector, port), DataLink (CRC, CS, Token), NetWork (Comm networks ), Transport (Err-protected raw infor), • Application-Oriented Protocols (5 7) : – Session (Opening, End), Presentation (Common Language) vµ Application (Read/Write, Start/Stop, FileTransfer) P&I-Ch2: Protocols 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 ý đặc biệt tới tín hiệu theo yêu cầu: ã Analog/Digital - discrete? ã Digi: trạng tháI vật, tợng format, ser/par, møc logic… • Ana: áp/dịng điện, dải đo, độ phân ly, thời gian tác động, độ xác, độ lặp ligia tri ã Thiết bị thông minh: Tùy cấp độ: gia desktop ES hay EM với device ã Hơn thiết bị? => bus/mạng hay không ? => dùng bit (trờng) địa - tùy mặt cắt P&I-Ch2: Protocols • NÕu dïng bus => Standard bus hay không (ISA, I2C, USB Hay bus chuẩn RS485)? ã IDE LPT - mode cables bus? sao? ã Khoảng cách: Xa /gần => Serial vs Parallel, có liên quan tốc độ ã Xa: Daisy chain cho t/h nguồn cấp ã Các tín hiệu điều khiển trạng thái: Control signals – Status signals – Handshaking signals - bắt tay P&I-Ch2: Protocols • Daisy chain: – Nối thiết bị có khoảng cách từ vài đến vài chục m, output port (module) thứ n nối với input n+1 Đặc biệt Field Buses, 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 2.1 Interface Protocols: 2.1.1 Signals: • VÝ dơ 1: PC-LPT handshaking: PC SLCT SLTC_in Line Printer LPT port H×nh 2.1.a LPT handshake Signal P&I-Ch2: Protocols 2.1 Interface Protocols: 2.1.1 Signals: • VÝ dơ 2: PC Comm-Modem handshaking - ch.5 Tuy nhiªn bắt tay ký tự, không dùng t/h RTS CTS PC Modem Comm or PC Port DTR DSR 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 2.1 Interface Protocols: 2.1.1 Signals: • T/c vật lý tín hiệu: hàm thời gian, mức áp/dịng • Direction: In/Out, ý chiều dịng điện • Voltage/Current/Optical/wave • Chú ý Input Voltage: -0.5V => +0.5V so với nguồn cấp Nếu dải áp lớn phải dùng diode bảo vệ Ví dụ hình ảnh • Mức điện áp: Mức áp? (TTL ? (transistor transistor logic- [0 0.8V/ 5V]) , 12V/ 24V/48V ) • Single End (đơn cực) vs Differential (vi sai) signals: • Single End signal: • Tín hiệu điện so với chuẩn, thường Gnd, ( Volt) • Ví dụ: Các tín hiệu bus (data, addr, control), Centronics port, RS232 ports • Có n tín hiệu => cần có n+1 dây dẫn • Nhạy cảm với nhiễu, tốc độ thấp so với chuẩn P&I-Ch2: Protocols • Differential Signal: Tín hiệu vi sai – N tín hiệu => n dây dẫn Ở phía thu: • (Va-Vb) > 100mV => logic 1, tùy thuộc chuẩn áp dụng • (Va-Vb) chịu nhiễu tốt phía thu: • Uin=k(Va-Vb) => thành phần giống loại bỏ – Khoảng cách lớn, tốc độ cao – IC: SN75176 TI ví dụ – Địa ứng dụng: USB cable, Profi Bus… P&I-Ch2: Protocols • Ví dụ đối chứng: – RS232: đơn cực, 9600bps dẫn xa 100 feet (33m) • Mouse, … ghép nối thiết bị PTN, test… • Profibus, USB, Ethernet dùng biến áp xung… • Có thể dùng dây khơng bọc kim P&I-Ch2: Protocols 10 • Khả phối hợp tải - dịng điện ra: (Fan Out, Loading): + Number of Standard/LS TTL loads, ý chiều dòng điện + Sink: dòng vào – LowLevel, (cỡ mA), + Source: dòng – HighLevel, mA/uA.(H 2.1.c) • Nối chung/ghép nối bus đơn giản: state (Hi Z), open collector (Open Drain), Mux – dồn kênh, Switch - khóa • Hot swap – hot plugible: Y/c Vcc t/h ( www.atmel.com ) • Cách ly (isolation): Relay, Opto Coupler, IrLED • Bus Slot, Connector, chuẩn, số chân (pin) P&I-Ch2: Protocols 11 P&I-Ch2: Protocols 12 H 2.1d Open Collector Nếu FET, so called Open Drain P&I-Ch2: Protocols 13 Sơ đồ cách ly quang học ®/v tÝn hiƯu In/Out: Hình 2.2 Opto Coupler P&I-Ch2: Protocols 14 Cable & Connectors: • Connectors: – D shell: DB9, DB25, – DIN, • Cable: • Flat, • Coaxial, • Shield: cho tín hiệu nguồn cấp (!) • Twisted Pair: Cat 5, Cat 6… • Normal: vi sai ã Optical Fiber Hình 2.3.a Connectors P&I-Ch2: Protocols 15 Hình 2.3.b Optical Connector & Sơ đồ: P&I-Ch2: Protocols 16 Hình 2.3.c Sợi cáp quang: P&I-Ch2: Protocols 17 2.1 Interface Protocols: 2.1.2 Format số liệu: ã Thông tin đợc định dạng theo: binary/hex (ASCII) - Ví dụ: số đo nhiệt độ 12bit, dảI giá trị đến 999oC Khi l−u CSDL, truyÒn tin: + binary: 12 bit ( 1,5 byte), tiÕt kiƯm bé nhí, thêi gian truyền + ASCII: characters, dễ quản trị: kiểm soát sai số, thị ã Lợng tin lớn => 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 phần: ã Header: [có thể có: tên tin, tên gãi, sè thø tù, ký tù b¾t tay, ký tù ®ång bé, sè ký tù/ byte 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 - byte ID field - byte ID CRC - gap - data field: 512 byte - byte CRC FTP, Kermit, X-Modem Protocols: 128[256] B/pack P&I-Ch2: Protocols 18 H×nh 2.3.d USB data packet format ã 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 frame: ã start bit = 0, ã 5/6/7/8 data bit, D0 first, • [parity: Even/ Odd], • / [1.5 / 2] stop bit = 1(s) P&I-Ch2: Protocols 19 2.1 Interface Protocols: 2.1.3 Tốc độ v khoảng cách trao đổi thông tin: ã Xut phỏt t: Nhu cầu trao đổi thông tin hệ (tốc độ khoảng cách) => chọn kiểu truyền thích hợp, có liên quan tới t/h: • Chỉ ”bottle-neck”, khắc phục => xuất hiện bottle neck, mức độ thấp hơn, • Phụ thuộc Khoảng cách - tích số (k/c 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 độ kbps/kBps? Ví dụ: LPT: SPP mode: 50 100kBps - software, ECP: MBps - DMA LAN Ethernet – IEEE 802.3: 10/100 Mbps dual speed RS232: 2400/ 4800/ 9600/ 19200 bps P&I-Ch2: Protocols 20 10 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 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 tất ký tự, byte Kết có thể: byte wo carry, phép XOR, byte w/wo lấy bù (ví dụ BIOS ROM Ext BIOS started @ chẵn 2K, ô đầu mã 55h AAh, độ dài mảng ROM BIOS tính theo kiểu 1count – 512 byte; checksum bù cho tổng tất byte mã checksum zero) - CRC, ECC, vi mạch/ software - subroutine - Parity, chiều - Redundancy (RAID), thừa dư: trao đổi nội dung số liệu lần so sánh Case study: Barcode Phương pháp mã hóa, giải mã kiểm tra 21 lỗi P&I-Ch2: Protocols 2.1.4 Kiểm tra, sửa lỗi, nâng cao độ tin cËy: • Bar Code: EAN 13, CODE 39 (Intermec), CODE 128 (Zebra), UPC • Case study: EAN 13 (European article numbering) - Encoding: AAA BBBBB CCCC D; độ dày vạch, 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 • CODE 128, Zebra, check sum modulo 103 P&I-Ch2: Protocols 22 11 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 lệnh (command set) thông tin trả (response set) • Các câu lệnh phần mềm => bớt tín hiệu cổng phần cứng • Tập hợp yêu cầu từ CS - command set, • Tập hợp 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 23 2.1 Interface Protocols: 2.1.5 Command & Response (Result) set: Case Studies: lệnh AT 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 lệnh thiết bị chuyên dùng: GPS, Gyrocompass, Digital Oscilloscope, SAGEM, TelSat, Programmer (Hi-Lo System All-11P2) P&I-Ch2: Protocols 24 12 2.1 Interface Protocols: 2.1.5 Command & Response (Result) set: command/response - mã bắt đầu ký tự riêng @ / # / $/ AT - mã lệnh, bytes/ char, - tham số lệnh, 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 mã (ký tự) đối thoại/ reaction, [dùng] ký tự điều khiển ASCII như: ENQ, ACK, NACK, Bell, OK, ERR, BUSY P&I-Ch2: Protocols 25 2.1 Interface Protocols: 2.1.6 Kịch đối thoại Scenario: ã Lit kờ cỏc trường hợp áp phép xử lý tương ứng để đảm bảo việc ghép nối: không tin, thừa tin, quẩn, treo • Thường xây dựng: Step List Chart: • Time Out ! Master ENQ Slave ACK NAK nothing Hinh 2.4 Scenario Chart P&I-Ch2: Protocols 26 13 H×nh 2.5 USB Interlayer Interconnection Model P&I-Ch2: Protocols 27 2.2 Phân miền lệnh I/O: 2.2.1 IO Mapping: Hình 2.6 Phân miền cổng I/O P&I-Ch2: Protocols 28 14 Memory Mapped IOs: o IOs chung víi Mem MemSpace => chiÕm vïng nhí, tốn vùng nhớ o CPU xử lý cổng IO 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 lƯnh: IN OUT ã x86 CPUs IO map: IO mapped IOs, 16 Addr bit IO => 64Kilo IO locations PC’s IO map: o IO Mapped IOs, P&I-Ch2: Protocols 29 2.2.2 Lệnh In/Out: (x86) : ã Lệnh IN OUT: dïng c¸c ghi Accumulator: bit: AL, 16 bit: AX 32 bit: EAX ã Chế độ địa chỉ: o Direct: for IO space: 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 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 port in al,dx ; P&I-Ch2: Protocols 30 15 Phụ lục PC’s I/O Port Map Port (hex) 000-00F 020-02F 040-05F 060-06F 070-071 080-083 Port Assignments DMA Controller, đkh truy nhập trực tiếp 1, kênh bit Master PIC 8259A, ưu tiên ngắt 1, IRQ0 – IRQ7 PIT, Programmable Interval Timer Keyboard Port, Real Time Clock 64 byte CMOS-RAM DMA Page Register, giữ địa cao P&I-Ch2: Protocols 0A0-0AF 0C0-0CF 0E0-0EF 110-16F 170-17F 180-1EF 1F0-1FF 200-20F 31 PIC #2, Bộ đkh ưu tiên ngắt số 2, IRQ8 – IRQ15 DMAC #2, kênh DRQ 16 bit reserved, để dành AVAILABLE, để dành Hard Drive (AT) AVAILABLE Hard Drive (AT) Game Adapter P&I-Ch2: Protocols 32 16 210-217 220-26F 278-27F 280-2A1 2A2-2A3 2B0-2DF 2E2-2E3 2E8-2EF 2F0-2F7 2F8-2FF 300-31F 320-32F Expansion Card Ports AVAILABLE Parallel Port 2/ LPT2 AVAILABLE clock EGA/Video Data Acquisition Adapter (AT) Serial Port COM4 Reserved Serial Port COM2 Prototype Adapter, cho người dùng phát triển AVAILABLE P&I-Ch2: Protocols 340-35F 360-36F 370-377 378-37F 380-38F 390-39F 3A0-3AF 3B0-3BF 3BC-3BF 33 AVAILABLE Network, LAN adaptor Floppy Disk Controller Parallel Port 1, LPT1 SDLC Adapter Cluster Adapter reserved Monochrome Adapter Parallel Port P&I-Ch2: Protocols 34 17 3C0-3CF 3D0-3DF 3E8-3EF 3F0-3F7 3F8-3FF EGA/VGA Color Graphics Adapter Serial Port COM3 Floppy Disk Controller Serial Port COM1 • Soundblaster cards usually use I/O ports 220-22F • Data acquisition cards frequently use 300-31F P&I-Ch2: Protocols 35 Bài tập chơng 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 máy tÝnh (LPT/ Comm) P&I-Ch2: Protocols 36 18 .. . P&I-Ch2: Protocols 32 16 21 0 -21 7 22 0 -26 F 27 8 -27 F 28 0-2A1 2A2-2A3 2B0-2DF 2E2-2E3 2E8-2EF 2F0-2F7 2F8-2FF 300-31F 320 -32F Expansion Card Ports AVAILABLE Parallel Port 2/ LPT2 AVAILABLE clock EGA/Video .. . Hinh 2. 4 Scenario Chart P&I-Ch2: Protocols 26 13 H×nh 2. 5 USB Interlayer Interconnection Model P&I-Ch2: Protocols 27 2. 2 Phân miền lệnh I/O: 2. 2 .1 IO Mapping: Hình 2. 6 Phân miền cổng I/O P&I-Ch2 :.. . P&I-Ch2: Protocols 15 Hình 2. 3 .b Optical Connector & Sơ đồ: P&I-Ch2: Protocols 16 Hình 2. 3 .c Sợi cáp quang: P&I-Ch2: Protocols 17 2. 1 Interface Protocols: 2. 1 .2 Format số liệu: ã Thông tin đợc định