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 do Bùi Quốc Anh biên soạn sẽ giới thiệu tới các bạn các giao thức ghép nối; đặc điểm lập trình I/O.
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 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: Hơn thiết bị? => bus/mạng hay không ? => dùng bit (trờng) địa chØ NÕu dïng bus => Standard bus hay kh«ng? IDE vμ LPT-mode cables lμ bus? t¹i sao? Data: Xa /gÇn, nhanh/chËm => Serial vs Parallel 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, đầu port (module) thứ n nối với đầu vào n+1 – Dùng cho tín hiệu (// & nt), nguồn cung cấp, handshake 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: RTS CTS PC Comm Port Modem or PC 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: - Direction: In/Out, Input voltage: -0.5V to Vcc +0.5V - 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 - Khả tải - dòng điện ra: (Fan Out, Loading): + Number of Standard/LS TTL loads, + 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 P&I-Ch2: Protocols Sơ đồ cách ly quang học đ/v tín hiệu In/Out: Hỡnh 2.2 Opto Coupler P&I-Ch2: Protocols Cable & Connectors: • Connectors: – D shell: DB9, DB25, – DIN, • Cable: • Flat, • Coaxial, • Shield, • Twisted Pair • Normal ã Optical Fiber Hình 2.3.a Connectors P&I-Ch2: Protocols 10 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 • 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 17 2.1 Interface Protocols: 2.1.5 Command & Response (Result/Reaction) set: 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) Dùng phần mềm để xử lý => bớt tín hiệu ã 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 Các câu lệnh trả lời có syntax riêng (cấu trúc ngữ pháp) P&I-Ch2: Protocols 18 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 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 19 2.1 Interface Protocols: 2.1.5 Command & Response (Result) set: command/response th−êng cã cÊu tróc: o m bắt đầu ký tự riêng nh @ / # / $/ AT o m∙ lÖnh, bytes/ char, o tham sè lÖnh, n bytes, o m kiểm tra lỗi check sum, CRC (dễ xử lý) o m∙ kÕt thóc, ký tù riªng Cã thªm 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 20 2.1 Interface Protocols: 2.1.6 Kịch đối thoại Scenario: Liệt kê trờng hợp áp Master 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 hc Chart: Time Out ! ENQ Slave ACK NAK nothing Hinh 2.4 Scenario Chart P&I-Ch2: Protocols 21 H×nh 2.5 USB Interlayer Interconnection Model P&I-Ch2: Protocols 22 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 23 ã 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¸c 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 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 => kilo IO locations Soi gương – 1st kilo Mirrored với 63 kilo lại, Mỗi IO port chiếm nhiều địa (nh PIC, PIT, PPI ) • => thiÕu IO space SÏ dïng thªm kiĨu Mem Mapped IOs P&I-Ch2: Protocols 24 2.2.2 LÖnh In/Out: (x86) : ã Lệnh IN OUT: dùng ghi Accumulator: bit: AL, 16 bit: AX vµ 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 25 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 Timẻ Keyboard Port, Real Time Clock 64 byte CMOS-RAM DMA Page Register, giữ địa cao P&I-Ch2: Protocols 26 0A0-0AF 0C0-0CF 0E0-0EF 110-16F 170-17F 180-1EF 1F0-1FF 200-20F 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 27 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 28 340-35F 360-36F 370-377 378-37F 380-38F 390-39F 3A0-3AF 3B0-3BF 3BC-3BF AVAILABLE Network, LAN adaptor Floppy Disk Controller Parallel Port 1, LPT1 SDLC Adapter Cluster Adapter reserved Monochrome Adapter Parallel Port P&I-Ch2: Protocols 29 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 30 Bài tập chơng 2.1 Tham khảo 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 31 ... P&I-Ch2: Protocols 27 21 0 -2 1 7 22 0 -2 6 F 27 8 -2 7 F 28 0-2 A1 2A 2-2 A3 2B 0-2 DF 2E 2-2 E3 2E 8-2 EF 2F 0-2 F7 2F 8-2 FF 30 0-3 1F 320 -3 2F Expansion Card Ports AVAILABLE Parallel Port 2/ LPT2 AVAILABLE clock EGA/Video... byte CMOS-RAM DMA Page Register, giữ địa cao P&I-Ch2: Protocols 26 0A 0-0 AF 0C 0-0 CF 0E 0-0 EF 11 0-1 6F 17 0-1 7F 18 0-1 EF 1F 0-1 FF 20 0 -2 0 F PIC #2, Bộ đkh ưu tiên ngắt số 2, IRQ8 – IRQ15 DMAC #2, kênh... Hinh 2. 4 Scenario Chart P&I-Ch2: Protocols 21 H×nh 2. 5 USB Interlayer Interconnection Model P&I-Ch2: Protocols 22 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: