28
Page 1 of 56 Môn hc Thiết bngoi vi và kthut ghép ni (Peripherals & Interfacing Technique) Giáo viên: Bùi Quc Anh, Bmôn Kthut Máy tính Introduction: The purpose of this course is to provide student with technical knowledge of each major subsystem of Interface, including processors, memories, IO bus,... especially Nonstandard zed Input Output via ports and applies to industry architectures across a wide range of hardware vendors This document could contain technical inaccuracies or typographical errors. Author believes the statements contained herein are accurate as of the date of editing of this doc. However, the Author makes no warranty of any kind with respect to the accuracy of the contents hereof. Tài liu tham kho: Publications: - Microprocessor Interfacing techniques, R. Zaks & A. Lease, Sybex - Micro Processor and Interfacing, D. Hall, McGraw Hill; - IBM PC AT Technical Reference (Buses, Ports), IBM; - Introduction to the PC Architecture Course, IBM PC Institute, 1997 - Interfacing to IBM PC – L. C. Eggebrecht, IBM Corp. - Parallel Port Complete, J.Axelson, LakeViewResearch. - Mastering Serial Communication, P.W. Gofton, Sybex. - PC Intern (System Programming), M. Tischer, Abacus. - Programming & Interfacing the 8051 MC, S. Yeralan, Addison-Wesley - ... Software: - TechHelp Ver. 4.0 / 6.0 - MSDN, Online Help. - Design tools: OrCAD, Protel, Cadence... - Programming Languages (C, Pascal, MASM, C++, VB, Delphi, VC++...) - . . . . Websites, .pdf files: - IBM, Microsoft, Intel, Motorola ... - ATMEL: atmel.com/product/microcontrollers 89Cxx (51/52/2051/8252, AVR - RISC, MSC51)... - National Semiconductor: ns.com/products: ADC 0809, DAC0800/1210, S&H LM198)... - INTERSIL: intersil.com/products/ICL7109, 7135... - Analog Devices Inc.: adi.com/products/adc, S&H...: AD574, AD1674 - USB: usb.org (pdf files for version 1.x & 2.x) - Cypress – EZ USB, Developing Kit... - ... Interfacing? Page 2 of 56 1. Hardware 2. Software: Device Drivers: SLLs, DLLs, DRVs, VxDs, DCUs,... CPU, Mem, Bus, Controlle rs, ... Wide world Computerized Dev: KB, Printer, Scanner, Mouse Specific Devices: HDD, CRT, ... Industry Objects: Scale, Furnace, GenSet, Tanks,... Adaptor Ports Controllers HDC, CRTC ADC, DAC Central Sys.

Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Embed Size (px)

Citation preview

Page 1: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 1 of 56

Môn học Thiết bị ngoại vi và kỹ thuật ghép nối

(Peripherals & Interfacing Technique) Giáo viên: Bùi Quốc Anh, Bộ môn Kỹ thuật Máy tính

• Introduction: The purpose of this course is to provide student with technical knowledge of each major subsystem of Interface, including processors, memories, IO bus,... especially Nonstandard zed Input Output via ports and applies to industry architectures across a wide range of hardware vendors

• This document could contain technical inaccuracies or typographical errors. Author believes the statements contained herein are accurate as of the date of editing of this doc. However, the Author makes no warranty of any kind with respect to the accuracy of the contents hereof.

Tài liệu tham khảo: Publications:

- Microprocessor Interfacing techniques, R. Zaks & A. Lease, Sybex - Micro Processor and Interfacing, D. Hall, McGraw Hill; - IBM PC AT Technical Reference (Buses, Ports), IBM; - Introduction to the PC Architecture Course, IBM PC Institute, 1997 - Interfacing to IBM PC – L. C. Eggebrecht, IBM Corp. - Parallel Port Complete, J.Axelson, LakeViewResearch. - Mastering Serial Communication, P.W. Gofton, Sybex. - PC Intern (System Programming), M. Tischer, Abacus. - Programming & Interfacing the 8051 MC, S. Yeralan, Addison-Wesley - ...

Software: - TechHelp Ver. 4.0 / 6.0 - MSDN, Online Help. - Design tools: OrCAD, Protel, Cadence... - Programming Languages (C, Pascal, MASM, C++, VB, Delphi, VC++...) - . . . .

Websites, .pdf files: - IBM, Microsoft, Intel, Motorola ... - ATMEL: atmel.com/product/microcontrollers 89Cxx (51/52/2051/8252, AVR - RISC, MSC51)... - National Semiconductor: ns.com/products: ADC 0809, DAC0800/1210, S&H LM198)... - INTERSIL: intersil.com/products/ICL7109, 7135... - Analog Devices Inc.: adi.com/products/adc, S&H...: AD574, AD1674 - USB: usb.org (pdf files for version 1.x & 2.x) - Cypress – EZ USB, Developing Kit... - ...

Interfacing?

Page 2 of 56

1. Hardware

2. Software: Device Drivers: SLLs, DLLs, DRVs, VxDs, DCUs,...

CPU, Mem, Bus, Controllers, ...

Wide world

Computerized Dev: KB, Printer, Scanner, Mouse

Specific Devices: HDD, CRT, ...

Industry Objects: Scale, Furnace, GenSet, Tanks,...

Adaptor

Ports

Controllers HDC, CRTC

ADC, DAC

Central Sys.

Page 2: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 3 of 56

Chương.1 Kiến trúc hệ VXL – MT § Kiến trúc thiết bị hệ kinh điển, § Kiến trúc hệ máy tính ‘Hi Performance’ § Hoạt động của hệ thống.

1.1. Kiến trúc Hệ VXL, Máy tính kinh điển – Embedded systems 1.1.1. Sơ đồ: 3 phần: - CS, - Ngoại vi & - Interface

1.1.1. a. Central Sub System – CS: + CPU: Central Processing Unit:

• Khái niệm: Là bộ điều khiển trung tâm, thực hiện công việc được giao đặt trong bộ nhớ chương trình bằng cách thực hiện các phép xử lý lên các biến nhị phân và điều khiển thiết bị ngoại vi.

• Công việc bao gồm: – Tìm lệnh, giải mã lệnh, [tìm toán hạng, xử lý và cất kết quả], – In/Out với các port kiểu Interrupt và DMA để điều khiển thiết bị ngoại vi.

Đặc trưng – Specifications: • Kích thước toán hạng (bit): 4, 8, 12, 16, 32, 64... • Tốc độ xử lý: Mips, clock multiplier, • Kiến trúc: RISC vs CISC, DSP, Micro Controller... • Pinning/Signalling (Data/Address - Mux, Control bus, IRQ, HRQ, RD/WR...), • Register set, • Instruction set – Addressing Modes, • Power: Slow/ sleep/ power down modes • ...

Memories (Semiconductor): K/n & ROM: Khái niệm:

• Lưu thông tin (ch/tr và số liệu) dạng nhị phân, • Dung lượng lớn (upto 100s Mega bit), tốc độ truy nhập nhanh (downto ns access time).

Physically: tính chất vật lý như thế nào? – ROMs: gồm Mask ROM, PROM, EPROM, EAROM, OTROM, NonVolatile mem, ...

• Là bộ nhớ chỉ đọc, vẫn lưu thông tin khi mất điện, • Package : byte • Access time:100..120ns • Ghi/nạp nội dung: T/bị chuyên dùng (ROM Burner/Programmator)

Memories (Semiconductor): SRAM RAMs:

• Lưu thông tin tạm thời, không lưu được khi mất điện, đọc và ghi được, [Read/Write Mem].

Page 4 of 56

– Static RAM: • nhanh (80..3 ns), • byte/nibble package, • mật độ byte/chip nhỏ (upto 64/256 KB/ chip), • đắt, tiêu thụ công suất nhiều, • CMOS RAM: chậm và tiêu thụ cực ít, less µW. Vdụ: MC 146818 RealTimeClock-

CMOS RAM • Dùng trong các hệ nhỏ, cache memory.

Memories (Semiconductor): DRAM Dynamic RAM: DRAM:

§ Tốc độ/Access time (50-70ns), [10..20ns] Pre-fetched § Mật độ bit/chip >> (1 Gbit/chip – 1996, Korea), § bit package => DRAM bank, § Tiêu thụ công suất nhỏ. § Thông tin chỉ lưu được 10ms => refreshing DRAM với chu kỳ @ 7,5ms => phức tạp. § Dùng trong các hệ có dung lượng nhớ lớn: máy tính, máy chủ...

Memories (Semiconductor): FLASH & Others Flash memory: EAROM typed, đưọc đợc, xoá từng bank, ghi lại được từng byte. Thông tin lưu được 20 năm, dùng nhiều hiện nay và tương lai: BIOS, diskchip... Serial EAROM/FLASH: dùng để lưu configuration, dùng bus I2C (Philips). Ví dụ ứng dụng : thẻ vi mạch, TV, ... Dual [Quad] Ported RAM: Switching Sys., PGA RAM-DAC: VGA, VoiceChip PCMCIA .... Memories (Semiconductor): Logically: Bộ nhớ chứa thông tin gì? § Program memory:

§ chứa ch/tr đang được thực hiện § Data memory:

§ các biến ngẫu nhiên, § biến có cấu trúc, § số liệu có kiểu truy nhập đặc biệt FIFO, LIFO (Stack memory).

+ Controllers: [Optional], vi mạch, nâng hiệu năng (performance) hệ thống, bao gồm: Bộ điều khiển ưu tiên ngắt PIC – Priority Interrupt Controller, Intel 8259A § Bộ điều khiển truy nhập trực tiếp bộ nhớ DMAC – Direct memory Access Controller, Intel 8237A. § Timer: mạch tạo các khoảng thời gian, PIT- Programmable Interval Timer, Intel 8254. § Mạch quản trị nhớ: MMU- Memory Management Unit, sau này, thường đợc built on chip với CPU. § Bus controller/Arbitor § ...

Bus System: K/n & Addr bus

• PCB (Printed Circuit Board)/ Cable (Twisted pairs, flat..), slot, connector... • Nối hơn 1 slave device, time sharing • Thông tin: Address, data, control, status, Power Supply • Chiều (dir), 3 state (Hi Z), Loading

ADDRESS BUS: – Từ các BusMaster (CPU, DMAC, PCI host Controller) đến SlaveDevices (Mem, Ports) để chọn/

