《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 實時內核μC/OS-II下的網絡監控系統的設計

實時內核μC/OS-II下的網絡監控系統的設計

2008-08-05
作者:高長艷1,2, 鄭喜鳳1, 丁鐵

  摘 要: 介紹了一種嵌入于單片機的Web服務器的設計過程,給出了單片機控制下的網絡控制器RTL8019AS硬件平臺的設計、精簡的TCP/IP" title="TCP/IP">TCP/IP協議棧" title="協議棧">協議棧通過LAN訪問Internet的應用方案。同時簡明介紹了實時內核μC/OS-II" title="C/OS-II">C/OS-II對整個系統的管理方案,完成了對連接在系統I/O總線上的現有設備的監控。
  關鍵詞: Web服務器 單片機 μC/OS-II TCP/IP協議棧 動態IP配置


  隨著信息時代的到來,特別是互聯網的迅速普及,人們開始越來越多地接觸到一個新概念——嵌入式產品。將嵌入式系統" title="嵌入式系統">嵌入式系統接入Internet,不僅實現了設備的遠程控制、維護和升級,而且可實現資源共享。通過網絡對設備進行監控,一個外部界面是必不可少的,利用Web瀏覽器可使用戶通過網絡對遠程系統實現管理和更新,大大簡化了人機界面的設計。若在系統中嵌入實時操作系統,將使系統具有極強的可移植性,另外,硬件設備的添加與裁剪也具有極大的靈活性。采用DHCP協議動態獲得IP相關信息,使TCP/IP軟件不再依賴于存儲在芯片中的固定IP地址,這將為大型系統的安裝提供方便條件。
  本設計的關鍵是如何在內存資源有限的單片機系統上,利用實時內核μC/OS-II把信息變成可以在互聯網上傳輸的IP數據包,以便通過IE瀏覽器監控遠程設備的狀態。
1 網絡監控系統" title="網絡監控系統">網絡監控系統概述
  本設計采用Internet監控遠程設備,整個系統相當于一個網絡服務器??蛻舳送ㄟ^IE瀏覽器對該服務器進行訪問,實時地獲得設備的狀態信息,以便對設備進行控制和維護。這樣,就要求服務器提供WWW服務,即實現HTTP協議。它應被所有瀏覽器支持,以保證任何地方的用戶都可通過瀏覽器下達命令。在網絡接口上,本系統選擇以太網為其運行的網絡環境。圖1所示為HTTP設計模型。首先,客戶端的瀏覽器與Web服務器使用一個或多個TCP連接,通過80號端口進行通信,瀏覽器通過HTTP協議瀏覽事先存儲在EEROM中的控制網頁,通過該網頁傳遞控制命令到網絡服務器,然后服務器對命令進行解析,調用相應的函數以控制外部I/O設備。


  整個網絡監控系統包括硬件和軟件兩部分。在硬件部分嵌入了TCP/IP協議棧。因系統資源有限,在保持協議分層體系結構的前提下,應盡量精簡協議內容。根據網絡監控系統的原理,本系統實現了以下協議:DHCP、HTTP、TCP、IP、ICMP、ARP。
2 硬件平臺設計
  本設計采用以太網作為網絡的運行環境,在硬件上需要有網絡控制芯片。目前市面上有許多以太網絡控制芯片,但其大多數都耗電量高、功能復雜,不適合用于價格低廉的嵌入式系統中。在這里選用RTL8019AS[1],其好處是NE2000兼容、軟件移植性好、接口簡單、不需轉換芯片如PCI-ISA橋等。而單片機選擇89C55,它有20K的ROM,內部結構簡單,只要代碼能夠移植于它,就能較輕松地移植于其它架構的CPU,比如ARM等。圖2為硬件原理框圖。24C64用來存儲物理地址及設備的相關信息等;外部RAM為數據處理提供緩存。系統提供了RS232接口用來進行測試,提供了RJ45接口以便連接到以太網。


