Tieu luan atm

Embed Size (px)

Citation preview

  • 8/2/2019 Tieu luan atm

    1/41

    Tiu lun: ng dng m CRC trong mng ATM

    Chng IGii thiu tng quan v ATM

    I. Gii thiu v ATM...........................................................................................03I.1. Nguyn l c bn ca ATM.....................................................................04I.2. Cu trc lung thng tin trong ATM........................................................06I.3. c im ca ATM..................................................................................06I.4. M hnh giao thc chun ca ATM.........................................................07I.5. Lp tng thch ATM..............................................................................09

    I.5.1. Giao thc lp AAL..........................................................................09

    I.5.2. Giao thc lp AAL 5.......................................................................10I.6. Cu trc phn u t bo..........................................................................12

    II. Cc loi li t bo...........................................................................................18II.1. Mt t bo do li phn tiu ................................................................18II.2. Mt t bo do trn hng i....................................................................20

    Chng II

    iu khin li tiu

    1. Mt s chc nng ca trng HEC................................................................212. iu khin li.................................................................................................21

    II.1. iu khin li mo u...........................................................................21II.2. Phn tch t bo v to tn hiu gi ngu nhin......................................23

    3. Thut ton iu khin li................................................................................24

    Chng 3Tnh ton hai bc ca m d tun hon CRC-32

    cho ATM

    I. Gii thiu..........................................................................................................29II. Tng quan.......................................................................................................29

    III. Hon cnh hin ti.........................................................................................30IV. n gin ho php tnh.................................................................................31

    Trang 1

  • 8/2/2019 Tieu luan atm

    2/41

    Tiu lun: ng dng m CRC trong mng ATM

    IV.1. n gin M(x).......................................................................................31IV.2. Php chia cui cng..............................................................................32

    V. Tng kt phng php....................................................................................34VI. Chng trnh m phng................................................................................35

    Chng 1

    Trang 2

  • 8/2/2019 Tieu luan atm

    3/41

    Tiu lun: ng dng m CRC trong mng ATM

    Gii thiu tng quan v ATM

    I. Gii thiu v ATM

    ATM l ch vit tt ca kiu truyn ti khng ng b (AsynchronousTransfer Mode). Nghin cu u tin v ATM v cc k thut c lin quan c 2 trung tm ca CNET v AT&T cng b nm 1983. Trong nm 1984,trung tm nghin cu ca Alcatel Bell bt u pht trin cc khi nim ATM.

    ATM c cc c tnh c bn ging chuyn mch gi v ATM l phngthc truyn tin trong thng tin c chia thnh cc gi c chiu di nhkhng thay i gi l cc t bo tin. T bo tin c truyn c lp v s csp xp li th t u thu. ATM khng ng b bi l do s xut hin lin tc

    cc t bo trn cc knh khng ph thuc chu k. ITU chn cng ngh ATM nh cng ngh chuyn mch hoc kiu chuyn ti cho B- ISDN, nn tngca mi thng tin bng rng. ATM c coi l cng ngh ca th ky 21 vngi ta ang trng i tnh ph dng ca n nh cng ngh PCM ang s dnghin nay.

    T khng ng b c s dng bi v ATM cho php hot ng khngng b gia pha pht v pha thu. S khng ng b ny c th x l d dng

    bng vic chen hay tch cc t bo khng phm nhim (t no rng). l ccgi khng mang thng tin. Mt trong nhiu c tnh c bit ca ATM l n ckh nng bo m vn chuyn tin cy bt k mt loi dch v no m khng cnquan tm n tc (tc khng i hay tc thay i ), yu cu cht lnghoc c tnh bng n t nhin ca lu lng.

    ATM c th c cho mi trng mng. Ngoi ra, cc t bo ATM c di ng nht do vy vic nh tuyn, chen, tch, hay ghp cc t bo nhanh hnm khng cn quan tm n thng tin c mang trong t bo ATM. V vy,

    cui cng ITU-T quyt nh chn phng thc truyn ATM lm mng phc vcho cc dch v trong mng bng rng. Tht vy mng ATM c nhng u imsau:

    Gim gi thnh vn hnh, khai thc v qun l. Gim chi ph v s dng ghpthng k.

    iu khin c nhiu loi lu thng khc nhau nh: D Liu, Ting Ni,Hnh nh, Video,... p ng cho mi nhu cu ca ngi dng khc nhau.

    Trang 3

  • 8/2/2019 Tieu luan atm

    4/41

    Tiu lun: ng dng m CRC trong mng ATM

    Kh nng s dng ng truyn hiu qa: Cho php truyn cc ng dnghnh nh, d liu, .. c tc c nh, hoc bin i theo thi gian hoc ngtqung.

    Dng k thut chuyn mch bng phn cng: Vi chiu di t bo c nh l53 Bytes, ATM cho php vic x l chuyn mch bng cc phn cng c tc rt nhanh, gim thiu th i gian chuyn mch v tng ng k tc truyn.

    Cho kh nng thit l p cc nhm knh o: Nhm knh o c nh nghabng ch s nhn dng o (VPI/VCI), Do vy c th to mi, thay i lulng hoc l trnh bng cch iu khin vic gn cc nhn a ch ti cc ntchuyn mch. Kh nng ny cho php vic qun l v iu hnh mng nng

    ng. c tnh truyn dn mm do: Cho php hu nh khng gii hn v tc

    ca mi knh cng nh s lng cc knh v mi knh thng tin c thitlp bng chui cc t bo ATM, s lng cc t bo c truyn i trong mtn v thi gian l t do, s lng knh trn mt ng truyn ph thuc vos cc nhn dng logic nn tc mi knh thng tin lun t n mc ti ac th c. ATM c th p ng d dng cc dch v c tc khc nhauv cc dch v trong tng lai.

    C kh nng cung cp bng thng theo yu cu: ATM l k thut hiu qacho vic xy dng mng: Ngi s dng c th kt ni vi mng bng cchdng nhng b thch ng h tr bng thng ty theo yu cu ring ca ngis dng .

    I.1. Nguyn ly c bn ca ATM.Trong mc ny chng ta s tm hiu nguyn l ATM: phn on v ti hp.

    Mt cch qun tr tt cc lung thng tin ln l ct cc thng tin thnh cc gic di bng nhau cn gi l cc t bo c gn tiu gi c th c nhtuyn ti ch ca n. Cc tiu trong ATM c rt t chc nng do vy chngc th c chuyn qua mng m hu nh khng phi x l. Hnh 1.2 ch ra lulng vi cc tc khc nhau 64 Kbps, 2Mbps, 34Mbps c ct thnh ccgi bng nhau- t bo. cc t bo t cc ngun khc nhau c a vo mingng truyn dn s trn theo cch sao cho truyn dn ti u nht.

    Ti u ho ay c thc hin bng k thut ghp knh thng k. trong

    mt mng ATM, vi ngun v t hp c ghp li vi nhau trn mt ng

    Trang 4

  • 8/2/2019 Tieu luan atm

    5/41

    ** ** ** **

    Tiu lun: ng dng m CRC trong mng ATM

    n. trong mng ghp knh theo thi gian TDM, bng thng hi u dng bngtng bng thng ca cc ngun c l p.

    Nu hai ngun c bng thng tng ng l x bps v y bps th bng thnghiu dng s l (x+y) bps. Cn trong mng ATM, bng thng hiu d ng z Phn d r(x)

    Trang 26

  • 8/2/2019 Tieu luan atm

    27/41

    Tiu lun: ng dng m CRC trong mng ATM

    Php ton thc cht l cch cng modul 2 ca mt b dch chuyn theovng c cng ho:

    35612151819212223252628308

    )(

    )(xxxxxxxxxxxxxx

    xG

    xFx++++++++++++=

    v phn d l r(x)= 34 xx + . Phn a thc r(x) c m ho thnh 8 bit 00011000v a vo trng HEC. Nh vy 5 byte mo u c truyn ti bn pht l:01010111 01001100 00010111 10011001 00011000

    Nu bn thu, thu c mt dy bit m khng ng nh bn pht+Gi s l dy bit: 01010110 01001100 00010111 10011001 00011000.Bn thu thc hin php chia dy bit nhn c cho a thc sinh g(x) nu phpchia khng ht th c li xy ra.

    8x F(x)-r(x)=G(x)h(x) v d r(x)/g(x)a thc li chnh l r(x).Ta s chng minh iu ny thng qua v d trn:

    01010110 01001100 00010111 10011001 00011000 | 100000111

    Trang 27

  • 8/2/2019 Tieu luan atm

    28/41

    Tiu lun: ng dng m CRC trong mng ATM

    1000001 110010111 10

    10000 011100111 1111

    100 000111011 11100010 000011101 11101111 000001110 11101001

    10000011 1

    01101010 11000001 110101011 01100000 111001011 101

    1000 001110011 10001

    10 0000111

    01 10000001 000001110 10000110

    10000011 101010110 01001100 00010111 10011001 00011000 Y 100000111

    ...... khng q.tm n thng s00000101 0

    100 000111

    001 0000011 000001110 00000010

    10 000011100 00010110

    Php chia c d: r(x)=10110= xxx ++ 24 . Nh vy c li xy ra.

    Chng 3

    Trang 28

  • 8/2/2019 Tieu luan atm

    29/41

    Tiu lun: ng dng m CRC trong mng ATM

    Tnh ton hai bc ca m d tun hon CRC-32

    cho ATMI. Gii thiu.

    Trong lnh vc vin thng, trong s lng ln cc m d tun honc s dng th m ATM CRC-32 l kh tnh ton v n da trn a thc c

    bc l 32 v c nhiu hn nhiu s hng (15) so vi bt k a thc CRC c sdng chung khc. Vic kim tra v to ra m CRC ni chung l c tin hnhtheo tng byte, trong mt c gng i mt vi vic tng ng k thng lngd liu ca cc tuyn truyn d liu tc cao. Nhiu tnh ton l cn thit x l mt byte mi ti ca d liu nu nh s cc s hng ca a thc ln, bi

    v cn phi kt hp nhiu bit ca kt qu trung gian hin hnh tnh tng bitca cc bc tip theo. iu ny c khuynh hng i ngc li vi li th tc ni ti ca vic tnh ton tng byte do yu cu x l c thc hin michu k. Bi tiu lun ny tm hiu phng thc m lm tng tnh phc tp bntrong ca vic tnh ton m CRC-32. N cho php x l nhanh cc b n tinAAL5, m cc bn tin ny phi c phn on trong cc t bo ATM khi CRC-32 dc tnh mt u cui v phi c tp hp li t cc t bo ATM khiCRC-32 c kim tra i vi ton b d liu ti ch n. Vic tnh ton c

    chia lm hai bc:1. Phep chia th nht c thc hin bng mt a thc rt n gin trn ton

    b bn tin (cho n khi nhn c hoc phn on cui cng).2. Php chia th hai c thc hin ch mt ln vi phn d sau php chia

    th nht bng mt a thc CRC-32 thng thng vi mc ch nhn ckt qu cui cng.

    II. Tng quan:Cc bn tin c truyn qua mt mng truyn ti khng ng b ATM

    phi c phn thnh cc gi ngn, chiu di khng thanh i c gi l cc tbo phn ngun v c gom li phn ch. Mt vi cc lp thch nghi cnh ngha t cc tiu chun ATM, n cho bit qu trnh x l c tin hnhnh th no. Lp thch nghi ATM s 5 (AAL5) l cch x l n gin nht t

    phn on thnh cc t bo bn ngun v t p hp li bn ch. N cng lm chovic s dng bng thng tr ln tt hn, b i v khng nh cc lp thch nghi

    khc, n khng i hi on mo u trong tng t bo ngoi tr vi byte trongtrng thng tin ca t bo cui cng. Vi nhng l do ny AAL5 c xu hng

    Trang 29

  • 8/2/2019 Tieu luan atm

    30/41

    Tiu lun: ng dng m CRC trong mng ATM

    tr thnh mt phng php c u chung hn chia thng tin thnh cc tbo. V phi m bo tnh ton ven ca d liu, ngi ta s dng k thut kimtra d tun hon chun CRC trn ton b bn tin v m t chui kim trakhung FSC c cng thm vo vi d liu v c truyn cng t bo cuicng. Ti u cui xa trong khi thc hin t p hp cc t bo li s kim tratnh ton ven d liu ca bn tin. a thc c la chn bi cc chun lin quanv cu trc thc hin CRC AAL5 ging nh a thc bc 32 c dng chogiao din d liu phn b theo si quang FDDI:G*(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

    S lng ln cc s hng ca a thc ny lm cho n kh thc hin hncc m CRC ang s dng, bit khi ta xem xt cc ng truyn tc cao

    hn. Do vy mc ca AAL5 a ra cch thc phn on v tp hp t bo lisao cho n gin v hiu qu b c mt cht do vic cn thit phi tnh tonv kim tra mt a thc CRC32 bc phc tp. Bi baoc co ny tm hiu mt

    phng thc ca vic gin ho tnh ton theo trnh t d dng thc hin vphn mch cho tnh ton CRC tc cao trong cng nghe CMOS tiu chun.

    III. Hon cnh hin ti:Ngc li cc tiu chun CRC vic thc hin CRC ring bit dng cc

    thanh ghi dch hi tip tuyn tnh (LFSR), trong ti mi thi im th ch cth x l mt bit, tt c cc phng php tng tc tnh ton CRC c

    bit u hng ti xut vic x l theo mc byte. Trong phng php ny xut loi b kiu ghi dch v x l tnh ton trc tip tu thuc vo c s tonhc ca cc m CRC (cu trc i s ca a thc) cho php thu c kt qu tthn nhiu n khi vic thc thi phn cng c p n. Vic tnh ton tng bytemiu ta yu cu tng ng 114 cng XOR hai u vo v mt cng XOR 8u vo tnh ton cc gi tr bit tip theo.

    Tuy nhin, iu ny vn c th l qu nhiu, v d i vi tnh ton tc rt cao i hi x l cc u ni AAL5 ATM chy qua cc ng OC-12.i vi cc ng OC-12 (622x106 bit/s) th c khong 13 ns th c mt bytethu v (2,4x109 bit/s). Mc d khg phi ton b lu lng ca cc ng nhvy l cc u ni AAL5 - u ni m cn thit phi phn on v t p hp t

    bo. Nhng con s nh th biu th rng dung lng x l tc thi c th phirt cao ch khng phi lm suy gim cht lng tng th ti mt nt mng.

    Trang 30

  • 8/2/2019 Tieu luan atm

    31/41

    Tiu lun: ng dng m CRC trong mng ATM

    IV. n gin ho php tnh:Tt c cc phng php tnh ton CRC bit u x l bng cch chia

    bn tin cho a thc sinh CRC G(x) c la chn thc hin vic tnh ton. tng mi trong phng php mi tm hiu l tin hnh s tnh ton ny thnh 2

    bc:1. Qua trinh kim tra v to m CRC c thc hin bi mt a thc

    khc, M(x), M(x) = G(x).P(x), ngoi tr bc cui cng. a thc nyphi l a thuc bi s ca a th CRC G(x), s d ca php chiau tin ca bn tin cho M(x) l chia ht v tt nhin cng chia ccho G(x). P(x) l mt a thc c bc cng thp cng t t bc caM(x) cng thp. V th n phi c chn sao cho a thc kt qu

    M(x) c t s hng hn G(x) vic cia u tin n gin. vic tnhton d dgn hn, cu trc ca M(x) s c tho lun su hn phntip theo.

    2. Kt qu ca php chia u tin m c thc hin trn tt c cc cellcu thanh bn tin l mt vct c di khng i v c bc bng vi

    bc ca a thc M(x). Tip n, vct ny c chia mt ln duy nhtcho G(x) thu c kt qu cui cng.

    IV.1. n gin M(x):a thc M(x) = G(x).P(x) c cho l a thc n gin nu c t c s

    hn G(x). Khng c bt k a thc n gin no tho mn yu cu bi v nphi tho mn c cc c s trong khong t gi tr cc i (bc cao nht ca athc) n gi tr (x0 hoc 1). Nu trong qu trnh tnh ton c thc hin trntng byte th cc lu tha ca cc c s cn cch nhau t nht l 8 bit qutrnh tnh ton khong chng cho ln nhau.Ly v d, a thc bi ca CRC-32 G(x) c cho di y:

    M(x) = x

    123

    + x

    120

    + x

    80

    + x

    74

    + x

    53

    + x

    45

    + 1N ch c 7 c s nhng li khng tt bng a thc sau:M(x) = x123 + x111 + x92 + x84 + x64 + x46 + x23 + 1

    a thc trn thm ch cn nhiu hn mt s hng. Nhng trong vi d th 2, ttc lu tha ca cc c s cch nhau t nht 8 bit. Vi a thc ny , php chiau tin c th thc hin c 8 bit mt ln ch bng cc phn t XOR hai uvo bi my trng thi c th hin hnh 1. Trong vic t nh ton cthc hin trong cc a thc i s modulo G*(x). Vic tnh ton c thc hin

    modulo M123

    sao cho kt qu ca bt k php ton no cng l mt vct c di khng qu 123 bit. thc hin my trng thi nh hnh 1 ch c n 56

    Trang 31

  • 8/2/2019 Tieu luan atm

    32/41

    Tiu lun: ng dng m CRC trong mng ATM

    phn t XOR hai u vo v 123 cng. 67 bit cn li ca kt qu trung gian tiptheo n gin ch l s dch bit (8 v tr) ca kt qu hin thi. iu ny cho

    php my trng thi hot ng tc rt cao, v th vic tnh ton c th duytr tc rt cao ca cc ng truyn thng cp quang hin nay. t ctc ny l do c nhiu bit c x l ng thi v cn lu mt vct di hn(123 bit thay v 32) vi cc kt qu trung gian trong qu trnh th c hin tnhton. y khng phi l s hn ch thi im hin ti, khi m cc mng cngc th ln ti 100 000 cng. V vy, nguyn l xut trn cho php con ngili dng kch thc ca vct x l trong qu trnh tnh ton.

    Cc tho hip khc c th p ng c nu a vo s dng cc phn tXOR nhiu cng hn (3, 4, cng) togn khi vn m bo c tc x l yu

    cu. Hai a thc khc thc hin nguyn l tnh ton trn c lit k trong bng1 cng vi M123 v G*(x).

    IV.2. Php chia cui cng:Theo nguyn l m t trn, php chia cui cng phi c thc hin vi

    G(x). Bi v php chia th hai v php chia cui cng ny c p dng chomt vect c di ngn, khng i (bt k di bn tin lc u l bao nhiu),do vy cc k thut lc ny thng l khng thc t do bn tin cn x l c thc kch thc bt k. V vy cch n gin nht l lm vic vi mt t c di

    c nh. Mt ma trn c to ra (ma trn H, k hiu ECC) v c thc hindi dng mt mng t hp thc hin php chia cui cng. u vo camng ny l phn d ca ca php chia u tin (chng hn l mt vc t 123 btnu M123 c chn), v u ra l phn d- vct 32 bt ca php chia choG*(x).

    Nh vy, mt mng logic d dng c rt ra t G(x). V phng phpthc hin n c th c tm thy mc [6] v trong nhiu ti liu xut bnkhc cp n ECC. i vi mng 2, vct u vo 53 bt chnh l kt qu ca

    php chia cho M53 (nh ch s t 0 n 52) c p dng cho ma trn 53 ct tnh mt gi tr bt cho mi mt dng trong s 32 dng. Phn t u tin trongmi dng ca ma trn biu din cc bt ca vc t u vo tnh chn l cn

    phi tnh ly ra vc t 32 bt (c nh ch s t 0 n 31) l kt qu caphp chia cho G(x). Ct c ghi ch l XOR inputs trong 2 bn cho bit cbao nhiu bt ca u vo cn phi kt hp tnh bt ca dng tng ng. Mtphn t XOR 13 u vo c yu cu. Tc ca mt mng nh vy theo mt

    ngha no tng ng vi chu trnh thi gian ca my trng thi c m t trn; Tnh tng ng ca mt vi chu trnh l cn thit sinh ra kt qu. Tuy

    Trang 32

  • 8/2/2019 Tieu luan atm

    33/41

    Tiu lun: ng dng m CRC trong mng ATM

    nhin, vic tnh ton nh th ch c thc hin 1 ln cui v ngi ta d nhnthy rng, qu trnh tnh ton tng th r rng nhanh hn cc phng phptruyn thng thm ch vi c cc bn tin ngn (l bn tin c kch thc 1 n vx l).

    Hnh 3.1. My trng thi tnh ton phn d ca php chia th nht choM123

    a thc M(x) u vo cn thit cci ca b XOR

    M123 = x123 + x111 + x92 + x84 + x64 + x46 + x23 + 1M71 = x71 + x57 + x48 + x44 + x36 + x22 + x15 + x8 + 1M53 = x53 + x38 + x36 + x33 + x30 + x27 + x25 + x7 + x3 + 1G*(x) nh trong [5 ]

    2348

    Bng 3.1. Cc a thc thc hin php chia u tin v N u vo cc ii hi ca b XOR

    V. Tng kt phng php.

    Trang 33

    Khi nhn Vect M123(48 cng XOR hai uvo)

    B cng (8 cngXOR hai uvo)

    Thanh ghi 123 bit lu tr phn d hin hnh

    Byte mi(Byte cao, trc)

    123

    115

    123

    8

    8

    8

  • 8/2/2019 Tieu luan atm

    34/41

    Tiu lun: ng dng m CRC trong mng ATM

    Nguyn l tnh ton c tng kt di y cho M123. Ly v d, gi scho bn tin cn x l c di 1Kb. Thi gian chu trnh ca my trng thi x l 1 byte c th t hn 10ns (my trng thi 100MHz) vi 1 phn t XOR haiu vo. Khi , 48 byte ca mi mt t bo ATM c tnh ton trong 480ns(mt t bo chim 700ns tc 622MBps). Bn tin y , gm 21 t bo cnhn 10s cho php chia cui cng, v c th thc hin trong 5 chu trnh hoc thn (chng hn ti a l 50ns). V th, trong v d ny, php chia cui cngchim ch 0.5% tng thi gian tnh ton. i vi mt bn tin kch thc 1 t bon (trng hp xu nht) s c x l trong 480ns, v php chia cui cngchim xp x khong 10% tng thi gian tnh ton. Nguyn l hai bc c mt trong ti liu ny c tng kt trong hnh 2 cho M123

    Ba a thc cho trong bng 1 l cc a thc tt nht m tc gi c th tm trongqu trnh tm kim a thc bc 128 l bi ca G(x). (Ch nhng a thc ny khinhn vi cc c s lin tip c cc s m chnh lch nhau 8 hoc hn l vnm bo. Cc a thc M71 v M53 thc cht l sn phm ca kt qu tm kim.

    N c rt ra tm a thc bc thp nht c th m bo m php chia utin c thc hin theo 8 bit mt ln khi ch yu cu vi cc phn t XOR haiu vo. M123 chnh l kt qu tm kim). Vic s dng ton t 2 u vo m

    bo trng thi my t c tc nhanh nht c th. Mt ci tin ca nguyn

    l c tho lun trong ti liu ny ch c tc dng i vi mt a thc c bcnh hn 123, vi cc c s t hn, n yu cu phn cng t hn nhng khngem li u im g v tc .

    Kt lunPhng pht tnh ton CRC-32 cho ATM lp 5 AAL5 tc cao.

    Php chia ln u c thc hin vi mt thc M(x) khc so vi a thcc chn theo cc tiu chun sao cho vic tnh ton d dng hn trong khi ccsell vn c truyn v nhn bnh thng. Khi t bo cui cng c x l, mt

    php chia n cui cng cho a thc CRC-32 G*(x) c thc hin kt thcqu trnh tnh ton. Nguyn l ny hon ton c th thc hin c do M(x) lmt a thc bi c G*(x), cho php thc hin hu ht cc tnh ton vi mt mytrng thi rt nhanh m li c th thch hp vi tc rt cao x l cho cc ktni AAL5 c truyn dn trn cc si cap quang, cng nh OC-12(622Mb/s), trng hp ny, cc t bo ATM cung c x l trong tng khong

    700ns. Nguyn l vn cho php s dng cc cng ngh CMOS tiu chun, trong

    Trang 34

  • 8/2/2019 Tieu luan atm

    35/41

    Tiu lun: ng dng m CRC trong mng ATM

    khi mt hiu sut cao hn thng cn thit tnh ton vi cc phng phptruyn thng m ch bng cc a thc G*(x).

    VI. Chng trnh m phng.

    S dng tin ch ny xc nh s CRC vi cc file trn a. Rt thuntin khi khc phc s c ca chnh chng trnh. M ngun vit bng C++ giithch mt phn thun tin rt nh ca thut ton CRC-32. c c th ho trongchng trnh tnh ton vn bn CRC.

    Chng trnh c vit nh sau:#include "stdafx.h"#include "CRCfile.h"#include "CRCfileDlg.h"

    #ifdef_DEBUG#define new DEBUG_NEW#undefTHIS_FILEstatic charTHIS_FILE[] = __FILE__;#endif

    /////////////////////////////////////////////////////////////////////////////

    Trang 35

    Bn tin

    My trng thi (hnh1)

    Thanh ghi 123 bit

    Sp xp t hpThanh ghi 32

    bit

    Lp li choti byte cuica cui

    cng

    Phn d ca php chia utin

    Phn d ca php chia cuicng

    Hnh 3.2. Hai bc tnh ton ca m CRC-32 vi M123

  • 8/2/2019 Tieu luan atm

    36/41

    Tiu lun: ng dng m CRC trong mng ATM

    // CCRCfileApp

    BEGIN_MESSAGE_MAP(CCRCfileApp, CWinApp) //{{AFX_MSG_MAP(CCRCfileApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG

    ON_COMMAND(ID_HELP, CWinApp::OnHelp)END_MESSAGE_MAP()

    /////////////////////////////////////////////////////////////////////////////

    // CCRCfileApp construction

    CCRCfileApp::CCRCfileApp(){ // TODO: add construction code here, // Place all significant initialization in InitInstance}

    /////////////////////////////////////////////////////////////////////////////// The one and only CCRCfileApp object

    CCRCfileApp theApp;

    /////////////////////////////////////////////////////////////////////////////// CCRCfileApp initialization

    BOOL CCRCfileApp::InitInstance(){ // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need.

    #ifdef_AFXDLLEnable3dControls(); // Call this when using MFC in a shared DLL

    Trang 36

  • 8/2/2019 Tieu luan atm

    37/41

    Tiu lun: ng dng m CRC trong mng ATM

    #elseEnable3dControlsStatic(); // Call this when linking to MFC statically

    #endif

    CCRCfileDlg dlg;m_pMainWnd = &dlg;

    int nResponse = dlg.DoModal();if(nResponse == IDOK){

    // TODO: Place code here to handle when the dialog is // dismissed with OK

    }else if (nResponse == IDCANCEL){

    // TODO: Place code here to handle when the dialog is // dismissed with Cancel

    }

    // Since the dialog has been closed, return FALSE so that we exit the

    // application, rather than start the application's message pump.return FALSE;

    }// Everything above this line is AppWizard generated code

    c im t kho ca a thc CRC

    Tn a thc M t :(Chun tc ca hm thun nghch)CRC-1 x + 1 0x1 or 0x1 (0x1)CRC-5-USB

    x5 +x2 + 1 0x05 or 0x14 (0x9)

    CRC-7 x7 +x3 + 1 0x09 or 0x48 (0x11)CRC-8 x8 +x2 +x + 1 0x07 or 0xE0 (0xC1)CRC-12 x12 +x11 +x3 +x2 +x + 1 0x80F or 0xF01 (0xE03)CRC-16-CCITT x

    16 +x12 +x5 + 1 0x1021 or 0x8408 (0x0811)

    Trang 37

    http://en.wikipedia.org/wiki/CCITThttp://en.wikipedia.org/wiki/CCITT
  • 8/2/2019 Tieu luan atm

    38/41

    Tiu lun: ng dng m CRC trong mng ATM

    CRC-16-IBM

    x16 +x15 +x2 + 1 0x8005 or 0xA001 (0x4003)

    CRC-32-

    IEEE 802.3

    x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8 +x7 +x5 +x4 +x2

    +x + 1

    0x04C11DB7 or 0xEDB88320

    (0xDB710641)

    CRC-32C(Castagnoli)

    x32 +x28 +x27 +x26 +x25 +x23 +x22 +x20 +x19 +x18 +x14 +x13 +x11 +x10 +x9 +x8 +x6 + 1

    0x1EDC6F41 or 0x82F63B78(0x05EC76F1)

    CRC-64-ISO

    x64 +x4 +x3 +x + 10x000000000000001B or0xD800000000000000(0xB000000000000001)

    CRC-64-ECMA-182

    x64 +x62 +x57 +x55 +x54 +x53 +x52 +x47 +x46 +x45 +x40 +x39 +x38 +x37 +x35 +x33 +x32 +x31 +x29 +x27 +x24 +x23 +x22 +x21 +x19 +x17 +x13 +x12 +x10 +x9 +x7 +x4 +x + 1

    0x42F0E1EBA9EA3693 or0xC96C5795D7870F42(0x92D8AF2BAF0E1E85)

    CRC-128 (IEEE? / ITU?) ?

    Tnh ton v s dng CRC-32

    Chng trnh vit bng C

    //----------------------------------------#ifndef crc32H#define crc32H//----------------------------------------DWORD crc32table[512];

    void buildcrc32table();

    int calc_crc32(char * buffer, int size);

    #endif

    the cpp file

    //---------------------------------------

    Trang 38

    http://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/IEEE_802.3http://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/IEEE_802.3http://en.wikipedia.org/wiki/Ecma_International
  • 8/2/2019 Tieu luan atm

    39/41

    Tiu lun: ng dng m CRC trong mng ATM

    #include#pragma hdrstop

    #include "crc32.h"

    //---------------------------------------#pragma package(smart_init)

    void buildcrc32table(){const DWORD crcpoly=0xEDB88320;

    WORD i,j;DWORD r;

    for (i=0;i1)^crcpoly;}else { r = (r >>1); }

    }crc32table[i]=r;

    }}

    int calc_crc32(char * buffer, int size){int u,h,tcrc;int i;

    tcrc=0xFFFFFFFF;for (i=0;i>8) & 0x00FFFFFF);

    Trang 39

  • 8/2/2019 Tieu luan atm

    40/41

    Tiu lun: ng dng m CRC trong mng ATM

    tcrc=h;}return -h;

    }

    Cch dng thng thng

    ..buildcrc32table(); // required once..

    unsigned char TxMsgBuffer[6000];int TxSize;

    void DSPCommSend(){int i;unsigned char LenLo, LenHi;unsigned char CRC_1,CRC_2,CRC_3,CRC_4;

    WORD Len;unsigned int CRC;

    LenLo=(TxSize & 0xFF);LenHi=((TxSize & 0xFF00)>>8);TxMsgBuffer[0]=SYN;TxMsgBuffer[1]=SYN;TxMsgBuffer[2]=SYN;

    TxMsgBuffer[3]=SYN;TxMsgBuffer[4]=STX;TxMsgBuffer[5]=LenLo;TxMsgBuffer[6]=LenHi;for (i=0;i>8);CRC_3=((CRC & 0xFF0000)>>16);CRC_4=((CRC & 0xFF000000)>>24);TxMsgBuffer[TxSize+7]=CRC_1;TxMsgBuffer[TxSize+8]=CRC_2;

    Trang 40

  • 8/2/2019 Tieu luan atm

    41/41

    Tiu lun: ng dng m CRC trong mng ATM

    TxMsgBuffer[TxSize+9]=CRC_3;TxMsgBuffer[TxSize+10]=CRC_4;// Sendmessage(TxMsgBuffer,TxSize+10);...

    }

    y l giao din khi chy chng trnh