基于internet的遠程監(jiān)控系統(tǒng)設(shè)計本科畢設(shè)論文_第1頁
基于internet的遠程監(jiān)控系統(tǒng)設(shè)計本科畢設(shè)論文_第2頁
基于internet的遠程監(jiān)控系統(tǒng)設(shè)計本科畢設(shè)論文_第3頁
基于internet的遠程監(jiān)控系統(tǒng)設(shè)計本科畢設(shè)論文_第4頁
基于internet的遠程監(jiān)控系統(tǒng)設(shè)計本科畢設(shè)論文_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGEPAGE25本科生畢業(yè)論文題目:基于Internet的遠程監(jiān)控系統(tǒng)設(shè)計院系:信息科學(xué)與技術(shù)學(xué)院電子系二〇〇九年五月摘要科技的發(fā)展必然使人類的生活越來越自動化,足不出戶卻可以決勝于千里之外,這就需要借助于兩樣?xùn)|西,一是現(xiàn)場監(jiān)控系統(tǒng),二是INTERNET。本文介紹了一種簡單的典型的基于INTERNET的遠程監(jiān)控系統(tǒng),但它包括了基本的遠程監(jiān)控系統(tǒng)基本思想與一般架構(gòu)。此遠程監(jiān)控系統(tǒng)的核心是經(jīng)典的51系列單片機,它作為系統(tǒng)的大腦,是系統(tǒng)的神經(jīng)中樞,另一個必不可缺的就是W5100芯片,此芯片內(nèi)部集成了TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)訪問層(MAC)和物理層(PHY),扮演著通訊員的角色,負責(zé)系統(tǒng)與外界的溝通,在現(xiàn)場與控制臺之間搭建了一個方便快捷的橋梁。其它的還包括溫度檢測芯片以及若干個LED燈管。整個系統(tǒng)選材較少,因此具有功耗低、價格低廉、穩(wěn)定性強、開發(fā)簡單、體積小的優(yōu)點,低廉的配置也有使此方案對于大部分人來說實現(xiàn)起來也是一件容易的事。此外,本系統(tǒng)實現(xiàn)了可以在終端通過IE瀏覽器訪問系統(tǒng)、監(jiān)控系統(tǒng)的模式,使遠程監(jiān)控更方便更人性化。關(guān)鍵字:遠程監(jiān)控;W5100;TCP/IP協(xié)議;嵌入式服務(wù)器AbstractAsthedevelopingscientifictechnology,person'slifebecomeeasierandmoreautomatic,peoplecanfinishsomethingeventheyaremilesawayfromthescene.Allofthisisbythehelpoftwothings,oneisscenecontrolsystem,andtheotheroneisinternet.Thereissomethingaboutthesimpleremotecontrolsystembasedoninternetinthisstudy,andthebasicconfigurationandclassicwaytocarryoutofaremotecontrolsystemwillbeincluded.Themajorthingorthekeyofthissystemisaclassic51microcontrolunit.Itisthebrainofthissystem.AnothermostimportantthingofthissystemisW5100Internetchip,whichbringsTCP/IPprotocol,MAC,PHYtogether.TheW5100chiphelpsthesystemtocommunicatewithinternet.Whatelse,thesystemincludesachiptodetectthescenetemperature.Soinaword,thissystemisanidealsolutionofIntelligentHouseholdsystemthateasytodevelop,stability,lowcost,withlittlesizeandlowpowerdissipation,whatelse,thissystemcanbedisplayedandcontrolledbyIEbrowser,itmakestheremotecontrollingmoreconvenience.Keywords:remotesystem;W5100;TCP/IPprotocol;embedserver目錄TOC\o"1-3"\h\z第一章緒論 11.1嵌入式系統(tǒng)概述 11.2嵌入式INTERNET 31.3遠程監(jiān)控系統(tǒng)發(fā)展現(xiàn)狀與趨勢 41.4論文研究意義 5第二章 監(jiān)控系統(tǒng)硬件實現(xiàn) 72.151單片機管理模塊 82.2網(wǎng)絡(luò)芯片W5100 92.2.1W5100特點 92.2.2W5100引腳 102.2.3W5100存儲器映像 132.2.4W5100寄存器 142.2.5W5100與MCU的連接方式 15第三章遠程監(jiān)控系統(tǒng)程序設(shè)計與實現(xiàn) 193.1W5100程序部分 193.1.1W5100的初始化 193.1.2W5100實現(xiàn)TCP通信 203.1.3 W5100實現(xiàn)UDP數(shù)據(jù)通信 253.2 主體程序 26第四章系統(tǒng)仿真 285.1EVB-W5100/MCS51與PC的連接 295.2演示軟件測試 305.3演示總結(jié) 31第五章結(jié)論 33參考文獻 34致謝 35附錄 36附錄1W5100初始化程序 36附錄2W5100服務(wù)器模式程序 41緒論1.1嵌入式系統(tǒng)概述對于大多數(shù)人來說,談起現(xiàn)代化電子產(chǎn)品的時候都會第一時間想到計算機,或者更確切地說是想到PC,因為對他們來說PC機已經(jīng)是和他們形影不離了。但是他們都忽略了比PC更廣泛應(yīng)用的一種現(xiàn)代化電子產(chǎn)品,那就是嵌入式系統(tǒng)。各種微處理器應(yīng)用的數(shù)量遠遠地超過了PC上應(yīng)用的X86處理器,而微處理器絕大部分是用在嵌入式系統(tǒng)中的,因此可以說嵌入式系統(tǒng)已經(jīng)成為了人們生活中不可或缺的一分子了。在現(xiàn)代社會生活中,我們不僅僅需要那種放在桌上處理文檔、進行工作管理的計算“機器”,我們還可能擁有大小不一、形狀各異的嵌入式電子產(chǎn)品,小到手機、MP3、PDA等微型數(shù)字產(chǎn)品,大到網(wǎng)絡(luò)家電、車載電子設(shè)備等。目前,各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠遠超過了通用計算機。在工業(yè)和服務(wù)領(lǐng)域,使用嵌入式技術(shù)的數(shù)字機床、工業(yè)機器人、服務(wù)機器人等正在逐漸改變著傳統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式。嵌入式系統(tǒng)可以這樣定義:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。一般來說,嵌入式系統(tǒng)由處理器、存儲器、輸入/輸出設(shè)備和軟件(包括操作系統(tǒng)和應(yīng)用程序)4部分組成,如圖1-1所示。應(yīng)用程序應(yīng)用程序軟件結(jié)構(gòu)軟件結(jié)構(gòu)操作系統(tǒng)操作系統(tǒng)處理器OUTPUT處理器硬件結(jié)構(gòu)INPUT硬件結(jié)構(gòu)存儲器存儲器圖1-1:嵌入式系統(tǒng)的組成嵌入式系統(tǒng)與PC比較如下表1-1與表1-2:表1-1:嵌入式系統(tǒng)與PC硬件上的比較表1-1:嵌入式系統(tǒng)與PC硬件上的比較設(shè)備說明嵌入式系統(tǒng)PCCPU嵌入式系統(tǒng)(ARM,68K等)CPU(INTEL的Pentium,AMD的Athion等)內(nèi)存SDRAM芯片SDRAM或DDR內(nèi)存條內(nèi)存設(shè)備Flash硬盤輸入設(shè)備按鍵、觸摸屏鼠標(biāo)、鍵盤、麥克風(fēng)輸出設(shè)備LCD顯示器聲音設(shè)備音頻芯片聲卡接口MAX232等芯片主板集成其它設(shè)備USB芯片、網(wǎng)卡芯片主板集成或外接卡表1-2:嵌入式系統(tǒng)與PC軟件發(fā)及開發(fā)平臺上的比較表1-2:嵌入式系統(tǒng)與PC軟件發(fā)及開發(fā)平臺上的比較嵌入式系統(tǒng)PC引導(dǎo)代碼Bootloader引導(dǎo),針對不同電路進行移植主板的BIOS引導(dǎo),無須改動操作系統(tǒng)LINUX,WINCE,UCOS等,需要移植WINDOWS,LINUX等,不需要移植驅(qū)動程序每個設(shè)備驅(qū)動都必須針對電路板進行重新開發(fā)或移植,一般不能直接下載使用操作系統(tǒng)含有大多數(shù)驅(qū)動程序,或從網(wǎng)上直接下載使用協(xié)議棧需要移植操作系統(tǒng)由第三方供應(yīng)商提供開發(fā)環(huán)境借助服務(wù)器或PC進行交差編譯在本機就可以開發(fā)調(diào)試仿真器需要不需要從上面兩個表格可以很容易看出嵌入式操作系統(tǒng)與PC之間存在著很大的差異,兩者的最大區(qū)別在于嵌入式系統(tǒng)性具有“軟硬件可裁剪性”的靈活性,可以根據(jù)各種具體的現(xiàn)場實現(xiàn)千差萬別的特定功能。嵌入式系統(tǒng)同PC系統(tǒng)相比有以下特點:功耗低、體積小、專用性強。嵌入式本身就是為特定的用戶或特定的功能量身定做的,所以它能把PC中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計趨于小型化。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)的軟件一般都固化在存儲器芯片中,而不是存儲于磁盤等載體中??煽啃愿摺G度胧较到y(tǒng)對軟件代碼的要求很高,應(yīng)盡最大可能避免“死機”的發(fā)生,因為“死機”很可能導(dǎo)致系統(tǒng)的崩潰或造成嚴重后果。嵌入式系統(tǒng)的開發(fā)需要專門的開發(fā)工具和開發(fā)環(huán)境[1]。1.2嵌入式INTERNET介紹了嵌入式系統(tǒng)與PC既有共性也有個性,具體的應(yīng)用可以根據(jù)實際工作而選擇使用嵌入式系統(tǒng)還是普通的PC機。或者還有一種方法就是把兩者結(jié)合起來,各取所長,從而合成一個更完美的系統(tǒng),那就是基于Internet的嵌入式系統(tǒng),而如今世界上無所不在的Internet則是把二者結(jié)合起來的重要橋梁。下面將要介紹的是Internet在嵌入式系統(tǒng)中的應(yīng)用。網(wǎng)絡(luò)在人們生活中的作用是不容置疑的。隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)已經(jīng)深入到人類生活的各個方面,網(wǎng)絡(luò)就像覆蓋在地球表面的電子皮膚,它大大的改變了我們的工作方式和生活方式。21世紀是一個網(wǎng)絡(luò)化的世界,這不僅是指通過計算機網(wǎng)絡(luò)形成了全球化的Internet,而且還包括我們身邊的樓宇自動化系統(tǒng)、家庭電器產(chǎn)品、智能儀表及工業(yè)過程控制等通信網(wǎng)絡(luò)。若能將Internet網(wǎng)絡(luò)技術(shù)延伸到電子設(shè)備或控制網(wǎng)絡(luò)并使之互連,將Internet的應(yīng)用范圍擴大到任何需要網(wǎng)絡(luò)的地方,使之增加許多新的、有價值的、超越局域網(wǎng)的服務(wù)功能,必然會讓我們的世界變得更加自動化和智能化。家庭電器產(chǎn)品和工業(yè)設(shè)備絕大部分都采用單片機或微控制器MCU來進行數(shù)據(jù)處理,使用嵌入式系統(tǒng)來實現(xiàn)控制功能。智能樓宇、工業(yè)過程等在這些芯片的基礎(chǔ)上,使用特定的協(xié)議如LonWorks、CAN等組成獨立的、自成一體的控制網(wǎng)絡(luò)。如果能將嵌入式系統(tǒng)連接到Internet上,則可以方便、價格低廉地將信息傳送到幾乎世界上的任何一個角落,進而進行遠程監(jiān)控。嵌入式Internet就是在這種背景下產(chǎn)生的,它依托于工業(yè)以太網(wǎng)技術(shù)而構(gòu)建,是Internet技術(shù)、Web技術(shù)和嵌入式技術(shù)的有機融合。嵌入式Internet技術(shù)是指電子設(shè)備通過嵌入式模塊接入Internet,以Internet為介質(zhì)實現(xiàn)信息交互的技術(shù)。嵌入式Internet不僅是一種設(shè)備接入技術(shù),而且是一種異構(gòu)網(wǎng)絡(luò)互連技術(shù)。通過Web技術(shù)和嵌入式技術(shù)可將設(shè)備接入到Internet以實現(xiàn)遠程的監(jiān)控、診斷、測試、管理及維護等功能[2]。當(dāng)前,為了滿足世界上越來越多的Internet用戶,Internet的IP協(xié)議正處于在IPv4協(xié)議到IPv6協(xié)議的過渡時期。隨著嵌入式Internet的發(fā)展,越來越多的嵌入式設(shè)備都將需要接入Internet進行信息交互。因此,現(xiàn)有的IP地址資源將受到嚴重挑戰(zhàn),IP地址資源的短缺將成為嵌入式Internet發(fā)展的瓶頸。IPv6主要用于解決IPv4地址資源短缺的問題,IPv4的地址域長度是32位,而IPv6的地址長度為128位,因此,IPv6能夠提供足夠多的IP地址,當(dāng)然可以為每個嵌入式系統(tǒng)設(shè)備提供接入Internet的IP地址。隨著IPv6協(xié)議的逐漸應(yīng)用,IP地址資源的缺乏將得到徹底的改善,嵌入式Internet也將得到更進一步的發(fā)展[3]。不久的將來,各種嵌入式系統(tǒng)與PC機的關(guān)系也會因為有Internet這座橋梁而越來越密不可分,彼此取長補短,從而構(gòu)成一個更全面的嵌入式系統(tǒng)。1.3遠程監(jiān)控系統(tǒng)發(fā)展現(xiàn)狀與趨勢遠程監(jiān)控系統(tǒng)的發(fā)展很大程度上依賴于網(wǎng)絡(luò)的發(fā)展。目前,接入Internet的方式有很多,有以太網(wǎng)、ISDN、ADSL、電話接入等方式。其中以太網(wǎng)協(xié)議已經(jīng)非常廣泛地應(yīng)用于各種計算機網(wǎng)絡(luò),包括辦公室局域網(wǎng)、工業(yè)控制網(wǎng)絡(luò)、因特網(wǎng)、智能家居等場合。以太網(wǎng)作為一種廉價、高效的Internet接入方式已經(jīng)得到廣泛的應(yīng)用,并且還在不斷地發(fā)展。所以通過以太網(wǎng)接入方式實現(xiàn)嵌入式Internet具有現(xiàn)實意義。嵌入式系統(tǒng)通過以太網(wǎng)接入Internet主要有如下三種解決方案:32/64位高端嵌入式系統(tǒng)+RTOS(實時操作系統(tǒng))的實現(xiàn)方式。該方案采用高端的32/64位微控制器上運行實時多任務(wù)操作系統(tǒng),以實時操作系統(tǒng)作為軟件平臺,在實時多任務(wù)操作系統(tǒng)上直接實現(xiàn)TCP/IP協(xié)議,從而實現(xiàn)嵌入式Internet。目前常見的此類實時操作系統(tǒng)有NUCLEUS、LINUX等等,由于系統(tǒng)自帶TCP/IP協(xié)議,因此實現(xiàn)起來比較容易。PC網(wǎng)關(guān)+專用網(wǎng)的實現(xiàn)方式。采用專用的網(wǎng)絡(luò)把若干個嵌入式儀器連接在一起,然后再把該網(wǎng)絡(luò)與PC機連接起來,將PC作為網(wǎng)關(guān),由PC機把網(wǎng)絡(luò)上的信息轉(zhuǎn)化為TCP/IP協(xié)議數(shù)據(jù)包,發(fā)送到Internet上實現(xiàn)信息的共享[11]。8位單片機+網(wǎng)絡(luò)接口控制器直接接入Internet的實現(xiàn)方式。由網(wǎng)絡(luò)控制器實現(xiàn)網(wǎng)絡(luò)接口,由主控制器執(zhí)行存儲在系統(tǒng)ROM中的協(xié)議代碼來提供所需的通信協(xié)議。該方案最突出的特點就是成本較低廉,但是軟件設(shè)計復(fù)雜,需要對TCP/IP協(xié)議有深入的了解和研究?;赪eb方式是實現(xiàn)遠程監(jiān)控的一個趨勢。隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,Internet在過去得到了飛速地發(fā)展,并圍繞著Internet出現(xiàn)了許多新的技術(shù)和新的應(yīng)用。WWW系統(tǒng)就是在這種形勢下,作為網(wǎng)絡(luò)化信息服務(wù)的基礎(chǔ)迅速地發(fā)展起來的。WWW是一個基于Internet的全球連接的、分布的、動態(tài)的、多平臺的交互式超媒體信息系統(tǒng)。它利用多種協(xié)議傳輸,能檢索分布在世界各地WWW服務(wù)器的信息資源。在基于Web的遠程監(jiān)控系統(tǒng)中,客戶端使用通用的Web瀏覽器,通過Internet對生產(chǎn)現(xiàn)場進行監(jiān)控。這種方案具有顯著的優(yōu)點:Internet技術(shù)發(fā)展至今,在開放性、通用性、易用性和安全性方面都具備了成熟可靠的技術(shù)。不需要開發(fā)專門的客戶端軟件,將應(yīng)用程序集中在服務(wù)器上,大大減少了客戶端開發(fā)的工作量,而且易于擴充和修改。系統(tǒng)具有統(tǒng)一的用戶界面,用戶不再需要為不同的控制系統(tǒng)安裝不同的客戶軟件,也不再需要針對不同的客戶軟件進行不同的培訓(xùn),任何得到授權(quán)的用戶都可以使用Web瀏覽器來對現(xiàn)場進行實時監(jiān)控。控制網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)的信息得以集成,有利于信息管理[4]。1.4論文研究意義目前主流的嵌入式遠程監(jiān)控系統(tǒng)一般都需要專門的嵌入式處理器與嵌入式實時操作系統(tǒng)的支持下完成的,要求的處理器也較高端如常見的ARM微處理器以及LINUX實時操作系統(tǒng)。而本文實現(xiàn)的嵌入式遠程監(jiān)控系統(tǒng)則不需要另外的操作系統(tǒng)的支持,而且使用普通的51單片機芯片作為處理器中央處理器,硬件上就節(jié)約了很大的成本。由于W5100內(nèi)部集成了全硬件的、且經(jīng)過多年市場驗證的TCP/IP協(xié)議棧、以太網(wǎng)傳輸層(MAC)和物理層(PHY)。硬件TCP/IP協(xié)議棧支持TCP,UDP,IPV4,ICMP,ARP,IGMP和PPPOE,這些協(xié)議已經(jīng)在市場上好多領(lǐng)域經(jīng)過了多年的驗證。因此它可以不需要考慮以太網(wǎng)的控制而只需要進行簡單的端口(SOCKET)編程就可以實現(xiàn)接入網(wǎng)絡(luò)的功能,實現(xiàn)沒有操作系統(tǒng)的INTERNET連接[5]。監(jiān)控系統(tǒng)硬件實現(xiàn)本文設(shè)計的遠程監(jiān)控系統(tǒng)分為系統(tǒng)管理模塊MCU,系統(tǒng)通信模塊W5100,系統(tǒng)現(xiàn)場監(jiān)控模塊即數(shù)據(jù)采集模塊及顯示模塊,先由現(xiàn)場數(shù)據(jù)采集模塊(溫度檢測)接收現(xiàn)場信息然后發(fā)送到MCU,再通過W5100芯片傳送到INTERNET上去??蛻舳司涂梢杂肐E瀏覽器訪問到這些數(shù)據(jù)。本系統(tǒng)的硬件架構(gòu)如下圖2-1所示:遠程控制端遠程控制端因特網(wǎng)瀏覽器RJ45W5100MCU溫度傳感器因特網(wǎng)瀏覽器RJ45W5100MCU溫度傳感器圖2-1:系統(tǒng)架構(gòu)圖其中,RJ45接口是帶有網(wǎng)絡(luò)變壓器的物理層接口。在W5100中,通過將SEN引腳經(jīng)10KΩ電阻上拉到高電平以使能其處于SPI從模式。CS為片選,MISO和MOSI為兩條數(shù)據(jù)傳輸線,用于數(shù)據(jù)的傳輸與接收。W5100的SPI工作時鐘由處于主模式AT89S52提供。此外,為了方便AT89S52判斷W5100的工作狀態(tài),必須將W5100的中斷引腳INT與AT89S52的外部中斷線相連接。W5100的第5、6、8和9引腳是PHY信號線,用于與RJ45接口相連接。除電源相關(guān)引腳外,W5100的其它引腳可以選擇置空,總的說來,系統(tǒng)連接簡單,極大減小了電路板的復(fù)雜度與連接出錯率[6]。系統(tǒng)中沒有外加的TCP/IP協(xié)議程序,TCP/IP協(xié)議棧由W5100來支持,它集TCP/IP協(xié)議棧、以太網(wǎng)MAC和PHY為一體,其內(nèi)部16KB的發(fā)送/接收緩沖區(qū)可快速進行數(shù)據(jù)交換,最大通信速率達到25Mbps;內(nèi)嵌10BaseT/100BaseTX以太網(wǎng)物理層,支持自動應(yīng)答;提供多種總線接口方式,可以很方便地與各種MCU連接,簡化了硬件電路設(shè)計,使嵌入式系統(tǒng)在沒有操作系統(tǒng)的支持下,真正實現(xiàn)單芯片接入因特網(wǎng)的理想。為減少PCB板面積和布線復(fù)雜性,考慮到系統(tǒng)的數(shù)據(jù)傳輸率要求不高,選擇SPI接口作為AT89S52和W5100的連接方式。AT89S52、W5100和RJ45接口構(gòu)成一個典型的嵌入式Web服務(wù)器,實現(xiàn)簡單,成本低廉[7]。下面從各個部分介紹本系統(tǒng)的具體情況。2.151單片機管理模塊本文使用的是AT89S52芯片。AT89S52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機。片內(nèi)含4KBYTES的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央器(CPU)和Flash存儲單元,功能強大AT89S52單片機可為你提供許多高性價比的應(yīng)用場合,可靈活運用于各種控制領(lǐng)域。它的主要性能特點包括:與MCS—51單口指令系統(tǒng)完全兼容。4K字節(jié)可重擦寫Flash閃存儲器。1000次擦寫周期。全靜態(tài)操作:0~24MHz。三級加密程序存儲器。128*8字節(jié)內(nèi)部RAM。4個8位可編程I/O端口。2個16位定時/計時器。6個中斷源。可編程串行UART通道。低功耗空閑掉電模式[12]。2.2網(wǎng)絡(luò)芯片W5100圖2-2:W5100實物W5100內(nèi)部集成以太網(wǎng)物理層RTL8201CP核、全硬件且經(jīng)過多年市場驗證的TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)訪問層(MAC)和物理層(PHY)為一體。W5100的硬件TCP/IP協(xié)議棧支持TCP、UDP、CMP、IGMP、IPv4、ARP、PPPOE、Ethernet等網(wǎng)絡(luò)協(xié)議;支持4個獨立的Socket通信,內(nèi)部還集成有16K字節(jié)的發(fā)送/接收緩沖區(qū)可快速進行數(shù)據(jù)交換,最大通信速率達到25Mbps;提供多種總線(兩種并行總線和SPI總線)接口方式,使用W5100不需要考慮以太網(wǎng)的控制,只需進行簡單的端口(Socket)編程就可以很方便地與各種單片機連接。2.2.1W5100特點1)支持硬件化TCP/IP協(xié)議:TCP、UDP、ICMP、IGMP、PPPOE、以太網(wǎng)。2)內(nèi)嵌10BaseT/100BaseTX以太網(wǎng)物理層。3)支持自動通信握手(全雙工和半雙工)。4)支持自動MDI/MDIX,自動校正信號極性。5)支持ADSL連接(支持PPPOE協(xié)議中的PAP/CHAP認證模式)。6)支持4個獨立端口同時運行。7)不支持IP的分片處理。8)內(nèi)部16KB存儲器用于數(shù)據(jù)發(fā)送/接受緩存。9)0.18umCMOS工藝。10)3V工作電壓,I/O口可承受5V電壓。11)80腳LQFP小型封裝。12)環(huán)保無鉛封裝。13)支持SPI模式0、3接口。14)多功能LED信號輸出(TX、RX、全雙工/半雙工、地址沖突、連接、速度等)。2.2.2W5100引腳圖2-3W5100引腳MCU接口信號列表:表2-1:MCU接口信號表2-1:MCU接口信號以太網(wǎng)接口信號:表2表2-2:以太網(wǎng)接口信號表2-3:其它接口信號其它接口信號表2-3:其它接口信號表2-4:電源接口信號電源接口信號表2-4:電源接口信號時鐘接口信號:表2表2-5:時鐘接口信號LED信號:表2表2-6:LED信號2.2.3W5100存儲器映像W5100內(nèi)含公共寄存器,端口寄存器,發(fā)送存儲器以及接收存儲器,如下圖所示:圖2-4:W5100存儲器映像2.2.4W5100寄存器公共寄存器:公共寄存器保存的是各個端口(Socket)都通用的參數(shù)如:網(wǎng)關(guān),本機IP和本機物理地址等。MR(模式寄存器):該寄存器用于軟件復(fù)位、Ping關(guān)閉模式、PPPOE模式以及間接總線接口。GWR(網(wǎng)關(guān)IP地址寄存器):該寄存器設(shè)置默認網(wǎng)關(guān)。SUBR(子網(wǎng)掩碼寄存器):該寄存器用來設(shè)置子網(wǎng)掩碼(Subnetmask)值。SHAR(本機物理地址寄存器):該寄存器用來設(shè)置物理地址。SIPR(本機IP地址寄存器):該寄存器用來設(shè)置本機IP地址。IR(中斷寄存器):CPU通過訪問該寄存器獲得產(chǎn)生中斷的來源。任何中斷都可以被中斷屏蔽寄存器(IMR)中的位屏蔽。當(dāng)任何一個未屏蔽中斷位為“1”,INT的信號保持低電平。只有當(dāng)所有未屏蔽的中斷位為0時,INT才恢復(fù)高電平??僧a(chǎn)生中斷的原因包括:IP地址沖突(CONFLICT),目標(biāo)IP地址不可達(UNREACH),PPPOE連接關(guān)閉,端口0~3中其中一個中斷(SnIMR(中斷屏蔽寄存器):對應(yīng)IR中斷的屏蔽,當(dāng)對應(yīng)位為“0”RTR(重發(fā)時間寄存器):該寄存器用來設(shè)置溢出的時間值。每單位100微秒。RCR(重發(fā)計數(shù)寄存器):該寄存器的數(shù)值設(shè)定可重發(fā)的次數(shù)。若重發(fā)次數(shù)超過設(shè)定值則產(chǎn)生超時。RMSR(接收存儲器空間大小寄存器):該寄存器配置4個Socket端口的接收緩存大小,默認值為0x55,即每個端口2K緩存。TMSR(發(fā)送存儲空間大小寄存器):該寄存器配置4個Socket端口的發(fā)送緩存大小,默認值為0x55,即每個端口2K緩存。PATR(PPPOE模式下的認證類型):在與PPPOE服務(wù)器連接時,改寄存器指示已經(jīng)被通過的安全認證方法。W5100支持PAP和CHAP。PTIMER(PPPLCP請求計時寄存器):該寄存器表示發(fā)出LCPEcho所需要的時間間隔。每單位約25ms。PMAGIC(PPPLCP模數(shù)寄存器):該寄存器用于LCP握手時采用的模數(shù)選項。UIPR(不可到達的IP地址寄存器):不可到達的IP地址寄存器。UPORT(不可到達的端口號寄存器):不可到達的端口號寄存器[11]。2.2.5W5100與MCU的連接方式W5100與MCU的連接方式主要有直接總線連接、間接總線連接、SPI總線連接這三種連接方法,不同的連接方法適應(yīng)于不同的場合,應(yīng)該按需選擇最恰當(dāng)?shù)倪B接方式。直接總線連接:直接總線連接方式是最直觀的一種連接方式,它采用15位地址線,8位數(shù)據(jù)線,另加/CS,/RD,/WR及/INT等信號線。如圖2-5所示:圖2-5:W5100與MCU直接總線接口方式間接總線連接:采用2位地址線,8位數(shù)據(jù)線,另加/CS,/RD,/WR及/INT等信號線。2~14這十三根沒用到的地址線通過電阻接地。如圖2-6所示:圖2-6:W5100與MCU間接總線接口方式間接總線接口相關(guān)的寄存器說明如表2-7所示:表2-7:間接總線接口相關(guān)寄存器表2-7:間接總線接口相關(guān)寄存器數(shù)值符號說明0x00MR它選擇間接總線接口,以及地址自動增加。0x010x02IDM_AR0IDM_AR1間接總線模式下的地址寄存器,只在大端模式(Big-endian)下使用。0X010X02IDM_AR0:MSBIDM_AR1:LSB例:讀取端口0的命令寄存器SO_CR(0X0401),則0x01(IDM_AR0)0x02(IDM_AR1)0X040X010x03IDM_DR間接總線接口模式下的數(shù)據(jù)寄存器讀/寫內(nèi)部寄存器或存儲器的過程:將要讀寫的地址寫入到IDM_AR0和IDM_AR1寄存器再從IDM_DR寄存器讀寫數(shù)據(jù)如果要對某個地址的順序讀寫,則可以將模式寄存器MR的AI置“1”,然后執(zhí)行一次上述第1項后,再讀IDM_DR,IDM_AR的值將自動加1。這樣,只需要連續(xù)對IDM_DR讀寫,數(shù)據(jù)就可以連續(xù)地讀出或?qū)懭?。MCU與W5100以間接總線方式接口時應(yīng)注意:W5100的SEN引腳必須通過一個10K的電阻接地,選擇W5100的總線接口方式。W5100的SCLK、SCS、MOSI和MISO四根信號線可以懸空,只使用D0~D7,A0/A1及CS,WR,RD,A2~A14短路連接后通過一個10K的電阻接地。W5100的INT引腳是中斷輸出,MCU需要根據(jù)該信號來判斷W5100的工作狀態(tài)。LINKLED是W5100輸出的以太網(wǎng)物理層的信號,MCU需要根據(jù)該信號判斷以太網(wǎng)的聯(lián)接是否正常。該信號一般需要上拉輸入到MCU。