chỏ từng IO/ Mem location trong từng chu kỳ bus – n Addr bit è 2n Mem Locations & 2m IO Locations, m<n

Bus System: Data bus § Data bus:

§ Số bit (thường) phù hợp với kích thước ALU (8/16/32/64 bit)

Page 3: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 5 of 56

§ Chuyển Op-code (mã lệnh) trong chu kỳ máy M1, - CPU <= Program Memory, trong các bus cycle M1

§ Vận chuyển data: - CPU <=> Data memory, - CPU <=> IO Ports và - Data Memory <=> IO Ports, DMA. Bus System: Control/Status bus:

§ gồm các tín hiệu: § Control/ Response: CPU to Others (MEMR, MEMW, IOR, IOW, INTA, HLDA, BHE...),

from CPU § Status/Request to CPU: IRQ, HRQ, Ready, ... to CPU

Bus System: Power Supply: § +5V ±5%, 10 đến 20 Amp, cấp cho các Vi mạch số, RedWire. (3.3V and less) § Ground, Gnd, 0V, signal reference ground, chassis, BlackWire. § +12V ±10%, 1Amp, cấp cho các mạch analog, motors, RS232, YellowWire. § -12V ± 10%, 1Amp, (nh trên), BlueWire. § - 5 V±5%, 0.5 Amp, analog circuitries, WhiteWire. § Power good: OrangeWire.

Nguồn thông minh: AXT 1.1.1.b. Thiết bị Ngoại vi: Data Input Devices:

- Key board/ Key pad, Touch SCR: số phím, công nghệ phím, kiểu dò phím, output code, ghép nối CS - Mouse, track ball - Scanner, Camera, Camcoder: Colors, resolution, f, công nghệ CCD - Charge Couple Device, graphics

file bmp - Digitizer, nhập graphics file vector - bản đồ - Light Pen, Joy stick (Games) - Demodulator (MODEM): Kiểu điều chế, tốc độ bps, kiểu nén - Microphone, - Barcode reader: máy đọc mã vạch Laser/ LED, - Sensor, Transducers, Transmitters: Vật liệu, thiết bị, độ nhậy, độ tuyến tính, dải đo...

1.1.1.b. T/bị Ngoại vi: Data Output Devices:

- Displays: Kiểu hiển thị: Point/ 7Seg/ Text/ Graphics; Mono Chrome/Color (color numbers); Size, Resolution, Rate of Refreshing...

- Công nghệ: - LED (Light Emitting Diodes): point, 7(16) Segment, Matrix character box (Bill Board), Outdoor

LED Screen... - LCD (Liquid Crystal Display): single color, color, active, TFT (thin film transistor)... - Organic LED (Preliminary), - CRT (Cathode Ray Tube).

- Printers: - Spec: Text-Graphics, Mono-Color, Resolution, ppm – page per minute, Size, Line-PostScript,

media... : - Pin Printer, - Jet Printer, - Laser Printer, - Thermal Transfer Printer, barcode Printer. - High Speed Text Printer, - ...

1.1.1.b. T/bị Ngoại vi: Data Output Devices: Others - Plotter, jet - Modulator (MODEM) - Speaker - Actuator: Motor (dc/ac, Step), Relay, Valve,

Page 6 of 56

1.1.1.b. T/bị Ngoại vi: Data Massive Storages:

- Magnetic devices: FDD, HDD, RAID, Tape backup drive... - Optical devices: CD [Writer] Drives, Magnetic Optic disk drive... - Semiconductor devices: FlashChip, PCMCIA Card...

1.1.1.c. Interface: Lý do: khác nhau:

- Tín hiệu (dòng, áp), - Tốc độ làm việc/tốc độ trao đổi số liệu, - Không đồng bộ...

Nên cần có mạch điện tử để thích ứng hoá (Adapting) và ch/tr điều khiển, gồm: - Thiết bị (Hardware Circuitries), so called Adaptors:

- Input/Output Ports: (Parallel/Serial): ghep nối với Computerized devices (KB, Printer, Mouse, Scanner, Modem...)

- Controllers: để ghép nối với những thiết bị chuyên dùng FDC, HDC (IDE, EIDE), CRTC (EGA, VGA, SVGA...)

- Converter: để chuyển đổi tín hiệu số thành tương tự và ngược lại: ADC, DAC 1.1.1.c. Interface: Ch/tr điều khiển – Device Driver: - K/n: Hardware or Software? - để liên kết System Programs and/or Application Programs với IO hardware (SPIs và APIs). Các hàm của thiết bị, BIOS, OS hoặc theo ứng dụng: SLLs, DLLs, DRVs, ... 1.1.2. Kiến trúc máy tính hiệu năng cao - hi performance architecture

1.1.2. Hi-Per. Architecture: 1.1.2.a. Local Buses: Ví dụ VESA VL-Bus 2.0 [late 1993], Memory [1985]. Also called system/host/processor bus. Chỉ liên kết CPU, MMU (Cache & DRAM) và PCI Host [Bridge], ít, gần, unbuffered (direct connected to Processor); 33, 66, 100, 133, 200, 400, 800 MHz... clock. 32 bit A/D (16 bit support also), burst mode, max 132 MBps,

Page 4: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 7 of 56

H.1.3. Ví dụ burst mode

1.1.2.b. Hi Speed Bus:

- Peripheral Component Interconnect – PCI - 5/1993, Intel Ver. 2.0, Open Standard, - Local bus, mức trung gian giữa Local và các bus chuẩn khác (ISA, MC, EISA) thông qua PIC

Bridge/Controller. - Có kiểm tra parity cho Addr và Data - Auto configuration of all PCI devices, share the same IRQ. Disabling IRQ => cấm toàn bộ PCI devices. - No DMA, device on PCI bus là bus master (Tốt cho việc dùng MultiTasking OS). - Burst mode: 32 bit @33MHz --> 96..132MBps, tuỳ thuộc số byte (từ 32 byte đến 4KB). Option 64bit @33MHz --> 264MBps - Most Platforms use:Intel, DEC Alpha, PowerPC, Spark - Modern OS: ‘Block Typed Devices’: tần suất vận chuyển cao, nhanh, data block

1.1.2.c. Expansion Bus: So called: standard buses, expansion bus, slots, IO bus, IO system, channel bus): ISA, EISA, MC...

- MC bus: 32 bit, 10MHz, 20..40MBps, 15 BusMaster, Auto config, 1987, IBM - EISA bus: 32 bit, 8MHz, 33MBps, 4 BMs, AutoConfig (EISA card only), 1989, Compaq - ISA (Industry Standard Architecture), AT bus: - Spec. 8/16 bit (data), 8MHz, 5MBps max, 1 BM, no PnP, 1984, IBM. - Rất phổ biến, còn tồn tại lâu, Espec. @ iPC, - Hạn chế số IRQs, 4 DRQs, - Dùng DIP switch/jumper để config. - No data integrity features (no party checking) - Modern OS: ‘Character Typed Devices’

1.2. Hoạt động của hệ thống: § Reset, § Opcode fetch and Execute, § Interrupt, § DMA & § Ready (wait state - ws)

1.2.1. Lưu đồ tổng quát:

Addr D0 D1 D2 D3 D4 (data 4 byte)

Page 8 of 56

1.2.2. Reset :

• Cold Start: Nút reset/Power-On =>Xoá trạng thái hiện hành, cấm ngắt, DMA. CPU được khởi tạo (PC-Program Counter (IP), Flags và SP...). Thường các thiết bị trong hệ cùng được reset.

(Sau khi reset, CPU sẽ tìm và t/h lệnh – với các thủ tục sau) • Warm Start: do lệnh gọi, (Int 19h, Ctrl_Alt_Del) • POST (Power On Self Test – ch/tr monitor/ BIOS) để kiểm tra mọi thiết bị theo nguyên tắc ghi và đọc

lại (Registers, RAM) hoặc đọc và kiểm tra Check Sum (ROM). • Initializing: đặt các tham số => configuring. • [Máy tính - Nạp hệ điều hành ].

1.2.3. DMA: (Xem Ch. 3.2.) 1.2.4. Interrupt: (Xem Ch. 3.3.) 1.2.5. Tìm và thực hiện lệnh : Diễn ra chủ yếu trong thời gian hoạt động. Ch/tr ngôn ngữ máy: tập hợp các lệnh có cấu trúc, có nghĩa, thực hiện 1 thuật toán. Chu kỳ lệnh (Instruction Cycle): Khoảng thời gian CPU thực hiện xong 1 lệnh, gồm: tìm lệnh, giải mã lệnh, [tìm toán hạng và thực hiện lệnh (thực hiện các phép xử lý hoặc vào-ra)]. độ dài lệnh: 1 hay nhiều byte, CISC Thời gian t/h: 1 hay nhiều chu kỳ máy (chu kỳ bus). Chu kỳ máy (Bus/Machine Cycle): thời gian BusMaster thực hiện thao tác trên bus. Clock cycle: Chu kỳ máy: 4..12 chu kỳ clock, tuỳ CPU. 1.2.5.1. Hoạt động của hệ thống: Có 8 CPU’s BusCycles:

• M1, opcode fetching, Addr =>Program mem, -MEMR • Data mem Reading, Addr=>Data mem, -MEMR • Data mem Writing, Addr=>Data mem, -MEMW • Input Port Reading, Addr=> IO space, -IOR • Out Port Writing, Addr => IO space, -IOW • Interrupt Acknowledge, -INTA, • Halt, waiting for Ext. Intr. hoặc reset • Bus Idle • 2 DMAC’s bus (machine) cycles: IOR-MemW vµ MemR-IOW.

1.2.6. Wait State (Ready):

reset

ProgCounter = ResetAddr/vector

DMA?

IRQ?

DMA? Machine On Halt

OpCode Fetch

OpCodeDecode

Execute

PC = Intr. Vector

MaskOn

n

n

n

n

Hình 1.3. Lưu đồ tổng quát của VXL (Motorola), Training courses

y

y

y y

Page 5: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 9 of 56

• Thường dùng để ghép nối: bộ nhớ, ngoại vi tốc độ chậm. • Hoạt động Khi BusMaster phát địa chỉ & tín hiệu đọc/ghi (thêm các tín hiệu khác) để thực hiện 1 chu kỳ

