You are on page 1of 19

Bo co k thut truyn s liu

LI M U
Trong thi i hin nay thng tin lin lc ng vai tr ht sc quan trng trong
cuc sng, hu ht chng ta lun gn lin vi mt vi ng dng trao i thng tin
no . Thng tin trao i bao gm vic trao i tin tc, cc ti nguyn hc tp
nghin cu nh cc phn mm (d liu, chng trnh ng dng,...)Trong mn hc
truyn d liu chng ta c nghin cu rt nhiu cch truyn tin v cc vn
lin quan n n. V ti m chng em tm hiu l : " M kim tra li CRC "
CRC chnh l mt phng php nhm kim tra xem ni dung mt tp tin c b thay
i trong qu trnh truyn tin hay khng. tng v CRC cng khng qu phc tp.
Trong bi vit ny, chng ta s tm hiu k m CRC qua cc phn sau:
Phn 1: Gii thiu m CRC
Phn 2: Ni dung
Phn 3: Chng trnh m phng
D tm hiu rt k nhng trong bi bo co khng trnh khi thiu st.
Chng em xin trn trng tip thu tt c nhng kin ng gp ca c v cc
bn hon thin bn bo co ny hn na.
Xin trn thnh cm n!

SVTH: nh Khi Thm

Page 1

Bo co k thut truyn s liu

MC LC
LI M U .....................................................................................................................................1
PHN I: GII THIU .......................................................................................................................3
PHN II: NI DUNG ........................................................................................................................4
Nguyn tc to m CRC.............................................................................................................4

I.
1.

Xc nh m CRC dng thut ton Mod-2. ...........................................................................4

2.

Dng php biu din a thc .................................................................................................7

II. Mch to m CRC ...........................................................................................................................8


1.

Mch to m CRC bn pht.....................................................................................................8

2.

Mch to m CRC bn thu.....................................................................................................10

IV. Kh nng d sai ca m CRC.....................................................................................................11


1.

M CRC lun lun cho php my thu d ra mt bit sai. .......................................................12

2. My thu s lun lun d ra li gm nhiu bit v c tng s bit li l s l nu ta chn


P(x) chia ng cho (x+1). ..............................................................................................................12
3.

My thu lun lun d ra li nu chui d liu sai c chiu di bc ca P(x). .................13

4.

Vi on d liu sai c chiu di > bc ca P(x) ....................................................................13

V. Cc a thc sinh thng dng .....................................................................................................14


PHN III: CHNG TRNH M PHNG....................................................................................15
1.

Giao din chng trnh ..............................................................................................................15

2.

Code ...........................................................................................................................................15

SVTH: nh Khi Thm

Page 2

Bo co k thut truyn s liu

PHN I: GII THIU


C nhiu cch kim tra cc bit kim tra li khi truyn d liu. K thut ph
bin v chi ph t nht cho d tm li l k thut VRC, thng c gi l kim tra
chn l. VRC c th d tm tt c cc li bit n. N cng c th do tm cc li bit
chm bit min l tng s cc bit thay i lun l s l (1, 3, 5).Tuy nhin, b kim
tra VRC khng th d tm khi tng s cc bit 1 ca n v d liu b thay i l chn.
Hoc kim tra li bng phng php LRC, n l k thut tng cng kh nng d
tm cc li bit hng lot. Tuy nhin, khi c mt mu cc bit vn cha khc phc
c. Nu 2 bit trong mt n v d liu b thay i v hai bit cng ng v tr
trong n v d liu khc cng b h hi, B kim tra LRC s khng d tm thy li.
K thut th 3 v l k thut mnh nht trong cc k thut kim tra d tha l k
thut kim tra vng CRC.
CRC (Cyclic Redundancy Check)
L vic kim tra d tha theo chu k vit tt l CRC, l mt k thut pht
hin li trong k thut truyn d liu, nhng khng c kh nng sa li. N c s
dng ch yu truyn d liu. Trong phng php CRC, mt tp tin bit kim tra
c tnh ton cho mi khung tin da vo ni dung khung, sau c gn vo ui
khung cc bt truyn i. Bn thu thc hin tnh ton tng t nh bn pht. Nu mt
li xy ra, ngi nhn s gi mt thng boNAK cho bn pht yu cu c
truyn li.
K thut ny cng i khi c p dng cho cc thit b lu tr d liu chng
hn nh mt a. Ti , mi khi trn a s c bit kim tra, v n c th t
ng bt u c li khi li pht hin, hoc n c th bo co li cho phn mm.

SVTH: nh Khi Thm

Page 3

