Download as pdf or txt
Download as pdf or txt
You are on page 1of 86

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Li ni u
Cng vi s pht trin ca Internet th c s h tng truyn dn thng tin Vit Nam ang ngy cng c m rng. S pht trin cc h thng truyn dn ny i hi cao v vic bo tr v sa cha ng truyn do thiu cc thit b chuyn dng thc hin vic kim tra kt ni v cht lng ng truyn. Vic s dng h thng my tnh my tnh (Personal Computer PC) c th p ng c iu ny nhng do chi ph xy dng h thng v bo tr ln, tnh linh hot km dn n vic trin khai h thng khng c hiu qu kinh t. ti ca chng em l h thng o c cc thng s mng trn ng truyn bng hp iu khin qua Internet nhm mc ch khc phc nhng trn. Di s dn dt v ch bo phng hng thc hin cng vic mt cch tn tnh ca thy hng dn, chng em tin hnh nghin cu pht trin xy dng kch bn, xy dng chng trnh o cc thng s v m rng vic iu khin qua Internet. Chng em xin c gi li cm n su sc n TS. Phm Vn Bnh Trng b mn mch v x l tn hiu Vin in T Vin Thng i Hc Bch Khoa H Ni. Trong qu trnh lm n, chng em c TS. Phm Vn Bnh tn tnh gip v quan tm, cng nh cung cp cc ti liu qu chng em hon thnh cng vic c giao. Chng em cng xin gi li cm n n tp th ging vin Vin in T Vin Thng H Bch Khoa H Ni ging dy v trang b cho chng em nhng kin thc nn tng trong sut bn nm hc tp trong Khoa.

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Tm tt n
Ngy nay c s h tng truyn dn thng tin Vit Nam ang ngy cng c m rng. S pht trin cc h thng truyn dn ny i hi cao v vic bo tr v sa cha ng truyn do thiu cc thit b chuyn dng thc hin vic kim tra kt ni v cht lng ng truyn. Vic s dng h thng my tnh my tnh (Personal Computer PC) c th p ng c iu ny nhng khng c ngha v hiu qu kinh t v xy dng h thng. Trn c s nhm chng em nghin cu v pht trin mt h thng o mi khc phc c nhng trn. H thng o c cc thng s mng cho modem mng LAN trn ng truyn bng hp iu khin qua Internet l mt h thng o m trong vai tr cc nt mng l my tnh c thay th bi thit b chuyn dng l STR9-comstick (Terminal Comstick TC). Cc thng s lp mng cn o bao gm Tr (RTT), Thng lng v t l mt gi (PLR). Ngi dng c th truy cp vo my o (Measurement Computer MC) qua Internet vi giao din Web gi cc thng s iu khin tin trnh o v nhn li kt qu o. Kt qu nghin cu: _Xy dng c kch bn o Tr, Thng lng v t l mt gi da trn giao thc TCP/IP. _Xy dng c chng trnh o pha MC v chng trnh nhng pha TC. _iu khin qua Internet phc v vic o t ng, qun l t xa.

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Qua kim tra nh gi, h thng o to ra trn thc hin tt vic kim tra kt ni v so snh cht lng cc ng truyn bng hp. Qua th hin c tim nng pht trin v m rng ca ti khi thc hin trn cc ng truyn bng rng.

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Summary
Today the infracstructure of information transmission in Vietnam has been more and more expanded. The development of transmission systems require high maintenance and repairing of transmission lines due to lack of specialized equipment to inspect the connection and transmission quality. The use of PC PC (Personal Computer PC) system may meet that condition but no sense of economic efficiency and building systems. On that basis we group have studied and developed a new mesurement system to overcome the above in mind. Measurement system parameters on transmit narrow-band network control via Internet is a measurement system in which the role of the PC-nodes is replaced by a specialized equipment which is STR9-comstick (Terminal Comstick TC). The measured parameters include Round Trip Time RTT, Throughput and Packet Loss Rate - PLR. Users can access the meter (Measurement Computer MC) over the Internet with a web interface to send the parameters which control the process and receive results. Research results: _Built up scripts which measures RTT, Throughput and PLR, based on TCP/IP. _Built up programs for MC and embedded programs for TC. _Internet control for remote processing and auto-measurement. Through the evaluation, the created measurement system can afford effectively in connection checking and quality comparison of narrow-band transmissions. Thereby showing the potencial development and expansion of this project on the broadband line. 4

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Mc lc

Li ni u..............................................................................................................1 Tm tt n..........................................................................................................2 Summary.................................................................................................................4 Mc lc...................................................................................................................5 Danh sch cc hnh v.............................................................................................6 Danh sch cc bng biu.........................................................................................9 Danh sch cc t vit tt.......................................................................................10 M u..................................................................................................................11 Tng quan h thng...............................................................................................13 Xy dng kch bn h thng.................................................................................18 Xy dng chng trnh.........................................................................................37 Kim tra nh gi h thng................................................................................78 Ti liu tham kho.................................................................................................86

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Danh sch cc hnh v


Hnh 1.1 H thng o xy dng trn mng LAN thng thng...........................14 Hnh 1.2 Lin h khi o khi iu khin..........................................................15 Hnh 1.3 M hnh h thng (trn mi trng PLC)..............................................16 Hnh 2.4 Cu trc IP header..................................................................................18 Hnh 2.5 Cu trc ICMP header............................................................................20 Hnh 2.6 Echo request...........................................................................................21 Hnh 2.7 Echo reply..............................................................................................21 Hnh 2.8 Cu trc UDP header..............................................................................22 Hnh 2.9 Cu trc TCP header..............................................................................23 Hnh 2.10 Ch ngng-v-truyn (Stop-and-go)............................................25 Hnh 2.11 Ch ca s di ng (Sliding window).........................................25 Hnh 2.12 iu khin lu lng TCP...................................................................26 Hnh 2.13 M hnh Client Server.......................................................................28 Hnh 2.14 Qu trnh thit lp v kt thc phin TCP............................................29 Hnh 2.15 Cng thc tnh tr RTT........................................................................30 Hnh 2.16 Kch bn o tr RTT............................................................................31 Hnh 2.17 Kch bn o thng lng......................................................................31 Hnh 2.18 Cng thc tnh thng lng.................................................................32 Hnh 2.19 STR9-comstick.....................................................................................34 Hnh 2.20 Cc thng s chnh ca STR9-comstick...............................................35 Hnh 3.21 Gii thut o tr RTT...........................................................................37 6

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Hnh 3.22 Gii thut o thng lng....................................................................39 Hnh 3.23 Qu trnh o thng lng hng ln....................................................40 Hnh 3.24 Qu trnh o thng lng hng xung...............................................41 Hnh 3.25 Giao din chng trnh MC Tool.........................................................42 Hnh 3.26 Giao din chn kiu o........................................................................43 Hnh 3.27 Khi to chng trnh..........................................................................45 Hnh 3.28 B m thi gian..................................................................................46 Hnh 3.29 Thi gian truyn...................................................................................47 Hnh 3.30 Cu trc th vin STR9........................................................................50 Hnh 3.31 Ni dung th vin.................................................................................51 Hnh 3.32 Kin trc th vin phn mm...............................................................52 Hnh 3.33 Cc thit lp uIP...................................................................................58 Hnh 3.34 Vector ngoi l.....................................................................................62 Hnh 3.35 Cu hnh ngn xp................................................................................63 Hnh 3.36 User stack.............................................................................................64 Hnh 3.37 Kch thc ngn xp............................................................................65 Hnh 3.38 ARM Procedure Call Standard (APCS)...............................................65 Hnh 3.39 Giao din HiTOP Debugger.................................................................68 Hnh 3.40 Cc ca s thao tc HiTOP..................................................................69 Hnh 3.41 S khi chng trnh nhng............................................................71 Hnh 3.42 Hm khi to s lc...........................................................................71 Hnh 3.43 Hm Main s lc................................................................................72 Hnh 3.44 Hm uip s lc...................................................................................73 Hnh 3.45 Hm ICMP s lc..............................................................................75 7

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Hnh 3.46 Hm TCP s lc.................................................................................77 Hnh 4.47 Cu trc mng PLC..............................................................................78 Hnh 4.48 Cu trc mng PLC trong nh..............................................................79 Hnh 4.49 PLC s dng trm lp...........................................................................80 Hnh 4.50 Thu bao PLC kt ni trc tip............................................................80 Hnh 4.51 Thu bao PLC kt ni gin tip............................................................81 Hnh 4.52 M t lnh Ping qua wireshark ............................................................82 Hnh 4.53 Qu trnh bt tay 3 bc.......................................................................83 Hnh 4.54 Kho st thng lng mng Ethernet...................................................84 Hnh 4.55 Kho st thng lng ng in........................................................85

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Danh sch cc bng biu


Bng 2.1 Cu trc gi tin s dng.........................................................................33 Bng 2.2 Cu trc d liu cc gi tin....................................................................33 Bng 3.3 Cu trc gi tin o thng lng.............................................................40 Bng 3.4 Cc module chnh ca chng trnh......................................................47 Bng 3.5 Cc chc nng h tr bi th vin STR9..............................................49 Bng 3.6 Cu trc thanh ghi b nh......................................................................54 Bng 3.7 FMI_BootBankSize...............................................................................54 Bng 3.8 FMI_NonBootBankSize........................................................................55

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Danh sch cc t vit tt

10

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