bus, MMU/IO port [Controller] chủ động phát ra tín hiệu Ready=0 (not Ready) để yêu cầu BusMaster giữ nguyên trạng thái bus thêm 1 [vài] nhịp clock.

Case Study: IOW bus cycles w/o and w 1 wait state:

Page 10 of 56

Chương. 2 Giao thức ghép nối (Interfacing Protocols) - Giao thức ghép nối - Đặc điểm lập trình I/O 2.1. Interface Protocols:

• K/n: Là các qui định: Signals - 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 (Siemens) :

• Transport-Oriented Protocols (1..4) (!!!) • PhysicAL (wire, cable, connector), 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)

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:

• bus hay không? => có dùng bit (trường) địa chỉ, Standard bus? ?: IDE và LPT cable có phải là bus? tại sao?

• Data: Serial vs Parallel Interface, format? • 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

Ví dụ 1: PC-LPT handshaking:

Hình 2.1.a.LPT handshake Signal

• Phương pháp biến đổi tín hiệu: biên, tần, pha, dòng, quang (cáp quang, Ir)

Ví dụ 2: PC Comm-Modem handshaking:

Hình 2.1.b. CommPort Handshake Signals

T/c vật lý của tín hiệu: § Mức điện áp: Voltage ? (TTL, 12V/ 24V/48V...) In/Out, Single End vs Differential (vi sai)

PC LPT port

Line Printer

SLCT SLTC_in

RTS CTS DTR DSR

PC 1

Comm Port

Modem or PC 2 Comm Port

Page 6: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 11 of 56

§ Mức dòng điện: (Fan Out, Loading): - Number of Standard TTL/ LS TTL loads, - Sink: dòng chảy vào – LowLevel, mA, - Source: dòng chảy ra – HighLevel, mA/µA. (H. 2.1.c)

Nối chung các tín hiệu ra: 3 state, open collector, (Open Drain), Mux - dồn kênh, Switch - khóa. Hot swap – hot plugible: Y/c Vcc và t/h Cách ly (isolation): Relay, Opto Coupler, IrLED... Bus Slot, Connector, chuẩn, số chân (pin)

Sơ đồ cách ly quang học đ/v tín hiệu In/Out:

Cable & Connectors:

• Connectors: – D shell: DB9, DB25,... – DIN,

• Cable: – Flat, – Coaxial, – Shield, – Twisted Pair – Normal – Optical Fiber...

Hình 2.3.a. Connectors

Page 12 of 56

Hình 2.3.b. Optical Connector & Sơ đồ:

Hình 2.3.c. Sợi cáp quang:

2.1.2. Format số liệu: Đối với file/text: số liệu nhiều => 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.

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 1 frame:

Page 7: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 13 of 56

- 1 start bit = 0, - 5/6/7/8 data bit, D0 first, - [parity: Even/ Odd], - 1 / [1.5 / 2] stop bit = 1(s). 2.1.3. Tốc độ trao đổi thông tin: Xuất phát từ: Nhu cầu trao đổi thông tin của T/b ngoại vi (nhanh như LED Board, ADC..), => chọn môi trường truyền thích hợp, có liên quan tới t/h: Xem Bottle-neck? Khoảng cách - tích số k/c và tốc độ => Song song (Word/ Byte/ nibble)/ nối tiếp (bit) Môi trường, đường truyền (cáp đồng, quang, wireless (radio, infrared) Synchronous/Asynchronous? Modulation/Demodulation ... => tốc độ bao nhiêu kbps/kBps, tốc độ chuẩn? 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 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, • CRC, ECC,... vi mạch/ software - subroutine • Parity, 1 hoặc 2 chiều • Redundancy (RAID), thừa dl, 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

Bar Code: EAN 13, CODE 39 (Intermec), CODE 128 (Zebra), UPC ... • 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.5. Command & Response (Result/Reaction) set: 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). Dùng phần mềm để xử lý => bớt tín hiệu.

o Tập hợp các yêu cầu từ CS - command set, o Tập hợp các trả lời, trạng thái - result/response/ reaction set.

Các câu lệnh và trả lời có syntax riêng (cấu trúc và ngữ pháp). 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)... Một command/response thường có cấu trúc: o mã bắt đầu ký tự riêng nh @ / # / $/ AT... o mã lệnh, 1..3 bytes/ char, o tham số lệnh, 1... 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.

Page 14 of 56

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 ... 2.1.6. Kịch bản đối thoại – 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... Thường xây dựng: Step List hoặc Chart: Time Out !

Hình 2.4. Scenario Chart

Hình 2.5. USB Interlayer Interconnection Model

2.2.1. IO Mapping:

Hình 2.6. Phân miền các cổng I/O

- 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...):

Master ENQ Slave ACK

NAK

nothing

Page 8: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 15 of 56

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. 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;

Page 16 of 56

Chương 3. Các phương pháp trao đổi thông tin • Polling - Thăm dò • Interrupt - ngắt & • DMA - truy nhập trực tiếp mem - IO 3.1. Phương pháp thăm dò (polling) • K/n Polling: Dùng phần mềm để kiểm tra các cờ trạng thái @ IO Ports => quyết định trao đổi số liệu hay

không. – Nhanh, đơn giản, hay dùng trong các hệ nhỏ hoặc đơn nhiệm – ít thiết bị IO, – Không phù hợp với ‘đa nhiệm’

Lưu đồ tổng quát:

3.2. Phương pháp ngắt (Interrupt): 3.2.1. Khái niệm

Polling

Device #1 Y Request ? N

Device #2 Y Request ? N

Device #n Y Request ? N

Device #1 Service Routine

Device #2 Service Routine

Device #n Service Routine

Quit

Hình 3.1. Lưu đồ PP IO interface polling

Page 9: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 17 of 56

Khi CPU đang thực hiện CTC, đến dòng lệnh thứ n, ngẫu nhiên, ngoại vi thứ i xin phục vụ bằng cách phát

ra tín hiệu IRQ(i) (Interrupt Request) đến CPU. Nói chung, CPU sẽ ngừng xử lý CTC và cất ngữ cảnh vào Stack Mem, rồi tìm địa chỉ của ctc phục vụ

ngắt tương ứng (Interrupt Service Routine - ISR) để thực hiện. Sau khi thực hiện xong ISR, gặp lệnh iret (reti...), CPU khôi phục lại ngữ cảnh của CTC và tiếp tục thực

hiện. Đặc điểm:

• Là phương pháp Vào/ra kết hợp tín hiệu và phần mềm, để thực hiện đa nhiệm. • Khái niệm ngắt: CTC bị dừng xử lý để gọi ctc • Là chế độ hoạt động riêng cho các Vi xử lý/ máy tính kiểu ON-LINE, • Nguồn ngắt: chủ yếu từ ngoại vi, CPU (exceptions, internal), • Xảy ra ngẫu nhiên, • Nhiều IOs, ngẫu nhiên => Tranh chấp => Giải quyết ưu tiên ngắt.

Ưu tiên ngắt – Interrupt Priority:

• T/bị ưu tiên cao có thể dừng ISR của t/bị ưu tiên thấp • Hệ lớn, nhiều IOs thường dùng PIC (Intel PIC8259A) • Chỉ số ưu tiên do nhà sx qui định cho các t/bị ngoại vi, cố định, mức 0 là cao nhất. • Theo hình trên: Level (j) > Level(i),

i>j. • Ưu tiên phân định do các tín hiệu ngắt trong CPU (Intel 8085: INTR, 5.5, 6.5, 7.5 và TRAP), • Z80 CPU & others: ưu tiên theo kiểu Daisy Chain

3.2.2. Phân loại: Gồm: Hardware, software, internal, exception, NMI... a. Software Interrupt: Là việc gọi 1 ctc (Subroutine) được xây dựng riêng mà ctc này còn có thể được gọi bởi thiết bị ngoại vi. Các lệnh gọi như INT n; (Intel x86) hay SWI n; (Moto). Tuy nhiên, việc thực hiện lệnh ngắt mềm giống như gọi thủ tục, và đôi khi đợc hiểu là TRAP. Ngắt mềm không phải là ngắt b. Hardware: - Do Ports phát tín hiệu NMI/ IRQ đến CPU. - Chia thành 2: Maskable (có thể cấm được) và Non Maskable (không cấm được) : Maskable Interrupt: là các ngắt thông thường, có thể cấm (disable) hay cho phép (enable) bởi các lệnh CLI và STI (Intel vs Moto!), so called mask – che. Các ngắt sẽ bị cấm - IF disable: sau khi CPU reset, trước đó đã có IRQ khác, sau khi th/h lệnh CLI. Non Maskable Interrupt, NMI là ngắt có mức ưu tiên cao nhất, thường cho các việc: mất điện, sai số liệu (DRAM parity)... PC hiện nay, thường không dùng NMI. c. Internal:

Hình 3.2. K/n ngắt

Page 18 of 56

Trong một số CPU, để bẫy/ để xử lý các sự kiện trong khi thực hiện, như Intel x86: - Divide by zero: tương ứng thực hiện lệnh, Int 0, - Trap – Single Step: thực hiện từng lệnh, debug- ger, Int 1, dùng cùng với Trap Flag (Trace). - Break Point: tạo điểm dừng, debugger, Int 3, - Overflow: (tràn số học), Int 4. - ... d. Exceptions: Là vấn đề hay điều kiện để CPU dừng công việc đang t/h, tìm địa chỉ và thực hiện 1 ctc, được thiết kế để xử lý sự kiện này.

• Exception giống Interrupt, thực hiện lệnh riêng. • Trong PC, Exp khác Intr qua 2 điểm:

- Liên quan tới việc thực hiện chương trình, - Có ưu tiên cao để dừng ch/tr - Ví dụ: Math Processor Exception (Apple Macintosh Computers): các Error, thay đổi điều kiện, kể cả ngắt, được CPU phát hiện trong khi chương trình đang hoạt động. 3.2.3. Case study: tổ chức ngắt của các hệ VXL/Máy tính a. Intel 8x51 Micro Controllers: Họ Intel 8x51 có 6 vectors ngắt: 02 Ext. Interrupts: Int0 và Int1, 03 Timer Interrupts: Timer 0, 1, 2 và 01 Serial port Interrupt (phát/thu char). ứng với các ngắt này, có các địa chỉ đầu cho ISR tương ứng tại trang zero @ Prog. Memory: 0003, 000Bh, 0013h, 001Bh, 0023h và 002Bh. Tại các địa chỉ này thường đặt lệnh LJMP nnnn và được đặt lệnh RETI nếu không có ISR.

