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 ;
19 trang |
Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 391 | Lượt tải: 0
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:
- bai_giang_thiet_bi_ngoai_vi_va_ky_thuat_ghep_noi_chuong_2_gi.pdf