Ngày nay các thiết bị điện được sử dụng rộng rãi và là nhu cầu không thể thiếu trong đời sống của con người. Việc sử dụng các thiết bị năng luợng điện này sao cho hiệu quả, dễ dàng, tập trung là rất khó khăn. Hơn nữa việc sử dụng các thiết bị điện này trong không gian rộng lớn sao cho tiết kiệm,an toàn luôn là vấn đề quan tâm hàng đầu của nước ta.Với vấn đề đó nhóm em đã “Xây dựng hệ thống điều khiển các thiết bị điện qua mạng Internet”. Hệ thống giúp cho chúng ta có thể quản lý các thiết bị tập trung, dễ dàng và hiệu quả và nhanh chóng hơn. Ngoài ra hệ thống còn tích hợp các cảm biến, cài đặt thời gian hoạt động tự động cho các thiết bị giúp chúng ta sử dụng nguồn năng lượng điện tiết kiệm và an toàn hơn.
Trang 1ĐẠIHỌCĐÀNẴNGTRƯỜNGĐẠIHỌCBÁCHKHOAKHOACÔNGNGHỆTHÔNGTIN Tel.(84-511)736949,Fax.(84-511)842771 Website:itf.dut.edu.vn,E-mail:cntt@edu.ud.vn
Trang 2GVHD:TS.HuỳnhCôngPhápĐồántốtnghiệp
LỜICẢMƠN
Lờiđầut i ênchúngtôixinbàytỏlòngbiếtơnsâusắcđếnt ấ t cảquý thầycô,nhữngn g ư
ờ i đãt ậntụydạydỗ,truyềnđạtkiếnthứcvàk i n h n g h i ệmq u ý b á u choc h ú n g tôitrongsuốtnămnămhọcqua
ChúngtôixinchânthànhcảmơnTS.HuỳnhCôngPháp-thuộcbộmônCôngnghệphầnmềm,khoaC ô n g nghệthôngt i n , t r ư ờ n g ĐạihọcBáchkhoaĐàNẵng,n g ư ờ i đãhướngdẫn,tạođiềukiệnthuậnlợivàgiúpđỡchúngtôitrongsuốtthờigianlàmđềtài
Vàđểcóđượck ế t quản h ư ngàyh ô m nay,c h ú n g t ô i rấtb i ế t ơngiađìnhđãđ ộ n g viên,khíchlệvàtạom ọ i điềukiệnthuậnlợinhấttrongsu ố t quátrìnhhọctậpc ũngnhưquátrìnhthựchiệnđềtàitốtnghiệpnày
XinchânthànhcámơncácbạntrongkhoaCôngnghệthôngtin–
khóa07,đặcbiệtlàcácbạnlớp07T2đãủnghộ,giúpđỡ,chiasẻkiếnthức,kinhnghiệmvàtàiliệucóđượcchonhómchúngtôitrongquátrìnhnghiêncứuvàthựchiệnđềtài
Mộtlầnnữaxinchânthànhcámơn!
Trang 4………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……… ………
………
………
………
………
………
Trang 5CHƯƠNG I:MỞĐẦU 12
I Bốicảnhđềtài 12
II Mụcđích,yêucầuthiếtkếvàlýdochọnđềtài 12
II.1 Mụcđích 12
II.2 Yêucầuthiếtkế 12
II.3 Lýdochọnđềtài 13
II.4 Đốitượngnghiêncứu 13
II.5 Phươngpháp triểnkhai 13
II.5.1 Vềmặtlýthuyết 13
II.5.2 Côngcụhỗtrợ 14
CHƯƠNGII:CƠSỞLÝ THUYẾT 15
I.1 GiaothứcTCP/IP 15
I.1.1 Giớithiệutổngquan 15
I.1.2 KiếntrúcTCP/IP 16
I.1.2.1 Lớptruyxuấtmạng(NetworkAccesslayer) 18
I.1.2.2 Lớpliênmạng(InternetLayer) 19
I.1.2.3 Lớpgiaovận(Transportlayer) 24
I.1.2.4 Lớpứngdụng(Applicationlayer) 31
II Cơsởlýthuyếtmạch 31
II.1 ChiphỗtrợkếtnốiEthernet-ENC28J60 31
II.1.1 SơđồchânChipENC28J60 31
II.1.2 CáckhốiphầncứngcơbảntrongENC28J60 33
II.1.3SơđồsửdụngENC28J60đểkếtnốiEthernet 34
II.1.4.Tậplệnhgiaotiếp 35
II.2 ChipATmega32 35
II.2.1 Giớithiệu 35
II.2.2.TạisaosửdụngAVR 36
II.3.ChipDS1307 37
CHƯƠNGIII:CẤUTRÚCPHẦNCỨNGHỆTHỐNG 44
I Sơđồtổngquan 44
I.1 Nguồn 44
I.2 GiaotiếpcổngCOM 44
I.3 GiaotiếpEthenetvớiviđiềukhiển 44
I.4 Giaotiếpgiữacácthiếtbịvớiviđiềukhiển 45
II Sơđồmạchnguyênlý 45
II.1 Mạchnguồn 46
Trang 6II.1.1 Nguồn5V 46
II.1.2 Nguồn3V 46
II.3 MạchEthenet 47
II.4 MạchcổngSerialport 47
II.5 MạchcổngRJ45 48
II.6 Mạch ISP 48
CHƯƠNGIV:CẤUTRÚCCHƯƠNGTRÌNHHỆTHỐNG 50
I Cácmodulechính 50
I.1 Các modulegaothứcTcp/IptrongENC28j60 50
I.2 ModulegiaothứcEthernet 50
I.2.1 Cấutrúc1frameEthernet 50
I.2.2.Hàmxửlýgiaothứcethernet 51
I.3 ModulegiaothứcIP 52
I.3.1 CấutrúccủagóiIPnhưsau 52
I.3.2 HàmxửlýgiaothứcIP 53
I.4 ModulegiaothứcICMP 55
I.5 ModulegiaothứcUDP 55
I.6 ModulegiaothứcTCP 56
I.7 ModulegiaothứcDHCP 59
I.7.1 GiaothứcDHCP 59
I.7.2 CơchếlàmviệccủaDHCP 59
I.8 ModulegiaothứcARP 60
I.8.1 Cấutrúccủagóiarp 60
I.8.2 Hàmxửlýgiaothứcarp 61
I.9 ModulegiaothứcHTTP 62
I.9.1 HoạtđộnggiaothứcHTTP 62
I.9.2 Cấutrúc các bảntinHTTP 63
II Chứcnăngcủahệthống 67
II.1 LAMPSCONTROL 67
II.2 FANCONTROL 68
II.3 AUTOTIMES 68
II.4 ANTI-THEFT 68
III DEMO 68
III.1 ThiếtlậpđịachỉtĩnhchoWebServer 68
III.2 KiểmtrakếtnốitừPCtớimạchWebServer 68
III.3Thiếtlậpuse–passtronglớpntAVRnet.h 69
III.4 Đăngnhậptrangwebđiềukhiểncủamạch 69
Trang 7III.5.TrangchủWeb Server 69
CHƯƠNG5:KẾTLUẬNVÀHƯỚNGPHÁTTRIỂN 71
I Nhữngđiểmđãđạtđượccủađềtài 71
I.1 Phầnlýthuyết 71
I.2 Phầnmạch 71
I.3 Phầnchươngtrình 71
II Hướngpháttriểntrongtươnglai 72
II.1 Sửdụngmànhìnhcảmứng 72
II.2 SửdụngICATmega128 72
II.3 Tíchhợpthêmcáccảmbiến 73
II.4 SửdụngCamera 73
TÀILIỆUTHAMKHẢO 74
Trang 8DANHMỤCHÌNHẢNH
HìnhII.1:SosánhmôhìnhOSIvàTCP/IP 17
HìnhII.1:MôtàđónggóiIPlênkhungEthernet 20
HìnhII.2.Môtảhọat độngcủakhungARP 22
HìnhII.3.GóitincủaARP 23
HìnhII.4.TrườngcủakhungARP 24
HìnhII.5.ĐónggóiUDPvàokhungEthernet 26
HìnhII.6.SựphânkênhvàhợpkênhcủaARP 26
HìnhII.8.ĐịnhdạngGóiTCP 29
HìnhII.9.KhungTCP 30
HìnhII.10.SơđồchânchipENC28J60 31
HìnhII.11.CấutrúcphầncứngtrongENC28J60 33
HìnhII.12.ENCkếtnốiInternet 34
HìnhII.13.ICATmega32 36
HìnhII.14.HaigóicấutạochipDS1307 37
HìnhII.15.MạchứngdụngđơngiảncủaDS1307 38
HìnhII.16.TổchứcbộnhớcủaDS1307 39
HìnhII.17.Tổchứccácthanhghithờigian 40
HìnhII.18.SốBCD 40
HìnhII.19.CấutrúcDS1307 43
HìnhIII.1:Môhìnhtổngquanhệthống 44
HìnhIII.2:Sơđồmạchnguyênlý 45
HìnhIII.3.Nguồn5V 46
HìnhIII.4.Nguồn3V 46
HìnhIII.5.MạchICENC28J60 47
HìnhIII.6.MạchcổngSerialport 47
HìnhIII.7.MạchcổngRJ45 48
HìnhIII.8.MạchISP 48
HìnhIV.1.Lưuđồdữliệuvàora 50
HÌnhIV.2.CấutrúcFrameEnthernet 50
HìnhIV.3.cáchàmxửlýtronggiaothứcethenet 51
HìnhIV.4.CấutrúcgóiIP 52
HìnhIV.5:CấutrúcbảntinICMP 55
HìnhIV.6.CấutrúcgiaothứcUDP 55
HìnhIV.7.CấutrúcheadergiaothứcTCP 56
HìnhIV.8.Lưuđồtrạngtháikếtnối 57
Trang 9HìnhIV.10:Devicescontrol 67
HìnhIV.11:ĐịachỉtĩnhcủaWebServer 68
HìnhIV.12:KếtnốitừPCđếnmạchWebServer 69
HìnhIV.13:ThiếtlậpUsernamevàpasswordđăngnhậphệthống 69
HìnhIV.14:Giaodiệnđăngnhập 69
HìnhIV.15:Giaodiệnđiềukhiểnchính 70
HìnhV.1:Mànhình cảmứng 72
HìnhV.2:ChípATmega128 72
HìnhV.3:Cameraquansát 73
Trang 10DANHMỤCBẢNG
Bảng1 ChứcnăngcủacácchânchipENC28J60 32 Bảng2 BảnghướngdẫngiaotiếpSPIchochípENC28J60 35
Trang 11GVHD:TS.HuỳnhCôngPhápĐồántốtnghiệp
Trang 12I Bốicảnhđềtài
Ngàynaycácthiếtbịđiệnđượcsửdụngrộngrãivàlànhucầukhôngthểthiếut r o n g đờisốngcủaconngười.Việcsửdụngcácthiếtbịnăngluợngđiệnnàysaochohiệuquả,dễdàng,tậptrunglàrấtkhókhăn.Hơnnữaviệcsửdụngcácthiếtbịđiệnnàytrongkhônggianrộnglớnsaoch
II.2 Yêucầu thiếtkế
Trang 13- Tìmhiểucáccôngn g h ệ liênquanđếnhệt h ố n g tựđộngbáocháy,
chốngtrộm,antoànvàtiếtkiệmnguồnnănglượngđiện
- Đưaramộtsốđịnhhướngđểpháttriểnđềtài
Trang 15h á c n h a u Nhưngmỗimôhìnhm ạngđềucóđặcđiểmr i êngvàcáchthựcthic ũngchútítkhácnhau.MôhìnhOSIdoISOtạoratrongmộtthờigiandài,nóđượcdùngl àm môhìnhchuẩnchocácmôhìnhkhác.CònTCP/
IPr a đờidoyêucầucấpt h i ếtcủachínhp h ủ Mỹtrướctìnhh ì n h l ú c bấygiờ, dođós ự ph át t r i
ể n củaTCP/IPk h ô n g bịđènặngbởinhữngyêucầuchặtchẻnhưOSI
DođặctínhcủaOSIlàmộtmôhìnhthamkhảonênviệcápdụngOSIvàothựctếlàkhócóthểthựchiện(hiệusuấtkémvìdữliệukhitruyềntrongmạngphảiquatấtcảcáclớpcủamôhìnhOSI).Dođó,OSIchỉlàmộttiêuchuẩnđểcácnhànghiêncứud ựavàođóđểpháttriểncácmôhìnhkháctốiưuhơn.Córấtnhiềumôhìnhkhácnhauđãđượcphátminh,tuynhiênhiệnnaytrênthếgiớicùngvớisựpháttriểnnhưvũbãocủaInternetthìmôhìnhTCP/
Trang 16- Làmộtchuẩngiaothứcmở:TCP/
IPcóthểthựchiệntrênnhiềuhệđiềuhành( O p e r a t i n g System–OS)khácnhau,nênnóthíchhợpdungchocácmạnghỗntạpcác
Trang 18uq u a mạngphíadưới.Dữliệuchuyểnx u ố n g ngănxếptừlớpnàyxuốnglớpthấphơnc h o tớikhiđượctruyềnq u a mạngnhờgiaothứccủalớpvậtlý.Tạinơinhận,dữliệuđilênngănxếptớiứngdụngnhận.Nhữnglớpriênglẻkhôngcầnbiếtcáclớptrênvàdướinóxửlýrasao,nóchỉcầnbiếtcáchchuyểnthôngtintớilớpđómàthôi.Sựcôlậpcáchàmtruyềnthôngtrêncáclớpkhácnhaugiảmthiểusựtíchhợpcôngnghệcủađ ầ u vàomỗibộgiaothức.
TươngquanhaimôhìnhOSImodelvàTCP/IPmodel:
HìnhII.1:SosánhmôhìnhOSIvàTCP/IP
Trang 19X 2 1 b i s , X35…).Bảnchấtc ủ a lớpnàylàviệcquiđịnhcácđạilượngtínhiệu,cácphươngcáchgiaotiếpđểtruyềncácdòngbittrênkênhtruyền.
Khônggiốngnhữnggiaothứccủalớpcaohơnlàsửdụngdịchvụcủalớpdướinóvàcungcấpdịchvụcholớptrên,giaothứccủatấngmạngcấnphải
biếtchitiếtcủam ạngvậtlýphíadưới(cấutrúccủagói,địachỉ )đểđịnhdạngđúngthôngtinsẽđượctruyềnt u â n theon h ữ n g r àngbuộccủamạng.L ớp mạngcủaTCP/
IPc h ứ a chứcn ă n g củatấtcả2lớpthấpnhấtcủamôhìnhthamchiếuOSI(lớpliênkếtdữliệuvàlớpvậtl ý ) LớpmạngthườngkhôngđượcngườidùngđểýtớivìthiếtkếcủaTCP/
IPchedấunhữngc h ứ c năngc ủ a l ớ p thấpn h ấ t nàyvànhữngđiềucầnbiếtchongườis ử dụng
Trang 20cũngn h ư ngườilậptrìnhchỉlànhữnggiaothứccủacáclớpcaohơn(IP,TCP,U D P ) Mỗik
h i cócôngn g h ệ phầncứngm ớ i x u ấ t hiện,nhữnggiaothứcc ủ a lớpm ạngphảiđượcpháttriểnđểTCP/
IPcóthểsửdụngphầncứngmới(thôngthườngđóchínhlàcáctrìnhđiềukhiểncủachínhnhàc ungcấpp h ầ n c ứ n g đó).C ác c h ứ c năngtrìnhdiễntronglớpnàybaogồmđónggóigóithông ti
nI P thànhcác“Frame”đượctruyềndẫntrênmạngvàchuyểnđịachỉIPthànhđịachỉvậtlýsửdụngbởimạngmáyt í n h MộtsốcácđiểmmạnhcủaTCP/
IPlàđịachỉcủanóđượcphốihợpsaochotrênm ạngInternetkhôngcómộtthiếtbịm ạ n g nàoc ù
n g đ ị a chỉ.Địachỉnàyphảiđượcchuyểnđổithíchhợpvớiđịachỉmạngvậtlýnơimàdữliệuđượctruyềnđi
Trang 21CP).ĐơnvịdữliệucủaI P làdatagramcóchứađịachỉIPcủanguồnvàđí ch IPcónhiệmvụtìmđườngcho
Trang 22datagramnêncót h ểphânmảnhhayhợpnhấtcácd a t a g r a m đểthíchhợpvớikícht h ư ớ c packetlớnnhấtchophéptrênđườngtruyền
Trang 23- Servicetype( 1 b y t e s ) : địnhn ghĩacáchmàdatagramđượcquảnlý.Nób a o g ồmcác
bitsđịnhnghĩathứtựưutiêncủadatagram.Nócũngchứacácbitlàmrõloạidịchvụphíagởimongmuốnđộtincậy,trễ…
- Totallength(2bytes):địnhnghĩa chiềudàitổngthểcủamộtdatagram.Tốiđalà655
35bytes
- Identification:đượcdungvớicácphânđoạn.M ộ t datagramkhiđiquacácm ạngkhác
nhaucóthểđượcchiathànhcácđoạnđểphùhợpvớikíchthướckhungcủamạng.khixảyrahiệntượngnàythìmỗiđoạnđượcđịnhdanhvớimộtsốthứtựtrongt r ư ờ n g này
- Protocol:địnhn g h ĩ a loạidữl i ệ u nghithứcnàoc ủalớptrênđóngg ó i trong
Trang 24- IGMP(InternetGroupMessageProtocol):nghithứcIPliênquanđến2thôngtinlàu
n i c a s t i n g vàm u l t i c a s t i n g U n i c a s t i n g làthôngtingiữamộtngười gởivàmộtn g ư ờ
i nhận.nól àthôngtinmột–
một.Tuynhiên,mộtsốquátrìnhthỉnhthoảngcầngởimộtthôngđiệpđếnnhiềungườinhậnđồngthời.Trường hợpnàylàmulticasting,t ứclàthôngtinmột–
nhiều.multicastingcórấtnhiềuứngdụng
GóitinARP(AdreesResolutionProtocol)
MộtcơchếsửdụngđểchuyểnđịachỉIPthànhđịachỉvậtlýlàARP(AddressResolutionProtocol).Khihaimáytínhcùngnốivàomộtmạngvậtlý,chúngbiếtđượcđ ị a chỉIPcủanhaunhưngđểtruyềnthônggiữahaimáy,chúngphảibiếtđượcđịachỉv ậtlýc ủ a n h a u ARPgiảiq u
y ế t v ấ n đềchuyểntừđịachỉIP32bitss a n g đ ị a c h ỉ Et herne t 48bits.Ngườitasửdụnghaicơchếđólà:ARPrequestvàARPreply
AR P R e q u es t
A RP R e p l y
HìnhII.2.MôtảhọatđộngcủakhungARP
Chuyểngiaot r ự c tiếp: địachỉvậtlýl àmộthàmcủađịac hỉ IPvídụs ử dụng
trênmạngtokenringp r o N E T -10làmạngchophépđ ặ t địac h ỉ I P vàđ ị a chỉv ậ t lý
Trang 25cóPa=f(Ia)
Chuyểngiaođịachỉđộngđượcthựchiệnbằngcáchmáytínhmuốngửithôngtingửimộtthôngbáotớitòanbộcácmáytínhtrênmạng,trongthôngbáođócóchứađ ị a chỉIPcủamáytínhnócầnliênlạc,mọimáysẽnhậnđượcthôngbáovàmáynàothấyđịachỉIPcủamìnhthìtrảlạimộtthôngbáochứađịachỉvậtlý.Khiđóhaimáytínhcóthể“nóichuyện”với nhau
Ngoàira,ngườitacònsửdụngbảngchỉđườngđểlưutrữtạmthờicácđịachỉs ửdụngmớinhất(AddressReslutionCache)đểtăngtốcđộcủaviệcchuyểngiaođịac h ỉ
MộtgóithôngtinARPlàmộtEthernetFrameđượctruyềntrựctiếptừmáynàytớimáykhác.VìkhôngphảisửdụngIP,g ó i tinnàykhôngcóđịac h ỉ IPcũngn h ư k hô n g cầnđượcdẫnđường,nóphảiđượcgửibroadcasttớitấtcảcácmáytrênm ạngE t h e r n e t (vớiđịachỉFFFF_FFFF_FFFF)
GóithôngtinARPđượcmôtảnhưsau
Harewarelen Protocollen AR Poperation
SenderMA Ca ddress( bytes0 -3) SenderM A Caddress( bytes4 -5) SenderIPaddress( bytes0 -1)
SenderI Paddress( bytes2_3) DestM ACa ddress(bytes0-1)
Dest MACa ddress(bytes2 -5) DestI Paddress( bytes0 -3)
Trang 26(ARP)Data28bytes
CRC4byte
+Phânphátmessagecủacáclớptrêngiữacáchost
- Lớpgiaothứcngayt r ênlớpI n t e r n e t làH o s t toHostT r a n s p o r t Layerhayt h ư
ờ n g gọilàTransportLayer.HaigiaothứcquantrọngnàylàTransmission ControlP r o t o
c o l (TCP)vàUserDatagramProtocol(UDP).TCPcungcấpdịchvụchuyểngiaot h ô n g tinkếtnối(connectionoriented),nóbaogồmcảkiểmtravàsửalổi.UDPcungcấpdịchvụkémtincậyhơn(unreliable)vàkhôngthểthiếtlậpliênkếttrước(connectionless).Cảhaigiaothứcđềuchuyểngiaothôngtingiữalớpứngdụngvàlớp
Trang 27-
IPlàmộtnghithứcmáychủ-máychủ,cónghỉalànócóthểnhậnphátgóitừmộtthiếtbịvậtlýđếnthiếtbịvậtlýkhác.CácnghithứcmứcgiaovậncủaTCP/
IPlàcácnghithứcporttoportlàmviệcớphíatrêncủacácnghithứcIPđểphânphátgóitừp o r t gốcđếnportđíchtạicuốitruyến
báocáovềlỗi.UDPcóthểkhámpháramộtlỗiđãxuấthiệntứclàICMPcóthểthôngbáophíagửilàmộtuserdatagramđãhỏngvàbịloại.Tuynhiênnókhôngcókhảnăngbiếtlàgóinàobịmất.UDPchophéptruyềndữliệutrênmạngvớichiphíthấpdos ự phânphátdữl i ệ u khôngtincậy.CácdịchvụdùngU D P làTFTP,DSN,SNMP…
Trang 28P o r t 1 P o r t 2 P o r t 3
U D P : D e m u l t i p l e x i n g B a s e d o n P o r t
GóithôngtinUDP
MỗigóithôngtinUDPgọilàmộtDatagramđượcphânlàm2phầnheadervàdatatrongđóheader chứathôngtinvềđịachỉcổng nguồn,địachỉcổng đích,độdàicủagóivàchecksum
Chechsum:16bitslàsốbù1củatổngbù1củacác2bytestrongphầnheader,dữl iệ u vàphầnh e a d e r giả(pseudoh e a d e r ) Nếup h ầ n header vàtextchứamộtsốlẻbytest h ì bytecuối
c ù n g đượcđệmvàob ê n p h ảivới0 đểđủ16b i t chomụcđíchC h e c k s u m Phấnđệmthìkhôngđượctruyềnnhưmộtphầncủa header
Ty pefi eld
IP header
HìnhII.5.ĐónggóiUDPvàokhungEthernet
Phânkênh,hợp kênhvàPorts
Phânk ê n h , hợpkênhchínhlàviệclựachọnnhữngtiếntrìnhứngdụngt r o n g mộtsốlớncáct i ế n trìnhsửdụnggiaothứcUDP,người tachọnr a nhữngứngdụngt ư ơ n g ứngvớigóithôngtinchuyểnđến
UD P Da t agrama rrives
IPLa yer
HìnhII.6.SựphânkênhvàhợpkênhcủaARP
Trang 29Việcnàygiảiquyếtbằng“cơc h ế c ổ n g ” P o r t mechanism cơchếnàygắnmỗiứ n g dụngvớimộtc o n sốg ọ i làpo rt numbervàmỗig ó i thôngtinmànóg ửiđiđềumang mộttrườngSOURCEPORT.
Tạinơinhận,dựavàothôngtintrườngDESTINATIONPORTmàgóithôngtinđóđượctruyềnđếncổngtươngứngvớiứngdụng.VídụmọibảngTCP/
Cáchtiếpcậnk ế t hợpcáckiểutrên(Hybrid)trongđón g ư ờ i tavừas ử dụngW e l l
-k n o w n portassignment chom ộtsốp o r t numbervừacót h ể địnhnghĩacácp o r t n u m b e
r kháck hi cầnthiết.Mộtkhungt ạ i lớpgiaovậnd ù n g địac h ỉ port16bits,đủdùngchocácportstừ0đến65535
VìsaongườilậptrìnhứngdụnglựachọnUDPnhưmộtdịchvụgiaovận?Có
mộtsốlýdo:
Mộtsốlượnglớncácgóithôngtinnhỏđượctruyền,thôngtinchoviệckếtnốivàsửalỗicóthểlớnhơnnhiềusovớithôngcầntruyền.Trongtrườnghợpnày,UDPlàgiảipháphiệuquảnhất.Nhữngứngdụngkiểu“ Q u e r y -
Respon”cũngrấtphùhợpvớiUDP, câutrảlờicóthểdùnglàmsựxácnhậncủamộtcâuhỏi.Nếukhôngnhậnđượcsựtrảlờisaumộtt h ờigiannàođó,ứngdụngchỉcầngửiđimộtcâuhỏikhác.Mộtsốứngdụngđãtựnócungcấpcôngnghệriêngđểchuyểngiaothôngtin
cậy,vàkhôngđòihỏidịchvụnàycủatransportlayer
Trang 30Đâylàgiaothứcđơngiảnvàtruyềnnhanh,nênnóthườngđượcsửdụngtrongcácứngdụngđiềukhiểnt h ờ i gianthực.DođótrongLuậnVănnàychọngiaothứcUDPlàmgiaothứctruyềnkhungđiềukhiểncủalớptrên.
(thiếtlậpkếtnối)vàkhikếtthúctruyềnthìgửikếtthúckếtnối
SựtincậycủaTCPđảmbảobằngviệcpháthiệnlỗivàtruyềnlạicáckhungbịh ỏng:tấtcảcácđọanphảiđượcnhậnvàxácnhậnt r ư ớ c khixemnhưc uộ c truyếnl àhòanthànhvàmạchảođượclọaibỏ
Tạiđầugửi,TCPchiac u ộ c truyềnthànhcácđơnvịdữli ệu nhỏhơnvàđóngg ó i thànhcáckh un g g ọilàđọ an Mỗiđọanb ao g ồ m việcđánhsố nhằmsềpl ạ i theothứtựkhinhận.CácđọanđượctảiquamạngbêntrongcácIPdatagram.Tạiđầunhận,T C P gommỗidatagramkhichúngđếnvàxếplạitheothứtựdựavàocácsốđãđượcđ á n h
TCPgởitrêninternet cácdatagram.Header củaInternetProtocolmang nhữn
gt r ư ờ n g t h ô n g tinb a o gồmđ ị a chỉnguồnvàđíchcủamáychủ.T C P headertheosauh e a d
e r củainternetvàcungcấpthôngtincụthểtớinghithứcTCP
Trang 31So u r c ep o r t Des tina t ion p o r t
Se q u e n c e N um be r
Ac k n o w l ed g m en t N um be r
Dat ao f fse t res e r v ed U
R G
A C K
P S H
R S T
S Y N
F I N
Trang 32Chechsumcũngbaogồm96bitheadergiả(Pseudoheader)đượcthêmvàođầuh e a d
e r củaTCP.Headergiảnàychứađịachỉnguồn,địachỉđích,nghithức,chiềudàiT C P PhầnnàyđượcđưarađểbảovệTCPtrongviệctruyềnlạckhung.NhữngthôngtinnàyđượcmangbởiInternetProtocolvàđượctruyềnq u a TCP/
Trang 34Bảng1 Chức năngcủacácchânchipENC28J60
Trang 35II.1.2 CáckhốiphầncứngcơbảntrongENC28J60
- MACmodul,phụcvụcholớpliênkếtdữliệu
- PHYmodul,phụcvụchoviệcencode(mãhóa)vàdecode(giảimã)dữl i ệutronglớpvậtlí
- SPIinterface,đâylàmodulrấtquantrọng.ModulnàyphụcvụchoviệcgiaotiếpgiữaVĐKmaster(gọilàHOST)vớiENC28J60
- Mộttậpthanhghiđiềukhiển( C o n t r o l Register),phụcvụđiềukhiểncáckhốiMAC,PHY
-Mộttậpthanhghidữliệu(RAMbufferfortransmittedandreciveddata)
HìnhII.10.CấutrúcphầncứngtrongENC28J60
Trang 36+Phátdữliệu: T h ô n g quagiaotiếpS P I ,AVR32gửidữliệuvàobộđ ệ m p h á t củaENC28J60.ConENC28J60sẽmãhóadữliệuvàtruyềnrađườngRJ45đếnđịachỉmongmuốn(đượcghitrongkhungdữliệu).
Trang 37i p đãhỗtrợmộttậpthưviệnhàmviếtbằngngônngữlậptrình“C”đểthaythếchocôngviệcthủcôngnày.ĐólàgóiTCP/IPstack.
II.2 ChipATmega32
II.2.1 Giớithiệu
AVRlàmộthọviđiềukhiểndohãngA t m e l sảnx u ấ t (Atmelcũng lànhàsảnx u ấtdòngviđiềukhiển89C51màcóthểbạnđãtừngngheđến).AVRlàchipviđiều
Trang 38khiển8 bitsvớicấut r ú c
tậplệnhđơngiảnhóa-RISC(ReducedInstructionS e t C o m p u t e r ) , mộtkiểucấutrúcđangthểhiệnưuthếtrongcácbộxửlí
Trang 39- Cóthểsửdụngxungclocklênđến16MHz,hoặcsửdụngxungclocknộilênđ ế n 8MHz(saisố3%)
DS1307l àmộtsảnphẩmcủaDallasSemiconductor (mộtc ô n g tythuộcMaximIntegrate
dP r o d u c t s ) Chipnàycó7 thanhg h i
8-bitc h ứathờigianlà:giây,phút,giờ,thứ(trongtuần),ngày,tháng,năm.NgoàiraDS1307còncó1thanhghiđiềukhiểnngõraphụvà56thanhghitrốngcóthểdùngnhưRAM.DS1307đượcđọcvàg h i t h ô n g quagiaod i ệnnốit i ế p I2C( T W I c ủ a AVR)nêncấut ạ o b ênn g o à i rấtđơngiản.DS1307xuấthiệnở2góiSOICvàDIPcó8chânnhưtronghình
HìnhII.13.Hai góicấutạochipDS1307.