b. Z80 system: • Z80-CPU, 3 modes ngắt: Các lệnh ReStart (như Intel 8085), NMI và Daisy Chain. Kiểu Daisy Chain: • Ghép nối với các Z80-Ports: Z80-PIO, Z80-SIO, Z80-CTC... • IRQs từ các ports là Open Drain, • Khi CPU: M1 & IO Request => INTA đến port1, • Nếu Port1 Resq, sẽ phát mã ‘Addr’ lên data bus, nếu không • Chuyển INTA đến Port 2... • Ưu tiên cố định/ jumper. c. x86 & PC interrupt Bảng vector ngắt IVT Interrupt Vector Table– Real mode: CPU x86: 1st kilo byte (RAM) bảng vector ngắt 1st KB = 256 elements of 4 bytes Chứa địa chỉ đầu của ISR tơng ứng. Khi khởi tạo, BIOS nạp vào IVT đcđ của các ISR ứng với IO.

Page 10: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 19 of 56

Đổi vector ngắt: đổi nội dung các vector này Các ngắt cứng, NMI và Internal đều tương ứng với 1 lệnh ngắt mềm có cùng vector type, tức có vector trong bảng IVT.

Software Interrupt: Lệnh Int n, n=0..FFh. Mô tả lệnh: Trước khi thực hiện lệnh, phải có chtr khởi tạo ngắt (Intr house-keeping): định vị ISR và đổi vector ngắt, Khi gặp lệnh Int n, CPU sẽ cất Flag Reg, CS và IP vào Stack mem, (n x 4) => IVT, đọc 4 byte tương ứng nạp vào IP và CS, ISR bắt đầu được thực hiện. Khi gặp lệnh IRET, CPU khôi phục lại từ Stack Mem IP, CS và Flag Reg (LIFO). Hardware Interrupt, irq: IRQ trong PC: dùng 2 PICs - Priority Interrupt Controller Master PIC (20h, 21h), IRQ0..IRQ7 => Int 8..Int 0Fh Slave PIC (a0h,a1h) = IRQ8..IRQ15 => Int 70h..Int 77h

x86 & pc, Hardware Int Priority Interrupt Conteroller Intel 8259A: § 8 Channel (8 I/O ports) § Ưu tiên cố định, vòng, vòng định trước § Nối tầng với Slave PIC(s), mở rộng thêm IOs § Nhiều chế độ hoạt động – ICWs & OCWs § Dùng với nhiều hệ VXL, IBM-PC § ... Tham khảo VXL của MTV

x86 & pc, Hardware Int: Hardware Interrupt, IRQ: Hoạt động Hardware Intr trong PC, xem PIC 8259A Interrupt Housekeeping - chuẩn bị: files.sys[com], (Vd gmouse.com - cổng comm 1)

Page 20 of 56

Load ISR và xác định địa chỉ vật lý, Enabling IRQi @ PIC’s, Mask Reg (OCW1): b(i) = 0, Thay vector ngắt, cần lưu vector cũ? Enabling cờ IF trong CPU, lệnh STI, Set Interrupt Enable Flag, cho phép ngắt

Hoạt động:

1. Khi trao đổi số liệu: Ngoại vi <=> với IO port 2. IO port phát tín hiệu IRQ(i) tới PIC 8259A, 3. PIC phát tín hiệu INT => CPU. CPU thực hiện nốt lệnh hiện tại 4. Cất ngữ cảnh main prog. vào stack mem 5. #1 INTA bus cycle => Prioritizing 6. #2 INTA bus cycle => đọc Vector type của IO port, VectorType = i+8. 7. (VectorType x 4) => IVT, đọc đcđ ISR tương ứng, nạp vào IP&CS, IRS bắt đầu được thực hiện. 8. ISR: (nếu dùng ASM)

- Realtime Prog. Languages: MASM, C, ... , - Enabling Interrupt for Higher priority Levels, - Cất những thanh ghi-ISR dùngvào STACK Mem, - T/h nội dung ISR, - Khôi phục Reg từ STACK Mem, LIFO, - Depriorotizing: OCW2: Ví dụ: mov al,20h out 20h, al ; Non Specific EOI iret ; Return fron Intr. d. Xây dựng PC ISR: - NN cao Pascal/C: Pointers (for Old Vector) và procedure có chỉ dẫn Interrupt. Chú ý cần có thêm các lệnh STI và CLI hoặc inline mã máy FAh và FBh (En/Dis). - MASM và OS: thay vector ngắt trực tiếp, lệnh mov các con trỏ vào IVT; int 21h subfunctions: 25h và 35h của DOS. - Case Study: Xây dựng ứng dụng dùng ngắt cứng để ghép nối ngoại vi: IRQ1 (Any key), IRQ4: CommPort, IRQ5 (Option) và IRQ7 (LPT1, Falling Edge of -ACK)... - Thường trú ngắt thời gian Int 1Ch thuộc Int 8 ISR, Timer 80x86 Interrupt in Protected Mode:

• Int. Descriptor Table (IDT) có thể định vị bất kỳ vùng nhớ nào • Vị trí và kích thước trong bảng IDTR: 32bit addr và 16 bit limit • Gate, not vector. • 256 gate descriptor: trap/ interrupt/ task - ISR's Addr & Attribute • Int/ trap cho phép chuyển đến ISR trong current task.

Page 11: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 21 of 56

CLI STI LIDT EA ; Load IDT từ Effct Addr SIDT EA INT n IRET INT O ; ( INT 4) HLT ; Wait for Ext IRQ or Reset WAIT ; Wait for -Busy => inactive 3.3. Direct memory access – DMA 3.3.1. Khái niệm: Controlled by DMAC, bus master § In/Out dùng hardware [burst mode] => nhanh, 33/66MBps § Chuyển block/ Single byte § IO çè Mem, Mem çè Mem (ít) § Specified Block/ IO Requirement § Stealing cycle (DRAM controller Intel 8208)

3.3.2. Dmac intel 8237a: MTV § 4 Channel of 8/16 bit § IOR-MEMW & MEMR-IOW DMA bus cycles § Mem to Mem § Single byte/ block transfer (64KB/Kw max) § Ưu tiên cố định/ vòng § Specified block (TC) / IO Requirement (EOP) § Nối tầng để mở rộng số kênh DMA § ...

3.3.3. PC’s DMA:

Page 22 of 56

• DMAC#1: 8 bit Channels, 64KB max:, 0h 01fh addr • Ch0 - DRAM Refresh, Spare • Ch1 - SDLC, LPT’s ECP mode - Alt., Spare • Ch2 - FDC, single byte mode • Ch3 - LPT’s ECP mode, Ir port, Spare

• DMAC #2: 16 bit Channels, 64KW max, 0C0h • Ch4 - Cascade for DMAC 1 • Ch5 - HDC, spare • Ch6 - Spare, • Ch7 - Spare

• Page Registers: 080h..08Fh: Gi÷ ®Þa chØ cao • SysBus in DMA mode, AEN = 1 (AddrEnable)

• DMA House keeping:

– Addr lines (DMAC & Page Reg) input/ Hi-Z – Init: 8bit(Master:0..1F)/ 16bit (Slave:0C0..0DFh)

• Channel (i): DRQi và -DACKi • Port (IO Addr), AEN = 1 (Address decode) • IOR-MEMW hay MEMR-IOW • Hi Addr of data memory => th/ghi trang t/ứng. Addr từ Ch0 (hex): 87, 83, 81, 82, 88, 89, 8A, IO

space • Low Addr => BaseAddrRegi, (TechHelp 6.0) • Kích thước mảng: BaseCounteri • Single byte/ block • Specificed block/ IO Port Requirement

IOR-MEMW bus cycle Å Bắt đầu t/h DMA, ngoại vi chuyển data => IO Port Ç IO Port phát tín hiệu DRQi tới DMAC. Nếu chấp nhận É DMAC phát HRQ tới CPU (CPU logic circuitry) Ñ CPU dừng hoạt động @ state T3, Hi Z bus Ö CPU Trả lời t/h HLDA => DMAC & goes to sleep Ü Thực hiện DMA bus cycle: - (-DACKi = 0 & -IOR = 0) => IO Port 'nhả' sl lên bus - Addr (DMAC & PR) => data mem, -MEMW => chuyển 1 byte/word á Tăng CurrentAddrReg, giảm CurrentCounter. Nếu CC=0 thì phát T/C, nếu <>0 => Ü, next DMA bus cycle

Page 12: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 23 of 56

Chương 4. I/O Interface bus overview Giới thiệu bus chuẩn cho ghép nối, mở rộng:

– ISA/ PC-104 – AT bus – USB (Universal Serial Bus) – Philips I2C – PCI (Peripheral Component Interconnect) – SCSI (Small Computer Systems Interface) – GBIB (General Purpose Interface Bus) – Siemens Profibus – IEEE 1394 – ...

4.0. Khái niệm về bus: • PCB (Printed Cirrciut Board), Cable (Copper/ Optic), Slot, Connector... • Nối nhiều thiết bị slave [master], dùng chung • Nhiều line (bit) hoặc đôi dây (I2C, USB, SSA, Profi) • Thành phần (physical lines/ time sharing):

– Address – Data – Control/ Status/Handshake ~ – [Power supply]

4.1. Industry small architecture (isa) bus:

• ISA/ AT bus, 1984, IBM, PC-104 bus, Available in Pentium, PowerPC Platforms • Để ghép thêm các thiết bị I/O chuẩn vào Mother Board, 3..8 Slots, Hiện tại các máy có thể không dùng

slot • 8/ 16 bit for data transfers • 8,33 MHz => 5 MBps max • Only 1 BusMaster, CPU hoặc DMAC • No data integrity, không kiểm tra parity, IO Check • Dùng để ghép với các thiết bị chậm, kiểu ký tự: ‘character typed devices’ : keyboard, mouse... • Refer ‘AT Technical Reference’ or TechHelp for detail

Hình 4.1. AT/ ISA/ PC 104 bus 4.2. Universal serial bus - usb:

Page 24 of 56

Topology

• Rev.1.1: 23/09/1998 • Chia thành nhiều Tiers • Các Tiers nối các thiết bị: Hub hoặc chức năng • Mỗi Tier có Hub(s)