Bo co k thut truyn s liu

PHN II: NI DUNG


I. Nguyn tc to m CRC

- Bc 1: mt chui n bit c ghp vo n v d liu. S n l mt s nh hn


s cc bit trong s chia xc nh trc c chiu di n+1 bit.
- Bc 2: n v d liu mi ko di chia cho s chia s dng mt qu trnh gi l
chia nh phn. Phn d ca php chia l CRC.
- Bc 3: CRC ca n bit dn ra t bc 2 thay th cc bit 0 c ghp vo cui
n v d liu. Ch l CRC c th bao gm tt c cc bit 0.
u tin, d liu c nhn, theo l CRC. Bn nhn coi ton b chui d liu
l mt n v v chia n cho cng s chia m c s dng trc tm ra
s d CRC.
Nu chui n m khng c li, b kim tra CRC s cho kt qu u ra l s d
bng 0 v n v d liu c qua. Nu chui b thay i trong qu trnh truyn,
kt qu php chia l mt s khc 0, do n v d liu khng c qua.
1. Xc nh m CRC dng thut ton Mod-2
* Nhc li mt s tnh cht ca php ton Mod-2:
SVTH: nh Khi Thm

Page 4

Bo co k thut truyn s liu

- Php cng Mod-2 l php cng nh phn khng nh, di y l th d v php


cng v php nhn
1010

1011

+ 1101

11

0111

1011
1011
11101

- Php cng Mod-2 c thc hin bi cng EX-OR


- Php tr Mod-2 ging nh php cng
- Nhn Mod-2 mt s vi 2n tng ng vi di s n bit v bn tri v thm n
bit 0 vo bn phi s , th d 11001* 23 = 11001000
- Php chia Mod-2 c thc hin ging nh php chia thng nhng nh l
php tr trong khi chia c thc hin nh php cng.
* Thut ton
Gi T = (k+n) bit l khung thng tin c pht, vi n < k, M = k bit d liu, k bit
u tin ca T
F = n bit ca khung FCS, n bit cui ca T
P = (n+1) bit, s chia trong php ton
S T c to ra bng cch di s M sang tri n bit ri cng vi s F:
T = 2nM + F
Chia s 2n M cho P ta c:
2n

M
R
Q
P
P

Q l s thng b R l s d
V php chia thc hin vi s nh phn nn s d lun lun t hn s chia 1 bit. Ta
dng s d ny lm s F, ngha l:
SVTH: nh Khi Thm

Page 5

Bo co k thut truyn s liu

T = 2nM + R.
my thu khi nhn c khi d liu, mang chia cho P, kt qu s d s = 0:
T
R R
R R
Q Q
P
P P
P

V R+R=0 nn T/P= Q
Nh vy dng s d R ca php chia 2nM cho P lm k t kim tra trong khung
FCS th chc chn T s chia ng cho P nu bn tin khng c li.
Th d:
D liu cn gi i: M= 101101
a thc sinh: P= 1101
S phi tm R (3 bt) cho khung FSC c xc nh nh sau:
-

Nhn M vi 23 cho kt qu: 101101000

Thc hin php chia cho P:

101101000 1101
01101
11001
1100
0
1101
1100
1101
10
110
1
3
Ta c R=010, cng R vi 2 M s cho s T pht i l:
T= 101101000 + 010 =101101010
Nu bn tin khng c li T phi chia ng cho P
Thc hin php chia T/P ta thy s d =0
Tm li, c mt khung FCS n bit, ngi ta phi dng mt s P c n+1 bit
to s R c n bit dng cho khung FCS. P c gi l a thc sinh (generator
SVTH: nh Khi Thm

Page 6

Bo co k thut truyn s liu

polynomial), dng ca n do cc giao thc qui nh, tng qut P phi c bit u v bit
cui l bit 1.
2. Dng php biu din a thc
thy qu trnh hnh thnh m CRC, ta c th dng php biu din mt s nh
phn di dng mt a thc ca bin x vi h s l cc s nh phn v bc ca x l gi
tr ch v tr ca s nh phn .
V d s nh phn 110110 c th biu din bi:
1.x5 + 1.x4 + 0.x3 + 1. x2 + 1.x1 + 0.x0 = x5 + x4 + x2 + x
Qu trnh hnh thnh m CRC c thc hin nh sau:
- Gi M l a thc biu din thng tin cn truyn
- P l a thc sinh, bc n (cha n+1 bit)
Thc hin php chia:

xn

M(x)
R(x)
Q(x)
P(x)
P(x)

Khung thng tin truyn c trng bi:


