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

Comm
Port

Modem
or
PC 2
DTR

DSR

Comm

Port

Hình 2.1.b. CommPort Handshake Signals
Phương pháp biến đổi tín hiệu: biên, tần, pha, dòng, quang
(cáp quang, Ir)
P&I-Ch2: Protocols

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ễu, tốc độ thấp hơn so với cùng chuẩn
P&I-Ch2: Protocols
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 (
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

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ấpP&I-Ch2: Protocols
và Gnd(s)

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ápProtocols
lỗi
P&I-Ch2: mã hóa, giải mã và kiểm tra 21

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).
P&I-Ch2: Protocols
23

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ý
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 !

Master

ENQ

Slave

ACK
NAK
nothing

Hinh 2.4. Scenario Chart
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
P&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...):
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
; 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

31

Phụ lục PC’s I/O Port Map
Port (hex)
000-00F
020-02F
040-05F
060-06F
070-071
080-083

Port Assignments
DMA Controller, đkh truy
nhập trực tiếp 1, 4 kênh 8 bit
Master PIC 8259A, ưu tiên
ngắt 1, IRQ0 – IRQ7
PIT, Programmable Interval Timer
Keyboard Port,
Real Time Clock và 64 byte
CMOS-RAM
DMA Page Register, giữ địa chỉ
cao
P&I-Ch2: Protocols

32

16
0A0-0AF
0C0-0CF
0E0-0EF
110-16F
170-17F
180-1EF
1F0-1FF
200-20F

PIC #2, Bộ đkh ưu tiên ngắt
số 2, IRQ8 – IRQ15
DMAC #2, 3 kênh DRQ 16
bit
reserved, để dành
AVAILABLE, để dành
Hard Drive 1 (AT)
AVAILABLE
Hard Drive 0 (AT)
Game Adapter
P&I-Ch2: Protocols

210-217
220-26F
278-27F
280-2A1
2A2-2A3
2B0-2DF
2E2-2E3
2E8-2EF
2F0-2F7
2F8-2FF
300-31F
320-32F

33

Expansion Card Ports
AVAILABLE
Parallel Port 2/ LPT2
AVAILABLE
clock
EGA/Video
Data Acquisition Adapter (AT)
Serial Port COM4
Reserved
Serial Port COM2
Prototype Adapter, cho người dùng
phát triển
AVAILABLE
P&I-Ch2: Protocols

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

3C0-3CF
3D0-3DF
3E8-3EF
3F0-3F7
3F8-3FF

35

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

Ch02

  • 1.
    CH. 2 GIAOTHỨ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.
    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
  • 3.
    • 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
  • 4.
    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 Comm Port Modem or PC 2 DTR DSR Comm Port Hình 2.1.b. CommPort Handshake Signals Phương pháp biến đổi tín hiệu: biên, tần, pha, dòng, quang (cáp quang, Ir) P&I-Ch2: Protocols 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ễu, tốc độ thấp hơn so với cùng chuẩn P&I-Ch2: Protocols 8 4
  • 5.
    • 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
  • 6.
    • Khả năngphố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 11 P&I-Ch2: Protocols 12 6
  • 7.
    H. 2.1d. OpenCollector. 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ấpP&I-Ch2: Protocols và Gnd(s) 14 7
  • 8.
    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
  • 9.
    Hình 2.3.c. Sợicá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
  • 10.
    Hình 2.3.d. USBdata 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
  • 11.
    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ápProtocols lỗi P&I-Ch2: mã hóa, giải mã và kiểm tra 21 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
  • 12.
    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 23 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
  • 13.
    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ý 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 ! Master ENQ Slave ACK NAK nothing Hinh 2.4. Scenario Chart P&I-Ch2: Protocols 26 13
  • 14.
    H×nh 2.5. USBInterlayer 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
  • 15.
    2.2. PHÂN MIỀNVÀ 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 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
  • 16.
    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 31 Phụ lục PC’s I/O Port Map Port (hex) 000-00F 020-02F 040-05F 060-06F 070-071 080-083 Port Assignments DMA Controller, đkh truy nhập trực tiếp 1, 4 kênh 8 bit Master PIC 8259A, ưu tiên ngắt 1, IRQ0 – IRQ7 PIT, Programmable Interval Timer Keyboard Port, Real Time Clock và 64 byte CMOS-RAM DMA Page Register, giữ địa chỉ cao P&I-Ch2: Protocols 32 16
  • 17.
    0A0-0AF 0C0-0CF 0E0-0EF 110-16F 170-17F 180-1EF 1F0-1FF 200-20F PIC #2, Bộđkh ưu tiên ngắt số 2, IRQ8 – IRQ15 DMAC #2, 3 kênh DRQ 16 bit reserved, để dành AVAILABLE, để dành Hard Drive 1 (AT) AVAILABLE Hard Drive 0 (AT) Game Adapter P&I-Ch2: Protocols 210-217 220-26F 278-27F 280-2A1 2A2-2A3 2B0-2DF 2E2-2E3 2E8-2EF 2F0-2F7 2F8-2FF 300-31F 320-32F 33 Expansion Card Ports AVAILABLE Parallel Port 2/ LPT2 AVAILABLE clock EGA/Video Data Acquisition Adapter (AT) Serial Port COM4 Reserved Serial Port COM2 Prototype Adapter, cho người dùng phát triển AVAILABLE P&I-Ch2: Protocols 34 17
  • 18.
    340-35F 360-36F 370-377 378-37F 380-38F 390-39F 3A0-3AF 3B0-3BF 3BC-3BF AVAILABLE Network, LAN adaptor FloppyDisk Controller Parallel Port 1, LPT1 SDLC Adapter Cluster Adapter reserved Monochrome Adapter Parallel Port 3 P&I-Ch2: Protocols 3C0-3CF 3D0-3DF 3E8-3EF 3F0-3F7 3F8-3FF 35 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
  • 19.
    BÀI TẬP CHƯƠNG2 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