4.3. USB: specifications

• Chỉ có 1 USB host (USB Controller) trong hệ • Devices, có 2 loại:

• Hub, mở rộng thêm thiết bị nối vào USB • Các thiết bị chức năng nh ISDN, JoyStick, KB, Printer...

• Thiết bị chuẩn interface USB theo: • USB Protocol • Chuẩn Hđ của USB: config và reset • Communication Standard

• USB Controller/ Host polls bus & initiates all data transfer Ưu điểm:

• Tín hiệu vi sai phát/ thu, bọc kim, chống nhiễu • CRC Protection đ/v data & control fields

Page 13: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 25 of 56

• Tự phát hiện attach/ detach, xác định cấu hình các thiết bị tự động ở mức hệ thống • TimeOut đ/v trường hợp mất gói tin/ gói tin lỗi

4.3. USB: Physical interface

• 1.5 Mbps – Low speed mode và 12Mbps (Revision 1.1) • Nguồn cấp +5V, vài metre • Power managment • Revision 2.0: 480Mb/s

Page 26 of 56

4.4. Philips I2C bus version 2.1. Jan. 2000

• Philips, 1992 Ver. 1.0;... 1998 Ver 2.0, 2000: Ver 2.1, dùng cho các hệ thống nhúng (embeded systems) • Không cần dùng bus interface chip(s), built-in • Integrated addressing & data-transfer, cho phép dùng phần mềm để định cấu hình • Thêm/ bớt IC không ảnh hưởng bus system • Đơn giản tìm lỗi, khoanh vùng lỗi nhanh • Giảm thiểu kích thớc: 2-wire serial, không cần các mạch Addr Decoder và ‘glue logic’, dùng phần mềm • Truyền đồng bộ, 100 kb/s Standard-mode, 400 kb/s Fast-mode, 3.4Mb/s HiSpeed-mode

Page 14: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 27 of 56

Có thể nối nhiều Masters, trong 1 t/đ chỉ 01 BM’s Active

Start(Rep Start, S) SCL=1, SDA= ↓ Stop (P): SCL=1, SDA= ↑

Page 28 of 56

Multi byte R/W :Addr auto Inc/ Dec; Master/ Slave :Send A[ck] (=0) hoÆc /A (NACK) (=1) tïy thuéc bit tiÕp theo lµ data hay Stop Một số vi mạch dùng I2C bus:

• Dallas RTC 1307, 1308: 64 byte RAM & Real Time Clock, • Philips PCF 8593, Low Power Clock/ Calendar • Atmel 93C46/24C96... EEROM

4.5. PCI - Peripheral Component Interconnect 5/1993, Intel Ver. 2.0, Open standard,

• Local bus, trung gian giữa Local và các bus chuẩn khác (ISA, MC, EISA) thông qua PIC Bridge/Controller.

• Có kiểm tra parity cho Addr và Data • Auto configuration of all PCI devices, share the same IRQ. Disabling IRQ => cấm toàn bộ PCI devices. • No DMA, device on PCI bus là bus master (Tốt cho việc dùng MultiTasking OS). • Burst mode: 32 bit @33MHz --> 96..132MBps, tuỳ thuộc số byte (từ 32 byte đến 4KB). Option 64bit

@33MHz --> 264MBps, 64bit – 66MHz. • Most Platforms use:Intel, DEC Alpha, PowerPC, Spark

Page 15: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 29 of 56

• Modern OS: ‘Block Typed Devices’: tần suất vận chuyển cao, nhanh, data block 4.6. Small computer systems interface - SCSI

• SCSI (SCSI-1): 1990; SCSI-2: 1993 to now; UltraSCSI:... • Dùng cho Disk controller có bộ lệnh của nó, • Thường có 1 Adaptor, không nằm trên motherboard • Support any SCSI device: Disk, CD-ROM, tape, scanner • 5 to 40 MB/s • 7 devices max, upto 15 with SCSI-2 FastWide and UltraSCSI

• Tín hiệu: Có loại cable đơn và vi sai (chống nhiễu tốt hơn), các controller support 2 loại tín hiệu. Không

nối 2 kiểu trên cùng bus. Most: SingleEnd, RS6000 differential. • SCSI Common Command Set: được gửi từ device driver, đưxợc dịch bởi th/bị => Adaptor không phải

thay đổi khi gắn thêm thiết bị • SCSI subsystem gồm: Host adaptor (để interface giữa host system và subsystem), SCSI controller, bus,

thiết bị. • SCSI Controller & devices: 8.. 16 devices, 1 as Controller. Thứ tự u tiên của các thiết bị, cao nhất là 7

(Controller) 7– 6 – 5 – 4 – 3 – 2 – 1 – 0 –15 –14 – 13 – 12 – 11 – 10 – 9 – 8

• 8 data bit => 1 parity bit. K/tra Data: ECC, địa chỉ CRC @ mỗi sector 4.7. Siemens process & field bus – profi bus

• Giới thiệu: Môi trường công nghiệp,

• Chuẩn EN 50170-1-2 • Kết nối những thiết bị vào ra phân tán, thông minh (PLCs, Motor drivers, ), 1 trong những layers của

mạng CN: SINEC-L2 • Bao gồm các giao thức:

• PROFIBUS DP (Distributed I/O):trao đổi sl với các slaves qui mô nhỏ, định kỳ, tốc độ cao • Profibus PA: Process Automation: IEC 61158-2: môi trường khắc nghiệt. Số liệu và power chung

line (PLC), 31.25 kbps • PROFIBUS FMS (Fieldbus Message Specification):

– Kết nối PC với các thiết bị tự động của Siemems: S7/M7/C7 Families kiểu cell – Số liệu có cấu trúc, không phụ thuộc vào đường truyền.PROFIBUS F

• PROFIBUS FDL (Fieldbus Data Link): tương thích với các mạng con • Spec.:

– Token bus: cho nhiều masters (active nodes) – Master - Slaves – >1km (RS-485) và 9.6km (Optical Fiber) – Mã hóa Manchester II độ tin cậy và chống nhiễu tốt

Page 30 of 56

Hình 4.15. Mạng Profibus 4.8. General purpose interface bus - GPIB

• As known IEEE 488; HPIB (Hewlette-Parkard Interface Bus), IEC 625 bus • Được thiết kế để kết nối mạng máy tính với các thiết bị ngoại vi, đo lường - kiểm nghiệm, lab... kiểu

Program-mable Instrumentation • 14 devices có thể nối vào GPIB, ...1MB/s, couple meters • 24 pin connector: 16 lines: 8 data, 3 handsshake, 5 management (để điều khiển việc dùng bus),

remainders: Twisted/ Logic Gnd, Shield • Computer as Controller; các thiết bị khác là Talkers/ Listeners. Trg 1 t/đ: 1 device - Talker, Others -

Listeners • Để nối mạng:GPIB Card,cable,connector(Hình 4-16/17/18)

Hình 4.16. Một số PC's GPIB interface cards

Hình 4.17. GPIB connector & signals

Page 16: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 31 of 56

Hình 4.18. IEEE-488 Instrumentation & connector 4.9. IEEE 1394 - Firewire

• IEEE 1394 serial bus, 1997, by Apple & TI, thay thế SCSI • Upto 63 nodes (devices) connect to a PC, hot plugible • High speed: 60 to 400 Mb/s (7.5 to 50 MB/s) • Cable: 6 wire (2- power carier lines 8..40Vdc/ 1.5A), 15'. • Daisy chain extending to over 200' • P1394 - PCI bus <=> Audio, Video devices, CD, disk, printer... • Tree topology: 63...64k nodes (bridge across buses) • Addressing single node, broadcasting all nodes, config time < 400 us • More than one PC can be connected to P1394 bus

Hình 4.19. Sơ đồ ghép nối các ngoại vi qua IEEE 1394 bus

Page 32 of 56

Chương 5. Digital interface • PARALLEL IN/OUT

– PORTS: principle, PPI, Centronics – PCMCIA, Dual ported Ram – INTERCACING to devices: LED, LCD, encoder, STEP motor, ... – HI-POWER INTERFACE: relay, scr, triac, power mosfet, igbt...

• SERIAL IN/OUT: Sync, async, – RS-232, RS-485, RS-422 – modem...

5.1. Parallel interface: 5.1.1. Nguyên lý

• Output Port: latched Output (chốt ra), D_Flip-Flops – Unlatched Input, hình 5.1. single

• Cổng ra đơn giản: dùng chốt 74 HC 374, (hình 5.2) • Ngoại vi đọc số liệu => phát tín hiệu strobe=0

• Out Port: 74 HC 374: • CPU phát địa chỉ ra IO space => có t/h –CS • Phát data và -IOW => có t/h LE = ↑ (Rising Edge) => data được chốt vào HC374 • Port song song có tín hiệu bắt tay/ trạng thái (outport):

– Gửi 1 packet ra ngoại vi, đồng bộ giữa 2 phía – IO device chỉ đọc cổng khi đã có số liệu (IBF) – CsS chỉ gửi số liệu ra khi byte/char trước đã được đọc bởi IO device (OBE) – Chú ý Time-Out-Error

Page 17: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 33 of 56

5.1.2. Programmable ports

• Ports: • Intel PPI 8255 (Programmable Peripheral Interface) • Motorola PIA 6821 (Progr. Interface Adaptor) • Z80 PIO (Parallel In/Out) ...

• Flexible Specifics: • 2..4 In/ Out Ports, single line direction (PIA/ PIO) • Mode: IN/OUT w [w/o] handshake, bus transceiver • Control/ status/ HSK: Edge (↑, ↓)/ Level (hi, lo)

• Case study PPI 8255: • 4 ports: PA, PB, PCH & PCL, 24 IO lines • 3 modes: M0, M1 & M2 • Đơn giản và hiệu quả

Hình 5.3a. Ghép nối PPI 8255 với PC qua ISA bus 5.1.3. Centronics port

• Centronics Computer Inc. so called LPT, 2 LPT ports (available) in PC • Modes: SPP, EPP, ECP & IEEE 1284 (EPP+ECP) • IRQ (7/ 5) & DRQ (1/ 3) support for many applications of Interface:

• Printer • Local Area Network • Ext. HDD • Test Digi In/Out, ADC, DAC interface • Programmers (All 11P2)

