![嵌入式web服務(wù)器畢業(yè)論文_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a4e25130-a00c-43e7-837b-0c02a76f7c05/a4e25130-a00c-43e7-837b-0c02a76f7c051.gif)
![嵌入式web服務(wù)器畢業(yè)論文_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a4e25130-a00c-43e7-837b-0c02a76f7c05/a4e25130-a00c-43e7-837b-0c02a76f7c052.gif)
![嵌入式web服務(wù)器畢業(yè)論文_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a4e25130-a00c-43e7-837b-0c02a76f7c05/a4e25130-a00c-43e7-837b-0c02a76f7c053.gif)
![嵌入式web服務(wù)器畢業(yè)論文_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a4e25130-a00c-43e7-837b-0c02a76f7c05/a4e25130-a00c-43e7-837b-0c02a76f7c054.gif)
![嵌入式web服務(wù)器畢業(yè)論文_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a4e25130-a00c-43e7-837b-0c02a76f7c05/a4e25130-a00c-43e7-837b-0c02a76f7c055.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 嵌入式WEB服務(wù)器摘要隨著計(jì)算機(jī)、網(wǎng)絡(luò)通信和Internet 技術(shù)的飛速發(fā)展和不斷進(jìn)步,嵌入式系統(tǒng)在家庭和工業(yè)應(yīng)用越來(lái)越廣泛。如何將嵌入式系統(tǒng)和工業(yè)控制系統(tǒng)接入Internet,綜合利用嵌入式系統(tǒng)資源,實(shí)現(xiàn)嵌入式系統(tǒng)的遠(yuǎn)程管理和控制,已成為倍受關(guān)注的研究課題,而實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)化則成為嵌入式系統(tǒng)的發(fā)展趨勢(shì)。嵌入式Web在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)、電力系統(tǒng)的遠(yuǎn)程監(jiān)測(cè)與故障診斷、工業(yè)自動(dòng)化系統(tǒng)中設(shè)備的保護(hù)和控制、智能小區(qū)與智能家電燈諸多領(lǐng)域都有良好的應(yīng)用,為人們管理、控制和監(jiān)測(cè)各種各樣的設(shè)備提供了一個(gè)很好的途徑。因此,對(duì)嵌入式Web服務(wù)器的研究具有重大的意義。本文首先介紹了嵌入式Web系
2、統(tǒng)的基本概念、歷史和發(fā)展?fàn)顩r,同時(shí)闡述了設(shè)計(jì)與實(shí)現(xiàn)嵌入式Web服務(wù)器的關(guān)鍵技術(shù)和相關(guān)的理論基礎(chǔ)。對(duì)嵌入式Web服務(wù)器的相關(guān)理論做了重點(diǎn)分析,最后做出實(shí)驗(yàn),完成了基于ARM平臺(tái)的簡(jiǎn)單嵌入式Web服務(wù)器的實(shí)現(xiàn),為嵌入式Web服務(wù)器開(kāi)發(fā)人員提供了必要了理論和實(shí)踐基礎(chǔ)。關(guān)鍵詞:嵌入式;ARM;Web服務(wù)器;Socket;InternetThe embedded WEB serverABSTRACTWith the rapid development and advances of computers, network communications and Internet technology, th
3、e applications of the embedded systems in the home and industrial are more and more extensive. How to make the embedded systems and industrial control system access to Internet, comprehensive make use of resources of embedded systems, realization the embedded systems of remote management and control
4、, has become times be subjected to concern of research topic, and the realization of networked embedded systems has become a trend.Embedded Web in the network video monitoring system, remote power system monitoring and fault diagnosis, industrial automation system protection and control devices, sma
5、rt appliances and smart residential area of lights have a good number of applications, which for people to manage, control and monitoring of a variety of equipment types provided a good way. Therefore, the study of embedded Web server has the meaning of great significance.This article first introduc
6、ed the embedded Web systems basic concept, the history and the development condition, simultaneously elaborated design and realizes the embedded Web servers key technologies and the correlation theories foundation. Here it makes a selective analysis to the embedded Web servers correlation theories,
7、finally make the experiment done, and complete the realization based on ARM platform simple embedded Web server, which has provided essential theory and practice foundation for the embedded Web server development personnel.Key words: Embedded ;ARM ;Web server ;Socket; Internet40 / 47目錄嵌入式WEB服務(wù)器IThe
8、embedded WEB serverII第1章緒論11.1 課題的研究意義11.2 國(guó)外研究現(xiàn)狀11.3 論文研究容3第2章相關(guān)理論與知識(shí)42.1 嵌入式Web服務(wù)器的硬件構(gòu)成42.1.1金牛開(kāi)發(fā)板42.1.2CPU芯片62.1.3以太網(wǎng)控制芯片62.2嵌入式Web服務(wù)器的軟件構(gòu)成72.3CGI技術(shù)82.3.1CGI概述82.3.2CGI工作原理82.4開(kāi)發(fā)工具介紹92.4.1Keil介紹92.4.2Keil綜述102.5本章小結(jié)10第3章嵌入式WEB服務(wù)器的分析113.1 嵌入式Web技術(shù)113.2嵌入式Web服務(wù)器的應(yīng)用123.2.1 在網(wǎng)絡(luò)配置和監(jiān)控方面的應(yīng)用123.2.2 在Inte
9、rnet方面的應(yīng)用123.3 嵌入式Internet技術(shù)的應(yīng)用前景133.4嵌入式Web服務(wù)器中TCP/IP棧的實(shí)現(xiàn)143.4.1嵌入式TCP/IP協(xié)議棧概述143.4.2 ARP協(xié)議實(shí)現(xiàn)143.4.3 IP協(xié)議實(shí)現(xiàn)153.4.4ICMP協(xié)議實(shí)現(xiàn)153.4.5TCP協(xié)議實(shí)現(xiàn)153.5 協(xié)議標(biāo)準(zhǔn)163.6 超文本傳輸協(xié)議()163.6.1 協(xié)議簡(jiǎn)介163.6.2 協(xié)議工作過(guò)程183.6.3 協(xié)議信息交換的實(shí)現(xiàn)193.6.4 訪問(wèn)的常見(jiàn)響應(yīng)狀態(tài)203.7 嵌入式Web服務(wù)器實(shí)現(xiàn)方法203.8本章小結(jié)21第4章簡(jiǎn)單的嵌入式Web服務(wù)器的實(shí)現(xiàn)224.1 需求分析與設(shè)計(jì)224.1.1 設(shè)計(jì)總體需求說(shuō)明2
10、24.1.2硬件的系統(tǒng)框架圖224.1.3 軟件的數(shù)據(jù)處理流程234.2 程序設(shè)計(jì)與實(shí)現(xiàn)244.2.1 主程序設(shè)計(jì)244.2.2 網(wǎng)絡(luò)連接設(shè)計(jì)254.2.3 CGI網(wǎng)頁(yè)的設(shè)計(jì)294.2.4 協(xié)議的設(shè)計(jì)314.3 程序編譯、運(yùn)行與測(cè)試334.3.1 編譯應(yīng)用程序334.3.2 下載調(diào)試344.3.3 本機(jī)測(cè)試354.4 本章小結(jié)36結(jié)論37參考文獻(xiàn)38致39第1章緒論1.1 課題的研究意義Internet的迅猛發(fā)展,傳統(tǒng)的Client/server體系結(jié)構(gòu)(客戶機(jī)/服務(wù)器),漸漸的在某些方面顯示出它的局限性,Browser/server結(jié)構(gòu)(瀏覽器/服務(wù)器)的出現(xiàn)恰恰彌補(bǔ)了這種缺陷。B/S方式已
11、成為一種時(shí)尚,大部分網(wǎng)絡(luò)應(yīng)用系統(tǒng)都是以這種B/S方式與網(wǎng)絡(luò)用戶交換信息。B/S的基礎(chǔ)是客戶端要有一個(gè)瀏覽器程序,服務(wù)器端要有一個(gè)與之對(duì)應(yīng)的Web服務(wù)器。顯然,Web服務(wù)器在B/S方式下起著決定性的作用,因此,一般互聯(lián)都采用功能強(qiáng)大的通用Web服務(wù)器。隨著網(wǎng)絡(luò)各個(gè)核心部分業(yè)務(wù)量的提高,其訪問(wèn)量和數(shù)據(jù)流量快速增長(zhǎng),處理能力和計(jì)算強(qiáng)度也相應(yīng)增大,使得單一設(shè)備根本無(wú)法承擔(dān),而且許多企業(yè)級(jí)應(yīng)用系統(tǒng)的應(yīng)用請(qǐng)求具有突發(fā)性和緊急性的特點(diǎn),當(dāng)應(yīng)用訪問(wèn)急劇上升時(shí),容易造成網(wǎng)絡(luò)瓶頸。解決這一問(wèn)題的辦法是采用多臺(tái)嵌入式Web服務(wù)器為一個(gè)應(yīng)用服務(wù),集群負(fù)載均衡機(jī)制就是為解決多個(gè)網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)合理的業(yè)務(wù)量分配而提出的。
12、1.2 國(guó)外研究現(xiàn)狀中國(guó)的嵌入式系統(tǒng)開(kāi)發(fā)走過(guò)了二十多年的歷程,有超過(guò)數(shù)十萬(wàn)名從事開(kāi)發(fā)應(yīng)用的工程師,但大多數(shù)以上是幾個(gè)人的小組以孤軍奮戰(zhàn)的封閉方式開(kāi)發(fā)幾乎不可重用的軟件。今天面對(duì)的是嵌入式系統(tǒng)工業(yè)化的潮流,如果不能認(rèn)識(shí)到嵌入式軟件必須以工業(yè)化的方式生產(chǎn)開(kāi)發(fā),不理解在短時(shí)間裝配集成“數(shù)百人/年”的嵌入式產(chǎn)品,那么將失去更多的上游產(chǎn)品的市場(chǎng)機(jī)遇。嵌入式軟件方面逐漸形成了系統(tǒng)軟件、應(yīng)用軟件的架構(gòu)。國(guó)際上用于信息電器的嵌入式操作系統(tǒng)有40種左右。其中,國(guó)外涌現(xiàn)了一些著名的嵌入式操作系統(tǒng),如:Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其
13、中Vx/Orks是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場(chǎng)占有率最高的系統(tǒng):WinCE是一種32位的多任務(wù)操作系統(tǒng),可以移植,能夠開(kāi)發(fā)多種企業(yè)和客戶類設(shè)備,是微軟公司的“維納斯計(jì)劃”的核心:3COM公司的Palm0S在PDA市場(chǎng)上占有很大的市場(chǎng)份額,它有開(kāi)放的操作系統(tǒng)應(yīng)用程序接口(API),開(kāi)發(fā)商可以根據(jù)需要自行開(kāi)發(fā)所需要的應(yīng)用程序。這些商業(yè)性嵌入式系統(tǒng),價(jià)格昂貴,而且每個(gè)系統(tǒng)上的應(yīng)用軟件與其它系統(tǒng)很難兼容。并且,由于這種封閉性還導(dǎo)致了商業(yè)性嵌入式系統(tǒng)在對(duì)各種設(shè)備的支持方面存在很大的問(wèn)題,使得對(duì)它們的軟件移植變得很困難。這時(shí)Linux操作系統(tǒng)適時(shí)地出現(xiàn)了,它的源代碼公平,并有非常豐富的文檔。Lin
14、ux的出現(xiàn),打破了微軟在PC操作系統(tǒng)上的長(zhǎng)期壟斷地位,使得用戶在選用操作系統(tǒng)時(shí)有了更多的選擇。目前我國(guó)開(kāi)發(fā)的主要產(chǎn)品有中科院系統(tǒng)的女?huà)zHopen、桑夏2000、Delta0.5、中科院紅旗Linux,藍(lán)點(diǎn)Linux,科銀京成(原電子科大的)CRTOS等?!爸袊?guó)Linux產(chǎn)業(yè)就像90多度的水”,它的應(yīng)用市場(chǎng)不斷擴(kuò)大,應(yīng)用領(lǐng)域已擴(kuò)大到政府、金融、電信、教育、交通等行業(yè)與各種數(shù)字設(shè)備領(lǐng)域。國(guó)外有大量嵌入式應(yīng)用軟件已廣泛用于各類嵌入式系統(tǒng)中。大有國(guó)緊跟國(guó)外趨勢(shì)的形勢(shì)。但是對(duì)于嵌入式Web服務(wù)器方面的研究國(guó)現(xiàn)狀不容樂(lè)觀,目前國(guó)外的相關(guān)研究相對(duì)多些。如林C/IP研究項(xiàng)目,它是一個(gè)為微控制器和嵌入式系統(tǒng)而設(shè)
15、計(jì)的小型TCP/IP協(xié)議棧:又如CMX公司的MieroNetTCP/IP,它是為8位或16位微處理器而設(shè)計(jì)的,支持大部分的標(biāo)準(zhǔn)協(xié)議,連接方式有以太網(wǎng)連接、撥號(hào)連接和直接連接方式。而國(guó)也相應(yīng)提出了Webito協(xié)議標(biāo)準(zhǔn),但是相對(duì)滯后,缺少具體的工程實(shí)現(xiàn)方面的研究和具體產(chǎn)品的開(kāi)發(fā)。應(yīng)用方面國(guó)外基本相近。目前都是主要應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Internet的網(wǎng)絡(luò)化儀器和設(shè)備,例如Agileni公司研制出了具有Web瀏覽器遠(yuǎn)程接入功能的邏輯分析儀:Cisco公司己開(kāi)始銷售具備Web管理界面的交換機(jī)等。但是隨著這一技術(shù)的成熟與發(fā)展,加之這一技術(shù)的優(yōu)點(diǎn),
16、目前的文獻(xiàn)大都預(yù)見(jiàn):這一技術(shù)必將廣泛的應(yīng)用于其它領(lǐng)域。面對(duì)國(guó)外嵌入式Web服務(wù)器技術(shù)發(fā)展的差距,考慮到其廣泛的應(yīng)用前景,這一技術(shù)的研究和開(kāi)發(fā)具有一定的迫切性和必要性。網(wǎng)絡(luò)流量的爆炸似的增加,使得嵌入式Web服務(wù)器必須得面對(duì)不斷增加的負(fù)載壓力,將過(guò)去單一的服務(wù)器模式擴(kuò)充為多服務(wù)器模式,用多臺(tái)計(jì)算機(jī)來(lái)協(xié)作完成本來(lái)由一臺(tái)服務(wù)器完成的功能,這種技術(shù)可以顯著提高服務(wù)器的總體性能,并且具有良好的可擴(kuò)展性與高可靠性。由于集群系統(tǒng)的優(yōu)越性能,國(guó)外各大研究機(jī)構(gòu)與企業(yè)都對(duì)集群的研究與應(yīng)用方面進(jìn)行了探索。美國(guó)DEC公司開(kāi)發(fā)的VMSeluster系統(tǒng)開(kāi)發(fā)最早,技術(shù)也較成熟,應(yīng)用也很廣泛,但由于VMS操作系統(tǒng)只能在DE
17、C公司的VAX系列和AIPha系列服務(wù)器上運(yùn)行,VMScluster的應(yīng)用受到很大限制。Platform公司開(kāi)發(fā)的高可用性集群系統(tǒng)LSF提供了分布式集群系統(tǒng)的解決方案,通過(guò)將物理上分離的多個(gè)集群連接在一起使多個(gè)同構(gòu)或異構(gòu)的計(jì)算機(jī)能夠通過(guò)局域網(wǎng)或廣域網(wǎng)共享計(jì)算資源,并能夠?yàn)橛脩籼峁?duì)資源的透明訪問(wèn)。國(guó)也有不少公司進(jìn)行了集群系統(tǒng)的研究和開(kāi)發(fā)工作。聯(lián)想公司在1999年9月推出了用于分布式高性能計(jì)算的NS10000高性能集群服務(wù),該系統(tǒng)是一個(gè)四節(jié)點(diǎn)的系統(tǒng),主要基于聯(lián)想萬(wàn)全45008服務(wù)器,以總體成本相對(duì)較低的設(shè)備組合,足以替代傳統(tǒng)班SC小型機(jī)和中型機(jī)的工作,而價(jià)格僅為市場(chǎng)上同等性能小型機(jī)的1/2-1/
18、40。朗訊公司也推出了類似于Urboduster的高可用性集群系統(tǒng)LongshineClusterServer。從國(guó)外的研究現(xiàn)狀看,目前集群系統(tǒng)的應(yīng)用大都致力于高可用性問(wèn)題的解決,真正基于負(fù)載均衡的集群系統(tǒng)還比較少,而且在大部分負(fù)載均衡集群中采用的都是輪轉(zhuǎn)調(diào)度、加權(quán)輪轉(zhuǎn)調(diào)度等靜態(tài)調(diào)度算法。1.3 論文研究容嵌入式Web服務(wù)器是指將Web服務(wù)器引入到現(xiàn)場(chǎng)測(cè)試和控制設(shè)備中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,使傳統(tǒng)的測(cè)試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,Web技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測(cè)試和控制設(shè)備。EWS系統(tǒng)與傳統(tǒng)的Web應(yīng)用相比,簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),將信息采集和信息發(fā)布都集成到
19、現(xiàn)場(chǎng)的測(cè)控設(shè)備中。而有了標(biāo)準(zhǔn)的接口形式和通信協(xié)議,嵌于設(shè)備的從Web服務(wù)器同樣可以向任何接入它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設(shè)備的前端控制板。由于Web技術(shù)的開(kāi)放性和獨(dú)立平臺(tái)特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)、維護(hù)工作量,節(jié)省了人員培訓(xùn)費(fèi)用等,提高了現(xiàn)場(chǎng)測(cè)試和控制設(shè)備的管理水平。本文采用stm32f107的硬件構(gòu)架,基于超文本傳輸協(xié)議( 1.0)傳輸控制數(shù)據(jù)和用戶信息,設(shè)計(jì)了簡(jiǎn)單的嵌入式Web服務(wù)器,通過(guò)以太網(wǎng)和數(shù)據(jù)傳輸共享小型嵌入式設(shè)備的信息,實(shí)現(xiàn)了嵌入式系統(tǒng)的Internet接入,遠(yuǎn)程用戶可通過(guò)瀏覽器訪問(wèn)嵌入式Web服務(wù)器,實(shí)現(xiàn)了嵌入式系統(tǒng)的遠(yuǎn)
20、程控第2章相關(guān)理論與知識(shí)2.1 嵌入式Web服務(wù)器的硬件構(gòu)成2.1.1金牛開(kāi)發(fā)板 金牛嵌入式開(kāi)發(fā)板采用 STM32F107VC,是意法半導(dǎo)體推出全新 STM32 互連 型(Connectivity)系列微控制器中的一款性能較強(qiáng)產(chǎn)品,此芯片集成了各種高 性能工業(yè)標(biāo)準(zhǔn)接口,且 STM32 不同型號(hào)產(chǎn)品在引腳和軟件上具有完美的兼容性, 可以輕松適應(yīng)更多的應(yīng)用。新 STM32 的標(biāo)準(zhǔn)外設(shè)包括10 個(gè)定時(shí)器、兩個(gè) 12 位 1-Msample/s AD(模數(shù)轉(zhuǎn)換器) (快速交替模式下2M sample/s)、兩個(gè) 12 位DA(數(shù) 模轉(zhuǎn)換器)、兩個(gè)I2C 接口、五個(gè)USART 接口和三個(gè) SPI 端口和
21、高質(zhì)量數(shù)字音頻 接口IIS, 另外STM32F107 擁有全速USB (OTG)接口,兩路CAN2.0B 接口,以 與以太網(wǎng) 10/100 MAC 模塊.此芯片可以滿足工業(yè)、醫(yī)療、樓宇自動(dòng)化、家庭音響 和家電市場(chǎng)多種產(chǎn)品需求. 開(kāi)發(fā)板硬件配置: STM32F107VC 32 位 RISC 性能處理器 32 位ARM Cortex-M3 結(jié)構(gòu)優(yōu)化 72 MHz 運(yùn)行頻率,1.25 DMIPS/MHz 硬件除法和單周期乘法 快速可嵌套中斷,612 個(gè)時(shí)鐘周期 具有 MPU 保護(hù)設(shè)定訪問(wèn)規(guī)則 高達(dá)256KBFlash, 高達(dá)64KB 的SRAM 網(wǎng)絡(luò)通信功能 一個(gè) RJ45 網(wǎng)絡(luò)接口,支持10M/1
22、00M 自適應(yīng)網(wǎng)絡(luò) 一個(gè) RS485 網(wǎng)絡(luò)通訊接口 兩個(gè) CAN BUS 網(wǎng)絡(luò)通訊接口 人機(jī)交互接口 一個(gè)3.2寸或 2.8 寸大屏幕320*240,26 萬(wàn)色TFT-LCD,支持 8/16 位總線接口,鏡面屏,超高高度 電阻式觸摸屏,含專業(yè)高精度觸摸屏控制芯片 (RSM1843) 四個(gè)LED 發(fā)光管指示,一個(gè)電源發(fā)光管指示 兩個(gè)GPIO 按鍵 一個(gè)RESET 按鍵 兩個(gè)RS232 串行通信接口(DB9) 串口1 用于通信,需設(shè)置跳線選擇連接串口 1 串口2 用于通信支持 ISP,需設(shè)置跳線選擇連接串口2 一個(gè)mini AB 型 USB 插座,支持最新 USB OTG 技術(shù),配備 USB 主
23、機(jī)轉(zhuǎn)接線 ,從機(jī)轉(zhuǎn)接線 USB OTG 功能,支持外接優(yōu)盤(pán) SPI 接口 一路連接 DATAFLASH (AT45DB161D) 一路連接到TFT 模塊的觸摸驅(qū)動(dòng)芯片(RSM1843) IIC 接口 IIC 接口外接 EEPROM (24LC02) 一個(gè)SD 卡座SPI 操作方式(不含SD 卡),提供文件系統(tǒng)(FATFS) 外接兩路獨(dú)立的ADC 輸入通道 外接兩路獨(dú)立的DAC 輸出通道 一路電位器輸入模擬信號(hào) 一個(gè)標(biāo)準(zhǔn)JTAG/SWD 調(diào)試接口(20pin) 供電方式: 5V 電源適配器或USB 供電,通過(guò)跳線選擇 引出芯片所有 IO,方便二次開(kāi)發(fā) 圖2.1 開(kāi)發(fā)板正面圖2.1.2CPU芯片S
24、TM32F107VCT6:存儲(chǔ)器容量, RAM:64KB,計(jì)時(shí)器數(shù):10,PWM通道數(shù):16,工作溫度圍:-40C to +85C,針腳數(shù):100,封裝類型:LQFP,接口類型:CAN, I2C, SPI, UART, USART, USB,時(shí)鐘頻率:72MHz,模數(shù)轉(zhuǎn)換器輸入數(shù):16,電源電壓 最大:3.6V,電源電壓 最小:2V,芯片標(biāo)號(hào):32F107VCT,表面安裝器件:表面安裝,輸入/輸出線數(shù):80,閃存容量:256KB圖2.2 STM32F107VCT6參考圖2.1.3以太網(wǎng)控制芯片DP83848C是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一款魯棒性好、功能全、功耗低的10100 Mbps單路物理層
25、(PHY)器件。它支持MII(介質(zhì)無(wú)關(guān)接口)和RMII(精簡(jiǎn)的介質(zhì)無(wú)關(guān)接口),使設(shè)計(jì)更簡(jiǎn)單靈活;同時(shí),支持10BASET和 100BASE-TX以太網(wǎng)外設(shè),對(duì)其他標(biāo)準(zhǔn)以太網(wǎng)解決方案有良好的兼容性和通用性。MII(Medium Independent InteRFace)是IEEE8023u規(guī)定的一種介質(zhì)無(wú)關(guān)接口,主要作用是連接介質(zhì)訪問(wèn)控制層(MAC)子層與物理層(PH-Y)之間的標(biāo)準(zhǔn)以太網(wǎng)接口,負(fù)責(zé)MAC和PHY之間的通信。由于MII需要多達(dá)16根信號(hào)線,由此產(chǎn)生的IO口需求與功耗較大,有必要對(duì)MII引腳數(shù)進(jìn)行簡(jiǎn)化,因此提出了RMII(Reduced Medium Independent In
26、terface,精簡(jiǎn)的介質(zhì)無(wú)關(guān)接口),即簡(jiǎn)化了的MII。圖2.3 以太網(wǎng)控制芯片參考圖2.2嵌入式Web服務(wù)器的軟件構(gòu)成嵌入式 Web 服務(wù)器主要解決的問(wèn)題是通過(guò) Internet 來(lái)進(jìn)行遠(yuǎn)程訪問(wèn)和控制現(xiàn)場(chǎng)的設(shè)備,所以必須在嵌入式設(shè)備中配置 TCP/IP 協(xié)議和 Web 服務(wù)器 , 以解決網(wǎng)絡(luò)互聯(lián)問(wèn)題。但是嵌入式服務(wù)器系統(tǒng)只需要使用其中的某些基本 的功能,也要減去一些使用不到有功能 ,以節(jié)省有限的嵌入式資源。TCP/IP 此外還要用到的軟件資源有嵌入式實(shí)時(shí)操作系統(tǒng) 、 協(xié)議 ,同時(shí)帶有 SMTP 和 SNMP 協(xié)議 ,使其具有網(wǎng)絡(luò)管理的簡(jiǎn)單功能 ,通過(guò)網(wǎng)絡(luò)可以對(duì)接 入到 Internet 上的
27、設(shè)備進(jìn)行管理和控制。軟件用到的主要開(kāi)發(fā)工具以與語(yǔ)言技術(shù)有:(1) C語(yǔ)言:大部分程序都是用C語(yǔ)言編寫(xiě)的;(2) CGI:在Web上主要用到的是CGI腳本語(yǔ)言(3) Keil:開(kāi)發(fā)工具用到的是Keil uvision4. 注:以上工具和技術(shù)在接下來(lái)的章節(jié)會(huì)有介紹。2.3CGI技術(shù)2.3.1CGI概述CGI(通用網(wǎng)關(guān)接口)是用于Web服務(wù)器和外部應(yīng)用程序之間信息交互的標(biāo)準(zhǔn)接口。Web服務(wù)器原本是為靜態(tài)HTML文檔以與其它相關(guān)靜態(tài)文件而設(shè)計(jì)的。如果一個(gè)Web服務(wù)器的功能只限于提供靜態(tài)頁(yè)面的話,那么與之通信的Web瀏覽器就只能顯示在頁(yè)面請(qǐng)求和顯示過(guò)程之間文檔容不變化的頁(yè)面。CGI規(guī)在Web服務(wù)器和瀏覽
28、器(又稱客戶機(jī))之間建立了標(biāo)準(zhǔn)的信息交換方式。使用它使得信息在瀏覽器或服務(wù)器與外部程序之間流動(dòng),外部程序在處理之后將處理結(jié)果送回用戶端瀏覽器。外部程序通常稱為CGI程序、CGI腳本、CGI應(yīng)用程序或簡(jiǎn)稱網(wǎng)關(guān),因?yàn)樗\(yùn)用了CGI規(guī)并為實(shí)現(xiàn)Web平臺(tái)的功能而專門設(shè)計(jì)。在HTML中,當(dāng)客戶填寫(xiě)了表單,并按下發(fā)送(submit)按鈕后,表單的容被發(fā)送到了服務(wù)器端,一般的,這時(shí)就需要有一個(gè)服務(wù)器腳本來(lái)對(duì)表單的容進(jìn)行一些處理。沒(méi)有了CGI,Web的世界就完全失去了它的交互性,所有的信息都變成單向的了,而不能夠有任何的反饋。2.3.2CGI工作原理系統(tǒng)嵌入式Web服務(wù)器通過(guò)CGI程序來(lái)獲取用戶的請(qǐng)求、查詢條
29、件,使用HTML方式描述結(jié)果并直接回送到客戶端的瀏覽器上,此過(guò)程中瀏覽器將用戶輸入的數(shù)據(jù)發(fā)送到Web服務(wù)器,Web服務(wù)器將數(shù)據(jù)使用STDIN(標(biāo)準(zhǔn)輸入)送到CGI程序。在執(zhí)行CGI程序后,會(huì)訪問(wèn)數(shù)據(jù)庫(kù)的記錄,最后使用STDOUT輸出HTML形式的結(jié)果文件,經(jīng)Web服務(wù)器送回瀏覽器顯示給用戶。使用CGI實(shí)現(xiàn)客戶與服務(wù)器的交互分一下九個(gè)標(biāo)準(zhǔn)步驟:Web客戶(瀏覽器)通過(guò)URL與Web服務(wù)器相連;服務(wù)發(fā)送HTML(和別的組成請(qǐng)求頁(yè)面的文件)給用戶,一旦頁(yè)面容傳完,這個(gè)連接自動(dòng)斷開(kāi);在客戶方,HTML腳本提示用戶做動(dòng)作或輸入,當(dāng)用戶響應(yīng)后客戶請(qǐng)求Web服務(wù)器建立一個(gè)新的連接;一旦建立連接,客戶把用戶輸
30、入的數(shù)據(jù)傳送給Web服務(wù)器;Web服務(wù)器把這些信息和別的進(jìn)程變量傳給由HTML以URL形式提交的CGI程序;CGI程序根據(jù)輸入作出相應(yīng)的操作,產(chǎn)生對(duì)客戶的響應(yīng)(一般以一個(gè)HTML文檔的形式),并將其傳送給Web服務(wù)器;Web服務(wù)器把應(yīng)答數(shù)據(jù)傳送給客戶,并關(guān)閉連接;圖2.4 CGI工作原理其中CGI與表單之間的信息交互方法有兩種模式:“GET”和“POST”。選擇哪一種模式取決于表單(FORM)的“METHOD”字段的設(shè)置,如果METHOD設(shè)定為GET,CGI程序從環(huán)境變量QUER_STRING中獲取數(shù)據(jù)。為了解釋數(shù)據(jù)和執(zhí)行需要的動(dòng)作,CGI程序必須要分析(處理)此字符串;如果METHOD設(shè)定為
31、POST,數(shù)據(jù)會(huì)以STDIN,必須使用CONTENT_LENGTH值。在本設(shè)計(jì)中CGI程序采用的是POST方法。如果想從服務(wù)器獲得數(shù)據(jù)并且不改變服務(wù)器上的數(shù)據(jù)時(shí),應(yīng)該選用GET方法;也有例外,當(dāng)傳輸?shù)臄?shù)據(jù)很長(zhǎng)時(shí),選用POST方法較好;使用GET方式編寫(xiě)CGI程序會(huì)更加簡(jiǎn)單,但是POST方式則更加先進(jìn);當(dāng)發(fā)送的數(shù)據(jù)將改變Web服務(wù)器端的數(shù)據(jù)時(shí),或者想給CGI程序傳輸大量數(shù)據(jù)(一般地,超過(guò)1024字節(jié),這是URL的極限長(zhǎng)度)時(shí),應(yīng)該選用POST方法。2.4開(kāi)發(fā)工具介紹2.4.1Keil介紹Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C
32、語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍2.4.2Keil綜述C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境(IDE
33、),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51與C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。 使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng):* 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 *
34、仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用Keil的優(yōu)點(diǎn):1.Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 2.與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫(kù)函數(shù)和
35、功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。2.5本章小結(jié)本章主要介紹了本次設(shè)計(jì)所攬括的軟硬件設(shè)備,詳細(xì)的說(shuō)明了本設(shè)計(jì)使用的開(kāi)發(fā)板的資料,以與硬件的一部分主要芯片。在軟件設(shè)計(jì)上所使用的技術(shù)主要是CGI和C,而C語(yǔ)言不用多說(shuō),對(duì)于CGI做出了詳細(xì)的介紹。第3章嵌入式WEB服務(wù)器的分析3.1 嵌入式Web技術(shù)嵌入式Web服務(wù)器,本身就是在嵌入式設(shè)備中運(yùn)行的基于協(xié)議的Web服務(wù)器,以網(wǎng)頁(yè)的形式為計(jì)算機(jī)提供嵌入式設(shè)備的狀態(tài)、參數(shù)表示等信息川。將Web服務(wù)器植入嵌入式系統(tǒng)后接入Internet,嵌入式Web服務(wù)器不僅可以利用瀏覽器提供的豐富的圖形用戶界面實(shí)現(xiàn)遠(yuǎn)程管理、監(jiān)控嵌入式系統(tǒng)的功能,并且可以
36、在服務(wù)器端結(jié)合嵌入式Web服務(wù)器提供的接口進(jìn)行進(jìn)一步開(kāi)發(fā),以此豐富各種嵌入式功能。嵌入式Web服務(wù)器更易于和Internet實(shí)現(xiàn)無(wú)縫連接,它使得嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息5。如圖3.1所示是典型的嵌入式Web服務(wù)器的系統(tǒng)模型:圖3.1典型的嵌入式Web服務(wù)器系統(tǒng)模型Internet可以提供多種網(wǎng)絡(luò)服務(wù),比如通過(guò)SMTP(簡(jiǎn)單傳輸協(xié)議)收發(fā),通過(guò)FTP(文件傳輸協(xié)議)傳輸文件。Internet能得到如此大規(guī)模的流行,WWW(World Wide Web)技術(shù)居功至偉。可以說(shuō)如果沒(méi)有WWW和技術(shù)就不會(huì)有這么多人使用Interne
37、t,正是WWW技術(shù)把Internet的結(jié)構(gòu)、服務(wù)和應(yīng)用引上了一個(gè)新臺(tái)階。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。嵌入式系統(tǒng)和Internet技術(shù)的結(jié)合,前景非常樂(lè)觀。嵌入式Web技術(shù)除了可以用于構(gòu)建智能家庭外還可以用于很多工業(yè)領(lǐng)域。在工業(yè)控制系統(tǒng)中,采用嵌入式Web技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)和傳統(tǒng)的基于現(xiàn)場(chǎng)總線的監(jiān)控系統(tǒng)相比,前者更容易和Internet實(shí)現(xiàn)無(wú)縫連接,它使得嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要
38、專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。在電力系統(tǒng)中嵌入式Web技術(shù)也有用武之地。電力系統(tǒng)是一個(gè)包含電能生產(chǎn)、傳輸和使用的復(fù)雜系統(tǒng),各種生產(chǎn)設(shè)備地域分布廣泛,設(shè)備類型眾多、數(shù)量巨大,對(duì)于這些設(shè)備的監(jiān)控。診斷和維護(hù)稱為提高系統(tǒng)管理水平的重要容。因此可以將嵌入式Web技術(shù)用于電力系統(tǒng)的遠(yuǎn)程檢測(cè)與故障診斷。3.2嵌入式Web服務(wù)器的應(yīng)用3.2.1在網(wǎng)絡(luò)配置和監(jiān)控方面的應(yīng)用嵌入式Web服務(wù)器目前都是主要應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Interment的網(wǎng)絡(luò)化儀器和設(shè)備,例如Abilene公司研制出了具有Web瀏覽器遠(yuǎn)程接入功能的邏輯分析儀:Cis
39、co公司己開(kāi)始銷售具備Web管理界面的交換機(jī)等。但是隨著這一技術(shù)的成熟與發(fā)展,加之這一技術(shù)的優(yōu)點(diǎn),目前的文獻(xiàn)大都預(yù)見(jiàn):這一技術(shù)必將廣泛的應(yīng)用于其它領(lǐng)域。例如:水文資料實(shí)時(shí)監(jiān)測(cè),防洪體系與水土質(zhì)量監(jiān)測(cè)、堤壩安全,地震監(jiān)測(cè)網(wǎng),實(shí)時(shí)氣象,水源和空氣污染監(jiān)測(cè),家政系統(tǒng):水、電、煤氣表的自動(dòng)抄表,安全防火、防盜系統(tǒng)等。隨著微處理器技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的進(jìn)步,基于嵌入式Web的網(wǎng)絡(luò)數(shù)字視頻監(jiān)控系統(tǒng)逐漸得到了人們的廣泛關(guān)注。把圖像采集、視頻壓縮和WEB功能集中到一個(gè)體積很小的設(shè)備,可以直接連入局域網(wǎng)和Internet,達(dá)到即插即用,省掉多種復(fù)雜的電纜,安裝方便,用戶也無(wú)須安裝任何硬件設(shè)備即可觀看,這使得由嵌
40、入式網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器組成的監(jiān)控網(wǎng)絡(luò)組網(wǎng)和擴(kuò)展都極為靈活方便。3.2.2在Internet方面的應(yīng)用傳統(tǒng)的通用的Web服務(wù)器被設(shè)計(jì)用來(lái)處理成千上萬(wàn)個(gè)用戶對(duì)普通的同時(shí)并發(fā)訪問(wèn)。它可以有強(qiáng)有力的數(shù)據(jù)庫(kù)作為后盾來(lái)開(kāi)展容繁多的商業(yè)服務(wù),但是由于嵌入式設(shè)備的處理器能力和有限的存儲(chǔ)容量,這樣的服務(wù)器并不能用來(lái)在嵌入式設(shè)備上面運(yùn)行。對(duì)于一般的管理信息系統(tǒng)或中小型應(yīng)用系統(tǒng),所需的Web服務(wù)功能比較簡(jiǎn)單,如果仍然采用大型的通用Web服務(wù)器,無(wú)疑是一種資源的浪費(fèi)。解決方法是使用功能相對(duì)簡(jiǎn)單、體積更小、消耗資源更少的簡(jiǎn)單Web服務(wù)器,于是嵌入式Web服務(wù)器就應(yīng)運(yùn)而生了。WWW(World Wide Web)的飛速發(fā)
41、展和廣泛應(yīng)用得益于其提供的大量服務(wù),這些服務(wù)為人們的信息交流帶來(lái)了極大的便利。環(huán)球信息網(wǎng)是一個(gè)基于超文本方式的信息查詢方式。它提供了一個(gè)友好的界面,大大方便了人們對(duì)信息的瀏覽。而嵌入式系統(tǒng)入互聯(lián)網(wǎng)也是大勢(shì)所趨。3.3嵌入式Internet技術(shù)的應(yīng)用前景嵌入式Internet技術(shù)具有廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括:智能公路交通管理、車輛導(dǎo)航、流量控制、信息監(jiān)測(cè)與汽車服務(wù);植物工廠特種植物工場(chǎng),如實(shí)現(xiàn)野生名貴藥材的遠(yuǎn)程監(jiān)控培養(yǎng)和種植,無(wú)土栽培技術(shù)應(yīng)用,智能種子工程等;虛擬現(xiàn)實(shí)(VR)機(jī)器人交通警察、門衛(wèi)、家用機(jī)器人等;信息家電冰箱、空調(diào)等的網(wǎng)絡(luò)化;工業(yè)制冷冷庫(kù)、中央空調(diào)、超級(jí)市場(chǎng)冰柜;VR庫(kù)房
42、糧庫(kù)、油庫(kù)、食品庫(kù)等;VR家政系統(tǒng)水、電、煤氣表的自動(dòng)抄表,安全防火、防盜系統(tǒng);VR精品店客戶可以在Internet上實(shí)時(shí)地看到存貨狀況;工業(yè)自動(dòng)化目前已經(jīng)有大量的8、16、32位嵌入式微控制器在應(yīng)用中,網(wǎng)絡(luò)化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源的主要途徑,如制藥工業(yè)過(guò)程控制、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測(cè)、石油化工系統(tǒng);POS網(wǎng)絡(luò)與電子商務(wù)公共交通無(wú)接觸智能卡(ContactlessSmartcard,CSC)發(fā)行系統(tǒng),公共卡發(fā)行系統(tǒng),自動(dòng)售貨機(jī);環(huán)境工程與自然水文資料實(shí)時(shí)監(jiān)測(cè),防洪體系與水土質(zhì)量監(jiān)測(cè)、堤壩安全,地震監(jiān)測(cè)網(wǎng),實(shí)時(shí)氣象信息網(wǎng),水源和空氣污染監(jiān)測(cè)8。3.4嵌入式Web服務(wù)器中
43、TCP/IP棧的實(shí)現(xiàn)3.4.1嵌入式TCP/IP協(xié)議棧概述嵌入式系統(tǒng)中實(shí)現(xiàn)的協(xié)議要根據(jù)系統(tǒng)自身的特點(diǎn)與功能來(lái)設(shè)計(jì)自己的協(xié)議族,因此,在嵌入式Web服務(wù)器中并非TCP/IP協(xié)議族中所有的協(xié)議都要實(shí)現(xiàn),必須針對(duì)不同的網(wǎng)絡(luò)應(yīng)用對(duì)協(xié)議棧進(jìn)行刪減,保留其基本功能,以滿足網(wǎng)絡(luò)應(yīng)用的需要??紤]到嵌入式Web服務(wù)器的硬件處理速度慢并且存儲(chǔ)容量相對(duì)較小的條件限制,在TCP/IP協(xié)議棧中主要能夠?qū)崿F(xiàn)ARP,IP,ICMP,TCP協(xié)議即可。具體分析如下:以太網(wǎng)數(shù)據(jù)的傳輸是采用MAC地址來(lái)識(shí)別的,而ARP協(xié)議提供IP地址和數(shù)據(jù)鏈路層使用的MAC地址之間的轉(zhuǎn)換功能,為了保證系統(tǒng)在以太網(wǎng)的通信,首先要實(shí)現(xiàn)ARP協(xié)議;由于
44、嵌入式Web服務(wù)器要能在Internet上通信,在網(wǎng)絡(luò)層一定要實(shí)現(xiàn)IP協(xié)議,還要實(shí)現(xiàn)能報(bào)告數(shù)據(jù)傳送差錯(cuò)等情況的ICMP協(xié)議;同時(shí),Web服務(wù)器同Web瀏覽器之間的通信是通過(guò) 協(xié)議進(jìn)行的,在傳輸層采用TCP協(xié)議,能保證可靠的數(shù)據(jù)傳輸,進(jìn)而實(shí)現(xiàn)其基礎(chǔ)之上的 協(xié)議。3.4.2 ARP協(xié)議實(shí)現(xiàn)嵌入式Web服務(wù)器中ARP協(xié)議主要功能是進(jìn)行IP地址與以太網(wǎng)地址之間的轉(zhuǎn)換,當(dāng)系統(tǒng)收到發(fā)送數(shù)據(jù)請(qǐng)求時(shí),協(xié)議棧就需要返回IP數(shù)據(jù)報(bào),所有的 IP數(shù)據(jù)報(bào)都要進(jìn)一步封裝成以太網(wǎng)幀才能發(fā)送給網(wǎng)絡(luò)控制器,而所加的以太網(wǎng)首部中就包含了由ARP協(xié)議解析目的IP地址所得來(lái)的對(duì)應(yīng)的物理地址。首先ARP程序檢測(cè)以太網(wǎng)幀的類型字段以判
45、斷其協(xié)議類型。以太網(wǎng)標(biāo)準(zhǔn)規(guī)定,當(dāng)一個(gè)以太網(wǎng)幀攜帶一個(gè)ARP消息時(shí),類型字段必須包含十六進(jìn)制值0806。接著,檢測(cè)消息中的操作字段以確認(rèn)是一個(gè)請(qǐng)求消息還是一個(gè)應(yīng)答消息。若是一個(gè)請(qǐng)求消息,ARP程序比較目標(biāo)IP地址與自己的IP地址,如果一樣,則要回發(fā)一個(gè)應(yīng)答消息。對(duì)接收到的來(lái)自遠(yuǎn)程主機(jī)的任何試圖解析Web服務(wù)器地址的ARP請(qǐng)求,Web服務(wù)器都會(huì)做出回應(yīng)。當(dāng)Web服務(wù)器向客戶機(jī)發(fā)送一個(gè)ARP消息時(shí),此消息是嵌入一個(gè)以太網(wǎng)幀中廣播給網(wǎng)上的所有計(jì)算機(jī),每臺(tái)計(jì)算機(jī)收到這個(gè)請(qǐng)求后都會(huì)檢測(cè)其中的IP地址。與該IP地址匹配的計(jì)算機(jī)發(fā)送一個(gè)應(yīng)答,這個(gè)應(yīng)答消息被放進(jìn)一個(gè)幀中直接發(fā)回給Web服務(wù)器,而其他的計(jì)算機(jī)則會(huì)
46、丟棄收到的請(qǐng)求,不發(fā)任何應(yīng)答。這種方式雖然對(duì)網(wǎng)絡(luò)造成一定的壓力,但節(jié)省嵌入式設(shè)備的寶貴資源。在等待應(yīng)答的時(shí)間里,ARP將到達(dá)的TCP包丟棄,一旦收到應(yīng)答,ARP高速緩存就用目的以太網(wǎng)地址更新,然后等待分組就用高速緩存中的目的以太網(wǎng)地址更新,分組就被發(fā)送了。 3.4.3 IP協(xié)議實(shí)現(xiàn)IP協(xié)議主要功能是用于主機(jī)之間發(fā)送數(shù)據(jù)報(bào)的傳輸,實(shí)現(xiàn)比較復(fù)雜,但對(duì)于Web服務(wù)器來(lái)說(shuō),只需完成IP協(xié)議兩項(xiàng)最基本的功能:第一,處理接收到的IP數(shù)據(jù)報(bào),向上層網(wǎng)絡(luò)提交。第二,負(fù)責(zé)對(duì)TCP報(bào)文、ICMP報(bào)文進(jìn)行封裝,交給數(shù)據(jù)鏈路層進(jìn)行裝幀。當(dāng)Web服務(wù)器收到發(fā)給自己的數(shù)據(jù)幀后,需要對(duì)以太網(wǎng)首部中的幀類型字段進(jìn)行判斷,如果
47、該字段為0x0800,說(shuō)明后面的數(shù)據(jù)是IP數(shù)據(jù)報(bào),將此數(shù)據(jù)提交IP層處理。IP協(xié)議判斷此數(shù)據(jù)報(bào)的IP頭部中目的IP地址字段與本地IP地址是否一致,若不一致,則丟棄該數(shù)據(jù)報(bào);若一致,進(jìn)行IP頭部校驗(yàn)和檢查,當(dāng)證明數(shù)據(jù)在傳輸中沒(méi)有出現(xiàn)錯(cuò)誤時(shí),去掉IP頭部,將IP數(shù)據(jù)提交上層處理,即根據(jù)IP首部中的協(xié)議字段決定交給ICMP 協(xié)議還是TCP協(xié)議處理。在程序運(yùn)行時(shí),當(dāng)所接收的數(shù)據(jù)被判定為IP數(shù)據(jù)報(bào)后,IP處理程序?qū)?yán)格按照以上的過(guò)程接收處理數(shù)據(jù)并進(jìn)行處理。IP協(xié)議還要查詢是否有上層數(shù)據(jù)要發(fā)送,如果有數(shù)據(jù)發(fā)送,則將上層數(shù)據(jù)進(jìn)行IP封裝,交給數(shù)據(jù)鏈路層裝幀發(fā)送。3.4.4ICMP協(xié)議實(shí)現(xiàn)ICMP提供了一種讓
48、互聯(lián)網(wǎng)中的路由報(bào)告錯(cuò)誤或提供有關(guān)意外情況信息的報(bào)文機(jī)制。它不是獨(dú)立的,是IP的一部分,在每個(gè)IP實(shí)現(xiàn)中必須有它。雖然它提供的信息十分豐富,但在嵌入式Web服務(wù)器應(yīng)用中,只要實(shí)現(xiàn)回送請(qǐng)求(echo request)和回送應(yīng)答(echo reply)就足夠了。3.4.5TCP協(xié)議實(shí)現(xiàn)TCP是嵌入式Web服務(wù)器的核心。在設(shè)計(jì)嵌入式Web服務(wù)器時(shí),系統(tǒng)應(yīng)用層只需支持 協(xié)議。嵌入式系統(tǒng)把要傳送的數(shù)據(jù),參數(shù)等存入網(wǎng)頁(yè)的相關(guān)位置。對(duì)于任何TCP連接,每次只需支持 協(xié)議發(fā)送網(wǎng)頁(yè)服務(wù)。在單片機(jī)這樣的系統(tǒng)中,資源十分有限,因此要精簡(jiǎn)TCP 協(xié)議,簡(jiǎn)化的原則有兩個(gè):第一,不能改變其面向連接的特性;第二,簡(jiǎn)化必須能配
49、合其所采用的應(yīng)用層協(xié)議。作為嵌入式Web服務(wù)器,TCP連接時(shí)只需處于被動(dòng)服務(wù)的狀態(tài),所以將標(biāo)準(zhǔn)的TCP有限狀態(tài)機(jī)的主動(dòng)創(chuàng)建連接的SYN-SENT狀態(tài),主動(dòng)關(guān)閉連接的FIN-WAIT1,FIN-WAIT2,CLOSING,TIME-WAIT狀態(tài)都省去,在設(shè)計(jì)中,還可以舍棄CLOSED狀態(tài),讓它開(kāi)始就處于LISTEN狀態(tài)來(lái)監(jiān)聽(tīng)客戶端的連接請(qǐng)求。這樣,TCP的三次握手機(jī)制中,建立連接的過(guò)程時(shí),嵌入式系統(tǒng)作為監(jiān)聽(tīng)狀態(tài)的服務(wù)器,始終為被動(dòng)方,相當(dāng)于被動(dòng)打開(kāi)后的LISTEN狀態(tài),等待對(duì)方發(fā)起連接。當(dāng)它接收到SYN數(shù)據(jù)片,它發(fā)出SYN+ACK數(shù)據(jù)片并確認(rèn)它己經(jīng)收到對(duì)方的SYN,此時(shí)變?yōu)镾YN_RECEIVE
50、D狀態(tài)。再接收到對(duì)方返回的一個(gè)僅含ACK的空數(shù)據(jù)片,則三次握手完成,進(jìn)入ESTABLISHED狀態(tài),之后可以進(jìn)行TCP數(shù)據(jù)通訊。這樣,既節(jié)省了系統(tǒng)開(kāi)銷,同時(shí)也保證了所有的數(shù)據(jù)段都能安全正確地到達(dá)目的端。3.5協(xié)議標(biāo)準(zhǔn)現(xiàn)在直接采用的標(biāo)準(zhǔn)為TCP/IP協(xié)議棧,包括TCP、IP、ICMP、RARP等,這些標(biāo)準(zhǔn)的協(xié)議對(duì)嵌入式Internet系統(tǒng)的大量使用有著很重要的意義。但是,這些協(xié)議的實(shí)現(xiàn)在嵌入式系統(tǒng)中有著特別的要求,如圖形和數(shù)據(jù)的顯示、實(shí)時(shí)分布式對(duì)象計(jì)算等。所以研究嵌入式TCP/IP協(xié)議棧以滿足嵌入式系統(tǒng)的性能要很重要的,我們應(yīng)該盡量減小TCP/IP協(xié)議棧而又不失一般的標(biāo)準(zhǔn)性。現(xiàn)在國(guó)外對(duì)此已經(jīng)有很
51、多的相關(guān)研究,如國(guó)外的C/IP項(xiàng)目的研究,它是一個(gè)為微控制器和嵌入式系統(tǒng)而設(shè)計(jì)的小型TCP/IP協(xié)議棧:又例如CMX公司的MicroNet TCP/IP,它是為8位或16位微處理器而設(shè)計(jì)的,支持大部分的標(biāo)準(zhǔn)協(xié)議,連接方式有以太網(wǎng)連接、拔號(hào)連接和直接連接方式。嵌入式Web服務(wù)器技術(shù)的核心是引擎。協(xié)議是WEB應(yīng)用的標(biāo)準(zhǔn)協(xié)議,其已經(jīng)從 1.0發(fā)展到 1.1,性能有很大改變,增加了緩存功能,同志就是TCP連接形式的改變。 10在每次請(qǐng)求中都需要TCP連接。一個(gè)典型的頁(yè)面可能含有許多單獨(dú)的HTT請(qǐng)求,如基本頁(yè)面請(qǐng)求、每個(gè)HTML框架請(qǐng)求、每個(gè)圖形請(qǐng)求等。建立每個(gè)請(qǐng)求并且產(chǎn)生每TCP連接需要占用大量的CP
52、U和存資源:而 1.1標(biāo)準(zhǔn)可以為多個(gè)事務(wù)在瀏覽器和服務(wù)器之間只保持一個(gè)TCP連接,這樣就大大提高網(wǎng)絡(luò)和系統(tǒng)的性能。所以,在嵌入式Web服務(wù)器中為了得到一個(gè)穩(wěn)定的用戶界面而又不影響嵌入式系統(tǒng)的CPU和存資源,我們應(yīng)該使用 1.0標(biāo)準(zhǔn)。3.6超文本傳輸協(xié)議()3.6.1協(xié)議簡(jiǎn)介協(xié)議即超文本傳送協(xié)議(HypertextTransferProtoeol)是用來(lái)構(gòu)建分布式信息系統(tǒng)的,建立在TCP/IP協(xié)議之上的應(yīng)用層協(xié)議。協(xié)議是一種用于網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)應(yīng)用層協(xié)議。它是使用在Web服務(wù)器和客戶端直接傳送數(shù)據(jù)的一種協(xié)議。協(xié)議是基于請(qǐng)求/回應(yīng)機(jī)制的。協(xié)議具有支持客戶/服務(wù)器模式,簡(jiǎn)單快速的特點(diǎn),而且具有無(wú)連接、
53、無(wú)狀態(tài)、元信息的特點(diǎn)。協(xié)議它指定了客戶和服務(wù)器如何建立連接、客戶如何從服務(wù)器上請(qǐng)求數(shù)據(jù)、服務(wù)器如何響應(yīng)以與如何關(guān)閉連接??蛻舳伺c服務(wù)器端建立連接后,以請(qǐng)求方法、URL、協(xié)議版本等方式向服務(wù)器端發(fā)出請(qǐng)求,該請(qǐng)求可跟隨包含請(qǐng)求修飾符、客戶信息、與可能的請(qǐng)求體(body)容的MIME類型消息。服務(wù)器端通過(guò)狀態(tài)行(Status1ine)來(lái)回應(yīng),容包括消息的協(xié)議版本、成功或錯(cuò)誤代碼,也跟隨著包含服務(wù)器信息、實(shí)體元信息與實(shí)體容的MIME類型消息。協(xié)議最初的原型是在1990年的Internet上出現(xiàn)的。最初只是在實(shí)驗(yàn)室應(yīng)用,用于提供一種新型的信息組織方法,便于將信息組織成為Web文檔,這種就是所謂的超文本。
54、當(dāng)這種方法被公開(kāi)應(yīng)用到Internet上之后,得到了廣泛的應(yīng)用,事實(shí)證明協(xié)議比以前的任何一種協(xié)議都能將信息很好地組織起來(lái),可方便、直接地從Internet檢索和獲取所需的信息。與其他流行的Internet協(xié)議一樣,協(xié)議的發(fā)展也經(jīng)歷了一個(gè)不斷完善的,功能不斷增加的過(guò)程。從協(xié)議出現(xiàn)到制定相應(yīng)的面,協(xié)議的版本經(jīng)歷了 0.9. 1.0以與 1.1協(xié)議主要容包括:請(qǐng)求周期、消息、請(qǐng)求、響應(yīng)、訪問(wèn)認(rèn)證、URL編碼等6部分容。當(dāng)用戶要瀏覽服務(wù)器上的一個(gè)網(wǎng)頁(yè)時(shí),一個(gè)請(qǐng)求就會(huì)從用戶的瀏覽器發(fā)到服務(wù)器。服務(wù)器響應(yīng)這個(gè)請(qǐng)求,指定的網(wǎng)頁(yè)傳送回來(lái),用戶才看到了網(wǎng)頁(yè)。協(xié)議被設(shè)計(jì)成適應(yīng)快速、小流量,比其他協(xié)議花費(fèi)服務(wù)器的C
55、PU或存資源小的協(xié)議。(Hyper Text Transfer Protocol)協(xié)議是一套計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)進(jìn)行通信的規(guī)則。計(jì)算機(jī)專家設(shè)計(jì)出,使客戶(如Web瀏覽器)能夠從服務(wù)器(Web服務(wù)器)請(qǐng)求信息和服務(wù),目前協(xié)議的版本是1.1。是一種無(wú)狀態(tài)的協(xié)議,無(wú)狀態(tài)是指Web瀏覽器和Web服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請(qǐng)求,然后Web服務(wù)器返回響應(yīng)(Responses),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息。遵循請(qǐng)求(Request)/應(yīng)答(Response)模型。Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,Web服務(wù)器處理請(qǐng)求并返回適當(dāng)?shù)膽?yīng)答。所有連接都被構(gòu)造成
56、一套請(qǐng)求和應(yīng)答9。使用容類型,是指Web服務(wù)器向Web瀏覽器返回的文件都有與之相關(guān)的類型。所有這些類型在MIME Internet協(xié)議上模型化,即Web服務(wù)器告訴Web瀏覽器該文件所具有的種類,是HTML文檔、GIF格式圖像、聲音文件還是獨(dú)立的應(yīng)用程序。大多數(shù)Web瀏覽器都擁有一系列的可配置的輔助應(yīng)用程序,它們告訴瀏覽器應(yīng)該如何處理Web服務(wù)器發(fā)送過(guò)來(lái)的各種容類型。我們?cè)跒g覽器的地址欄里輸入的地址叫做URL(Uniform Resource Locator,統(tǒng)一資源定位符)。就像每家每戶都有一個(gè)門牌地址一樣,每個(gè)網(wǎng)頁(yè)也都有一個(gè)Internet地址。當(dāng)你在瀏覽器的地址框中輸入一個(gè)URL或是單擊一
57、個(gè)超級(jí)時(shí),URL就確定了要瀏覽的地址。瀏覽器通過(guò)超文本傳輸協(xié)議( ),將Web服務(wù)器上站點(diǎn)的網(wǎng)頁(yè)代碼提取出來(lái),并翻譯成漂亮的網(wǎng)頁(yè)。因此,在我們認(rèn)識(shí)之前,有必要先弄清楚URL的組成,例如: .microsoft./china/index.htm。它的含義如下:1、:代表超文本傳輸協(xié)議,通知microsoft 服務(wù)器顯示W(wǎng)eb頁(yè),通常不用輸入;2、:代表一個(gè)Web(萬(wàn)維網(wǎng))服務(wù)器;3、Microsoft./:這是裝有網(wǎng)頁(yè)的服務(wù)器的域名,或站點(diǎn)服務(wù)器的名稱;4、China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;5、Index.htm:index.htm是文件夾中的一個(gè)HTML文件(網(wǎng)頁(yè))。我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP電子傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和協(xié)議等。協(xié)議(Hypertext Transf
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度品牌授權(quán)與許可經(jīng)營(yíng)合同
- 2025年度私對(duì)公借款合同范本:包含匯率風(fēng)險(xiǎn)管理與應(yīng)急預(yù)案
- 2025-2030年手工折扇制作行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年戶外燒烤爐臺(tái)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年堅(jiān)果無(wú)人售賣機(jī)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年埋入式元件PCB集成技術(shù)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年護(hù)膚品小樣機(jī)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年復(fù)古風(fēng)實(shí)木家具復(fù)興行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年商業(yè)ERP資源系統(tǒng)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年口袋式成語(yǔ)接龍游戲機(jī)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 人工智能技術(shù)介紹完整版人工智能概述、圍棋課件
- 加油站項(xiàng)目開(kāi)辦申報(bào)表
- 單個(gè)軍人隊(duì)列動(dòng)作教學(xué)法教案全(新條令)
- 《德育與班級(jí)管理》課程大綱
- 人教版八年級(jí)下冊(cè)英語(yǔ)全冊(cè)教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- (新教材)人教版高中化學(xué)必修第二冊(cè)第七章有機(jī)化合物(267張)課件
- 網(wǎng)絡(luò)性能測(cè)試與分析課程教學(xué)大綱
- 國(guó)貨當(dāng)自強(qiáng)精品課件
- 比多少(課件)人教版一年級(jí)上冊(cè)數(shù)學(xué)
- The foolish Donkey愚蠢的毛驢的故事英語(yǔ)伊索寓言
- 2021年懷化市會(huì)同縣人民醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
評(píng)論
0/150
提交評(píng)論