3 操作系統的選擇
  根據監控系統的特點,系統必須滿足實時性和并發性的要求,以便更好地支持TCP/IP運行時的調度,所以應用軟件應該基于嵌入式實時操作系統。適合于片上的實時操作系統比較多,但是代碼公開且適合移植于51系列單片機的卻很少,主要有μC/OS-II、RTX51、Small RTOS51等。實時內核μC/OS-II是專門為單片機嵌入式應用而設計的,圖3為嵌入式實時操作系統的內部結構圖。它主要采用標準的ANSI C語言寫成,與硬件有關的部分使用匯編語言編寫,以使操作系統能很方便地移植到其它的處理器??梢?,使用嵌入式操作系統時,應用軟件只與上層的代碼有關而與處理器無關,在進行軟件移植時僅需對與硬件相關的底層函數進行修改,因此這樣的應用軟件具有良好的可移植性和穩定的可靠性。在μC/OS-II下編寫TCP/IP協議,比傳統的前后臺系統要方便很多;用它分配內存緩沖區,使用前申請,使用后釋放,可有效地利用系統資源。在程序設計時將TCP/IP協議棧做成任務,而用戶程序在另外的任務中運行。這樣,單片機可在完成原來控制系統功能的前提下,實現網絡通信。從代碼長度上看, 實現基本功能的TCP/IP協議棧比Linux等其它操作系統優勢更大。


4 軟件設計
  軟件設計是網絡監控系統設計的重要部分,主要完成RTL8019AS的驅動、μC/OS-II對應用系統的管理及TCP/IP協議棧的實現。
4.1 μC/OS-II操作系統的應用
  μC/OS-II可以根據需要進行相應裁剪后移植[2]到51單片機上。用它對系統進行管理,使得程序易讀,且便于移植。μC/OS-II主要負責管理網卡初始化、創建系統資源、創建任務等三部分工作。在系統資源的創建上,使用TxSem、RxSem信號量[3]及TxQFIFO隊列[3]。當需要發送或接收數據時,觸發RTL8019AS中斷,CPU將中斷向量進入中斷服務子程序,進行事件處理。中斷服務子程序根據RTL8019AS內部中斷狀態寄存器IMR的值確定系統所處狀態,通過兩個信號量TxSemPost和RxSemPost切換系統任務,使等待相應信號量的一個任務進入就緒態。發送數據幀的過程是通過檢查信號量TxSemPost而進行的相應處理,為了保證數據正確到達客戶端,這里采用了多次發送機制。當信號量RxSemPost到來時,開始接收數據。如果數據幀正確,就根據數據包的大小申請合適的內存空間存放該數據,然后根據接收幀的目的地址的正確與否決定是否將該幀提交給上層應用程序。若無誤則解析數據報頭,進行相應處理。
4.2 RTL8019驅動
  RTL8019AS完成數據包和電信號之間的相互轉換。驅動程序主要包括芯片初始化、收包、發包三部分。物理信道上的收發操作采用以太網協議802.3幀格式[4]。系統收發數據包的原理是單片機先將待發送的數據包存入RTL8019芯片RAM,給出發送緩沖區首地址和數據包長度(寫入TPSR、TBCR0,1)后,啟動發送命令(CR=0x3E),即可實現RTL8019的發送功能。RTL8019會自動按以太網協議完成發送并將結果寫入狀態寄存器。RTL8019芯片接收緩沖區構成一個循環FIFO隊列,PSTART、PSTOP兩個寄存器限定了循環隊列的開始和結束頁,CURR為寫入指針,受芯片控制,BNRY為讀出指針,由主機程序控制。根據CURR==BNRY+1?可以判斷出是否收到新的數據包,新收到的數據包存于以CURR指出的地址為首址的RAM中。當CURR==BNRY時,芯片停止接收數據包。