W5100的SPDLED,F(xiàn)DXLED,COLLED可以根據(jù)需要選擇是否需要輸入到MCU[8]。SPI總線接口方式:串行接口模式只需要4個引腳進行數(shù)據(jù)通信。這4個引腳的定義分別為:SCLK,/SS,MOSI,MISO。利用W5100的SPI_EN引腳選擇SPI操作。如圖2-7所示:圖2-7:W5100與MCU的SPI連接方式MCU與W5100以SPI方式連接時應(yīng)注意:W5100的SEN引腳必須通過一個10K的電阻接到高電平,選擇W5100的SPI接口方式。W5100的D0~D7,A0~A14及CS,WR,RD可以懸空,只使用SCLK,SCS,MOSI和MISO四根信號線。W5100的INT引腳是中斷輸出,MCU需要根據(jù)該信號來判斷W5100的工作狀態(tài)。LINKLED是W5100輸出的以太網(wǎng)物理層的信號,MCU需要根據(jù)該信號判斷以太網(wǎng)的聯(lián)接是否正常。該信號一般需要上拉輸入到MCU。W5100的SPDLED,F(xiàn)DXLED,COLLED可以根據(jù)需要選擇是否需要輸入到MCU[2]。遠程監(jiān)控系統(tǒng)程序設(shè)計與實現(xiàn)本章主要介紹系統(tǒng)的軟件部分的實現(xiàn)方法,包括W5100的編程實驗TCP傳輸與MCU的編程實現(xiàn)數(shù)據(jù)處理,下面先分開來介紹各個程序的實現(xiàn)方法。3.1W5100程序部分通過設(shè)置寄存器與存儲器,就可以把W5100與INTERNET連接起來進行數(shù)據(jù)通信,下面將一步步地介紹設(shè)置寄存器與存儲器的方法。3.1.1W5100的初始化利用W5100進行數(shù)據(jù)通信前必須先要對它進行初始化,。其初始化包括以下部分:模式寄存器(MR)。中斷屏蔽寄存器(IMR)。重發(fā)時間寄存器(RTR)。重發(fā)計數(shù)寄存器(RCR)。網(wǎng)關(guān)地址寄存器(GAR)。本機物理地址寄存器(SHAR)。子網(wǎng)掩碼寄存器(SUBR)。本機IP地址寄存器(SIPR)。端口發(fā)送/接收存儲器分配信息(RMSR/TMSR)[10]。初始化程序流程如圖3-1所示:基本設(shè)置基本設(shè)置重發(fā)計數(shù)寄存器(RCR)中斷屏蔽寄存器(IMR)模式寄存器(MR)重發(fā)時間寄存器(RTR)重發(fā)計數(shù)寄存器(RCR)中斷屏蔽寄存器(IMR)模式寄存器(MR)重發(fā)時間寄存器(RTR) 本機物理地址寄存器(SHAR)網(wǎng)關(guān)地址寄存器(GAR)子網(wǎng)掩碼寄存器(SUBR)本機IP地址寄存器(SIPR)設(shè)置網(wǎng)絡(luò)信息本機物理地址寄存器(SHAR)網(wǎng)關(guān)地址寄存器(GAR)子網(wǎng)掩碼寄存器(SUBR)本機IP地址寄存器(SIPR)設(shè)置網(wǎng)絡(luò)信息設(shè)置端口存儲器信息設(shè)置端口存儲器信息圖3-1:W5100初始化流程圖W5100初始化與W5100的Socket初始化兩個C語言程序見目錄,此程序在單片機的C語言編譯器上都可以編譯通過。3.1.2W5100實現(xiàn)TCP通信TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運輸層(Transportlayer)通信協(xié)議,由IETF的RFC793說明(specified)。在簡化的計算機網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能。TCP是因特網(wǎng)中的傳輸層協(xié)議,使用三次握手協(xié)議建立連接。當(dāng)主動方發(fā)出SYN連接請求后,等待對方回答SYN,ACK。這種建立連接的方法可以防止產(chǎn)生錯誤的連接,TCP使用的流量控制協(xié)議是可變大小的滑動窗口協(xié)議。第一次握手:建立連接時,客戶端發(fā)送SYN包(SEQ=x)到服務(wù)器,并進入SYN_SEND狀態(tài),等待服務(wù)器確認。第二次握手:服務(wù)器收到SYN包,必須確認客戶的SYN(ACK=x+1),同時自己也送一個SYN包(SEQ=y),即SYN+ACK包,此時服務(wù)器進入SYN_RECV狀態(tài)。第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ACK=y+1),此包發(fā)送完畢,客戶端和服務(wù)器時入Established狀態(tài),完成三次握手[10]。TCP是以連接為基礎(chǔ)的通信方式,它必須首先建立連接,然后利用連接的IP地址和端口號進行數(shù)據(jù)傳輸。TCP有兩種連接方式:一種是服務(wù)器模式(被動開啟),即等待接收連接請求以建立連接;另一種是客戶端模式(主動開啟),即發(fā)送連接請求到服務(wù)器,圖3-2是W5100實現(xiàn)TCP通信的示意圖:圖3-2:W5100實現(xiàn)TCP通信服務(wù)器模式(SERVERMODE):采用此模式時,首先要進行端口初始化,初始化一個端口需要設(shè)置運行模式和端口號,并在端口命令寄存器打開端口。端口初始化涉及到以下寄存器:端口n模式寄存器Sn_MR本機端口n的端口號Sn_PORT端口n命令寄存器Sn_CR工作在服務(wù)器模式下的端口要偵聽是否有連接請求,若有則建立連接準(zhǔn)備收發(fā)數(shù)據(jù)。收發(fā)完數(shù)據(jù)后還要斷開連接。過程流程如圖3-3所示:偵聽偵聽打開端口建立連接成功?斷開連接程序接收程序發(fā)送數(shù)據(jù)程序超時?關(guān)閉端口?超時?要斷開連接?收到完成信號?發(fā)送數(shù)?收到數(shù)?關(guān)閉端口NNNYYYYNNNNNYYY圖3-3TCP數(shù)據(jù)服務(wù)器模式傳輸示意圖工作在服務(wù)器模式的程序?qū)崿F(xiàn)方法如附錄2所示。二、客戶端模式(client)客戶端模式下的端口要主動發(fā)起連接請求,若成功建立連接則準(zhǔn)備收發(fā)數(shù)據(jù)。收發(fā)完數(shù)據(jù)后還要斷開連接。過程流程如圖3-4所示:建立連接建立連接開端口 建立成功?接收程序關(guān)閉連接程序發(fā)送程序超時?超時?要關(guān)閉端口?超時?最后的ACK?發(fā)送數(shù)據(jù)?收到數(shù)據(jù)?關(guān)閉端口YNNNNNYYYYYYYNNN圖3-4:TCP數(shù)據(jù)傳輸示意圖(客戶端模式)要斷開鏈接?NNTCP工作在客戶端時需要首先進行端口初始化。初始化一個端口需要設(shè)置運行模式和端口號,并在端口命令寄存器打開端口,以下寄存器端口需初始化:端口n模式寄存器(Sn_MR),本機端口n的端口號(Sn_PORT),端口n命令寄存器(Sn_CR)。將端口n初始化為TCP模式的具體程序可以參考上面服務(wù)器模式中的初始化程序[11]。W5100實現(xiàn)UDP數(shù)據(jù)通信UDP(UserDatagramProtocol),即用戶數(shù)據(jù)報協(xié)議,是OSI參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議。UDP是一種不可靠的、無連接的數(shù)據(jù)傳輸方式。它不需要建立就可以進行數(shù)據(jù)傳輸,因此UDP的數(shù)據(jù)可能丟失,覆蓋或翻轉(zhuǎn)。由于數(shù)據(jù)包傳輸?shù)乃俣瓤赡茌^快,接收方可能無法及時處理數(shù)據(jù)包,因此,用戶在應(yīng)用層必須確保數(shù)據(jù)傳輸?shù)目煽啃?。UDP傳輸數(shù)據(jù)過程流程如圖3-5所示:開端口 開端口 接收程序發(fā)送程序超時?要關(guān)閉端口?最后的ACK?發(fā)送數(shù)據(jù)?收到數(shù)據(jù)?關(guān)閉端口YNNYYYYNN圖3-5:UDP數(shù)據(jù)傳輸流程圖主體程序下面介紹主體程序的設(shè)計方法。主體程序中首先初始化AT89S52和W5100,配置W5100的工作模式,啟動溫度傳感器,配置W5100工作于TCP服務(wù)器模式,主程序的流程圖如圖3-6所示:開始開始