Mode 0: Simple Parallel Port - SPP (Normal mode) • 50..100kB/s, cable: 10' max - 25/ 36 lines

Page 34 of 56

• Data Out port, X78h, TTL, (some bi-dir, In when 1s out!) • Open Coll. Buffer - 8 bit latched out, back readable • LPT: send control & printed chars to Printer

• Control Out Port: X7Ah, TTL • 4 bit latched out, back readable • LPT: -Strobe (b0), AutoFeed (b1), -Init (b2), SLCT(b3) • IRQ_EN (b4), not outlet

• Status In, X79h, Unlatched, TTL • 5 bit: b3..b7: Err, SLCT_IN, PE, -Ack, busy

Mode 1: enhanced parallel port - EPP

• Xircom, 1992, Hi speed - 2 MB/s (1 ISA bus cycle), bi-directional port, Ext HDD, Network... • 8 Registers:

• Offset 0: SPP data , R/W data lines, w/o HSK • Offset 1: SPP status, Read (b3..b7), b0 timeout • Offset 2: SPP control, R/W 4bit C0..C3, C4: IRQ En, C5: byte dir • Offset 3: EPP addr, R/W addr cycle w HSK • Offset 4: EPP data, R/W data cycle w HSK • Others: may be use for 16/32, port config, user define

Mode 2: extended capabilities port - ECP • MS-HP, 1993, 2..5 MB/s (1 ISA bus cycle), bi directional port, Ext HDD, Network... extension

sys bus • 16 FIFO byte buffer để gửi/ nhận, DMA: Mem <=> buffer • Có thể ghép nối với các ngoại vi chậm khi dùng Rdy • Mô phỏng hđ của SPP, EPP mode • R/W: data & commands:

• OUT -C1 (HostAck); IN -S7 (Per. Ack). • -C1/ -S7 = 1 (sending data); 0 (command) • Command: b7=1, b0..6: channel addr, b7=0, b0..6 run-length count for data compression

mode (đếm các byte giống nhau - graphics, hardware) • OUT -C1 (HostAck); IN -S7 (Per. Ack).

• Enable Int Req: mov dx, 37Ah; LPT 1 control in al, dx or al, 00010000b out dx, al ;

• Disable: Port[BA+2]:=Port[BA+2] and $EF;

Page 18: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 35 of 56

• -C1/ -S7 = 1 (sending data); 0 (command) • Command: b7=1, b0..6: channel addr, b7=0, b0..6 run-length count for data compression

mode (đếm các byte giống nhau - graphics) • Many chip (SMC's super IO...) hỗ trợ decompress, phần mềm gửi ra phải 'compress'

• 6 registers: 3 SPP reg và 3 ECP reg • Base addr + 400h: data FIFO & config A-Read only • Base addr + 401h: Config B (interrupt, DMA...) • Base addr + 402h: Extended Control Register

Mode 2: ieee 1284 ( epp + ECP ), 1994, 5 MB/s • IEEE 1284 standard - document: defines/ describes protocols for Parallel-port Communication. • Include: 1284 port/ 1284 cable/ 1284 Peri. • 5 communication modes: (Register use - Table 11-1 p206, Parallel Port Complete)

• Compatibility Mode: Host sends a byte to Peri. (with Busy và -Ack) • Nibble Mode: Peri. to Host 4 bit, remainder - HSK • Byte Mode: 8 bit, bi-dir • EPP Mode: 8 bit, bi-dir, hi-speed • ECP Mode: 8 bit, bi-dir: data, addr, compression

5.1.4. Dual ported ram

• Để chuyển mảng số liệu giữa 2 hệ VXL (Master-Slave) với tốc độ cao, gần, ... (Switching Systems, PLCs, Graphics Accelerator...)

• SRAM, dung lượng từ 1KB đến 256KB • Multiple Reads & Writes đồng thời • Dùng các tín hiệu:

• 2 x n bit Addr for 2 sides: Left - Right => 2n mem loc. • 2 x 8 [16] bit of Data • Các tín hiệu điều khiển (RD, WR, CS) và trạng thái • Các tín hiệu bắt tay/ trọng tài • Hãng: Integrated Device Technology Inc. & Others; chip IDT 7707, 32Kbyte DPR

5.1.5. PCMCIA Personal computer memory card international Association, Ver 2.1; pc card standard (5.0) 1996

• Là chuẩn của nhiều tổ chức/ công ty: >500 members • PC card device - credit card size adaptor: nhỏ, dễ mang, hot plugability, tin cậy khi môi trường thay đổi,

68 pin connector • Devices: Flash, SRAM, modem, LAN (wire & wireless), disk, audio w DSP, GPS... • 16 bit data path (PCMCIA 2.1/ PC Card Standard 5.0) • 3.3 and/or 5 V • Dùng với nhiều loại bus

Page 36 of 56

• Kiến trúc phân nhiều tầng để đảm bảo tính vận hành độc lập với phần cứng:

• Socket service: Device driver - system manufacturer • Card service: Device driver - Operating System Vendor • Client Drivers/ Client Enablers, Driver tạo các y/c tới hệ thống: do hãng chế tạo Card cấp • Enablers/ Point Enablers: Driver chuyên để thông tin trực tiếp Host Adaptor

PC Card Standard - CardBus: • 32 bit transfer • Based PCI specification • 33MHz/ 132 MB/s • BusMasster support • Compatible w 16 bit card

• LED - Light Emitting Diode

• Bao gồm: Point, 7(16) seg-ment, matrix: text/ graphics

• Drive: Static/ Dynamic Scan

• Dùng Latch/ PIO

• H5.6 Static Display

• H5.7: scan 8 x Com-mon Cathode 7 seg LEDs

Page 19: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 37 of 56

5.1.6. Led interface drive 8 x 7 Segment Common Cathode: disbuf: 8 byte chứa mã 7 seg cần hiện thị, N: counter

• Main Program: Burn LEDs, gồm (1) Init: turnoff LEDs; N=0; (2) (disbuf+N) => 1st Latch; turn On LED[N]; delay(1); (3) Turnoff LED[N]; Inc N ; If N = 8 then N=0; (4) Goto(2)

5.1.6. LCD panel interface

• Công nghệ LCD, hiện text/ graphics • Độ phân dải:

• 1 line x 16 character box • 2 line x 16 character box • 4 line x 20 character box • (64 x 128) hoặc (128 x 256) dot... font down loadable

• ASCII... upto 128 characters/ set • APA: All Points Addressable • Back lit, công suất tiêu thụ nhỏ • Dùng cho các hệ nhỏ, mang xách, máy đo...

drive 8 x 8 matrix char box: disbuf: 8 byte chứa font Main Program: Burn LEDs

1. Init: turnoff rows; n=0; 2. (disbuf+n) => LS164; shift afap; turn on

row[n]; delay(1-1.5); 3. turnoff row[n]; Inc n ; If n = 8 then n=0; (4) Goto(2) Smooth shift left/ right? Color: 4/ 256 color LED duty cycle!

Page 38 of 56

Hnh 5.10a. Text LCD Pannel

Hình 5.10b. Cấu trúc của Graphics LCD Panel

Hình 5.10c. Tín hiệu và giản đồ thời gian ghi LCD panel 5.1.7. Encoder

• Dùng để ghép nối đo lường dịch chuyển cơ học: chiều dài, vận tốc, gia tốc, tốc độ quay, định vị,

robot • Công nghệ vật liệu từ - nam châm vĩnh cửu hoặc quang - hồng ngoại/ laser, hi resolution ADC... • Độ phân ly cao: 256 ... to 500 kc/t (counts/turn), chịu shock (100G) • Tốc độ cao 10krpm, mô men cản nhỏ (vài 10-3 Nm) • Output: các xung lệch 90O hoặc RS 485 (byte, BCD, GrayCode formatted), truyền xa 1 km

Page 20: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 39 of 56

• Manufacturers: Tamagawa Seiki, Hewlett-Packard...

Hình 5.12a. Step Motor

Hình 5.12b. Symbolic Diagram of Step Motor

Hình 5.12d. Các sơ đồ nối dây cho step motor 5.1.8. Hi power interface

• Là các mạch ghép nối máy tính/ VXL với các thiết bị có điện thế cao/ dòng điện lớn như lò nung [sấy] điện trở, lò cao tần, motor (ac và dc) công suất lớn...

• Điều khiển thiết bị điện xoay chiều (ac): • Relay, [rơ le trung gian] hình 5.13a:

• Dùng Relay để cách ly [và relay trung gian], • Điều khiển công suất ON-OFF (lò điện, motor)

• Triac, Solid State Relay hình 5.13b: • Điều chỉnh công suất vô cấp • Đễ gây nhiễu cho lưới điện, phải có Line Filter

• Điều khiển thiết bị một chiều (dc): Hình 5.14.

Page 40 of 56

• Thyristor (SCR - Silicon Controlled Rectifier)

5.2. Serial in/out: 5.2.1. Khái niệm

• Thông tin trong Hệ VXL/ Máy tính: byte • Khi truyền 'xa': byte => dãy bit, serialize; dãy bit => byte, deserialize: giảm thiết bị thu phát và

đường truyền, giảm chi phí, tốc độ chậm, • Mô hình: Hình 5.11.

• Central System: CPU, mem, controllers, sys bus... • Serial port:

• Symbols: • UART/USART (Universal [Synchronous] Asynchronous Receiver -

Transmitter) • SIO:Serial In/Out Port • ACIA: Async. Communication Interface Adapter , MC 6850

Page 21: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 41 of 56

• Serial ports:

• Nhiệm vụ: • Biến đổi byte <=> dãy bít + các bit không mang tin (start/ stop/ parity...) và dãy bít <=>

byte, loại các bit không mang tin, báo lỗi khi thu. • Ghép nối với hệ trung tâm: các bus/ tín hiệu addr, data, control bằng phương pháp

Polling, Interrupt hoặc DMA. • Ghép nối với đường truyền [via modem]: TxD, RxD • Ghép nối modem: -RTS, -CTS, -DSR, -DTR, -CD, -RI • Ví dụ: UART 8250, 16450, 16550A (Intel, NS...), USART 8251 Intel, ACIA 6850 Moto.

• MODEM: là thiết bị biến đổi tính hiệu logic TTL (0/1) thành các tín hiệu vật lý, phù hợp với môi trường truyền xa và ngược lại, gồm:

• Converter/ driver: • Max 232/ ICL 232 (232 modem): TTL <=> RS-232, Single End:

• -3V .. -15 V <=> '1' • +3V .. +15 V <=> '0' • Đơn giản, 100' @ 9600 bps, dễ bị nhiễu • Thường dùng để ghép nối các thiết bị thông minh trong CN (gần), thí nghiệm, đo

lường, điều khiển

• Maxim 485/ SN 75 116... (485/422 modem): Differential • V(a) - V(b) > 100 mV <=> '1' và • V(a) - V(b) < -100 mV <=> '0' • 5000' @ 1Mbps, thực tế có thể truyền xa vài km. • Thường dùng trong các xí nghiệp công nghiệp

• Current Sourcer: 0 và 20 mA [hoặc 20 và 60 mA] • Chịu nhiễu tốt • Truyền xa, tùy thuộc điện trở R đường dây, • Thường có cách ly quang học.

Hình 5.21a. ASK: Amplitude Shift Keying

Hình 5.21b. FSK: Frequency Shift Keying

DTMF: Dual Tone Multi Frequency, đa tần, Mitel8880

Hình 5.21c. PSK: Phase Shift Keying

Page 42 of 56

Hình 5.21d. QAM:Quaternary Amplitude Modulation

• Khái niệm truyền tin đồng bộ và không đồng bộ:

• Thông tin thường được đóng gói thành các gói tin. • Đồng bộ:

• Trong 1 packet: byte – byte, bit – bit, không có dấu hiệu phân cách. • Tốc độ truyền do sender: clock (cùng với data) hoặc chỉ xuất hiện vào thời điểm

đầu trong gói tin (sync. character). • Tốc độ cao, khó, tỷ lệ các bit không mang tin nhỏ.

• Truyền tin không đồng bộ: Asynchronous Comm. • Mỗi ký tự/byte đều có 1 xung/sườn đồng bộ (sườn xuống của start). • Clock của 2 phía thu và phát có thể lệch nhau 3-5%:

• Ví dụ: @ format 8,n,1; T: time of frame; t: time of bit, ∆T độ lệch cho phép Tphát và Tthu.

∆T < 1/2 t = 5%T. • Có khoảng 'trống' giữa 2 characters, trạng thái 1 - mark. • Tỷ lệ các bit không mang tin lớn (start, stop, parity…), lên đến 33% (ví dụ

8,PE,2) • Đơn giản, dễ lập trình, dễ ghép nối. • Đặc biệt được chấp nhận rộng rãi: thiết bị ngoại vi thông minh, đo lường điều

khiển, modem...

Hình 5.22.Ba mô hình đờng truyền: Simplex (a), Half duplex (b) và [full] duplex (c) 5.2.2. Chuẩn RS-232c/v24

• EIA 1969, Electronics Industry Association, cho truyền tin không đồng bộ và truyền qua mạng điện thoại.

• Nhiều nhược điểm so với các chuẩn khác: tốc độ chậm, khoảng cách gần, single end signal - dễ nhiễu, lượng bít không mang tin lớn... nhưng...

Page 22: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 43 of 56

• Rất thông dụng, có trong nhiều các thiết bị máy tính, máy điều khiển, máy đo ... và các vi điều khiển, GPS, 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 độ...) 5.2.2.1. FORMAT of FRAME:

