BK
TP.HCM
2008
dce
Chương 4
Các kỹ
thuật truyền dữ
liệu số
Truyền bất đồng bộ
và
truyền đồng bộ
Các loại lỗi
Phát hiện lỗi
Sửa lỗi
Cấu hình đường truyền
Giao tiếp
2008
dce
©2008, Dr. Dinh Duc Anh Vu
2
Data Communication and Computer Networks
Truyền dữ
liệu song song
•
Mỗi bit dùng một đường truyền riêng. Nếu có 8 bits được truyền
đồng thời sẽ
yêu cầu 8 đường truyền độc lập
•
Để
truyền dữ
liệu trên một đường truyền song song, một kênh
truyền riêng được dùng để
thông báo cho bên nhận biết khi nào dữ
liệu có
sẵn (clock signal)
•
Cần thêm một kênh truyền khác để
bên
nhận báo cho bên gởi biết là đã sẵn
sàng để
nhận dữ
liệu kế
tiếp
2008
dce
©2008, Dr. Dinh Duc Anh Vu
3
Data Communication and Computer Networks
Truyền dữ
liệu tuần tự
•
Tất cả
các bit đều được truyền trên cùng một đường truyền,
bit này tiếp theo sau bit kia
•
Không cần các đường truyền riêng cho tín hiệu đồng bộ
và
tín
hiệu bắt tay (các tín hiệu này được mã hóa vào dữ
liệu truyền
đi)
•
Vấn đề định thời (timing) đòi hỏi phải có cơ chế đồng bộ
giữa
bên truyền và
bên nhận
•
2 cách giải quyết
–
Bất đồng bộ: mỗi ký tự được đồng bộ
bởi start và stop bit
–
Đồng bộ: mỗi khối ký tự được đồng bộ
dùng cờ
2008
dce
©2008, Dr. Dinh Duc Anh Vu
4
Data Communication and Computer Networks
Truyền bất đồng bộ
•
Dữ
liệu được truyền theo từng ký tự để
tránh việc mất đồng bộ
khi nhận
được chuỗi bit quá
dài
–
5 8 bits
–
Chỉ
cần giữ đồng bộ
trong một ký tự
–
Tái đồng bộ
cho mỗi ký tự
mới
•
Hành vi
–
Đối với dòng dữ
liệu đều, khoảng cách giữa các ký tự
là đồng nhất (bằng
chiều dài của phần tử
stop)
–
Ở
trạng thái rảnh, bộ
thu phát hiện sự
chuyển 1 0
–
Lấy mẫu 7 khoảng kế
tiếp (chiều dài ký tự)
–
Đợi việc chuyển 1 0 cho ký tự
kế
tiếp
•
Hiệu suất
–
Đơn giản
–
Rẻ
–
Phí
tổn 2 hoặc 3 bit cho một ký tự
(~20%)
–
Thích hợp cho dữ
liệu với khoảng trống giữa các ký tự
lớn (dữ
liệu nhập từ
bàn phím)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
5
Data Communication and Computer Networks
Truyền bất đồng bộ
2008
dce
©2008, Dr. Dinh Duc Anh Vu
6
Data Communication and Computer Networks
Truyền bất đồng bộ
•
Đồng bộ
khung (frame synchronization): dùng
các ký tự điều khiển (STX, ETX, DLE)
STX
FR
L
ETX
Start bit Stop bit
STX
ETX
F
Frame contents
(printable characters)
STXDLE
DLE ETX
DLE
STX
DLE
ETX
Frame contents
(binary data)
DLE
DLE
Inserted
DLE
2008
dce
©2008, Dr. Dinh Duc Anh Vu
7
Data Communication and Computer Networks
Truyền đồng bộ
•
Truyền không cần start/stop
•
Phải có
tín hiệu đồng bộ
•
Đồng bộ
bit (bit synchronization): sử
dụng các
phương pháp sau
–
Tích hợp xung clock vào dữ
liệu truyền đi
•
Tích hợp thông tin đồng bộ
(clock) vào trong dữ
liệu truyền
•
Đầu nhận sẽ
tách thông tin đồng bộ
dựa vào dữ
liệu nhận được
•
Manchester, differential Manchester, tần số
sóng mang (analog)
–
Sử
dụng đường clock riêng
•
Dùng một đường tín hiệu đồng bộ
riêng biệt
•
Một bên (phát hoặc nhận) tạo ra các xung clock đồng bộ
với các bit
truyền đi trên đường clock riêng
•
Bên còn lại dùng tín hiệu trên đường clock riêng để
làm clock
•
Thích hợp khi truyền trong khoảng cách ngắn
•
Tín hiệu đồng bộ
dễ
bị
suy giảm trên đường truyền
2008
dce
©2008, Dr. Dinh Duc Anh Vu
8
Data Communication and Computer Networks
Truyền đồng bộ
•
Đồng bộ
frame
–
Mỗi block dữ
liệu được bắt đầu bằng một cờ
gọi là
preamble, kết
thúc bằng một cờ
gọi là
postamble
–
Preamble và
postamble là
một mẫu bit (bit pattern) được quy định
sẵn
•
Một chuỗi các ký tự
SYN (16h trong bảng mã ASCII)
•
Mẫu bit 11111110
–
Frame: dữ
liệu + preamble + postamble + thông tin điều khiển
–
Hiệu quả hơn so với truyền bất đồng bộ
(phí
tổn thấp hơn cho các
bit điều khiển)
•
HDLC: 48 bit điều khiển cho mỗi block 1000 ký tự
(8000 bit)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
9
Data Communication and Computer Networks
Các loại lỗi xảy ra trên đường truyền
•
Môi trường truyền dẫn bị
nhiễu (điện, từ, …) dữ
liệu nhận
có
lỗi (các bit bị thay đổi)
•
2 cách khắc phục khi phát hiện có
lỗi
–
Forward error control: thông tin sửa sai được thêm vào các ký tự
hoặc
các frame truyền đi, để
bên nhận có
thể
phát hiện khi nào có
lỗi va lỗi
nằm ở đâu để
sửa (có
khả năng sửa lỗi)
–
Feedback (backward) error control: thông tin sửa sai được thêm vào
các ký tự
hoặc các frame truyền đi chỉ đủ để
phát hiện khi nào có
lỗi
(không có
khả năng sửa lỗi). Cơ chế
yêu cầu truyền lại ký tự/frame sai
được dùng trong trường hợp này
•
Phân loại lỗi
–
Lỗi 1 bit
•
Chỉ
1 bit bị
lỗi, không ảnh hưởng các bit xung quanh
•
Thường xảy ra do nhiễu trắng
–
Lỗi chùm (busrt error)
•
Một chuỗi liên tục B bit trong đó bit đầu, bit cuối và
các bit bất kì
nằm giữa
chuỗi đều bị
lỗi
•
Thường xảy ra do nhiễu xung
•
Ảnh hưởng càng lớn đối với tốc độ
truyền cao
•
Bit error rate (BER): xác suất một bit nhận được bị
lỗi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
10
Data Communication and Computer Networks
Cơ chế
phát hiện lỗi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
11
Data Communication and Computer Networks
Phát hiện lỗi bằng bit parity
•
1 bit parity được thêm
vào 1 khối dữ
liệu cần
truyền đi
•
Bit parity
–
Parity chẵn: tổng số
bit 1
có
trong khối dữ
liệu, kể
cả
bit parity, là
số
chẵn
–
Parity lẻ: tổng số
bit 1 có
trong khối dữ
liệu, kể
cả
bit parity, là
số
lẻ
D a t aD a t a
( ASCII )
B0 B1 B2 B3 B4 B5 B6
Parity bit
(odd )
h 0 0 0 1 0 1 1 0
e
0 1 0 1 0 1 1 1
2008
dce
©2008, Dr. Dinh Duc Anh Vu
12
Data Communication and Computer Networks
Parity
•
Đặc điểm
–
Chỉ dò được lỗi sai một
số
lẻ bit, không dò được
lỗi sai một số
chẵn bit
–
Không sửa được lỗi
–
Ít được dùng trong truyền
dữ
liệu đi xa, đặc biệt ở
tốc độ
cao
2008
dce
©2008, Dr. Dinh Duc Anh Vu
15
Data Communication and Computer Networks
Cyclic Redundancy Check (CRC)
•
Nguyên lý
–
k-bit message
–
Bên phát tạo ra chuỗi n bit FCS (Frame Check Sequence)
sao cho frame gởi đi (n+k bit) chia hết cho 1 số
xác định
trước
–
Bên thu chia frame nhận được cho cùng 1 số
và
nếu
không có
phần dư thì
có
khả năng không có
lỗi
•
Số
học modulo 2
–
Exlusive-or
1010
0101-
1111
1 1 0 0 1
x 1 1
1 1 0 0 1
1 1 0 0 1
1 0 1 0 1 1
1010
0101+
1111
2008
dce
©2008, Dr. Dinh Duc Anh Vu
16
Data Communication and Computer Networks
CRC –
dùng số
học
•
Xác định FCS
–
T: frame được truyền (k+n bit)
–
D: message, dữ
liệu cần truyền (k bit đầu của T)
–
F: FCS (n bit sau của T)
–
P: số chia được xác định trước (n+1 bit)
–
Giả
sử
–
Suy ra nếu lấythìT chia hết P
•
Kiểm tra lại?
P
R
Q
P
D
n
2
FD
n
2 T
R
F
2008
dce
©2008, Dr. Dinh Duc Anh Vu
17
Data Communication and Computer Networks
CRC –
dùng số
học
•
Ví
dụ:
•
D = 1010001101 (10 bit)
•
P = 110101 (6 bit)
•
F =? (? bit)
n = 6-1 = 5 bit, k = 10 bit, n+k = 15 bit
Đáp số: F = 01110
Dữ
liệu T = 101000110101110
2008
dce
©2008, Dr. Dinh Duc Anh Vu
18
Data Communication and Computer Networks
CRC –
dùng số
học
•
Số
chia P
–
Dài hơn 1 bit so với FCS mong muốn
–
Được chọn tùy thuộc vào loại lỗi mong muốn phát hiện
–
Yêu cầu tối thiểu: msb và
lsb phải là
1
•
Biểu diễn lỗi
–
Lỗi = nghịch đảo bit (i.e. xor của bit đóvới 1)
T
r
= T + E
•
T: frame được truyền
•
T
r
: frame nhận được
•
E: error pattern với 1 tại những vị
trí
lỗi xảy ra
–
Nếu có
lỗi xảy ra (E ≠
0) thì
bộ
thu không phát hiện ra lỗi
đó
khi và
chỉ
khi T
r
chia hết cho P, nghĩa là
E chia hết cho
P khócókhả năng xảy ra
2008
dce
©2008, Dr. Dinh Duc Anh Vu
19
Data Communication and Computer Networks
CRC –
dùng đa thức
•
Cách khác để
xác định FCS: đa thức
D=110011 D(x) = x
5
+x
4
+x+1
P=11001 P(x) = x
4
+x
3
+1
•
Ví
dụ
–
Dữ
liệu cần truyền: 1001001 (k = 7 bits) đa thức biểu diễn:
D(x) = x
6
+ x
3
+ 1
–
Cho đa thức sinh: P(x) =x
3
+ 1 (n = 3 bits)
–
Dữ
liệu D dịch trái n bits:
x
n
D(x) = X9 + X6 + X3
–
FCS = 001
–
Dữ
liệu T được truyền: 1001001001
2008
dce
©2008, Dr. Dinh Duc Anh Vu
20
Data Communication and Computer Networks
Cyclic Redundancy Check
•
Các lỗi được phát hiện
–
Tất cả
các lỗi bit đơn
–
Tất cả
các lỗi kép nếu P(x) có
ít nhất 3 toán hạng
–
Một số
lẻ
lỗi bất kỳ
nếu P(x) chứa 1 thừa số
(x+1)
–
Bất kỳ
lỗi chùm nào mà
chiều dài của chùm nhỏ
hơn hoặc bằng chiều dài FCS
–
Hầu hết các lỗi chùm lớn hơn
•
CRC là
một trong những phương pháp thông
dụng và
hiệu quả
nhất để
phát hiện lỗi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
21
Data Communication and Computer Networks
Cyclic Redundancy Check
•
4 đa thức sinh được sử
dụng rộng rãi
–
CRC-12 = X
12
+ X
11
+ X
3
+ X
2
+ X + 1
•
12-bit FCS
•
Dùng để
truyền chuỗi các ký tự
có độ
dài 6-bit
–
CRC-16 = X
16
+ X
15
+ X
2
+ 1
•
16-bit FCS
•
Dùng để
truyền chuỗi các ký tự
có độ
dài 8-bit
•
USA
–
CRC-CCITT = X
16
+ X
12
+ X
5
+1
•
Europe
–
CRC-32 = X
32
+ X
26
+ X
23
+ X
22
+ X
16
+ X
12
+ X
11
+ X
10
+ X
8
+ X
7
+ X
5
+ X
4
+ X
2
+ X + 1
•
32-bit FCS
•
Point-point synchronous transmission, DVB-T…
2008
dce
©2008, Dr. Dinh Duc Anh Vu
22
Data Communication and Computer Networks
CRC –
dùng mạch số
D=1010001101
P=110101
1010001101
x
2
1
x
4
x
5
C4
C4
C3
C3
+
C2
C2
C1
C1
C0
C0
+
+
C4* C3 C2* C1 C0* Input
Initial 0 0 0 0 0 1
Step 1 1 0 1 0 1 0
Step 2 1 1 1 1 1 1
Step 3 1 1 1 1 0 0
Step 4 0 1 0 0 1 0
Step 5 1 0 0 1 0 0
Step 6 1 0 0 0 1 1
Step 7 0 0 0 1 0 1
Step 8 1 0 0 0 1 0
Step 9 1 0 1 1 1 1
Step 10 0 1 1 1 0
2008
dce
©2008, Dr. Dinh Duc Anh Vu
23
Data Communication and Computer Networks
Sửa lỗi
•
Cách sửa lỗi thông thường là
yêu cầu truyền lại khối
dữ
liệu bị
lỗi
•
Không thích hợp cho các ứng dụng trao đổi dữ
liệu
không dây
–
Xác suất lỗi cao, dẫn đến việc phải truyền lại nhiều
–
Thời gian trễ
truyền lớn hơn nhiều thời gian truyền 1 khối
dữ
liệu
–
Cơ chế
truyền lại là
truyền lại khối dữ
liệu bị
lỗi và
nhiều
khối dữ
liệu khác tiếp theo
•
Cần thiết sửa lỗi dựa vào các dữ
liệu nhận được
2008
dce
©2008, Dr. Dinh Duc Anh Vu
24
Data Communication and Computer Networks
Cơ chế
sửa lỗi
2008
dce
©2008, Dr. Dinh Duc Anh Vu
25
Data Communication and Computer Networks
Cơ chế
sửa lỗi
•
Thêm một số mã dư thừa vào dữ
liệu truyền đi
•
Bộ
thu có
khả năng suy luận ra dữ
liệu gốc ban đầu
khi có
lỗi xảy ra
•
Ví
dụ: mã sửa lỗi block
–
Tổng quát là
thêm n bit vào sau k bit dữ
liệu cần truyền
•
Tạo thành block dữ
liệu (n+k) bit (codeword)
•
Trong từ
mã có
chứa k bit dữ
liệu gốc
–
Một số
kỹ
thuật FEC chuyển k bit dữ
liệu gốc thành n (n>k)
bit từ mã trong đó
không xuất hiện k bit dữ
liệu gốc
•
Chi tiết xem chương 6, phần 6.4
•
Làm giảm tốc độ
dữ
liệu hiệu dụng
–
Code rate: k/(n+k)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
26
Data Communication and Computer Networks
Giao tiếp
•
Giao tiếp
–
Thiết bị
xử
lý dữ
liệu (DTE) thường
không có
các phương tiện phát dữ
liệu, và
chỉ
phát các t/h số đơn giản như NRZ-L
–
Cần một thiết bị
giao tiếp (DCE) –
ví
dụ: modem, NIC, …
–
DCE phát các bit dữ
liệu trên môi trường truyền dẫn
–
DCE trao đổi dữ
liệu và thông tin điều khiển với DTE
•
Được thực hiện thông qua mạch trao đổi
•
Cần một chuẩn giao tiếp rõ ràng
•
Đặc tính
–
Cơ khí
•
Kết nối vật lý, các đầu kết nối
–
Điện
•
Điện áp, định thời thay đổi các mức điện thế, mã hóa, …
–
Chức năng
•
Ý nghĩa của mỗi chân kết nối
•
Dữ
liệu, điều khiển, định thời, GND, …
–
Thủ
tục
•
Chuỗi các sự
kiện xảy ra khi truyền dữ
liệu
2008
dce
©2008, Dr. Dinh Duc Anh Vu
27
Data Communication and Computer Networks
Giao tiếp