T(x) = xn M(x) + R(x)
- bn thu thc hin php chia T(x) cho P(x) s d phi bng 0.
T(x)
R(x) R(x)
R(x)
Q(x)

Q(x) 2
Q(x)
P(x)
P(x) P(x)
P(x)

Th d: M= 111101 tng ng vi a thc: M(x) = x5 + x4 + x3+ x2 + 1


P(x) =1101 tng ng vi a thc: P(x) = x3 + x2 +1
Tnh R(x) = ?

SVTH: nh Khi Thm

Page 7

Bo co k thut truyn s liu

x8+ x7+ x6+x5 + x3


x8 +x7
+ x5
6
x
+x3
x6 +x5 +x3
x5
x5 +x4 +x2

x3+ x2 +1
X5 + x3 +x2 +x+1

x4 +x2
x4 +x3 +x
x3 +x2 +x
x3 +x2 +1
x+1

R(x) =x +1 tng ng vi gi tr 011


=> T = 111101011

l khung tin m ta cn truyn i.

II. Mch to m CRC


Ta xt v d truyn i 1 khung 8 bt: 11100110 qua ng truyn s liu s dng
m CRC pht hin li. a thc sinh s dng l 11001.
1. Mch to m CRC bn pht

SVTH: nh Khi Thm

Page 8

Bo co k thut truyn s liu