NYNYSocket端口接收數(shù)據(jù)處理W5100產(chǎn)生的外部中斷初始化STC89C51初始化W5100W5100觸及AT89S52的外部中斷NYNYSocket端口接收數(shù)據(jù)處理W5100產(chǎn)生的外部中斷初始化STC89C51初始化W5100W5100觸及AT89S52的外部中斷處理收到的數(shù)據(jù)庫處理收到的數(shù)據(jù)庫圖3-6:主體程序流程圖為了能夠得到實時的數(shù)據(jù),因此接下來的程序操作是一個無限循環(huán)體,程序開始不斷檢查外部中斷狀態(tài)標(biāo)志和Socket接收數(shù)據(jù)狀態(tài)標(biāo)志是否改變,同時開始處理A/D轉(zhuǎn)換的數(shù)據(jù),以保證服務(wù)器在產(chǎn)生網(wǎng)頁時能得到當(dāng)前的各種最新數(shù)據(jù)[8]。一旦W5100的Socket端口有中斷事件產(chǎn)生時,W5100將通過其中斷引腳INT觸發(fā)AT89S52的外部中斷,使AT89S52進入外部中斷處理函數(shù)改變外部中斷狀態(tài)標(biāo)志,程序接著進入處理W5100中斷事件函數(shù),在此函數(shù)中,AT89S52通過訪問W5100的中斷寄存器(IR)和端口0中斷寄存器(S0_IR)判斷出W5100的端口0產(chǎn)生何種中斷事件,若Socket接收到數(shù)據(jù),則改變外部中斷狀態(tài)標(biāo)志。程序檢測到外部中斷狀態(tài)標(biāo)志發(fā)生改變,立即進入處理接收數(shù)據(jù)函數(shù)[6]。第四章系統(tǒng)仿真由于硬件上的制約,因此只能用由AT89S52與W5100組成的EVB-W5100/MCS51板來演示整個系統(tǒng)的可行性與實際應(yīng)用情況。圖5-1為EVB-W5100/MCS51實物圖:圖5-1EVB-W5100/MCS51實物圖EVB-W5100/MCS51板有如下特性:使用ATMEL公司的AT89S52單片機,可兼容絕大多數(shù)的MCS-51系列的單片機;RJ-45網(wǎng)絡(luò)輸出可直接連接以太網(wǎng)路由器或計算機(需交叉線連接);提供串行EEPROM存儲器,可保存網(wǎng)絡(luò)參數(shù);可以通過跳線設(shè)置默認的網(wǎng)絡(luò)參數(shù),避免參數(shù)設(shè)置錯誤而無法進行通信;提供一個標(biāo)準(zhǔn)的RS-232C異步通信的DB9接口;提供一個溫度傳感器,可檢測環(huán)境溫度;提供兩個LED指示燈,可進行遠程控制演示;提供完整的評估板原理圖和PCB封裝圖;提供完整的評估板MCS-51C語言的軟件源代碼,使用戶快速了解W5100的使用;提供計算機端的演示軟件,可使用戶了解TCP/IP協(xié)議架構(gòu),掌握W5100的使用方法;7.5v電源供電,內(nèi)部帶5v和3.3v穩(wěn)壓電源。EVB-W5100/MCS51內(nèi)部集成了溫度檢測器和兩個LED控制燈,因此可以把兩個LED看成是對現(xiàn)場需要控制的繼電器的輸入信號,而溫度模塊剛想象成檢測的是監(jiān)控現(xiàn)場的溫度。下面我們來進行。5.1EVB-W5100/MCS51與PC的連接EVB-W5100/MCS51與PC連接主要有以下兩個方案:串行口連接使用標(biāo)準(zhǔn)的RS-232電纜線連接EVB-W5100/MCS51與PC機。如下圖所示:圖5-2:EVB與PC串口通信連接可以通過DEMO板提供的演示軟件用串行口對DEMO板的以太網(wǎng)參數(shù)進行設(shè)置。設(shè)置的內(nèi)容包括:本機IP;網(wǎng)關(guān)IP;子網(wǎng)掩碼;Socket0的工作模式、端口號、目的IP地址、目的端口地址;Socket1的工件模式、端口號、目的IP地址、目的端口號。注意:初始化設(shè)置完成以后必須重新上電,新的參數(shù)才會生效。EVB-W5100/MCS51的網(wǎng)絡(luò)連接EVB-W5100/MCS51有兩種方法接入網(wǎng)絡(luò):直接連接;通過交換機連接??紤]到自身條件只能用直接連接這種方法。如下圖所示:圖5-3:EVB與PC網(wǎng)絡(luò)直接連接EVB-W5100/MCS51可以同時進行串行連接與網(wǎng)絡(luò)連接,這樣不會影響它們的正常使用。當(dāng)EVB-W5100/MCS51與PC正確連接后會在桌面右下角顯示本地連接已接上的字樣。5.2演示軟件測試EVB-W5100/MCS51與PC正確連接好后。然后就可以開始設(shè)置PC機的網(wǎng)絡(luò)參數(shù),包括IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)這三個參數(shù)的設(shè)置,可以按照自己的意愿正確設(shè)置并把它記下來。如設(shè)置的IP地址為:,子網(wǎng)掩碼為:,默認網(wǎng)關(guān)為:。然后打開DEMO演示軟件,打開的時候選擇“MCS-51評估板”,進入演示軟件界面。如下圖所示:圖5-4:演示軟件界面在“以太網(wǎng)通信參數(shù)”欄,出現(xiàn)了之前設(shè)定的各種網(wǎng)絡(luò)參數(shù)。而“狀態(tài)信息”欄顯示的是本機網(wǎng)絡(luò)參數(shù)信息以及一些幫助信息。如果此時還對網(wǎng)絡(luò)參數(shù)進行修改,則要退出程序然后給EVB-W5100/MCS51重新上電才能使修改的參考有效。5.3演示總結(jié)通過DEMO演示軟件可以總結(jié)出以下幾點:可以通過本地PC控制EVB-W5100/MCS51板上的LED亮滅情況,并且可以隨時地讀取LED燈的以光情況,如果LED燈換作需要控制的繼電器即是可以通過網(wǎng)絡(luò)控制遠程的繼電器的工作。從演示軟件中可以讀取EVB-W5100/MCS51板上的溫度參數(shù),并隨著EVB-W5100/MCS51板上的溫度的變化而變化,起到監(jiān)控現(xiàn)場溫度的作用。第五章結(jié)論本文的主要內(nèi)容是設(shè)計了一個簡單、方便、功耗低的嵌入式系統(tǒng)與嵌入式服務(wù)器。硬件上采用的是市場上普遍使用的價格低廉的AT89S52單片機和新型的W5100網(wǎng)絡(luò)控制芯片,以單片機為控制中心實現(xiàn)數(shù)據(jù)的處理,用W5100作為連接因特網(wǎng)的接口實現(xiàn)網(wǎng)絡(luò)通信。實現(xiàn)方法簡單,材料準(zhǔn)備也較為方便,是架設(shè)一個簡便嵌入式WEB服務(wù)器的較好方法之一。通過本系統(tǒng)的設(shè)計我進一步地熟悉了TCP/IP協(xié)議的工作原理,同時也學(xué)會了W5100的使用方法。對于51MCU的嵌入式系統(tǒng)設(shè)計也有了更深的認為,加強了實際動手能力。由于設(shè)計時間的短促與現(xiàn)實條件的因素,整個系統(tǒng)完成過程中還是存在不少的不盡人意的地方,但是通過論文的完成過程中學(xué)到了很多的知識,如嵌入式系統(tǒng)的基本構(gòu)造、W5100的功能以及其基本使用方法并且進一步地熟悉了51單片機。對程序中應(yīng)用到的軟件如protel,KeilC51等也有了更大的了解與掌握。本系統(tǒng)也存在著一些明顯的缺點,如實時性差,安全性低,這是由于51單片機的性能限制而不可避免的。我認為以后的嵌入式遠程監(jiān)控系統(tǒng)的發(fā)展方向應(yīng)如下所說:實時性更高。隨著遠程監(jiān)控應(yīng)用越來越廣泛,對其響應(yīng)的實時性要求也會相應(yīng)地提高。特別是對于基于Internet的遠程監(jiān)控系統(tǒng)還要考慮到網(wǎng)絡(luò)的通斷情況所以必須要想辦法提高系統(tǒng)的響應(yīng)速度。安全性更重要。網(wǎng)絡(luò)安全由網(wǎng)絡(luò)出現(xiàn)的第一天起就已經(jīng)存在,要保證監(jiān)控系統(tǒng)的正常可靠運行就要想辦法提高網(wǎng)絡(luò)傳輸?shù)陌踩煽啃?。隨著嵌入式系統(tǒng)的廣泛應(yīng)用,遠程監(jiān)控系統(tǒng)也必定會飛速發(fā)展,基于Internet的嵌入式系統(tǒng)將會為人類的幸福生活做出更大的貢獻。參考文獻YANGS、CHENX、ALTYJL,DesignissuesandimplementationofInternet-basedprocesscontrol、ControlEngineeringPractice,2003.陳飛,基于WEB的遠程監(jiān)控系統(tǒng)的研究與實現(xiàn)(碩士學(xué)位論文),新疆:新疆大學(xué)控制理論與控制工程,2007.6.ARM嵌入式系統(tǒng)開發(fā),北京:北京航天航空大學(xué)出版社,2005.趙海,嵌入式INTERNET21世紀的一場信息技術(shù)革命,北京:清華大學(xué)出版社,2001.王勇、姚亦峰、蔣興浩等,嵌入式系統(tǒng)接入INTERNET的技術(shù)研究,計算機工程與應(yīng)用,2002(4).李磊、楊柏林、胡維華,嵌入式WEB服務(wù)器軟件的設(shè)計和實現(xiàn),計算機工程與設(shè)計,2003(4).寇向暉,基于INTERNET的遠程控制系統(tǒng)的設(shè)計(碩士學(xué)位論文),四川:西南石油大學(xué)計算機應(yīng)用,2006.王淑娟基于WEB的遠程控制(碩士學(xué)位論文),武漢:武漢理工大學(xué),2004.王向磊、楊大全、超文本傳輸協(xié)議HTTP探討,沈陽工業(yè)學(xué)院學(xué)報,1998:17.姜書浩,嵌入式WEB服務(wù)器-精簡TCP/IP協(xié)議棧的設(shè)計與實現(xiàn)(碩士學(xué)位論文),天津:天津師范大學(xué),2005.W5100數(shù)據(jù)手冊Version1.1.5.http://www.wiznet.co.kr/cn/data/W5100-v1.1.6.pdf.ST89S52數(shù)據(jù)手冊,/88889/26568.pdf.致謝本次論文的完成過程中,吳筠老師與陳曼娜老師給予了我很大的支持與鼓勵,至此至終有什么問題或者什么需要幫忙的地方都可以從她們那里得到充足的資源和足夠的協(xié)助,特別是她們向我推薦了論文過程中該看什么書,還有該怎樣入手去實現(xiàn)整個系統(tǒng)。正由于她們的無私幫助才使得我得以順利完成論文制作。與此同時我還要感謝學(xué)校為我們完成實驗提供了充足的硬件條件,開放實驗室讓我可以進行相關(guān)的實驗操作,還有實驗室的各位老師們也向我伸出過援助之手,在這里再一次地向你們說,謝謝!附錄附錄1W5100初始化程序/* W5100初始化函數(shù)*/voidW5100_Init(void){ unsignedchar*ptr; unsignedchari; ptr=(unsignedchar*)W5100_MODE; /*軟復(fù)位W5100*/ *ptr=MODE_RST; delay(100); /*延時100ms,自己定義該函數(shù)*/ /*設(shè)置網(wǎng)關(guān)(Gateway)的IP地址,4字節(jié)*/ ptr=(unsignedchar*)W5100_GAR; for(i=0;i<4;i++) { *ptr=Gateway_IP[i];/*Gateway_IP為4字節(jié)unsignedchar數(shù)組,自定義*/ ptr++; } /*設(shè)置子網(wǎng)掩碼(MASK)值,4字節(jié)。子網(wǎng)掩碼用于子網(wǎng)運算*/ ptr=(unsignedchar*)W5100_SUBR; for(i=0;i<4;i++) { *ptr=SUB_MASK[i]; /*SUB_MASK為4字節(jié)unsignedchar數(shù)組,自定義*/ ptr++; } /*設(shè)置物理地址,6字節(jié),用于唯一標(biāo)識網(wǎng)絡(luò)設(shè)備的物理地址值 該地址值需要到IEEE申請,按照OUI的規(guī)定,前3個字節(jié)為廠商代碼,后三個字節(jié)為產(chǎn)品序號 如果自己定義物理地址,注意第一個字節(jié)必須為偶數(shù)*/ ptr=(unsignedchar*)W5100_SHAR; for(i=0;i<6;i++) { *ptr=PHY_ADDR[i]; /*PHY_ADDR6字節(jié)unsignedchar數(shù)組,自己定義*/ ptr++; } /*設(shè)置本機的IP地址,4個字節(jié) 注意,網(wǎng)關(guān)IP必須與本機IP屬于同一個子網(wǎng),否則本機將無法找到網(wǎng)關(guān)*/ ptr=(unsignedchar*)W5100_SIPR; /*SetsourceIPaddress*/ for(i=0;i<4;i++) { *ptr=IP_ADDR[i]; /*IP_ADDR為4字節(jié)unsignedchar數(shù)組,自己定義*/ ptr++; } /*設(shè)置發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小,參考W5100數(shù)據(jù)手冊*/ ptr=(unsignedchar*)W5100_RMSR; /*SocketRxmemorysize=2k*/ *ptr=0x55; ptr=(unsignedchar*)W5100_TMSR; /*SocketTxmemprysize=2k*/ *ptr=0x55; /*啟動中斷,參考W5100數(shù)據(jù)手冊確定自己需要的中斷類型 IMR_CONFLICT是IP地址沖突異常中斷 IMR_UNREACH是UDP通信時,地址無法到達的異常中斷 其它是Socket事件中斷,根據(jù)需要添加*/ ptr=(unsignedchar*)W5100_IMR;*ptr=(IMR_CONFLICT|IMR_UNREACH|IMR_S0_INT|IMR_S1_INT|IMR_S2_INT|IMR_S3_INT);}/******************************************************************************//Socket處理,其它3個Socket的處理可參照此程序//***************************************************************************** Socket初始化如果成功則返回true,否則返回false*/unsignedcharSocket_Init(SOCKETs){ unsignedchar*ptr; unsignedchari; ptr=(unsignedchar*)(W5100_S0_MR+s*0x100); *ptr=S_MR_TCP; /*設(shè)置socket0為TCP模式*/ ptr=(unsignedchar*)(W5100_S0_CR+s*0x100); *ptr=S_CR_OPEN; /*打開socket0*/ ptr=(unsignedchar*)(W5100_S0_SSR+s*0x100); if(*ptr!=S_SSR_INIT) { ptr=(unsignedchar*)(W5100_S0_CR+s*0x100); /*打開不成功,關(guān)閉Socket,然后返回*/ *ptr=S_CR_CLOSE; returnfalse; } /*檢查網(wǎng)關(guān)及獲取網(wǎng)關(guān)的物理地址*/ ptr=(unsignedchar*)(W5100_S0_DIPR+s*0x100); for(i=0;i<4;i++) { *ptr=IP_ADDR[i]+1; /*向目的地址寄存器寫入與本機IP不同的IP值*/ ptr++; } ptr=(unsignedchar*)(W5100_S0_CR+s*0x100); *ptr=S_CR_CONNECT; /*打開socket0的TCP連接*/ delay(20); /*延時20ms,自己定義該函數(shù),該時間長短可以根據(jù)需要調(diào)整*/ ptr=(unsignedchar*)(W5100_S0_DHAR+s*0x100); /*讀取目的主機的物理地址,該地址就是網(wǎng)關(guān)地址*/ for(i=0;i<6;i++) { GATEWAY_PHY[i]=*ptr; /*GATEWAY_PHY為6字節(jié)unsignedchar數(shù)組,自己定義*/ ptr++; } ptr=(unsignedchar*)(W5100_S0_CR+s*0x100); *ptr=S_CR_CLOSE; /*關(guān)閉socket0*/ if(GATEWAY_PHY[0]==0xff) { /**********沒有找到網(wǎng)關(guān)服務(wù)器,或沒有與網(wǎng)關(guān)服務(wù)器成功連接***********/ /*******自己添加處理代碼***********/ } /*設(shè)置分片長度,參考W5100數(shù)據(jù)手冊,該值可以不修改*/ ptr=(unsignedchar*)(W5100_S0_MSS+s*0x100); /*最大分片字節(jié)數(shù)=1460*/ *ptr=0x05; ptr++; *ptr=0xb4; returntrue;}[12]附錄2W5100服務(wù)器模式程序/*將端口n初始化為TCP模式*/{START:Sn_MR=0x01;Sn_PORT=source_port;Sn_CR=OPEN;if(Sn_SR!=SOCK_INIT)Sn_CR=CLOSE;gotoSTART;}/*設(shè)置端口n為偵聽模式*/{Sn_CR=LISTEN;if(Sn_SR!=SOCK_LISTEN)Sn_CR=CLOSE;gotoSTART;}/*判斷是否連接成功*/{If(Sn_SR==SOCK_ESTABLISHED)gotoESTABLISHEDstage;}/*判斷是否收到數(shù)據(jù)*/{if(Sn_RX_RSR!=0x0000)gotoReceivingProcessstage;}/*數(shù)據(jù)讀取過程如下*/{get_size=Sn_RX_RSR;get_offset=Sn_RX_RD&gSn_RX_MASK;get_start_address=gSn_RX_BASE+get_offset;if((get_offset+get_size)>(gSn_RX_MASK+1)){upper_size=(gSn_RX_MASK+1)–get_offset;memcpy(get_start_address,destination_addr,upper_size);destination_addr+=upper_size;left_size=get_size–upper_size;memcpy(gSn_RX_BASE,destination_addr,left_size);}else{memcpy(get_start_address,destination_addr,get_size);}Sn_RX_RD+=get_size;Sn_CR=RECV;}/*數(shù)據(jù)發(fā)送過程如下*/{FREESIZE:get_free_size=Sn_TX_FSR;if(get_free_size<send_size)gotoFREESIZE;get_offset=Sn_TX_WR&gSn_TX_MASK;get_start_address=gSn_TX_BASE+get_offset;if((get_offset+send_size)>(gSn_TX_MASK+1)){upper_size=(gSn_TX_MASK+1)–get_offset;memcpy(source_addr,get_start_address,upper_size);source_addr+=upper_size;left_size=send_siz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論