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 2.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
Trang 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
2.1 Interface Protocols:
• K/n: Là các qui định:
– Signals, cable, port, connector…
– 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)
Trang 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:
• Analog/Digital - discrete?
• Digi: trạng tháI của sự vật, hiện tượng… format,
ser/par, mức logic…
• Ana: ỏp/dũng điện, dải đo, độ phõn ly, thời gian tỏc
động, độ chớnh xỏc, độ lặp lại…gia tri do
• Thiết bị thông minh: Tùy cấp độ: giưa desktop và
ES hay EM với device
• 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
Trang 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…
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
Trang 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.5V => +0.5V 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
• 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, RS232 ports
• 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
Trang 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…
• Ví dụ đối chứng:
– RS232: đơn cực, 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
Trang 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
• Bus Slot, Connector, chuẩn, số chân (pin)
P&I-Ch2: Protocols 12
Trang 7P&I-Ch2: Protocols 13
H 2.1d Open Collector Nếu là FET, so called
Open Drain
Sơ đồ cách ly quang học đ/v tín hiệu In/Out:
Hỡnh 2.2 Opto Coupler
Trang 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ơ đồ:
Trang 9P&I-Ch2: Protocols 17
Hình 2.3.c Sợi cáp quang:
2.1 Interface Protocols: 2.1.2 Format số liệu:
• 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.
Trang 10P&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
Trang 11P&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
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
Trang 12P&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)
Trang 13P&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
2.1 Interface Protocols:
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 !
Hinh 2.4 Scenario Chart
ACK NAK nothing
Trang 14P&I-Ch2: Protocols 27
H×nh 2.5 USB Interlayer Interconnection Model
P&I-Ch2: Protocols 28 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
Trang 15P&I-Ch2: Protocols 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 ):
oKhông chiếm không gian nhớ,
oCPU 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:
oIO 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
out 23Eh, ax ; lệnh sai, IOaddr>255
o Indirect: for IO space 0 0FFFFh, via dx register
Ví dụ: mov dx, 378h ; PLT port Addr
mov dx,3F8h ;Comm 1 port
Trang 16P&I-Ch2: Protocols 31
Phụ lục PC’s I/O Port Map
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
P&I-Ch2: Protocols 32
bit
Trang 17P&I-Ch2: Protocols 33
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
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
Trang 18P&I-Ch2: Protocols 35
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.
P&I-Ch2: Protocols 36
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),
I 2 C 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).