M u
Yu cu t ra ca h thng o ch yu nm vic thay th my tnh bng STR9comstick ca hng ST. L do s dng thit b ny bi v gi thnh chp nhn c (40),nh gn h tr kt ni Ethernet v th vin MicroIP p ng c yu cu lm nt mng. Da trn vic nghin cu ng dng ca thit b v l thuyt ta xy dng kch bn o Tr, Thng lng. Tr (y u la thi gian tr tron vong) la ai lng o bng miligiy (ms) va chuyn dung kim tra kt ni bng cach mt bn gi goi tin ICMP va lng nghe bn kia tra li. Thng lng la ai lng o bng Mbit/s th hin lng d liu gi thanh cng trn ng truyn trong mt n vi thi gian. Sau khi c kch bn, cng vic tip theo l hin thc ha kch bn thnh chng trnh o. C th l hai phn chnh c thc hin song song: lp trnh cho MC v TC m nhn vai tr im u v im cui ca kt ni, trong MC l my o v xut pht im ca cc tin trnh o. ap ng c kha nng tuy bin, chng trinh o phia MC phai co c ch oc cac thng s yu cu iu khin qua trinh o va c ch ghi lai kt qua o c phuc vu cho vic kim tra, anh gia va nghin cu. Kch bn o v chng trnh o l ni dung chnh ca ti ny. Hon thnh phn o, ti c m rng v kh nng ty bin v pht trin tnh linh hot bng cch thit lp c ch iu khin t xa, c th hin ti l qua Internet. Phn m rng ny chia lm hai phn: truyn yu cu iu khin qu trnh o theo hng ngi dng (User) => Web server => MC v gi tr li kt qu o c theo hng MC => Web server => ngi dng. Kt qu o c khi gi tr li Web server s c lu

11

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet vo c s d liu p ng vic tm kim v tra cu sau ny. Ngi dng c th tip cn d dng kt qu o qua giao din Web hin th. Trn c s , n c trnh by gm bn chng: Chng 1: chng ny trnh by phn tng quan ca h thng o, cho ta mt ci nhn khi qut nht bao gm m hnh h thng, phng n xy dng h thng da trn cc thnh phn c trin khai m hnh. Chng 2: chng ny trnh by chi tit v c s l thuyt xy dng h thng. Ni dung c th bao gm vic tm hiu b giao thc TCP/IP, cc nh ngha thng s mng, truyn v nhn d liu qua socket, chc nng v cu trc hm ca STR9-comstick v xy dng kch bn o ph hp. Trng tm chnh ca chng l kch bn o v lm quen vi STR9-comstick, cho ta mt ci nhn c th v nhng vic cn phi lm hon thnh kch bn o. Chng 3: chng ny trnh by chi tit v cch xy dng chng trnh o da trn kch bn nh trc. Ni dung c th bao gm vic nh x kch bn vo gii thut, nh ngha cc gi tin d liu v iu khin, xy dng chng trnh o trn MC, lp trnh nhng cho TC trn c s l thuyt nghin cu chng 2. Trng tm chnh ca chng l chng trnh o v lp trnh trn TC phi c xy dng m bo thc hin ng kch bn o. Chng 4: chng ny trnh by s kim tra, nh gi cc kt qu ca h thng o c xy dng chng 3, m rng vi phn iu khin qua Internet. Ni dung chng th hin ton din cc kt qu t c trong qu trnh nghin cu thc hin hon thnh n.

12

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Tng quan h thng


1.1 Gii thiu
Mt h thng o cc thng s mng n gin trc ht bao gm mt my o (MC) ng vai tr im u v mt thit b ng vai tr im cui (Terminal Device TD) ca ng truyn. MC thc hin cc kch bn o t trc trn ng truyn ti TD, kt qu thu c l cc thng s c trng ca ng truyn MC TD . Cc thng s mng chnh c quan tm l tr RTT (o bng ms) v thng lng (o bng Mbit/s). Trong cc h thng o thng thng, tc ph thuc vo modem ng truyn. y my tnh ng vai tr lp trn giao tip TCP, MC v TD c m nhn bi cc PC v cc h thng o ny phi dng cc mng LAN vn phng to, cng knh phc v cho vic xy dng mng li ng truyn.

13

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 1.1 H thng o xy dng trn mng LAN thng thng

Trn hnh v m t mt h thng o vi cc nt mng l PC. Chng trnh o c thit lp trn MC v cc TD thc hin kch bn o nh sn v thu thp kt qu o c trng ca ng truyn Ethernet gia cc nt mng. Nh nhn nh trn, m hnh ny khng c hiu qu kinh t do mt s nguyn nhn chnh c th nh sau: _Cc nt mng l PC dn n vic xy dng h thng phn cng v cc phn mm i km h thng tn chi ph ln. _Chi ph bo tr, sa cha h thng nhiu. _Khng thch hp cho vic m rng h thng. _S dng v ci t phc tp khng tp trung. Da trn c s trn, nhm chng em nghin cu v xin a ra m hnh h thng mi, trong vai tr cc TD c thay bng STR9-comstick. 14

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.2 M hnh h thng


Trc ht ta a ra s khi ca h thng o. H thng n gin bao gm hai khi l khi o v khi iu khin qua Internet.

Hnh 1.2 Lin h khi o khi iu khin

c im chnh ca m hnh h thng o l cc PC c thay bng STR9comstick. Khi chnh ca h thng o s l phn bao gm MC, TC v ng truyn dn ni chng. Khi m rng l phn ni vi Internet phc v cho mc ch iu khin t xa bao gm my ch web tng tc vi ngi dng. Tng tc y bao gm vic iu khin qu trnh o qua cc thng s thit lp kch bn v vic nhn li kt qu o c t MC. T c s s khi nh trn, m hnh a ra l mt h thng n gin bao gm MC v cc TC c kt ni vi nhau thng qua ng truyn dy ti in (Power Line Communication PLC). S d chng em chn ng PLC lm mi trng kim tra v xy dng h thng do y l mt mi trng mi, cha c nhiu cng c nh gi kim tra cht lng c pht trin. N p ng c yu cu bng hp m h thng yu cu do tc ca STR9-comstick. thc hin m hnh vi ng PLC, h thng cn thm cc modem ng in (PLC modem) lm nhim v iu ch v gii iu ch

15

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet tn hiu t ng Ethernet sang ng PLC v ngc li. Cc kt qu h thng thu c trong qu trnh kim tra nh gi ch yu l kt qu da trn mi trng ny.

Hnh 1.3 M hnh h thng (trn mi trng PLC)

My o MC c ni vi mng cn o qua cc modem PLC. Cc nt mng c thit lp bng cc thit b STR9-comstick. Tin trnh o s c thc hin gia MC n TC v ngc li, kt qu c lu ti MC. Cc thng s o c bao gm Tr RTT v Thng lng. Yu cu h thng i hi chng trnh o trn MC v chng trnh nhng trn TC thc hin ng cc kch bn o. MC c ni vi Internet qua ADSL Router. Ngi dng c th truy cp qua Internet gi cc thng s iu khin qu trnh o v nhn li kt qu o c t MC. My ch web lm nhim v tng tc ngi dng v lu kt qu o c t MC gi v vo c s d liu phc v mc ch tra cu sau ny. Vi m hnh h thng thc t c a ra nh vy, vic thc hin n i hi phn chia cc khi v cng vic cn lm mt cch khoa hc, h thng. Nhm em thc hin da trn phng n c th s c trnh by phn di y.

16

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.3 Ni dung phng n