• 1 start bit = 0, • 5/ 6/ 7/ 8 data bit, D0 - first, • [Parity bit - PE/ PO], • 1/ 1,5/ 2 stop bit = 1s

Hình 5.23. Cấu trúc RS-232 Frame trên đường truyền 5.2.2.2. Mô hình và các tín hiệu:

• 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

(Null modem protocols, X-On & X-Off) • Modem handshaking signals (Low active):

• -RTS - Request To Send, Out - DTE • -CTS - Clear To Send, In • -DTR - Data Terminal Ready, Out • -DSR - Data Set Ready, In • Line status: • -RI - Ring Indication, In • -[D]CD - [data] Carrier Detect, In

5.2.2.3. Mức tín hiệu: • Các tín hiệu RS232 có mức áp:

• -3V .. -15V => mức logic 1, mark, so với Gnd • +3V .. +15V => mức logic 0, space

• Các vi mạch dùng để biến đổi: • Motorola MC-1488 (TTL to 232) và MC-1489 (232 to TTL), 3 nguồn cấp :+5V, +12V, -12V • MAX 232 - ICL 232: là RS232 '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

Page 44 of 56

Hình 5.25. MAXIM 232 IC, DC/DC converter 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, 1.200, 2.400, 4.800 và 9.600 • Thêm: 19.200, 38.400, 57.600 và 115.200, • Dùng quartz 1.8432 MHz • 16 chu kỳ clock => truyền đợc 1 bit • Thường trong các cổng truyền tin, tốc độ được tính theo:

1.8432 x 106 (Hz) • Baud rate (bps) = -----------------------------

16 (m x 256 + n) với n : low divisor, trong đó m: hi divisor,

• Ví dụ: 9600bps => m=0, n=12 5.2.2.5. Khoảng cách :

• Tùy thuộc nhiều môi trường, cáp truyền, nhưng: • @ 9600 bps, L < 100' • @ 19.200 bps, L<50'

5.2.2.6. Connector: • D shell 9 hoặc 25 pin [DB9 hoặc DB25] connector

5.2.3. PC RS-232 ports • So called:

• RS 232C/ EIA • Communication port • Asynchronous [Async] port • Serial port • UART / Intel 8250, • UART National Semiconductor 16450, 16550, 16550A

• Properties: • Port Comm1 Comm2 Comm3 Comm4 • BaseAddr 3F8h 2F8h 3E8h 2E8h • IRQ 4 3 Option Option

• UART Intel 8250 , KT VXL - MTV • CS interface: 8bit data, IRQ (for Trans, Rec, Modem & Errors), -CS, -RD, -WR và Reg Select

lines. • Modem Interface: -RTS, -CTS, -DTR, -DSR, -CD và -RI • Control Registers (Line & Modem): để định format và chế độ hoạt động. • Divisor Latches: định tốc độ truyền (thu và phát) • Status Registers (Line & Modem) đọc trạng thái, Errors để hoạt động polling và Int.

• UART NS 16550A: • FIFO buffers for Rec và Trans 16 byte, • Hoạt động: polling, interrupt [có thêm] DMA

Page 23: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 45 of 56

• Tham khảo UART 16550A @ site: www.ns.com Hoạt động của comm port Setting: Chọn cổng/ format/ tốc độ/ mode

• Selecting Port: BaseAddr:= Comm2; $2F8 • Format of character: (Line Control Register - BA+3) Vídụ 9600, 8, N, 1:

Port[BaseAddr+3]:= 3; $2FB • Baud rate: Access: DLAB bit @ LCR, Low Div và Hi Div. Khi setting baudrate, DLAB=1,

otherwise=0 Port[BaseAddr+3] := Port[BaseAddr+3] or $80; Port[BaseAddr+0] := 12; Low divisor Port[BaseAddr+1] := 0; Hi divisor Port[BaseAddr+3] := Port[BaseAddr+3] and $7F;

• Mode: Interrupt/ DMA? Hoạt động

• Transmitting: Line Status Register LSR, BA+5 • Sending 1 char:

Port[BA+0]:= char_send; • Sending 1 packet n byte.

bit 5 (of LSR) = 1 => THRE (Trans Hold Reg Empty): For i:= 1 to n do Begin Repeat Until Port[BA+5] and $20 = $20; Port[BA+0]:= char[i] End; không cần kiểm tra TimeOut hoặc lỗi

• Gửi 1 packet dùng Int?. Hoạt động Receiving

• Line Status Register LSR, BA+5, các bit/ cờ TT: • b0 = 1 => data received, =0 khi CPU đọc Receice Buffer • b1 = 1 => OE, OverrunErr • b2 = 1 => ParityErr • b3 = 1 => FramingErr • b4 = 1 => BreakInt • Và chú ý TimeOut

• Thủ tục thu 1 packet được mô tả Hình 5.26:

Hình 5.26. Lưu đồ Thu 1 packet qua Comm Port - Polling INTERRUPT SETTING

• IRQ 4 - Comm1, IRQ3 - Comm2. • Enable Interrupt Register - IER, BA+1, 4 lowest bit. b(i) = 1 => Enable; b(i) = 0 => Disable.

• b0 : Thu xong 1 byte/ char • b1 : Phát xong 1 byte/ char • b2 : 1 of 4 Errors of Receive Action

Page 46 of 56

• b3 : MODEM IRQ • Interrupt Identification Register: BA+2, Đọc Reg này để 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.

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ừ máy tính hoặc CS qua RS-232 port và thực hiện - 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.

Hình 5.27. Block diagram of Hayes Compatible Data-Fax Modem

• Chuyển từ O sang C mode: • 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 • Các ký tự trong câu lệnh gửi ra theo 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 • result codes:

DIGIT Word Meaning 0 OK Cmmnd executed 1 CONNECT Connect @ 0..300bps 2 RING ring signal detected 3 NO CARRIER 4 ERROR error in cmmnd line 5 CONNECT 1200 6 NO DIALTONE

Page 24: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 47 of 56

7 BUSY 8 NO ANSWER 10 CONNECT 2400 AT COMMAND SET

• Các lệnh bắt đầu bằng AT or at (not At or aT) để modem nhận dạng tốc độ và format (ngoại trừ 2 lệnh '+++' và A/) và kết thúc: Enter

• Command line: có thể có hơn 1 lệnh, chỉ cần 1st có AT, cách nhau dấu ' ' không quá 40 char/cmmnd line.

• Các lệnh và Option • ATDT 8692463 dial using touch tone • ATDP 8696125 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

• 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.

Page 48 of 56

Chương 6. Analog interfacing In this Chapter:

• Analog Signal Interface Overview • Analog Electronics • Digital to Analog Converters • Analog to Digital Converters • DAS - SCADA - DCS

6.1. Analog signal interface overview:

• Là hàm của 1 (hoặc nhiều) biến độc lập, đại lượng vật lý theo thời gian: như tiếng nói, nhiệt độ... theo thời gian: A=f(t,h)

• Xuất hiện liên tục trong khoảng thời gian t0 - t1 • Giá trị biến thiên liên tục trong khoảng biên độ từ A0 đến A1 , có thể đa trị.

