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

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  
1
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)  
P&I-Ch2: Protocols  
2
1
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ại…gia 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  
3
• 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  
P&I-Ch2: Protocols  
4
2
• 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  
5
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  
6
3
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  
PC 1  
Modem  
or  
Comm  
Port  
PC 2  
Comm  
Port  
DTR  
DSR  
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  
7
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ễP&uI,-Cthố2:cProđtoộcotlshấp hơn so với cùng chuẩn  
8
4
• 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  
9
• 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…  
P&I-Ch2: Protocols  
10  
5
• 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 (  
• 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  
11  
P&I-Ch2: Protocols  
12  
6
H. 2.1d. Open Collector. Nếu là 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 (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)  
P&I-Ch2: Protocols  
14  
7
Cable & Connectors:  
• Connectors:  
– D shell: DB9, DB25,...  
– DIN,  
• 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...  
H×nh 2.3.a. Connectors  
P&I-Ch2: Protocols  
15  
Hình 2.3.b. Optical Connector & Sơ đồ:  
P&I-Ch2: Protocols  
16  
8
Hình 2.3.c. Sợi cáp quang:  
P&I-Ch2: Protocols  
17  
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.  
P&I-Ch2: Protocols  
18  
9
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:  
- 1 start bit = 0,  
- 5/6/7/8 data bit, D0 first,  
- [parity: Even/ Odd],  
- 1 / [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:  
•
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  
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 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 2l1ỗi  
P&I-Ch2: Protocols  
2.1. Interface 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; 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  
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 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).  
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)...  
P&I-Ch2: Protocols  
24  
12  
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  
25  
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ý  
Master  
ENQ  
Slave  
ACK  
NAK  
tương ứng để đảm  
bảo việc ghép nối:  
không mất tin, thừa  
tin, quẩn, treo,  
nothing  
hỏng...  
• Thường xây dựng:  
Step List hoặc  
Chart:  
Hinh 2.4. Scenario Chart  
• Time Out !  
P&I-Ch2: Protocols  
26  
13  
H×nh 2.5. USB Interlayer Interconnection Model  
P&I-Ch2: Protocols  
27  
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  
P&I-Ch2: Protocols  
28  
14  
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  
29  
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.  
P&I-Ch2: Protocols  
30  
15  
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  
out 23Eh, ax ;  
lệnh sai, IOaddr>255  
; Read KB port  
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  
31  
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  
060-06F  
070-071  
PIT, Programmable Interval Timer  
Keyboard Port,  
Real Time Clock và 64 byte  
CMOS-RAM  
080-083  
DMA Page Register, giữ địa chỉ  
cao  
P&I-Ch2: Protocols  
32  
16  
0A0-0AF  
0C0-0CF  
PIC #2, Bộ đkh ưu tiên ngắt  
số 2, IRQ8 – IRQ15  
DMAC #2, 3 kênh DRQ 16  
bit  
0E0-0EF  
110-16F  
170-17F  
180-1EF  
1F0-1FF  
200-20F  
reserved, để dành  
AVAILABLE, để dành  
Hard Drive 1 (AT)  
AVAILABLE  
Hard Drive 0 (AT)  
Game Adapter  
P&I-Ch2: Protocols  
33  
210-217  
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  
220-26F  
278-27F  
280-2A1  
2A2-2A3  
2B0-2DF  
2E2-2E3  
2E8-2EF  
2F0-2F7  
2F8-2FF  
300-31F  
320-32F  
AVAILABLE  
P&I-Ch2: Protocols  
34  
17  
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 3  
P&I-Ch2: Protocols  
35  
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  
36  
18  
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).  
P&I-Ch2: Protocols  
37  
19  
pdf 19 trang Thùy Anh 15080 Free
Bạn đang xem 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 gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_thiet_bi_ngoai_vi_va_ky_thuat_ghep_noi_chuong_2_gi.pdf