乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      一種嵌入式Web服務器的設計方案

       WindySky 2016-08-03

      (2)系統(tǒng)的硬件設計方案

      LPC2132微控制器是所設計的嵌入式Web服務器的核心,一方面LPC2132微控制器內部要實現TCP/IP協議棧,并驅動網絡接口控制器ENC28J60,經耦合隔離變壓器H1102和以太網以實現Internet接入;另一方面,LPC2132微控制器又是相應控制系統(tǒng)的控制單元。

      由于以太網的廣泛使用,本文選擇了最為常用的Internet接入方式,即通過以太網接入Internet.由美國Microchip公司生產的以太網控制芯片ENC28J60是本設計所選擇的網絡接口控制器,它集成了介質訪問控制子層和物理層的功能,主要完成網絡接口層中數據幀的發(fā)送和接收。

      H1102是一款耦合隔離變壓器,用來對網絡上的脈沖進行轉換和濾波。H1102聯接RJ45接頭,可以直接接入以太網。

      串行電平轉換模塊選用了Maxim公司出品的MAXSP3232E芯片。該芯片內部含有倍增電路和轉換電路,只需+5V電源供電即可實現TTL電平到RS232C電平的轉換。RS232串口一方面是作為開發(fā)調試用的,一方面可以作為相應的通信應用。

      I/O口擴展包括系統(tǒng)的LED顯示電路、JTAG調試電路以及其他測試電路等。

      (3)系統(tǒng)的軟件設計方案

      Web服務器是在嵌入式TCP/IP協議棧的基礎上實現的一種應用程序。從系統(tǒng)軟件工作過程來看,可將系統(tǒng)分三部分:第一部分,以太網控制器驅動程序的實現;第二部分:嵌入式TCP/IP協議的實現,這部分內容在第一部分的基礎上,結合系統(tǒng)具體環(huán)境,對標準TCP/IP協議進行簡化并在ARM7單片機上進行移植;第三部分:應用層部分,通過嵌入式TCP/IP協議對用戶數據進行收發(fā)處理。這里是在應用層實現HTTP協議來完成Web服務器功能的。

      所以系統(tǒng)軟件設計部分主要包括了以太網控制器的驅動程序、嵌入式TCP/IP協議棧以及動態(tài)web網頁的實現等幾個模塊:

      1)以太網控制器驅動程序是指LPC2132微控制器對ENC28J60芯片的驅動、控制過程。

      2)在LPC2132微控制器內部嵌入TCP/IP協議棧是系統(tǒng)實現的關鍵,它主要包括了ARP,ICMP,IP,TCP和HTTP協議的設計與實現。

      3)動態(tài)網頁的實現。使用CGI技術,可以實現動態(tài)信息的交換,從而達到遠程監(jiān)視、控制的目的。

      軟件設計中的另一任務是確定開發(fā)語言。對于嵌入式系統(tǒng)來說,掌握匯編語言的編程是至關重要的,即使使用高級語言來進行編程,通過閱讀編譯出來的匯編代碼,也可以發(fā)現高級語言編程時需要優(yōu)化的地方,從而提高高級語言所編寫代碼的執(zhí)行效率。

      同時嵌入式系統(tǒng)的資源緊張,要合理利用資源,提高運行效率,關鍵部分、時間要求嚴格的部分還是需要使用匯編語言來完成。但匯編語言在代碼編寫和維護上效率較低,通用性不強,在復雜的項目上還是選用高級語言比較合理。在本設計中,采用匯編語言編寫ARM7內核的啟動代碼(boot loader),其它的程序采用C語言作為設計語言。它有很明顯的優(yōu)勢:C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,有豐富的庫函數、運算速度快,而且可以直接實現對系統(tǒng)硬件的控制,較匯編語言有更好的可讀性。

      3.嵌入式Web服務器設計的實現

      (1)主程序流程

      在主程序流程中,主要設計實現包括兩大部分:第一是對接收到的以太網數據幀進行解包:第二則是對要發(fā)送的數據進行封裝并發(fā)送。

      系統(tǒng)初始化模塊主要包括了LPC2I32微控制器的初始化、網絡接口芯片ENC28J60的初始化、TCP/IP協議棧中各標志的初始化等:

      ARP處理模塊主要完成接收ARP請求并發(fā)送ARP響應;ICMP處理模塊主要完成接收ICMP回顯請求并發(fā)送ICMP回顯響應;TCP數據處理模塊主要完成對TCP數據報及HTTP數據的處理。

      當程序運行時,首先對系統(tǒng)初始化,這時系統(tǒng)處于等待狀態(tài),直到有數據幀到達。ENC28J60接收完數據幀以后,首先去除幀頭,然后判斷該數據幀的報文是否為ARP包,若是,則進行ARP數據包處理,若不是,則檢查數據報頭,看IP數據包的報文是否為ICMP數據包,若是ICMP數據包,則轉到ICMP數據處理子程序。若不是ICMP數據包,就繼續(xù)進行判斷,看是否為TCP數據包,若為TCP數據包則轉入TCP數據處理子程序,若此時即不是ICMP數據包也不是TCP數據包,則將該包丟棄。

      子程序的設計是為了完成TCP/IP協議體系的每一層的功能的,TCP/IP協議的每一層都是相互聯系的,但也是相對獨立的,具體由下面7個部分實現:以太網驅動程序、以太網層程序、ARP協議處理程序、IP協議處理程序、ICMP協議處理程序、TCP協議處理程序、HTTP協議處理程序。

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多