4.3 網絡協議棧的實現
  基于TCP/IP協議可以實現多種功能,本文主要討論HTTP協議[5],也就是Web服務器在應用層的主要構成協議。由于TCP/IP協議棧本身是一種層式結構,所以在協議棧的設計上采用模塊化思想,逐層實現,然后通過對各層接口函數的調用實現完整的協議棧。實現TCP/IP協議棧的大致流程如圖4所示。


  要想將嵌入式系統作為一個終端并用TCP/IP連接起來,就必須設定IP地址、網關和子網掩碼等信息。為了增強系統的靈活性,需要一種自動配置能力,即系統自動從中心服務器獲得IP地址等信息。實現這一功能的標準方法是通過主機動態配置協議(DHCP)[5]。DHCP是基于UDP層之上的應用,采用端口68和67以廣播的形式進行通訊,它的工作主要包括探查、賦予、請求、確認等操作。
  HTTP協議選擇定義請求-應答機制獲得Web服務器上的文件。當用戶訪問Web服務器中的網頁時,一個HTTP請求就會以多行字符串的形式從瀏覽器發送到Web服務器,第一行指定一個方法GET,后面跟著一串參數。服務器對客戶端的應答需包含HTTP報文頭,如果請求成功,還包括文檔本身,這些信息沿TCP連接發送,直至傳送完成斷開連接。含最少量信息的報文頭包含成功或失敗狀態及傳輸文檔的內容類型(文本、HTML、GIF圖形等)。所有連接的相關信息如IP地址、客戶端口號、序列號、應答號及TCP狀態等被放入一個結構體,結構體的每個元素均可看作一個連接狀態。服務器進程關閉連接表示本次響應結束。網頁信息以HTML文本格式存儲于EEROM中,Web服務器創建局部變量以匹配文檔中的特殊字符,這些信息通過HTTP協議沿TCP連接發送到瀏覽器,服務器在應答文檔中碰到合適的字符,就替換一個變量值,實現動態網頁。
  為了在服務器和客戶端之間傳遞HTTP請求和應答信息,需要一個可靠的通信信道,這由傳輸控制協議TCP提供。TCP提供一種面向連接的可靠的數據流服務,它的主要任務是創建進程到進程的通信。數據傳輸分三個階段進行:建立連接、傳輸數據、斷開連接,實現起來相對復雜。由于嵌入式系統是服務器端,總是對客戶的連接請求給予響應,從不主動發起連接請求,因此只要在保證嵌入式系統能夠對TCP分組進行正確響應的前提下,就可以對TCP協議進行大幅度簡化。嵌入式系統總是響應客戶連接,始終是被動地打開連接,所以只需為建立連接過程中的嵌入式系統提供 LISTEN、SYN_RCVD兩種狀態即可。雖然比標準狀態變遷圖中缺少了CLOSED、SYN_SENT狀態,但LISTEN、SYN_RCVD足以描述系統建立連接時的狀態。當系統在傳最后一個數據包時,設置FIN,要求終止當前連接。連接主動關閉和同時關閉兩種情況都是可能發生的,因此只需為系統提供主動關閉和同時關閉涉及到的狀態即可。
  為了在主機之間傳遞TCP段,需要實現IP協議。IP協議的實現比較復雜,但是從實現Web服務器這一特定的要求出發,主要需把握如下兩點設計思想:第一,對接收到的IP數據報進行處理,向上層協議進行提交;第二,負責對TCP報文、ICMP報文進行封裝,交給數據鏈路層進行裝幀。實際上這是IP協議最基本的功能,也是Web服務器在網絡層必需的功能。ICMP協議負責傳遞差錯報文及其它需要注意的信息, Ping利用ICMP協議的回響功能實現主機/服務器是否有應答的測試。Ping的實現主要由ping請求、ping應答和回顯操作三個函數完成。
  由于采用以太網的接入方式,因此系統必須實現IEEE802.3標準,主要由RTL8019AS完成。為了保證系統在以太網的通信,還需要實現ARP協議。ARP協議的本質就是完成網絡地址到物理地址的映射,從而保證網絡的正確傳輸。整個ARP處理過程由ARP請求、ARP應答、ARP處理三個函數實現,ARP處理函數建立了ARP緩存表。
  本文介紹的嵌入式網絡監控系統采用IE瀏覽器作為客戶端界面,支持RS232和以太網的連接,可以通過以太網接入Internet,進而實現從Internet上監控嵌入式設備。在實際應用中,如果I/O口連接了其它硬件設備,只需對變量的處理函數做相應改動,就可實現遠程監控。系統內部嵌入μC/OS-II操作系統,使用靈活,可通過編程增加需要的功能。采用DHCP動態獲得IP地址等信息,增強了系統的靈活性。本方案所實現的網絡監控系統具有成本低、可視化、與平臺無關等特點,可以廣泛應用在工業控制領域,有很高的實用價值。