Tn hiu iu khin phn hi
(t 1 thnh 0 sau 8 N TxC

x0 x1 x2

x3

TxC
PISO
lsb

msb

Np song song tng byte


trong N byte trong trung tn

TxC

Thanh ghi PISO

0
1
2
3
4
5
6
7

lsb
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0

1
1
0
0
0
0
0
0

0
1
1
0
0
0
0
0

0
0
1
1
0
0
0
0

1
0
0
1
1
0
0
0

8
9
10
11

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

TxD

1
1
0
0
1
1
0
0

msb
1
1
1
0
0
1
1
0

Thanh ghi FSC


X0 X1 X2 X3
0
0 0
0
1
0 0
1
0
1 0
0
1
0 1
1
1
1 0
0
0
1 1
0
1
0 1
0
1
1 0
0

0
0
0
0

0
0
0
0

0
0
0
0

1
0
0
0

1
1
0
0

0
1
1
0

S bt trong FSC l 4 bt nn cn 1 thanh ghi dch 4 bt gi l thanh ghi dch


FSC biu din x3, x2, x1, x0 trong a thc sinh. Vi a thc sinh ny th cc s x3,
x0 l 1, cn x2, x1 l 0. Trng thi mi ca x2, x1 c thay bng trng thi trc
SVTH: nh Khi Thm

Page 9

Bo co k thut truyn s liu

ca x0, x1. Trng thi mi ca x0, x3 c thay bng trng thi ca ng phn hi
XOR vi s trc .
Mch hot ng nh sau: Trc tin xa thanh ghi dch FSC v np song song
8 bt u tin trong khung tin vo thanh ghi vo song song, ra ni tip PISO. Tn
hiu phn hi l 1. Theo tc ca ng h pht TxC, cc bt ny c dch ra
ng truyn ln lt t MSB n LSB. Cng lc ny dng bt ny c XOR vi
x3 qua u phn hi tr li cc u vo chn lc ca FCS. Sau khi 8 bit u i qua
ht thanh ghi PISO, th tc ny lp li. Sau khi xut ra byte cui cng trong khung
tin thanh ghi PISO c np ton l s 0, tn hiu phn hi t 1 tr thnh 0, do
ni dung ca thanh ghi FSC l cc bit kim tra i theo sau khung tin pht ra ng
truyn.
2. Mch to m CRC bn thu

SVTH: nh Khi Thm

Page 10

Bo co k thut truyn s liu

FCS
x0

x1

x2

x3

RxD

RxC
SIPO
lsb

msb

c song song byte (xN)

RxC RxD
0
1
2
3
4
5
6
7
8
9
10
11
12

1
1
1
0
0
1
1
0
0
1
1
0

Thanh ghi PISO


lsb
0
1
1
1
0
0
1
1
0

1
1
1
0
0
1
1

1
1
1
0
0
1

1
1
1
0
0

1
1
1
0

1
1
1

1
1

c byte

msb X
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0

Thanh ghi FSC


X1 X2 X3
0
0
0
0
0
0
1
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0

S liu thu RxD ln lt c dch vo thanh ghi vo ni tip ra song song


SIPO (Serial Input Parallel Output) gia mi bit. Cc bt RxD ln lt c
XOR vi x3 v phn hi tr li thanh ghi SIPO mi khi nhn c byte 8 bt, thit b
iu khin s c byte.
IV. Kh nng d sai ca m CRC
Mt li xy ra mt v tr no trong khung d liu lm o bit v tr
SVTH: nh Khi Thm

Page 11

Bo co k thut truyn s liu

ca khung, iu ny tng ng vi php tnh EX-OR bit v bit 1 (v 0+1=1 v


1+1=0).
Nu gi E l mt khung c s lng bit bng vi khung d liu, trong ch cc
v tr ca bit li = 1 v cc bit khc = 0 th khung thng tin Tr nhn c c th vit:
Tr = T + E.
Th d:
T = 10110110110
Dng a thc: T(x) = x10 + x8 + x7 + x5 + x4 + x2 + x1
Gi s bn tin sai cc bit x8, x2 v x1
Khung E c dng: E = 0010000011
E(x) = x8 + x2 + x1
Khung d liu nhn c: Tr = 10010110100
Tr(x) =x10 + x7 + x5 + x4
Ta c:

TE T E

P
P P

My thu khng nhn ra li khi no Tr(x) chia ng cho P(x), hay ch khi E(x)
chia ng cho P(x).
CRC l phng php d tm li rt hiu qu. Nu s chia c chn theo
nguyn tc trc th:
1. M CRC lun lun cho php my thu d ra mt bit sai.
Gi s bn tin ch sai mt bit khi a thc E(x) c dng xi, i l mt s nguyn,
E(x) chia ng cho P(x) ch khi P(x) cng c dng xn. Ngi ta chn P(x) c t nht
l 2 s hng nn E(x) khng th chia ng cho P(x). Vy m CRC lun cho php my
thu d ra 1 bt sai.
2. My thu s lun lun d ra li gm nhiu bit v c tng s bit li l s l
SVTH: nh Khi Thm

Page 12

Bo co k thut truyn s liu

nu ta chn P(x) chia ng cho (x+1).


Gi s bn tin sai mt chui, nhng c tng s bit sai l s l: a thc E(x) cha
s l bit 1 nn E(1) =1. Mt khc, gi s (x+1) l tha s ca P(x), ta c th vit
P(x) = (x+1)*H(x),vi H(x) l mt a thc. Ta cng gi s li ny khng c d ra,
ngha l E(x) chia ng cho P(x), hay E(x) = P(x)*K(x). Thay P(x) =
(x+1)*H(x) vo E(x) c E(x) = (x+1)*H(x)*K(x), biu thc ny cho E(1) = 0.
iu ny tri vi gi thit trn, hay ni cch khc, my thu s d ra li nu ta chn
P(x) sao cho chia ng cho (x+1). Vy my thu lun d ra li gm nhiu bit v c
tng s bit li l s l nu P(x) chia ht cho (x+1).
3. My thu lun lun d ra li nu chui d liu sai c chiu di bc ca
P(x).
Gi s nhiu lm sai mt on d liu c chiu di m bc n ca P(x)
Gi s chui bit sai c v tr t th i n th i+m-1, E(x) c dng:
E(x) = xi+m-1 + . . . . +xi = xi.(xm-1+ . . . +1)

E(x) x i (x m1 ... 1)

P(x)
P(x)
Ngi ta lun chn P(x) c nhiu hn 1 bit nn xi khng th chia ht cho P(x). My
khng d c li khi v ch khi (xm-1+ . . . +1) chia ht cho P(x). V m<n nn my thu
khng th chia ng do vy my thu lun d ra li nu chui d liu sai c chiu di nh
hn bc ca P(x).
4. Vi on d liu sai c chiu di > bc ca P(x)
- Trng hp m-1 = n hay (m=n+1). V bc ca P(x) l n nn c php chia
ng P(x) phi c dng xn+ . . . . +1 vi cc s hng gia xn v 1 phi hon ton ging
vi cc s hng ca xm-1+ . . .

. . +1 th my thu khng d c li. C n-1 s

hng gia xn v 1 nn c 2n-1 t hp v nu cc t hp ny c xc sut xy ra nh


nhau th xc sut my thu khng nhn c li s l 1/2n-1.
SVTH: nh Khi Thm

Page 13

Bo co k thut truyn s liu

- Trng hp m>n+1, ta chp nhn kt qu xc sut ny l 1/2n.


Ly th d m CRC-32 (n=32), xc sut khng d ra mt li c chiu di >33
bit l 1/2.1032 (tng ng vi kh nng d ra li l 99,99999998%).
Tm li vi n cng ln vic my thu khng d ra li cng rt kh xy ra.
V. Cc a thc sinh thng dng
Mt a thc s c la chn sao cho tha mn:
- N s khng c chia ht bi x
- N c th c chia ht bi (x+1)
C 4 a thc P(x) c dng to m CRC thng dng:
CRC_12 = x12 +x11 + x3 + x2 + x + 1
CRC_16 = x16+x15 + x2 + 1
CRC_CCITT = x16+x12 + x5 + 1
CRC_32 = x32+ x26+ x23+ x22 + x16+ x12 + x11+ x10+ x8+ x7 + x5 + x4 + x2+x+1
CRC_12 dng truyn vi k t 6 bit v khung FCS di 12 bit.
CRC_16 & CRC_CCITT dng truyn k t 8 bit v khung FCS di 16 bit. (
M v u chu).
CRC_32 Dng trong mng cc b (LAN) v mt s ng dng ca DOD
(Department Of Defense).

SVTH: nh Khi Thm

Page 14

Bo co k thut truyn s liu

PHN III: CHNG TRNH M PHNG


1. Giao din chng trnh

2. Code
Private Sub Command1_Click()
Dim tem3 As String, tem4 As String
Dim y, x, z, tem1 As Long
Dim tem2, i As Integer
z = Bin2Dec(Text1.Text)
tem2 = Len(Combo1.Text)
tem1 = z * (2 ^ (tem2 - 1))
tem4 = Dec2Bin(tem1)
x = Bin2Dec(Combo1.Text)
For i = 0 To (Len(tem4) - tem2)
SVTH: nh Khi Thm

Page 15

Bo co k thut truyn s liu

If i = 0 Then
tem3 = Left(tem4, tem2)
Else
tem3 = tem3 + Mid(tem4, tem2 + i, 1)
End If
y = Bin2Dec(tem3)
If Len(Dec2Bin(y)) = Len(Combo1.Text) Then
tem3 = Dec2Bin(y Xor x)
End If
Next
Do While (Len(tem3) < (tem2 - 1))
tem3 = 0 & tem3
Loop
Text2.Text = Text1.Text & tem3
End Sub
Function Bin2Dec(Num As String) As Long
Dim n As Integer
n = Len(Num) - 1
a=n
Do While n > -1
x = Mid(Num, ((a + 1) - n), 1)
Bin2Dec = IIf((x = "1"), Bin2Dec + (2 ^ (n)), Bin2Dec)
n=n-1
SVTH: nh Khi Thm

Page 16

Bo co k thut truyn s liu

Loop
End Function

Function Dec2Bin(ByVal n As Long) As String


Do Until n = 0
If (n Mod 2) Then Dec2Bin = "1" & Dec2Bin Else Dec2Bin =
"0" & Dec2Bin
n=n\2
Loop
End Function

Private Sub Command2_Click()


End
End Sub

Private Sub Form_Load()


Combo1.AddItem "10"
Combo1.AddItem "10011"
Combo1.AddItem "10101"
Combo1.AddItem "1000011"
Combo1.AddItem "10001001"
Combo1.AddItem "100000111"
Combo1.AddItem "111010101"
SVTH: nh Khi Thm

Page 17

Bo co k thut truyn s liu

Combo1.AddItem "11000110011"
Combo1.AddItem "11000000000000101"
End Sub
Private Sub Timer1_Timer()
Dim a As String
Dim b As String
a = Left(Label2.Caption, 1)
b = Right(Label2.Caption, Len(Label2.Caption) - 1)
Label2.Caption = b + a
End Sub

SVTH: nh Khi Thm

Page 18

Bo co k thut truyn s liu

TNG KT
1. T nh gi kt qu bo co ti.
ti ca nhm em c hon thnh mc c bn v cng pht trin rng
thm mt s chi tit trong bi. Cc nh ngha cng nh nhng ni dung trong bi,
chng e c gng lm ngn gn xc tch v d hiu nht c th.
Cn mt s t cc chi tit cha kp hon thnh xong nh d tnh ban u. C
th cn mt s mt hn ch cha c b sung. Mong thy khi c xong ti bo
co ca chng em th gp kin cho nhm em ln sau nhm em lm ti bo
co c tt hn na.
2. Hng pht trin.
Nu c iu kin hn v thi gian, chng em s c gng hon thnh tt hn bi
bo co ca minh, sau ny c th c ng dng vo thc t. V gip ch cho
cuc sng nhiu hn.
V chng em xin chn thnh cm n nhng ng gp kin ca thy c!

SVTH: nh Khi Thm

Page 19

You might also like