• Trong thực tế: • Trong Máy tính số, thông tin:

• Rời rạc về thời gian • Rời rạc về giá trị

=> để máy tính thu thập, cần phải 'rời rạc hóa' các tín hiệu về thời gian và giá trị, dùng thiết bị chuyển đổi ADC, để:

• Xử lý, cất vào kho số liệu • Truyền gửi đi xa • Tái tạo lại hay tổng hợp tín hiệu: dùng thiết bị DAC

Hình 6.02a. Mô hình ghép nối tín hiệu analog

Hình 6.02-b. Mô hình Hệ Đo lường - Điều khiển số 6.2. Analog electronics:

• Operational Amplifiers - OpAmps

Page 25: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 49 of 56

• Analog Switches & Analog Multiplexers • Reference Voltage Sources • Sample & Hold • Conversion Errors • ...

6.2.1. Opamp • Là vi mạch khuếch đại, nối galvanic, xử lý t/h từ 0Hz. • Tín hiệu gồm:

• 2 chân tín hiệu Inv. Inp và Non Inv. Input • Chân Output • Nguồn cấp: +Vcc, -Vcc( Gnd) • Chỉnh Offset. • Có thể có thêm chân nối tụ bù tần số

H603. Operational Amplifier (OpAmp) Đặc điểm opamp

• Xử lý tín hiệu dc (0 Hz up) • Hệ số khuếch đại lớn, từ kilo... Mega... and even more... (GBW - Gain - band width Product, unit @

MHz) • Trở vào lớn vài kΩ đến 1012 Ω, trở ra nhỏ, 10s đến 100sΩ, tốt cho các mạch ghép nối analog, phối hợp

trở kháng.

Hình 6.04. Thiết bị 2 'cửa'

• Nguồn cấp dải rộng, 1 hoặc 2 dấu: ±3Vdc to ±18Vdc • Khuếch Vi sai (Differential Amplifier), loại trừ nhiễu tốt => CMRR (Common Mode Rejection Ratio -

hệ số khử nhiễu đồng pha lớn) up to 120dB • Band width/ Slew rate: Băng thông/ Tốc độ tăng điện áp tối đa phía Output khi cửa vào có bước nhảy

đơn vị • UOffset: Khi cửa vào =0 mà cửa ra khác 0. Điện áp trôi theo thời gian và nhiệt độ => chỉnh Uoffset/

bias current • ICs:

• Linear Monolithic: µA741 (Fair Child), LM124s...(NS) • Linear FET: TL 081/ 082/ 084 (TI), LF356/357/347..(NS) • Linear Hybrid:LH0024/ 0032 (NS-Hi Slewrate) • Instrumentation OpAmp: LM725/ LH0036/ 0038/ 0084 (NS)

Page 50 of 56

Hình 6.05a. Analog Comparator Hình 6.05b

Hình 6.05c Hình 6.05d

Hình 6.05e Hình 6.05f

Hình 6.05g. Instrumentation Ampl. Hình 6.05h

Hình 6.05i Hình 6.05j

Page 26: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 51 of 56

Hình 6.05k Hình 6.05l. Mạch lặp lại tín hiệu

Hình 6.05n. I/ U Converter - ghép nối DAC out 6.2.2. Analog switches & multiplexers: a. Switches

• Dùng cặp transistor FET bù kênh p và kênh n => dẫn dòng AC • R(on) từ 100Ω .. 1.5 kΩ • Off channel Leakage Current: 100 pA .. 1 nA => Không dùng để khóa tín hiệu áp quá thấp • Biên độ tín hiệu: Vss<Us<Vdd • Tần số ON/OFF : ..GHz • ICs: CD 4052/ 53, LF11331

Hình 6.06. Symbol of Analog SPDT switch

Hình 6.07. Functional Block Diagram Analog MUX 6.2.2. Analog switch & multiplexer: b.MUX

• 2n switches nối chung 1 cực • n bit chọn kênh => 2n kênh, 1 trong số 2n kênh được chọn trong 1 thời điểm. • Chức năng MUX và DeMUX • Có tín hiệu Inhibit - cấm tất cả các kênh • Biên độ tín hiệu: Vss <U(s) < Vdd , Chú ý hiện tượng 'xuyên kênh' (Cross-talk)

Page 52 of 56

• Tần số tín hiệu : ... MHz…GHz • Dòng điện nhỏ, cỡ µA => thường dùng mạch follower để loại trừ Ron • ICs: CD 4051, 74HC4051 (TI), DG508A, 509A (Maxim)

6.2.3. Voltage reference - Uref • Là các vi mạch (super zener) tạo ra các điện áp có độ ổn định cao theo thời gian và theo nhiệt độ môi tr-

ờng • Giá trị điện áp theo thập phân (5/ 10,00Vdc) hay nhị phân (5,12/ 10,24Vdc) • Hệ số trôi: 3..5 ppm/OC • Công thức chuyển đổi A/D và D/A n bit:

bn-12n-1 + bn-22n-2 + ... + b121+b020 Uanalog = ----------------------------------------------------------- Uref (") 2n

• Các vi mạch: LH0070, LM199s (NS) 6.2.4. Sample & Hold (trích mẫu & giữ)

• Dùng để trích mẫu của tín hiệu vào thời điểm có xung Sample và giữ nguyên giá trị đó trong khoảng thời gian lâu hơn.

• Dùng trong các hệ thu thập số liệu khi tốc độ biến thiên tín hiệu cao (tơng đối) với thời gian ADC chuyển đổi

• Thu hẹp cửa sổ bất định của ADC - do thời gian chuyển đổi dài (tens µs - ms) thành cửa sổ bất định của S&H (tens ns..µs) => nâng cao độ chính xác chuyển đổi A/D và nâng cao tần số tín hiệu.

• Thời gian trích mẫu: vài chục ns đến vài µs • Tụ giữ (Chold): dùng tụ có dòng rò rất nhỏ • Tốc độ sụt áp: mV/s, tuỳ thuộc tụ • Guard Ring: kỹ thuật chế tạo mạch giảm thiểu dòng rò

Hình 6.08. Synbolic Sample & Hold

• ICs: LF189s (NS); AD585 (Analog Device Inc.)

Hình 6.09. Biểu đồ chuyển đổi tín hiệu w/o [w] S&H

• Có tín hiệu u(t). Định: điểm t1 => mẫu A1; t2 => mẫu A2... khi khôi phục lại sẽ được đường cong gần đúng với đường ban đầu, tùy thuộc vào độ dầy của mẫu.

• Thực tế: • t1 => start ADC, t1+τ có tín hiệu EOC => mẫu thu được A*1 • t2 => start ... mẫu A*2 ... khi khôi phục đợc đường cong khác. • Tốc độ tín hiệu biến thiên càng lớn => sai số

• Dùng S&H:

Page 27: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 53 of 56

• t1=> sample - start ADC, t2 => sample - start ADC...

Hình 6.10. Tính tần số hình sin với DAC 574

• Case study: u(t)= 5+5*sin(ωt+ψ) (V). ADC 12bit, 35µs converssion time, U(ref) = 10,24V. Sai số lượng tử = 1/2 ULSB . Hỏi tần số tín hiệu max - không sai trong 2 trường hợp w - w/o S&H. Sample time=100ns

6.2.5. Các sai số chuyển đổi • Sai số lượng tử: • Sai số cộng tính - zero => chiết áp/ software, first • Sai số nhân tính - gain => chiết áp/ software

• Nguồn chuẩn Uref • Các mạch khuếch đaị, span, Full scale...

• Tín hiệu biến thiên nhanh • Tần số lấy mẫu chậm. • Ref Kỹ thuật Đo lường - Prof. Dr. Phạm Thượng Hàn

Hình 6.15. DAC Symbolic Diagram

Hình 6.16. R-2R ladder DAC with I/U converter Hình 6.17. Interfacing to DAC

Page 54 of 56

Hình 6.20. Dual Slope Integration ADC

Hình 6.21. Interfacing to the ICL - 7135 ADC

Hình 6.22. Nguyên lý cấu trúc và hoạt động của SA ADC

Page 28: Thiet Bi Ngoai Vi Va Ki Thuat Ghep Noi

Page 55 of 56

Hình 6.23. Interfacing to the ADC 0809 ns.com/product/interface/ad-da national semiconductor

Hình 6.24. Multi IO card: DI/ DO/ AI/ AO

Page 56 of 56

Chương 7. Micro controllers 7.1. Khái niệm:8/ 16/ 32 bit 7.2. Multi Purpose ~ :

• Intel 8051, 80196 & Clones: Flash/EPROM, Data RAM, DI, DO, AI, AO, Serial (RS232), Timer/ Counter, RTC, WDT, EEROM, CMOS RAM, ISP/Jtag ...

• Motorola 68HC11 Families • BASIC 386 EX

7.3. Special ~ : • RISC: Atmel AVR-90 S 8535 Family, Mega AVR, Micro Chip PIC Family. • DSP: Texas Instrument TMS 32 F 240

Ch 8. Device drivers (DD)

• 8.1. Khái niệm: • MSDN, A Little Device Driver Writer, các mô hình I/O của Microsoft

• 8.2. PC Layers: Next Page • 8.3. DOS Device Drivers:

• BIOS, DOS Functions • Writing DOS DD

• 8.4. Windows DD: MSDN: DLLs for Beginners • DRV, DLL, DCU, VxD • System's Win32 APIs & SPIs

8.2. PC Layers

Hình 8.01. PC Layers (Courtesy IBM PC Institute) Hình 8.02. Key Code Queue

Kết thúc môn học • Đồ án môn học/ Bài tập lớn:

• Bắt buộc. Cá nhân, nhóm đến 3 người • Hình thức Báo cáo: không quá 15 trang A4, trừ dịch tài liệu, font ARIAL, không cần đóng

bìa nilon (giảm ô nhiễm mt) • Nếu có sản phẩm => đăng ký lịch demo • Nộp trước khi thi, b/ vệ trước and/or sau thi

• Bài thi: • Chỉ dùng giấy A4, viết 01 mặt, ghim lại và ghi số tờ. • Không viết nhiều lời, không chép đầu bài • Trình bầy: visual, flow chart; sạch, k/h + 1 điểm

• Kết quả: Auto Answering, after 19h, tone dialling, 8696125/ 8683590