參考文獻
1 REALTEK Datasheet.RTL8019AS RealPNP[J], 2000
2 μCOS51移植心得.http://www.armecos.com
3邵貝貝. 嵌入式實時操作系統μCOS-II. 北京:北京航空航天大學出版社,2003
4楊 屹.NE2000網卡芯片驅動程序.巨龍公司系統集成開發部,2002
5陳向群譯.嵌入式系統Web服務器——TCP/IP Lean. 北京:機械工業出版社,2003:187~214,425~440

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲高清av| 久久国产精品99精品国产| 国产视频欧美| 欧美精品一区三区| 久久久久久婷| 99re8这里有精品热视频免费| 亚洲成在线观看| 黑人巨大精品欧美黑白配亚洲| 国产欧美一区二区在线观看| 国产一区二区三区高清播放| 久久国内精品自在自线400部| 亚洲国产一区二区三区高清| 99在线精品视频在线观看| 欧美视频不卡中文| 99在线精品视频在线观看| 久久精品一二三区| 久久午夜电影| 欧美一区二区三区在线看| 欧美日韩一区在线观看| 国产欧美日韩综合| 欧美日韩在线播放三区| 亚洲免费一级电影| 欧美在现视频| 国产精品一区2区| 国产精品成av人在线视午夜片| 亚洲天堂网在线观看| 国内成人精品一区| 性久久久久久久久久久久| 久久精品青青大伊人av| 麻豆久久婷婷| 亚洲激情在线观看| 欧美日韩黄视频| 久久精品在线免费观看| 国产午夜精品美女毛片视频| 国产精品手机在线| 国产精品欧美日韩久久| 美女爽到呻吟久久久久| 亚洲午夜高清视频| 国内精品模特av私拍在线观看| 国产欧美视频一区二区| 久久精品亚洲热| 亚洲美女av在线播放| 亚洲一区二区三区视频播放| 91久久久亚洲精品| 日韩视频免费在线观看| 亚洲激情国产精品| 欧美一级专区免费大片| 欧美成人精品一区| 老色鬼久久亚洲一区二区| 尤物99国产成人精品视频| 精品96久久久久久中文字幕无| 狠狠入ady亚洲精品| 欧美日韩视频在线第一区| 亚洲免费小视频| 欧美精品午夜| 亚洲国产成人午夜在线一区| 亚洲一区国产视频| 韩国欧美国产1区| 欧美喷水视频| 国产精品久久久久久久久免费桃花| 好看的日韩视频| 你懂的视频一区二区| 国产精品亚洲а∨天堂免在线| 亚洲天堂视频在线观看| 欧美日韩国产999| 99精品国产一区二区青青牛奶| 亚洲国产欧美在线| 午夜精品剧场| 亚洲国产成人久久综合一区| 亚洲欧洲一区二区在线播放| 欧美午夜精品久久久久久孕妇| 黄色av成人| 久久久精品日韩欧美| 国产无一区二区| 国产农村妇女精品| 亚洲夫妻自拍| 亚洲一区二区三区视频播放| 中文久久精品| 激情久久久久久久久久久久久久久久| 亚洲永久在线| 久久狠狠久久综合桃花| 欧美日韩免费观看中文| 欧美99在线视频观看| 久久成人一区| 亚洲国产经典视频| 日韩手机在线导航| 蜜臀99久久精品久久久久久软件| 亚洲老板91色精品久久| 另类国产ts人妖高潮视频| 国产日韩精品入口| 久久久久久综合网天天| 亚洲一区免费网站| 亚洲欧美日韩另类精品一区二区三区| 午夜精品在线视频| 欧美男人的天堂| 久热精品视频在线观看| 国产精品久久久久婷婷| 国产一区高清视频| 亚洲精品免费网站| 国产一区在线看| 欧美精品二区| 亚洲国产电影| 国产精品国产三级国产a| 午夜在线视频一区二区区别| 午夜精品亚洲一区二区三区嫩草| 久久精品亚洲一区二区| 欧美成人高清| 久久av在线看| 久久久噜久噜久久综合| 久久综合一区二区| 欧美午夜电影在线| 蜜桃精品久久久久久久免费影院| 欧美日韩高清免费| 亚洲破处大片| 国产日韩一区| 国产日韩三区| 曰本成人黄色| 欧美精品国产精品日韩精品| 国产午夜精品久久久久久免费视| 亚洲亚洲精品三区日韩精品在线视频| 一区二区三区在线免费观看| 欧美一区二区视频在线观看2020| 亚洲国产欧美一区二区三区丁香婷| 亚洲视频欧美在线| 欧美精品观看| 欧美国产一区二区在线观看| 激情久久一区| 国产美女精品| 国产麻豆午夜三级精品| 欧美成人免费网站| 亚洲香蕉视频| av不卡免费看| 欧美人成在线视频| 性久久久久久久| 免播放器亚洲一区| 国产精品久久国产三级国电话系列| 欧美色视频一区| 久久超碰97中文字幕| 欧美激情1区2区3区| 欧美日韩在线免费视频| 欧美视频亚洲视频| 欧美精品综合| 久久久久久久999精品视频| 亚洲精品久久久久久一区二区| 一区二区欧美日韩| 久久婷婷蜜乳一本欲蜜臀| 国产精品欧美一区喷水| 亚洲高清影视| 久久精品在线观看| 亚洲精品国产系列| 亚洲网友自拍| 欧美色欧美亚洲另类二区| 亚洲成人在线视频网站| 日韩天堂在线视频| 欧美日韩亚洲国产一区| 欧美日韩亚洲免费| 午夜精品久久久久久久白皮肤| 欧美激情精品久久久久久蜜臀| 在线综合亚洲| 麻豆国产精品一区二区三区| 久久久亚洲影院你懂的| 久久一区二区精品| 亚洲一区二区三| 国产亚洲在线| 久久久噜噜噜久久中文字幕色伊伊| 亚洲承认在线| 亚洲桃色在线一区| 久久精品噜噜噜成人av农村| 国产免费观看久久| 亚洲精品在线免费观看视频| 久久久999| 一区三区视频| 欧美人妖在线观看| 欧美成年人视频| 亚洲精品你懂的| 亚洲图片自拍偷拍| 亚洲美女少妇无套啪啪呻吟| 亚洲精品乱码视频| 国产亚洲成av人在线观看导航| 黑人巨大精品欧美黑白配亚洲| 亚洲伦理在线免费看| 欧美视频中文在线看| 亚洲第一狼人社区| 久久久久成人精品免费播放动漫| 欧美精品18videos性欧美| 海角社区69精品视频| 欧美私人网站| 亚洲激情在线视频| 国产日韩欧美在线看| 亚洲黄色免费| 国产欧美精品久久| 久久久国际精品| 欧美三级免费| 欧美精品导航| 91久久极品少妇xxxxⅹ软件| 欧美日韩亚洲精品内裤| 欧美精品日韩综合在线| 欧美极品在线播放| 亚洲国产精品美女| 久久一区二区三区国产精品| 亚洲淫片在线视频| 在线免费日韩片| 欧美高清免费| 99在线热播精品免费99热| 日韩视频不卡中文| 亚洲国产综合视频在线观看| 国产精品扒开腿做爽爽爽视频| 欧美激情第8页| 亚洲第一中文字幕在线观看| 欧美日韩在线播放三区| 激情自拍一区| 亚洲精品一品区二品区三品区| 国产欧美亚洲精品| 久久久99精品免费观看不卡| 欧美在线www| 国产精品自拍网站| 国产欧美日韩综合| 欧美视频国产精品| 亚洲伊人第一页| 欧美日韩亚洲综合| 欧美大片免费观看在线观看网站推荐| 一区二区三区亚洲| 亚洲精品之草原avav久久| 久久国产福利| 久久九九国产精品| 亚欧美中日韩视频| 好吊成人免视频| 在线观看视频免费一区二区三区| 久久久视频精品| 亚洲图中文字幕| 亚洲欧美日韩国产成人精品影院| 欧美成熟视频| 亚洲欧美一区在线| 亚洲欧洲日夜超级视频| 国产精品国产三级欧美二区| 亚洲影音先锋| 欧美一区二区免费视频| 国产视频在线观看一区二区三区| 久久久人人人| 国内精品视频久久| 欧美成人精品一区二区三区| 亚洲免费观看在线观看| 精品成人一区二区三区| 国产精品性做久久久久久| 久久久久久综合| 久久狠狠久久综合桃花| 欧美日韩dvd在线观看| 国产精品国产三级国产专区53| 国产午夜精品久久久久久免费视| 国产精品亚洲一区二区三区在线| 国产精品黄视频| 一区二区三区欧美成人| 国产在线一区二区三区四区| 欧美激情导航| 欧美午夜精彩| 亚洲久久在线| 欧美日韩在线高清| 欧美一区二区视频97| 久久久久久电影| 亚洲一区视频| 在线一区二区三区四区| 国产精品区免费视频| 免费在线亚洲欧美| 欧美一区二区观看视频| 99国产成+人+综合+亚洲欧美| 亚洲高清精品中出| 欧美另类69精品久久久久9999| 亚洲视频一区在线观看| 在线观看中文字幕不卡| 亚洲欧美日本视频在线观看| 在线观看视频欧美| 国产一区二区在线观看免费播放| 一本一道久久综合狠狠老精东影业| 亚洲视频在线播放| 久久久999精品视频| 麻豆精品视频在线观看视频| 欧美日韩在线视频首页| 欧美精品v日韩精品v国产精品| 国产精品福利在线观看网址| 欧美精品在线观看| 精品成人a区在线观看| 亚洲欧洲精品一区二区精品久久久| 欧美mv日韩mv国产网站app| 亚洲人成网站在线观看播放| 国产欧美三级| 国产精品久线观看视频| 一本色道久久88亚洲综合88| 91久久久久久久久久久久久| 香蕉成人伊视频在线观看| 欧美在线免费视屏| 影音先锋日韩有码| 中文av一区二区| 欧美日韩国产在线播放| 久久人人爽爽爽人久久久| 欧美激情aⅴ一区二区三区| 国产精品一国产精品k频道56| 韩国精品主播一区二区在线观看| 亚洲欧美成人一区二区在线电影| 久久综合中文字幕| 久久精品国产v日韩v亚洲| 国产一区二区三区黄| 欧美国产综合一区二区| 国产精品一区一区| 久久激情五月婷婷| 久久久久综合网| 欧美日韩午夜剧场| 欧美喷水视频| 亚洲国产精品久久| 在线成人激情| 久久国产精品99精品国产| 狠狠干综合网| 国产美女在线精品免费观看| 久久综合狠狠综合久久综合88| 久久久久久夜| 国产精品福利久久久| 国产亚洲美州欧州综合国| 久久免费国产精品1| 国产欧美一区二区三区在线老狼| 欧美日韩一级视频| 久久久人成影片一区二区三区| 久久久久久色| 欧美福利视频网站| 中文成人激情娱乐网| 国产欧美一区二区视频| 久久综合久久综合这里只有精品| 在线亚洲免费视频| 国内精品久久久久国产盗摄免费观看完整版| 亚洲第一在线综合网站|