thc hin m hnh h thng nh trn, phng n c a ra trong ti ny gm 2 phn chnh: _Xy dng kch bn h thng: bao gm vic nghin cu b giao thc TCP/IP, truyn dn d liu bng socket, l thuyt thng lng, tr. Xy dng kch bn o hai thng s trn, kch bn iu khin qua Internet. Th vin microIP ca STR9-comstick. _Xy dng h thng thc t: bao gm xy dng chng trnh o trn MC vi giao din GUI (s dng Visual Studio C#) v chng trnh nhng vo TC (S dng HiTOP Debugger). Thit lp c ch iu khin qua Internet bng my ch web, tng tc cc khi truyn dn d liu bng socket c tch hp trn chng trnh o. Chng tip theo chng em xin trnh by cc ni dung c th trong qu trnh nghin cu v thc hin n.

17

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Xy dng kch bn h thng


1.4 C s l thuyt b giao thc TCP/IP 1.4.1 IP
Giao thc IP (Internet Protocol - Giao thc Lin mng) l mt giao thc hng d liu c s dng bi cc my ch ngun v ch truyn d liu trong mt lin mng chuyn mch gi.

Hnh 2.4 Cu trc IP header

VERS (4 bits): Ch ra phin bn ca trnh nghi thc IP ang c dng l Ipv4. IP Header Length (HLEN) (4 bits): Ch ra chiu di ca header. Type Of Services (TOS)(8 bits) : Ch ra cch thc x l data nh th no.

18

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Total Length (16 bits): Ch ra chiu di ca ton b gi tnh theo byte, bao gm d liu v header. Identification (16 bits): Ch m s ca 1 IP datagram, gip bn nhn c th ghp cc mnh ca 1IP datagram li vi nhau v IP datagram phn thnh cc mnh, v cc mnh thuc cng 1 IP datagram s c cng Identification. Flag (3 bits): c s dng kim sot hay xc nh cc mnh. Offset (13 bits): Bo bn nhn v tr offset ca cc mnh so vi gi IP datagram gc c th ghp li thnh IP datagram gc. Time To Live (TTL) (8 bits): Ch ra s bc nhy (hop) m mt gi c th i qua. Con s ny s gim i 1 khi gi tin i qua 1 router. Khi router no nhn gi tin thy TTL t ti 0 gi ny s b loi. y l gii php nhm ngn chn tnh trng lp vng v hn ca gi tin trn mng. Protocol (8 bit): Ch ra giao thc no ca tng trn (tng Vn chuyn) s nhn phn data sau khi cng on x l IP diagram tng Network hon tt hoc ch ra giao thc no ca tng trn gi segment xung cho tng Network ng gi thnh IP Diagram, mi giao thc c 1 m. _06 : TCP _17 : UDP _01 : ICMP _08 : EGP Header CheckSum (16 bits): Gip bo m s ton vn ca IP Header. Source Address (32 bits): Ch ra a ch ca thit b truyn IP diagram. Destination Address(32 bits ): Ch ra a ch IP ca thit b s nhn IP diagram.

19

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet D liu trong mt lin mng IP c gi theo cc khi c gi l cc gi (packet hoc datagram). C th, IP khng cn thit lp cc ng truyn trc khi mt my ch gi cc gi tin cho mt my khc m trc n cha tng lin lc vi. Giao thc IP cung cp mt dch v gi d liu khng m bo (cn gi l c gng cao nht), ngha l n hu nh khng m bo g v gi d liu. Gi d liu c th n ni m khng cn nguyn vn, n c th n khng theo th t (so vi cc gi khc c gi gia hai my ngun v ch ), n c th b trng lp hoc b mt hon ton.

1.4.2 ICMP
Giao thc ICMP (Internetwork Control Message Protocol) cho php vic th nghim v khc phc cc s c ca giao thc TCP/IP. ICMP bao gm nhiu loi thng ip khc nhau.

Hnh 2.5 Cu trc ICMP header

Type(8 bits): Ch kiu cho ICMP messenger. Code(8 bits): B sung thm thng tin cho Type. Checksum (16 bits): Kim tra li d liu. Tnh t ICMP header + d liu, vi gi tr 0 cho trng ny. 20

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Cc gi tin Ping, cng c bit n nh cc gi tin ICMP echo request, v ICMP echo reply. Echo request l mt tin nhn ICMP m d liu ca n d kin nhn li trong tin echo reply . Host v router phi p li tt c cc echo request bng mt echo reply cha c thng tin chnh xc nhn trong tin echo request. Echo reply l mt tin ICMP pht ra p li tin echo request v l bt buc vi tt c host v router.

Hnh 2.6 Echo request

Hnh 2.7 Echo reply

D liu nhn c trong Echo request phi c bao gm ton b trong Echo reply.

1.4.3 UDP
Giao thc UDP (User Datagram Protocol) cung cp mt giao din n gin gia tng mng bn di v tng ng dng bn trn. UDP khng m bo tng pha trn thng ip gi i. Do thiu tnh tin cy, cc ng dng UDP ni chung phi chp nhn mt mt, li hoc trng d liu. Mt s ng dng nh TFTP c nhu cu phi thm nhng k thut lm tin cy c bn vo tng ng dng. Hu ht cc ng dng UDP khng cn nhng k thut lm tin cy ny v i khi n b b i. Streaming media, game trc tuyn v voice over IP (VoIP) l nhng th d cho cc ng dng thng dng UDP. Nu mt ng dng 21

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet i hi mc cao hn v tnh tin cy, nhng giao thc nh TCP hoc m erasure c th dng thay.

Hnh 2.8 Cu trc UDP header

Source port (16 bits): Xc nh port c ngi gi thng tin v c ngha nu mun ngi nhn phn hi. Nu ko dng t n bng 0. Destination(16 bits): Xc nhn port nhn (trng ny bt buc). Length(16 bits): Xc nh ton b chiu di ton datagram: header + data. Checksum(16 bits): Khng bt buc kim tra li phn header data.

1.4.4 TCP
Giao thc TCP (Transmission Control Protocol giao thc iu khin giao vn) cung cp mt s lng ng k dch v cho lp IP di v lp ng dng trn. Cung cp mt kt ni nh hng cho php mt ng dng m bo gi d liu c nhn ton b. Trong vai tr ny, TCP hot ng nh mt tin nhn xc nhn giao thc cung cp thng tin ng tin cy. Nu gi d liu b hng hoc mt TCP thng x l pht li hn l cc ng dng pha trn. Kt ni nh hng (connection-oriented) ngha l hai ng dng s dng TCP phi thit lp mt kt ni TCP cng nhau trc khi cng trao i d liu. TCP header gm 10 trng bt buc v 1 trng ty bin.

22

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 2.9 Cu trc TCP header

Source port (16 bits): Xc nh port gi . Destination (16 bits): Xc nh port nhn. Sequence number (32 bits): c 2 nhim v: _Nu SYN flag bt th n l s th t ban u v byte u tin c gi c s th t +1. _Nu SYN flag ko c gi tr th y l s th t byte u tin. ACK number (32bits): Nu ACK flag thit lp th gi tr ca trng l s th t gi tin tip theo m bn nhn cn. Data offset (4 bits): Quy nh di ca phn header (32 bit word) kch thc header nh nht 5 words(160 bits) max l 15 words. Reserveed (4bits): D tr cho s dng v sau v c thit lp bng 0. Flags(8 bits): cha 8 flags mi flag 1 bit : _CWR: Congestion window reduced c thit lp bi cc my ch gi cho bit n nhn c 1 phn on TCP vi flag ECE v c phn ng trong c ch iu khin tc nghn. _ECE: ECN-echo indicates. 23

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet _URG: Ch ra field urgent pointer. _ACK: Ch ra trng ACK. Tt c gi tin sau khi gi SYN ban u c gi i bi client cn phi c flag ny c thit lp. _PSH: Hm PUSH. Yu cu y b m d liu cho ng dng nhn _RST: Thit lp li ng truyn. _SYN: ng b li s th t. _FIN : Khng thm d liu t ngi gi (kt thc). Window size(16 bits): Xc nh s byte m ngi nhn sn sng nhn. Checksum (16 bits): Trng ny c s dng kim tra li ca header v d liu. Urgent pointer (16 bits): Ch c gi tr nu URG flag c thit lp.Ch TCP urgent l mt cch ngi gi truyn d liu n thit b cui. Option: y l trng ty chn nu c th di bi s ca 32 bits.

1.4.5 Cc c ch quan trng ca TCP


(a) Flow control (iu khin lu lng) Chng ta cn phn bit khi nim ny vi khng ch tc nghn (congestion control) - iu khin lung d liu khi tc nghn xy ra. iu khin lu lng c vai tr quan trng, v tnh trng mt my tnh gi thng tin ti mt my tnh khc, vi mt tc cao hn tc m my tnh ch c th nhn v x l c th xy ra. Tnh hung ny c th xy ra nu cc my tnh nhn phi chu ti giao thng v d liu cao hn my tnh nhn, hoc nu my tnh nhn c nng lc x l km hn my tnh gi. iu khin lu lng truyn c th c p dng bit lp trn mi chiu m tn hiu c truyn thng, cho php tn s truyn tin trn mi chiu khc nhau. Phng

24

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet php iu khin lu lng truyn c hai cch, hoc l dng ch "ngng-v-truyn" (stop-and-go) hoc dng hnh thc ca s di ng (sliding window).

Hnh 2.10 Ch ngng-v-truyn (Stop-and-go)

Hnh 2.11 Ch ca s di ng (Sliding window)

Trong mi mt TCP segment, bn nhn quy nh lng d liu sn sng nhn trong b m trng receiver window . Bn gi ch c th gi d liu trc khi ch 1 tin ACK cp nht v window size t my ch. 25

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Khi host gi v window size bng 0 th bn gi phi ngng gi v bt u m thi gian tn ti (persist timer). ngi gi khng th gi nhiu d liu hn cho n khi nhn c mt bn cp nht ca s kch thc mi t ngi nhn. Khi b hn gi vn tn ti ht hn, ngi gi TCP c gng phc hi bng cch gi mt gi nh thu cc phn ng bng cch gi mt xc nhn c cha cc kch thc ca s mi. D liu nhn c t mng c lu tr trong b m. Ca s thng bo c s dng thng bo cho my ch t xa ca cc kch thc ca s hin hnh. Nu cc ng dng my ch khng th x l d liu nhanh, kch thc ca s s gim xung bng khng v cc my ch s ngng gi d liu. Sau khi cc ng dng my ch x l mt s d liu xp hng, tng kch thc ca s, v cc my ch t xa bt u truyn li.

Hnh 2.12 iu khin lu lng TCP

(b) Congestion control (iu khin tc nghn) TCP s dng mt s c ch nhm t c hiu sut cao v ngn nga kh nng nghn mng. Cc c ch ny bao gm : thut ton slow-start, thut ton trnh nghn mng (congestion avoidance), thut ton truyn li v phc hi nhanh. _Thut ton Slow-start l mt trong nhng thut ton m TCP s dng kim sot tc nghn trong mng. Slow-start u hot ng bng cch tng ca s TCP 26

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet congestion mi khi nhn c nhn c ACK segment.iu ny tip tc cho ti khi khng nhn c mt ACK thng bo v cc segment gi . Nu mt s kin mt mt xy ra, TCP gi nh rng l do s tc nghn mng v tin hnh cc bc gim ti c cung cp trn mng. _Thut ton trnh nghn mng (congestion avoidance). _Thut ton truyn li (fast retransmit): ngi gi TCP s dng mt b m thi gian nhn ra cc phn on b mt. Nu 1 ACK khng nhn c cho mt phn on c th trong mt thi gian nht nh (mt chc nng c tnh thi gian tr kh), ngi gi s cho rng phn on b mt trong mng, v s truyn li cc phn on.The fast retransmit hot ng nh sau: nu mt ngi gi TCP nhn c 3 bn sao ACK c cng 1 ACK number. Ngi gi c th l tin rng cc phn on c cao hn k tip s th t b b (drop), v s khng n trong trt t. Ngi gi sau s truyn li cc gi tin c coi l gim trc khi ch i thi gian ch ca n. _Thut ton phc hi nhanh (fast recovery).

27

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.5 M hnh Client Server 1.5.1 M hnh

Hnh 2.13 M hnh Client Server

(a) Pha server To socket : gm khai bo domain, type, protocol. Thng thng domain l AF_INET. TYPE : kiu kt ni virtual circuit nhn truyn ng tin cy. PROTOCOL: giao thc truyn ti TCP. 28

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet bind : gn port , ip cho socket . listen : quy nh 1 s lng c th ch xp hang cho serve socket . accept : server chp nhn 1 yu cu kt ni t client. To socket mi truyn v nhn d liu. (b) Pha client To socket connect : kt ni n server. Qu trnh kt ni theo kiu bt tay 3 bc. Kt ni thnh cng: Bt u qu trnh truyn nhn d liu gia Client Server.

1.5.2 Kt ni bt tay 3 bc

Hnh 2.14 Qu trnh thit lp v kt thc phin TCP

thit lp kt ni TCP s dng bt tay 3 bc (3 ways handshake). Trc khi client th mt kt ni n server , server phi m port cho kt ni . Ba bc din ra nh sau: 29

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet _Client yu cu m cng dch v bng cch gi mt gi tin SYN n server, trong gi tin ny tham s sequence number gn gi tr ngu nhin X. _Server hi p bng cch gi li client gi tin SYN-ACK, trong gi tin ny ACK number gn X+1, sequence number gn Y. _ hon tt bt tay 3 bc, client gi ti server gi tin tin ACK, trong gi tin ny tham s sequence number gn X+1, ACK number gn Y+1. Nh vy sau khi c kt ni ta c thng tin: T IP no, port no , giao thc vn chuyn (TCP/UDP) n a ch IP v port bn kia bt u vic truyn v nhn d liu.

1.6 Kch bn o 1.6.1 o tr RTT


Tr c xc nh bi thi gian bt u gi tin Ping c gi t MC n TC v thi gian kt thc gi Pong c gi t TC tr v MC.

Hnh 2.15 Cng thc tnh tr RTT

Trn ng truyn kho st l ng truyn Powerline, khong thi gian tr gia MC Modem v Modem TC l rt nh v c th b qua so vi khong thi gian tr gia Modem Modem (on ng truyn chnh cn o). V th kt qu nhn c c th c coi l tr trn ng truyn Powerline. Ch phn bit Ping v Pong qua trng Type v Code ca gi tin ICMP.

30

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 2.16 Kch bn o tr RTT

1.6.2 o thng lng

Hnh 2.17 Kch bn o thng lng

31

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet o thng lng, ta nh ngha thng lng l lng d liu gi thnh cng trn ng truyn trong mt n v thi gian. Qu trnh o c thc hin theo trnh t sau: _Thc hin kt ni gia MC TC theo m hnh Client Server. t MC v TC vo trng thi sn sng cho qu trnh truyn v gi d liu. _Bt u o, MC gi gi tin Request n TC thng bo bt u qu trnh o. TC nhn v gi tr li MC gi Request_ACK bo hiu TC sn sng nhn d liu. _Nhn c gi Request_ACK, MC thc hin truyn mt lng ln d liu c phn thnh nhiu gi Data c kch thc nh sn cho TC. Trong qu trnh ny TC nhn v cp nht b m d liu nhn. _Khi lng d liu truyn , MC gi gi Fin thng bo kt thc qu trnh truyn d liu. TC nhn v gi tr li MC gi Fin_ACK bo hiu TC d kt thc trng thi nhn d liu v chun b gi kt qu nhn c cho MC. _TC to v gi gi Result cha thng tin lng d liu nhn cho MC. MC ly thng tin ny tng hp ra thng lng o c theo cng thc:

Hnh 2.18 Cng thc tnh thng lng

1.6.3 Cu trc gi tin


thc hin vic o, ta phi nh ngha cc gi tin c s dng trong qu trnh truyn d liu m bo thc hin ng kch bn o. C th l cc gi Request, Data, Fin, Result v ACK. Di y l m t cu trc mt gi tin d liu c s dng trong qu trnh o, di d liu c c nh trong hai trng hp l 1000 bytes v 100 bytes. 32

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet


Bng 2.1 Cu trc gi tin s dng

IP header 20 bytes

TCP header 20 bytes

Data 1000/100 bytes

Sau phn IP header v TCP header, 5 bytes u tin ca phn d liu gi tin s c s dng nh dng gi tin theo cu trc 1 4. Gi tr byte u tin Code xc nh loi gi trong cc gi tin k trn. Dy 4 bytes tip theo Parameter lu thng s c trng ty thuc vo loi gi tin . Sau dy 5 bytes ny s l d liu ngu nhin c di ty thuc vo kch thc gi tin c nh sn.
Bng 2.2 Cu trc d liu cc gi tin

Code 1 byte

Parameter 4 byte

Restbytes Changeable

1.7 iu khin qua Internet 1.7.1 Gi v nhn d liu


S dng m hnh Client Server, MC v Web server ng vai tr hai im gi nhn d liu. Gm c hai lung chnh l t Web server gi yu cu iu khin qu trnh o n MC v t MC gi kt qu n Web server. Qu trnh gi nhn c thc hin qua mt Server o t ti MC. truyn d liu ta phi to socket, thc hin kt ni t MC n Web server thng qua a ch IP v cng kt ni. Sau khi kt ni thnh cng, d liu cn gi c ng vo trong mt struct vi hai trng c bn l ni dung d liu cn gi v a ch ca bn gi. Server o t ti MC, khi c d liu n, Server thc hin vic bc tch ni dung d liu nhn c v cp nht ni dung vo c s d liu. Server o ng vai tr trung gian gia Web server v MC.

33

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.7.2 Hin th d liu ln Web


thun tin cho vic iu khin, ta phi thit k giao din Web gip ngi dng nhp cc thng s iu khin, hin th kt qu o c v tra cu c s d liu o. Ngn ng s dng l PHP, HTML v MySQL.

1.8 Tng quan v STR9-comstick 1.8.1 Tng quan

Hnh 2.19 STR9-comstick

Cc thng s chnh: S dng ARM966E 96Mhz. 544 Kb flash memory 96 Kb SRAM. 3xUART, 2xSPI, 80 I/Os, 4xTimers. 10-bit ADC, CAN, USB, Real Time Clock, AC Motor Control. Ethernet MAC. 34

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 2.20 Cc thng s chnh ca STR9-comstick

Mt s u im ca STR9-comstick: _H tr Ethernet. _SRAM v Flash Memories ln. _Thit k nh gn, d dng cho vic trin khai ci t h thng. _Tiu th in nng thp. _H tr cng c pht trin phn mm c lp v b th vin y .

35

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.9 Th vin MicroIP (uIP)


Cng vi thnh cng ca Internet, b giao thc TCP/IP tr thnh chun giao tip ton cu. TCP/IP l giao thc c bn c s dng chuyn trang web, email, file v.v trn Internet. i vi cc h thng nhng, kh nng h tr TCP/IP c th lm chng kt ni trc tip vo mng ni b hoc thm ch l mng Internet ton cu. Cc thit b nhng h tr y TCP/IP s l nhng cng dn mng hng nht do c th giao tip y vi cc my khc trong mng. TCP/IP truyn thng yu cu qu nhiu c v kch thc m lnh v cch s dng b nh trong cc h thng 8 hoc 16-bit. Kch thc m khong vi trm KB v yu cu b nh ram hng trm KB khin cc h thng vi vi chc KB RAM v b nh khng th p ng y b giao thc ny. B giao th uIP c thit k theo ch nh tuyt i ti thiu cc tnh nng cn thit cho giao tip vi mt thit b h tr TCP/IP y . Hu ht cc h thng nhng lun lun tng tc vi cc h thng h tr y TCP/IP. Theo gi nh ny, uIP loi b mt s c ch ca TCP/IP him khi c s dng v ch gi li nhng c ch cn thit. N ch c th x l mt giao din mng duy nht v c cha cc giao thc IP, ICMP, UDP v TCP. uIP c vit bng ngn ng lp trnh C. Do c im h thng nn STR9-comstick ch h tr th vin MicroIP v ta s pht trin h thng da trn nghin cu th vin ny.

36

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Xy dng chng trnh


1.10 Gii thut

1.10.1 o Tr (RTT)

Hnh 3.21 Gii thut o tr RTT

Pha TC, TC thc hin vng lp lin tc c b m gi tin gi n. Trng thi lc ny ca TC l trng thi ch (Standby). Bng cch kim tra b m ny, TC nhn bit c c phi l gi PING gi t MC hay khng. Nu khng phi th TC tip tc trng thi ch.

37

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Nu gi tin gi n l gi PING, chng trnh nhy khi vng lp v chuyn trng thi thnh Ping. Lc ny TC nhn c yu cu ping t MC. Chng trnh thc hin vic chuyn trng Type ca gi PING gi n thnh 0 (t gi tr l 8), o ngc gi tr ca hai trng Source IP Address v Destination IP Address. Lc ny TC c mt gi tin PONG ng yu cu. Gi PONG va c to s c gn cho bin d liu gi thc hin vic truyn li cho MC. Kt thc qu trnh gi, TC chuyn tr li trng thi ch v thc hin vng lp mi.

1.10.2 o thng lng


Bt u tin trnh o, TC thc hin vic khi to socket, thit lp lng nghe TCP cng nh trc (Mc nh l 2001). MC thc hin lnh kt ni TCP (c th gm 3 bc SYN, SYN+ACK, ACK) qua cng nh trc vi TC. MC s bt u tin trnh o nu kt ni thnh cng. TC lc ny trng thi ch v thc hin vng lp lin tc c b m. Nu l gi tin TCP th chng trnh thc hin vic kim tra 5 bytes u tin ca d liu gi tin v thc hin cc tin trnh tng ng theo kch bn o. _L gi Request, TC to gi Request_ACK v gi li MC. TC chuyn sang trng thi Throughput. _L gi Data, TC cp nht b m d liu nhn c. _L gi Fin, TC to gi Fin_ACK v gi li MC. Tip TC to gi Result v gi li MC. Kt thc tin trnh, TC chuyn sang trng thi ch v thc hin vng lp mi.

38

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.22 Gii thut o thng lng

1.10.3 Cu trc gi tin phc v gii thut


Da trn c s cc gii thut chng trnh c a ra, ta nh ngha c th cc gi tin iu khin, gi tin d liu phc v cho qu trnh o thng lng, bao gm hai

39

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet qu trnh ring bit: o thng lng hng ln v thng lng hng xung. Cc gi tin c phn bit da trn Code.
Bng 3.3 Cu trc gi tin o thng lng

Name Packetdata Packet ACK Gen request (small) Gen request (big) Gen fin Rec request (small) Rec request (big) Rec fin Rec result

Code (1 byte) 0 1 2 3 4 5 6 7 8

Parameter (4 bytes) Packet ID Code of packet Number of packet to generate (small packet) Number of packet to generate (big packet)

Restbytes

Number of received packet

(a) Thng lng hng ln (Uplink Transmission Throughput) MC nhn, TC to d liu.

Hnh 3.23 Qu trnh o thng lng hng ln

_MC gi gi tin gen_req bao gm thng tin v lng d liu cn to v gi trong qu trnh o yu cu TC gi d liu. Thng tin ny c lu trong trng Parameter.

40

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet _TC nhn gen_req v gi li gi ACK xc nhn v bt u gi d liu theo yu cu ca gen_req. Gi tin ACK km theo thng s ph l Code ca gi tin cn phn hi. V d phn hi cho gen_req th gi ACK c Parameter bng Code ca gi gen_req. Tip TC bt u qu trnh gi lin tc cc gi data cho n khi lng d liu gi yu cu. Sau qu trnh ny, TC gi gi gen_fin thng bo n MC bit kt thc phin gi d liu. _MC nhn d liu gm cc gi data cho n khi nhn c gi tin gen_fin th tng hp a ra kt qu o. (b) Thng lng hng xung (Downlink Transmission Throughput) Ngc li vi hng ln, MC to d liu, TC nhn d liu.

Hnh 3.24 Qu trnh o thng lng hng xung

_MC gi gi tin rec_req n TC thng bo bt u qu trnh o. _TD nhn rec_req v gi li gi ACK xc nhn sn sng nhn d liu. _Khi MC nhn c gi ACK ca rec_req lin lp tc gi d liu c phn thnh cc gi data n TC. TC nhn cc gi data v thc hin vic m s d liu nhn c. _Khi gi d liu, MC kt thc qu trnh gi bng cch gi gi rec_fin. 41

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet _TC nhn gi rec_fin v gi li gi ACK xc nhn kt thc qu trnh nhn. Sau TC tng hp lng d liu nhn c v gi gi rec_result cha thng tin v lng d liu nhn c trong qu trnh o cho MC. Thng tin ny c lu Parameter. _MC nhn gi rec_result v tng hp a ra kt qu o.

1.11

Chng trnh o pha MC MC Tool

1.11.1 Tng quan


Chng trnh c vit trn nn Microsoft Visual C# giao din winform.

Hnh 3.25 Giao din chng trnh MC Tool

Chng trnh c hai kiu o chnh l Auto Mode v Manual Mode. Auto Mode l o vi cc thng s iu khin c c t file config.txt nhn c t ngi dng qua Internet. Manual Mode l o vi cc thng s iu khin c thit lp trc tip t MC.

42

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.26 Giao din chn kiu o

Cc thit lp chnh bao gm a ch IP ca TC (mc nh l 192.168.1.10), cng lng nghe ca TC (mc nh l 2001). Thi gian ch ACK timeout (mc nh 1000ms). S ln Ping, lng d liu truyn trong mt ln o thng lng. Kiu o thng lng (hng ln Uplink, hng xung Downlink), kch thc gi tin s dng (1000 bytes hoc 100 bytes).

1.11.2 Cc khi hm chnh


xy dng chng trnh o ti MC, ta phi chia thnh nhiu khi hm m nhn cc nhim v khc nhau. MC Tool bao gm 5 khi hm chnh nh sau. (a) Khi giao tip h thng Nhim v chnh ca khi ny l c v ghi d liu cc file. ng dng trong h thng l vic c cc file thit lp thng s (config.txt) c gi n MC t my ch web, vic ghi kt qu o c ra file ri gi li my ch web. Thao tc c/ghi file c thc hin bi th vin System.IO vi cc hm StreamReader, file.ReadLine(), file.WriteLine(). Khi ny cng lm nhim v cp nht cc thng s iu khin qu trnh o t cc textbox do ngi dng nhp vo hoc t file config nhn c qua my ch web. (b) Khi ping Nhim v chnh ca khi ny l thc hin lnh ping theo yu cu. ng dng trong h thng l vic thc hin kch bn o tr, gi gi ping theo yu cu v x l kt qu o nhn c.

43

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Thao tc c thc hin nh th vin System.Net.NetworkInformation. (c) Khi socket Nhim v chnh ca khi ny l khi to socket gi nhn d liu. ng dng trong h thng l vic thc hin kch bn o thng lng. Thao tc c thc hin nh th vin System.Net v System.Net.Sockets. Khi to socket TCP vi cc khai bo TCPClient, cc hm TCPClient.Connect(), TCPClient.Close(). Gi v nhn d liu vi khai bo NetworkStream, cc hm networkstream.Read() v hm networkstream.Write(). Qu trnh o thng lng cng c thc hin trong khi ny bng cch thit lp qu trnh gi nhn cc gi tin TCP theo kch bn c nh sn. (d) Khi giao din Nhim v chnh ca khi ny l xy dng giao din tng tc ngi dng. ng dng trong h thng l vic xy dng mt phn mm o vi giao din khoa hc, c th, d iu khin. Thao tc c thc hin nh cc th vin System.Windows.Forms, System.Text, System.Drawing. (e) Khi ph tr Nhim v chnh ca khi ny l khi to cc cng c cn thit trong qu trnh xy dng chng trnh. ng dng trong h thng l vic xy dng b m thi gian c chnh xc rt cao theo xung nhp CPU dng o thi gian gi nhn d liu, vic xy dng c ch iu khin lung m bo cc tin trnh o c thng sut v qu l b nh mt cch khoa hc. Thao tc c thc hin bi th vin System.Threading v

System.Runtime.InteropServices.

44

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.11.3 Chng trnh o


(a) Khi to Khi to cc thng s chnh chng trnh o hot ng bnh thng.

Hnh 3.27 Khi to chng trnh

(b) Cc module chnh B m thi gian chnh xc cao: dng o thi gian tin trnh gi nhn d liu mt cch chnh xc theo xung nhp ca b vi x l my tnh chy MC. Pingsender: phc v cho khi Ping. Uplink: phc v cho o thng lng hng ln. Downlink: phc vu cho o thng lng hng xung.

45

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.28 B m thi gian

46

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.29 Thi gian truyn

1.12

Chng trnh nhng trn TC

1.12.1 Cu trc chng trnh


Trc khi i vo c th chng trnh nhng trn TC, ta cn c mt ci nhn tng qut v cu trc ca chng trnh. Do yu cu h thng i hi tp trung vo phn Ethernet nn chng trnh c xy dng cng da trn sn ly th vin uIP l ch o. TC c th hot ng th ta phi xy dng chng trnh da trn cc module chnh nh cp bng di y.
Bng 3.4 Cc module chnh ca chng trnh

Main.c Startup912.s Startup_generic.s Interrupt.c Memcopy.s 91x_fmi.c 91x_gpio.c 91x_scu.c 91x_enet.c

M chnh ca chng trnh File ASM khi to cho STR9 File ASM cha trong Startup912.s X l ngt X l b nh Th vin c bn qun l b nh Th vin c bn qun l giao tip IO Th vin c bn qun l hot ng iu khin h thng Th vin c bn qun l Ethernet 47

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet 91x_vic.c Uipmain.c Uip.c Uip_arp.c Uip_arch.c Cgi.c Fs.c Fsdata.c Httpd.c Memb.c Telnettd-shell.c Th vin c bn qun l vector ngt uIP stack main uIP stack core X l giao thc ARP X l kin trc c bit M CGI M phng file system Ni dung web Web server Web server My ch telnet

Main.c Chng trnh chnh bt u bng vic thit lp cc th tc phn cng lin quan (SCU, GPIO v Ethernet). M khi ng trong startup912.s khi to nhng thnh phn nh PLL, clock v memory. Sau ln cu hnh ny ta s khng thay i nhng thnh phn na. Tip l vng lp chnh ca chng trnh. Startup912.s Nh tn ca n bao hm, code khi ng c t chy t vector reset. N cung cp bng vector ngoi l, cng nh khi u stack pointer cho cc ch hot ng khc nhau. Ta s dng code mc nh. Interrupt.c Cha cc vector ngt. uIPMain.c Khi to uIP stack vi cc chc nng c bn ca ARP. Khi to cng bt u WEB server bng cch gi hm httpd_init(). Giao thc c x l trong mt vng lp v tn. Bng cch gi (size = ENET_HandleRxPkt(uip_buf);) ta kim tra c trng thi b m u vo. Nu d liu nhn c tr v gi tr ln hn 0 th hm tng ng s c thc hin. uip.c Cha phn chnh ca uIP v x l giao tip TCP/IP. uip_arp.c X l ARP. uip_arch.c X l kin trc c bit. cgi.c Cung cp cc hm theo ngn ng web CGI phc v cho web server. 48

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet fs.c Cha cc file h thng c bn ca WEB server, c gi bi m CGI. Vng lp chnh fsopen() cho php WEB server m ng file cn thit cho trnh duyt. fsdata.c Cha ni dung ca chng trnh WEB server. Cc file HTML, CGI, nh c m ha thnh mng k t c cha trong y. Ta s dng cng c i km thc hin iu ny. httpd.c Cha cc th tc ca WEB server. Cc chc nng c bn ca CGI nm y. Khi to bng hm httpd_init() t vng lp chnh.

1.12.2 Th vin STR9


Th vin chng trnh ca TC dng trong vic xy dng h thng s c miu t di y.
Bng 3.5 Cc chc nng h tr bi th vin STR9

Chc nng ADC CAN SCU DMA VIC GPIO I2C RTC WIU AHBAPB MC FMI EMI SSP TIM UART WDG

Miu t Analog-to-Digital Converter Controller Area Network System Control Unit DMA Controller Vectored Interrupt Controller General Purpose I/O Ports I2C Interface module Real Time Clock Wake-Up Interrupt Unit AHB/APB Bridges 3-phase induction Motor Controller (MC) Flash Memory Interface External Memory Interface Synchronous Serial Peripheral Standard Timer Universal Asynchronous Receiver Transmitter Watchdog Timer

49

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.30 Cu trc th vin STR9

50

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.31 Ni dung th vin

Folder ny cha cc thnh phn chnh ca th vin. Folder inc cha cc file header, ngi dng khng c khuyn khch thay i ni dung cc file ny, bao gm: 91x_type.h: Cha cc thit lp v loi d liu v bin c s dng trong cc th vin khc. 91x_map.h: Cha bn b nh v cu trc cc thanh ghi. 91x_lib.h: Header chnh cha cc header khc. 91x_ppp.h: Cha cc cu trc hm, d liu v bin.

51

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet Folder src cha m ngun th vin, ngi dng khng c khuyn khch thay i ni dung cc file ny, bao gm: 91x_ppp.c: Cha m ngun cu trc hm. Ch : Cc th vin c lp trnh theo Strict ANSI-C v khng ph thuc vo bt c s lin kt phn mm no khc.

Hnh 3.32 Kin trc th vin phn mm

1.12.3 Quy tc xy dng m ngun


Nhng quy tc v ch sau c s dng khi xy dng th vin phn mm. (a) Cc types c th c quy nh cho cc bin c kiu v kch thc l c nh. Cc types ny c nh ngha trong th vin 91x_type.h: typedef unsigned long typedef unsigned short typedef unsigned char u32; u16; u8;

52

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet typedef signed long s32; typedef signed shorts16; typedef signed char s8;

typedef volatile unsigned long

vu32;

typedef volatile unsigned short vu16; typedef volatile unsigned char vu8;

typedef volatile signed long typedef volatile signed short typedef volatile signed char (b) Kiu bool

vs32; vs16; vs8;

c nh ngha trong 91x_type.h nh sau: typedef enum { FALSE = 0, TRUE = !FALSE } bool; (c) FlagStatus v ITStatus Hai types ny c nh ngha trong 91x_type.h. Hai gi tr c th c gn cho bin ny: SET hoc RESET. 53

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (d) FunctionalState Type ny c nh ngha trong 91x_type.h. Hai gi tr c th c gn cho bin ny: ENABLE hoc DISABLE. (e) ErrorStatus Type ny c nh ngha trong 91x_type.h. Hai gi tr c th c gn cho bin ny: SUCCESS hoc ERROR. (f) Con tr Con tr ti thit b ngoi vi c s dng truy cp vo cc thanh ghi iu khin kim sot cc thit b ngoi vi. Con tr tr n cu trc d liu i din cho s nh x cc thanh ghi iu khin. Cu trc c nh ngha cho mi mt thit b ngoi vi c thc hin trong 91x_map.h.
Bng 3.6 Cu trc thanh ghi b nh

Register BBSR NBBSR BBADR NBBADR CR SR BCE5ADDR

Description Boot Bank Size Register Non-Boot Bank Size Register Boot Bank Base Address Register Non-Boot Bank Base Address Register Control Register Status Register BC Fifth Entry Target Address Register

Bng 3.7 FMI_BootBankSize

FMI_BootBankSize 0 1 2 3 4 ... 0xB

Meaning 32 KBytes 64 KBytes 128 KBytes 256 KBytes 512 KBytes ... 64 MBytes 54

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Bng 3.8 FMI_NonBootBankSize

FMI_NonBootBank Size 0 1 2 3 ... 0xD

Meaning 8 KBytes 16 KBytes 32 KBytes 64 KBytes ... 64 MBytes

1.12.4 Khi hm uIP


(a) Cc hm thit lp #define uip_sethostaddr(addr) Thit lp a ch IP. #define uip_gethost addr(addr) Ly a ch IP. #define uip_setdraddr(addr) Thit lp a ch IP ca router. #define uip_setnetmask(addr) Thit lp netmask. #define uip_getdraddr(addr) Ly a ch IP ca router. #define uip_getnetmask(addr) Ly netmask. 55

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet #define uip_setethaddr(eaddr) Thit lp a ch MAC. (b) Cc hm khi to #void uip_init(void) #void uip_setipid(u16_t id) Khi to khi microIP. (c) Cc hm ng dng #define uip_datalen() di hin ti ca d liu n. #define uip_close() ng kt ni hin ti. #define uip_abort() Hy kt ni hin ti. #define uip_stop() Gi yu cu dng truyn d liu ti i tng ang truyn. #define uip_stopped(conn) Kim tra kt ni hin ti b dng trc bi hm uip_stop() cha? #define uip_newdata() Kim tra c d liu mi hay khng? #define uip_acked() Kim tra d liu gi trc c nhn cha? 56

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet #define uip_connected() Kim tra kt ni thnh cng cha? #define uip_closed() Kim tra kt ni c b ng bi pha bn kia? #define uip_aborted() Kim tra kt ni c b hy bi pha bn kia? #define uip_timedout() Kim tra kt ni b timed out? #define uip_listen(u16_t port) Bt u lng nghe TCP trn cng port. #define uip_unlisten(u16_t port) Dng lng nghe TCP trn cng port. #uip_conn * uip_connect(uip_ipaddr_t*ripaddr, u16_t port) Kt ni n a ch ripaddr v cng port. #uip_send(const void *data, int len) Gi d liu data, di len trn kt ni hin ti.

57

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.33 Cc thit lp uIP

58

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.12.5 Lin kt th vin uIP


(a) Vng lp iu khin chnh Khi uIP c th chy nh l mt tin trnh trong h thng a nhim hoc m nhn vai tr l chng trnh chnh trong h thng n nhim. Trong c hai trng hp, vng lp chnh ca chng trnh thc hin lin tc hai vic: _Kim tra xem c gi tin c gi n t mng? _Kim tra xem timeout nh k c xy ra? Nu mt gi tin c gi n, chc nng x l u vo uip_input() c kch hot trong vng lp iu khin chnh. Hm uip_input() gi chng trnh tng ng vi gi tin gi n, chng trnh ny c th to ra mt hoc nhiu gi tin tr li gi li. Nu vy, hm iu khin thit b mng s c gi gi cc gi tin . (b) ng dng gi tin ng dng cc gi tin phi c thc hin trong hm uip_appcall(), hm c gi mi khi c bt c mt s kin no xy ra. Mi s kin c mt chc nng kim tra tng ng c s dng phn bit gia cc s kin khc nhau. Ch rng cc s kin nht nh c th xy ra trong s kt hp vi nhau (v d: s kin d liu mi gi n c th xy ra cng mt lc vi s kin d liu gi c cng nhn). (c) Con tr kt ni Khi cc ng dng c gi bi uIP, bin ton cc uip_conn c thit lp tr n cu trc uip_conn cho kt ni ang c x l hin thi, v c gi l kt ni hin thi (current connection). Cc trng trong cu trc uip_conn cho kt ni hin thi c th c s dng. V d, phn bit gia cc dch v khc nhau, hoc kim tra a ch IP m kt ni c kt ni. Mt in hnh s c s dng l vic kim tra trng uip_conn->lport (thng tin cng TCP) quyt nh dch v kt ni cn cung cp. Ngoi ra, mt ng dng c th hot ng nh mt my ch HTTP nu gi tr uip_conn-lport bng 80 v hot ng nh mt my ch Telnet nu gi tr bng 23. 59

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (d) Nhn d liu Nu kim tra thy hm uip_newdata() tr v gi tr khc 0, iu cho thy my ch t xa ca kt ni gi d liu mi. Con tr uip_appdata dc tr ti d liu thc t. Kch thc ca d liu c th thu c thng qua hm uip_datalen(). D liu khng phi l b m ca uIP, nhng s b ghi ln sau khi ng dng tr v gi tr tng ng. Bi vy cc ng dng s phi hoc l x l trc tip trn d liu gi n hoc l phi t sao chp cc d liu gi n vo mt b m x l sau. (e) Gi d liu Khi gi d liu, uIP iu chnh di d liu gi bng cch p dng theo khng gian b m c sn v kch thc ca s TCP ca bn nhn. Kch thc khng gian b m c quyt nh bi cu hnh b nh. Do c th cc d liu gi s khng n c ni nhn, v ng dng c th s dng hm uip_mss() xem c bao nhiu d liu s c gi thc t qua cc ngn xp. Cc ng dng gi d liu bng cch s dng hm uip_send(). Hm ny c hai thng s: mt tr ti d liu cn gi i v mt l chiu di ca d liu. Nu ng dng cn s dng b nh RAM to cc d liu thc t c gi i, b m gi tin (c tr n bi con tr uip_appdata) c th c s dng cho mc ch ny. Cc ng dng ch c th gi i mt on d liu tai mt thi im trn mt kt ni v khng th gi nhiu hn mt ln hm uip_send() cho mi mt ng dng c kch hot. Ch c d liu t ln gi cui cng s c gi i. (f) Truyn li d liu C ch truyn li d liu c iu khin bi b m thi gian nh k TCP. Mi khi b m thi gian nh k c gi, b m gi truyn li cho mi kt ni b gim i. Nu b m gi gim n 0, d liu s c truyn li bng cahcs thit lp c uip_rexmit(). ng dng phi kim tra c uip_rexmit() v to d liu ging vi d liu c gi trc .

60

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (g) ng kt ni ng dng ng kt ni hin ti bng cch gi hm uip_close(). Thc hin iu ny s khin kt ni c ng li mt cch sch s. Trong trng hp c li nghim trng, cc ng dng c th hy b kt ni bng cch gi hm uip_abort(). Nu kt ni c ngt bi pha bn kia, hm uip_closed() s tr v gi tr true. Cc ng dng c th thc hin nhng lnh dn dp b nh cn thit. (h) Lng nghe cng TCP uIP duy tr mt danh sch cc cng TCP. Mt cng mi c m ra lng nghe khi gi hm uip_listen(). Khi mt yu cu kt ni c gi n cng , uIP to ra mt kt ni mi v gi cc hm ng dng tng ng. Hm uip_connected() tr v gi tr true nu ng dng c gi bi mt kt ni mi c to ra. Cc ng dng c th kim tra trng uip_conn->lport kim tra xem kt ni c to trn cng no. (i) To kt ni Kt ni mi c th c m ra t bn trong khi uIP bng cch gi hm uip_connect(). Hm ny cp pht mt kt ni TCP mi n a ch IP v cng c ch nh. Hm uip_connect() tr v con tr n cu trc uip_conn dnh cho kt ni mi. Nu khng c kt ni, hm tr v gi tr NULL. Hm uip_ipaddr() c th c s dng ng gi mt a ch IP vo mng hai thnh phn 16bit c s dng bi uIP i din cc a ch IP.

61

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.12.6 M khi ng
project v d ca chng ta c mt s source file. Cc file .c l file source, startup912.s l module assembler cung cp bi Hitex h tr STR9. Nh tn ca n bao hm, code khi ng c t chy t vector reset. N cung cp bng vector ngoi l, cng nh khi u stack pointer cho cc ch hot ng khc nhau. Code khi ng s ty bin, da trn thit b ARM9 no v trnh bin dch no bn ang dng, nn vic chc chn bn dng ng file s quan trng cho project ca bn. Trc ht code khi ng cung cp bng vector ngoi l nh di y:

Hnh 3.34 Vector ngoi l

Bng vector c t 0x00000000 v cung cp 1 bc nhy n vng lp ngt (ISR) mi vector. Nu code ca bn chy t 0x00000000 th bng vector c th c to t mt lot cc ch dn nhn. Bn phi nh m thm vo vector ngt khng s

62

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet dng 1 lnh NOP, ngoi ra ch cc ch dn Assembler khc nhau trong vector ngt IRQ trn. S dng ch dn nhn ngha l ch mc ca phn mm v cc vng lp ngt phi c t trong 32Mb u bn memory ca STR9 v y l khong a ch ca ch dn nhn. Mt cch tng qut hn x l bng vector l dng ch dn LDR load mt 32 bit lin tc vo PC. Cch ny tn nhiu b nh hn, nhng cho php bn t code bt c u trong 4Gb a ch ca ARM9. Bng vector v bng cc hng s mt n 64 byte u tin ca b nh.Trn STR9 b nh ti 0x00000000 c th c nh x t mt s ngun khc nhau hoc trn chip FLASH, RAM hoc b nh Flash bn ngoi. D bn dng cch no, bn c trch nhim qun l cc bng vector trong code khi ng, v n khng c thc hin t ng bi trnh bin dch. M khi ng cng chu trch nhim cu hnh ngn xp con tr cho mi phng thc iu hnh.

Hnh 3.35 Cu hnh ngn xp

6 ngn xp con tr trn chip (R13) c khi to trn cng ca b nh on-chip. Buc phi m bo cp pht b nh cho kch thc ti a ca mi stack.

63

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet V mi ch hot ng c mt R13 ring, c su ngn xp hiu dng trong ARM9 ny. Cc chin lc c s dng bi trnh bin dch ny l xc nh v tr cc bin ca ngi dng t s khi u ca RAM trn chip v tng trng tr ln. Cc ngn xp c t pha trn ca b nh v pht trin xung di. M khi ng vo mi ch khc nhau ca ARM9 v ti mi R13 vi a ch bt u ca ngn xp. Cc User Stack l quan trng nht v phi c t ti a ch thp nht.Cc Heap c t di cng ca khu vc User Stack v iu ny cn c th s dng b nh gia cc User Stack v d liu khu vc cha khi to (BSS).

Hnh 3.36 User stack

Ging nh bng vector, bn c trch nhim cu hnh kch thc ngn xp. iu ny c th c thc hin bng cch chnh sa trc tip m khi ng.

64

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.37 Kch thc ngn xp

Cc ngn xp CPU c thit lp v kim tra trong trnh sa li. Cc lnh vc quan trng khc ca m khi ng cng c xem xt. (a) The ARM Procedure Call Standard (APCS) APCS nh ngha cch cc thanh ghi file ARM9 c s dng bi trnh bin dch trong thi gian chy. V l thuyt, APCS cho php m c xy dng trong b cng c khc nhau lm vic cng nhau, t bn c th ly mt th vin c bin son bi cc trnh bin dch ARM v s dng n vi cc cng c GCC.

Hnh 3.38 ARM Procedure Call Standard (APCS)

65

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet APCS nh ngha cch cc thanh ghi CPU ngi dng c s dng bi cc trnh bin dch. Tn trng nhng tiu chun ny cho php lm vic gia cc cng c sn xut khc nhau. APCS chia tch thanh ghi file vo mt s khu vc. R0 ti R3 c s dng cho tham s truyn gia cc chc nng. Nu bn cn phi vt qua hn 16 byte th cc tham s trn c truyn qua cc ngn xp. Cc bin a phng c phn b R4 - R11 v R12 c dnh lm v tr b nh cho m intra-call veneer. Khi bn chn thm ty chn cho cc m to ra nh nhp li v kim tra-stack, trnh bin dch cho thm m Assembler b sung h tr cc tnh nng ny. Cc veneer Assembler thm chi ph cho m ca bn, do ch cho php cc tnh nng m bn c nh s dng. APCS cng nh ngha mt stack frame gi trng thi ca cc thanh ghi CPU km theo mt con tr ti stack frame trc . y l mt nhim v sa li phn mm rt hu ch trong h iu hnh nh Linux, nhng n khng phi l hu ch cho mt trnh g ri JTAG. Chun ACPS c tc ng ln vo tc thc hin v kch thc ngn xp cho ng dng cui cng. Do i vi mt vi iu khin nhng nh nh STR9 tt nht l ngn chn cc trnh bin dch tiu chun ny. Lnh c s dng bt tiu chun APCS l: -mapcs-frame or -apcs V v hiu ha n -mno-apcs-frame Theo mc nh StartEasy to ra mt d n v hiu ha vic s dng cc APCS. (b) ARM v THUMB Mt trong nhng tnh nng quan trng nht ca CPU ARM9 l kh nng chy m THUMB 16 bit v m ARM 32 bit. c c mt ng dng phc tp-hp l ph hp vi cc b nh Flash trn chip, n l rt quan trng interwork nhng hng dn hai 66

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet b c hu ht cc m ng dng c m ha trong cc tp lnh THUMB v c hiu qu nn c khng gian ti thiu trong b nh Flash trn chip. Bt k thi gian thi quen quan trng, ni sc mnh x l y ca ARM 7 l yu cu cn phi c m ha trong tp 32 ARM hng dn bit. Khi to m, trnh bin dch phi c cho php cho php nh hng ln nhau. iu ny t c vi s chuyn i sau y: -mTHUMB-interwork Cc trnh bin dch GCC c thit k bin dch mt module C a ra trong hoc l THUMB hoc tp lnh ARM. V vy, bn phi t ra m ngun ca bn mi mn ch c chc nng s c m ha theo chc nng ARM hoc THUMB. Theo mc nh cc trnh bin dch s m ha tt c cc m ngun trong cc tp lnh ARM. Buc mt m-un c m ha trong cc tp lnh THUMB, s dng cc ch th sau khi bn bin dch m: -mTHUMB Ty chn ny c th c thm vo mt module c trong IDE HiTOP.

67

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

1.12.7 Chng trnh nhng HiTOP Debugger


Chng trnh c vit bng ngn ng C++ trn cng c pht trin HiTOP Debugger c cung cp km theo STR9-comstick.

Hnh 3.39 Giao din HiTOP Debugger

HiTOP l kt thc cho tt c cc trnh sa li Hitex v gi lp in-circuit. Trong trng hp ca STR9, HiTOP kt ni n trnh sa li JTAG TantinoARM 7-9. JTAG cho php HiTOP ti cc on m vo STR9 FLASH hoc RAM v sau sa li m nh n chy trn vi iu khin. Ngoi tnh nng sa li ca n, HiTOP bao gm editor ca ngi lp trnh, h tr cho cc cng c bin dch khc nhau v to cc tin ch cho php bn duy tr cc chng trnh STR9 hin c. Mi trng HiTOP pht trin c th c s dng vi cng c bin dch khc nhau. Chng bao gm cc trnh bin dch t ARM, Keil, Greenhills, tc v v IAR. Ngoi ra cn c mt cng ca trnh bin dch GNU GCC c sn cho cc dng CPU ca

68

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet ARM. GCC c li th l mt trnh bin dch t do bin dch C v C + + cho tt c cc dng CPU ca ARM. Cc trnh bin dch thng mi l con ng pha trc ca nhng cng c GNU v mt m v tc thc thi. Cng ngy, cc trnh bin dch thng mi bao gm h tr trc tip cho vi iu khin ARM-based trong cc hnh thc trnh g ri vi s h tr cho cc STR9 v thit b chuyn mch bin dch chuyn dng. Nhng l do s dng mi trnh bin dch a ra c th c tm tt nh sau: nu bn mun m nhanh nht v cc cng c tiu chun vi s h tr k thut thch hp s dng mt cng c thng mi nh cc trnh bin dch Keil ARM RealView. Nu bn khng c ngn sch, mt d n n gin hoc c kinh nghim ng k trc ca n, s dng GNU. Cung cp vi cc b STR9 starter l mt ci t min ph ca cc trnh bin dch GNU, c tch hp vi trnh g ri HiTOP IDE bn c th bin dch chng trnh n gin. Cc v d a ra y s dng cc trnh bin dch GNU.

Hnh 3.40 Cc ca s thao tc HiTOP

Cng bao gm trong chui cng c pht trin l mt bin tp vin th hai gi l Tr l Pht trin cho C. y l mt bin tp vin cao cp ng mc tiu pht trin cc h 69

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet thng nhng. Cng nh c tt c cc tnh nng bn mong i mt trnh son tho ca lp trnh, DA-C bao gm mt s tnh nng nng cao gip bn sn xut cht lng cao v c ti liu m ngun C. DA-C bao gm mt kim tra tnh s phn tch m ca bn cho cc li lp trnh thng thng, to ra cc biu dng chy v phn cp gi. DA-C cng bao gm mt trnh duyt m, v vy bn c th d dng di chuyn m ca bn v mt s liu module nn cc m ngun c th c phn tch bng cch s dng cc bin php tiu chun cht lng. Cc mc cui cng ca phn mm trn l mt th nghim b phn mm cng c gi l TESSY. Cc cng c t ng ha TESSY th nghim chc nng ca vi iu khin nhng v phn cng mc tiu ca h. Trong nhiu ngnh cng nghip (c bit l hng khng v tr v y t), xc nhn cc phn mm vi iu khin l mt qu trnh di v quan trng. TESSY c bit thch hp th nghim vi iu khin du chn nh ch c mt lng nh trn chip b nh. Thay v xy dng khai thc th nghim s c ti vo b nh mc tiu ca thit b o kim, TESSY lm cho khng c thay i m theo th nghim, nhng xy dng khai thc th nghim ca n trong ngn ng HiScript c xy dng trong trnh sa li. Bng cch ny, vic p dng y cc mc tiu c th c thc hin m khng mt bt k ti nguyn trn chip. Trn y l cc kin thc cn bit v cng c HiTOP Debugger c th s dng tt cho vic xy dng h thng. Cc bc xy dng c m t phn di y. TC c khi to vi IP c cp sn. Khi va khi ng, chng trnh s thc hin vic khi to socket TCP lng nghe trn cng 2001. Tip sau l vng lp uIP kim tra b m gi tin gi n v thc hin cc ng dng tng ng. Thn chng trnh c chia lm 5 khi chnh nh sau:

70

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.41 S khi chng trnh nhng

(a) Khi khi to (init) Nhim v chnh ca khi ny l khi to cc thng s chnh lc khi ng cho TC. ng dng trong h thng l vic thc hin khi to IP cho TC, khi to socket TCP lng nghe trn cng nh trc sn sng cho qu trnh o. Thao tc c thc hin nh th vin 91x v uIP. Khi to a ch IP, default gateway, subnet mask vi hm uip_ipaddr(). Khi to socket TCP lng nghe vi hm uip_listen().

Hnh 3.42 Hm khi to s lc

71

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

(b) Khi chng trnh chnh (main) Nhim v chnh ca khi ny l thc hin cc hm gip TC hot ng bnh thng. ng dng trong h thng l vic khi to vng lp uIP h tr Ethernet phc v kch bn o. Thao tc c thc hin nh th vin 91x.

Hnh 3.43 Hm Main s lc

72

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (c) Khi uIP Nhim v chnh ca khi ny l thc hin cc hm h tr bi th vin uIP. ng dng trong h thng l lm c s cho cc khi x l gi tin gi n theo giao thc TCP/IP. Thao tc c thc hin nh th vin 91x v uIP. Kim tra cc gi tin gi n v thc hin gi cc khi tng ng.

Hnh 3.44 Hm uip s lc

73

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

(d) Khi ICMP Nhim v chnh ca khi ny l gi cc ng dng tng ng vi gi tin ICMP c gi n TC. ng dng trong h thng l vic thc hin phn hi gi ping t MC bng cch gi gi pong tr li. Thao tc c thc hin nh th vin uIP. nh ngha cu trc gi ICMP bao gm cc trng tng ng TC hiu c. Thc hin vic to gi pong phn hi khi c gi ping gi n TC bng cch thay i trng type ca gi ping t 8 thnh 0, o ngc hai trng source IP address v destination IP address. Sau s dng hm uip_send() gi tr li MC.

74

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.45 Hm ICMP s lc

75

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

(e) Khi TCP Nhim v chnh ca khi ny l gi cc ng dng tng ng vi gi tin TCP c gi n TC. ng dng trong h thng l thc hin kt ni TCP vi MC v gi nhn cc gi tin theo kch bn o. Thao tc c thc hin nh th vin uIP. nh ngha cu trc gi TCP bao gm cc trng tng ng TC hiu c. Khi c gi TCP gi n, khi TCP thc hin gi hm uip_appcall(). Bng cc hm kim tra uip_newdata(), uip_acked(), uip_rexmit(), uip_closed(), uip_abort(), ta s thc hin cc lnh gi gi tin tng ng hon thnh kch bn o.

76

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 3.46 Hm TCP s lc

77

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Kim tra nh gi h thng


1.13 Kim tra nh gi

1.13.1 Mng PLC


(a) Cu trc mng PLC Mng truy nhp PLC da trn mng li truyn ti v cung cp in h th (li h th kt ni vi li in trung th v cao th thng qua cc my bin p). C th thy trn hnh 1.2, mng truy nhp PLC c th kt ni vi mng din rng WAN thng qua cc trm gc t ti v tr cc my bin th, cn cc thu bao PLC kt ni vi cc trm gc thng qua cc modem PLC t ti v tr cc cng t o m in hoc cm in trong nh.

Hnh 4.47 Cu trc mng PLC

Mng PLC trong nh s dng mng in trong nh lm phng tin truyn dn, kt ni cc thit b s dng trong nh nh my tnh, in thoi, my in v cc thit b video, gi l h thng mng PLC LAN. V cu trc, mng PLC trong nh khng khc 78

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet nhiu so vi cu trc mng truy nhp PLC s dng li in h th. Trong cu trc ny, c mt trm gc PLC (BS) t ti v tr cng t in kt ni vi mng PLC backbone. Cc thit b trong nh kt ni vi trm gc thng qua cc modem PLC t ti cc cm in. Mng PLC trong nh khng ch c th kt ni n mng truy nhp s dng cng ngh PLC m cn c th kt ni n cc mng truy nhp khc.

Hnh 4.48 Cu trc mng PLC trong nh

(b) Cc phn t ca mng PLC Cc phn t mng c bn _Modem PLC: L thit b n v PLC, dng kt ni cc thit b ngi s dng (my tnh, in thoi) vi ng dy in. Modem PLC ngoi chc nng chuyn i tn hiu, cn c vai tr l b phi hp tr khng, b lc tch tn hiu in (tn s 50 hoc 60Hz) v tn hiu thng tin (tn s trn 9kHz). Modem PLC khng ch thc hin tt c cc chc nng lp vt l (Physical layer) nh m ho, iu ch m cn thc hin cc chc nng lp Data link (MAC v LLC) trong m hnh tham chiu OSI . _Trm gc PLC: L nt trung tm nm quyn kim sot c mng PLC, lm nhim v tp trung lu lng ti ln v ti xung t/ti tt c cc modem PLC trong cell 79

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet ca n. Ngoi ra n cn c chc nng kt ni mng truy nhp PLC vi mng backbone. Trm lp: Trong trng hp khong cch gia cc modem PLC vi trm gc l rt xa, cn s dng cc b lp tn hiu (repeater). Cc b lp ny c chc nng khuch i tn hiu.

Hnh 4.49 PLC s dng trm lp

PLC Gateway: Cc thu bao PLC c th kt ni vo mng truy nhp PLC bng hai cch: _Kt ni trc tip.

Hnh 4.50 Thu bao PLC kt ni trc tip

_Kt ni gin tip qua PLC gateway.

80

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 4.51 Thu bao PLC kt ni gin tip

1.13.2 Kim tra nh gi


nh gi kt qu v kch bn chnh xc hay cha chng em s dng phn mm Wireshark chuyn bt gi tin. Li ch Wireshark em li gip cho n tr nn ph bin nh hin nay. N c th p ng nhu cu ca c cc nh phn tch chuyn nghip v nghip d v n a ra nhiu tnh nng thu ht mi i tng khc nhau. Cc giao thc c h tr bi WireShark: WireShark vt tri v kh nng h tr cc giao thc (khong 850 loi), t nhng loi ph bin nh TCP, IP n nhng loi c bit nh l AppleTalk v Bit Torrent v quan trng Wireshark h tr hu ht cc loi h iu hnh hin nay. Qu trnh kim tra nh gi c trnh by di y:

81

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (a) Lnh ping

Hnh 4.52 M t lnh Ping qua wireshark

Gm 2 gi tin echo request v echo reply , giao thc ICMP chnh xc vi l thuyt.

82

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet (b) Thng lng

Hnh 4.53 Qu trnh bt tay 3 bc

y wireshark s cung cp cho ta nhng thng tin sau : IP ngun n Ip ch 192.168.1.5 -192.168.1.10 Giao thc truyn ti y l TCP Port ngun v port ch 54243 v dc(2001) 1 vi trng c bn ca TCP header s c gii thch di Cc trng thi gi tin v kch thc phn data. Qu trnh o thng lng din ra nh sau: *u tin la qu trnh bt tay 3 bc khi to 1 phin kt ni : - MC gi tin TCP syn bin sequence number ( gip gi tin truyn 1 cch tun t ) bng 0 -STR gi li TCP syn ack xc nhn nhn gi TCP syn bng gi tin c bin ack number= 1( xc nhn nhn gi syn=0) v thm tham s sequence number = 0. 83

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet -MC nhn c TCP syn ack cng gi tip cho STR 1 gi tin xc nhn nhn c (ack = 1 , sequence=1 ) * Sau khi bt tay 3 bc l cc gi bo hiu v cc gi d liu dng cho vic o thng lng:

Hnh 4.54 Kho st thng lng mng Ethernet

-Trng hp mng bng thng rng n nh din ra ng vi kch bn khng c li xy ra trn ng truyn. Ch : hm Push y d liu ra ngoi b m cho cc ng dng nhn -Trng hp mng in m chng ta kho st

84

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Hnh 4.55 Kho st thng lng ng in

D thy c nhiu li xy ra trn ng truyn nhng chng trnh vn theo ng kch bn: TCP out of order: gi tin b li TCP fast retransmission: c ch hot ng nh sau nu ngi gi nhn c 3 bn sao ACK cng gi tr ACK number th TCP sender s chc chn rng segmet( on) tip theo s b drop (mt) v khng n theo trt t v TCp sender s gi li gi b drop . Kt lun : Chng trnh xy dng ng vi kch bn ra o c 1 qu trnh gi d liu xy ra trn mng. V cng thc thng lng s dng chng em da trn cc ti liu tham kho v cc phn mm o bng thng , thng lng u da trn cng nh ngha xy dng cng thc.

85

H thng o cc thng s mng trn ng truyn bng hp iu khin qua Internet

Ti liu tham kho


[1] Adam Dunkels, The uIP Embedded TCP/IP Stack, June 2006. [2] www.hitex.co.uk, The Insiders Guide To The STR91x ARM9, June 2006. [3] www.st.com, STR91x softwar library, May 2006. [4] www.wikipedia.com [5] www.msdn.com [6] www.php.net [7] www.codeproject.com [8] www.congdongcviet.com

86

You might also like