色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于嵌入式操作系統和TCP/IP協議棧實現網絡監控系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:高長艷,鄭喜鳳, ? 2021-05-19 11:02 ? 次閱讀

作者:高長艷,鄭喜鳳,丁鐵夫

隨著信息時代的到來,特別是互聯網的迅速普及,人們開始越來越多地接觸到一個新概念--嵌入式產品。將嵌入式系統接入Internet。不僅實現了設備的遠程控制、維護和升級,而且可實現資源共享。通過網絡對設備進行監控,一個外部界面是必不可少的,利用Web瀏覽器可使用戶通過網絡對遠程系統實現管理和更新,大大簡化了人機界面的設計。若在系統中嵌入實時操作系統,將使系統具有極強的可移植性,另外,硬件設備的添加與裁剪也具有極龐大的靈活性。采用DHCP協議動態獲得IP相關信息,使TCP/IP軟件不再依賴于存儲在芯片中的固定IP地址,這將為大型系統的安裝提供方便條件。

本設計的關鍵是如何在內存資源有限的單片機系統上,利用實時內核uC/OS-II把信息變成可以在互聯網上傳輸的IP數據包,以便通過IE瀏覽器監控遠程設備的狀態。

1 網絡監控系統概述

本設計采用Internet監控遠程設備,整個系統相當于一個網絡服務器。客戶端通過IE瀏覽器對該服務器進行訪問,實時地獲得設備的狀態信息,以便對設備進行控制和維護。這樣,就要求服務器提供WWW服務,即實現HTTP協議。它應被所有瀏覽器支持,以保證任何地方的用戶都可通過瀏覽器下達命令。在網絡接口上,本系統選擇以太網為其運行的網絡環境。圖1所示為HTTP設計模型。首先,客戶端的瀏覽器與Web服務器使用一個或多個TCP連接,通過80號端口進行通信,瀏覽器通過HTTP協議瀏覽事先存儲在EEROM中的控制網頁,通過該網頁傳遞控制命令到網絡服務器,然后服務器對命令進行解析,調用相應的函數控制外部I/O設備。

o4YBAGCkgCaAbuAaAABA7nAjo84450.png

整個設備監控系統包括硬件和軟件兩部分。在硬件部分嵌入了TCP/IP協議棧。因系統資源有限,在保持協議分層體系結構的前提下,應盡量精簡協議內容。根據網絡監控系統的原理,本系統實現了以下協議:DHCP、HTTP、TCP、IP、ICMP、ARP。

2 硬件平臺設計

本設計采用以太網作為網絡的運行環境,在硬件上需要有網絡控制芯片。目前市場上有許多以太網絡控制芯片,但其大多數都耗電量高、功能復雜,不適合用于價格低廉的嵌入式系統中。在這里選用RTL8019AS,其好處是NE2000兼容、軟件移植性好、接口簡單、不需轉換芯片如PCI-ISA橋等。而單片機選擇89C55,它有20K的ROM,內部結構簡單,只要代碼能夠移植于它,就能較輕松地移植于其它架構的CPU,比如ARM等。圖2為硬件原理框圖。24C64用來存儲物理地址及設備的相關信息等;外部RAM為數據處理提供緩存。系統提供了RS232接口用來進行測試,提供了RJ45接口以便連接到以太網。

pIYBAGCkgCCAROZ8AAA1D_ZQa14203.png

3 操作系統的選擇

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

4 軟件設計

軟件設計是網絡監控系統設計的重要部分,主要完成RTL8019AS的驅動、uC/OS-II對應系統的管理及TCP/IP協議棧的實現。

4.1 uC/OS-II操作系統的應用

uC/OS-II可以根據需要進行相應裁剪后移植到51單片機上。用它對系統進行管理,使得程序易讀,且便于移植。藽/OS-II主要負責管理網卡初始化、創建系統資源、創建任務等三部分工作。在系統資源的創建上,使用TxSem、RxSem信號量及TxQFIFO隊列。當需要發送或接收數據時,觸發RTL8019AS中斷,CPU將中斷向量進入中斷服務子程序,進行事件處理。中斷服務子程序根據RTL8019AS內部中斷狀態寄存器IMR的值確定系統所處狀態,通過兩個信號量TxSemPost和RxSemPost切換系統任務,使系統相應信號量的一個任務進入就緒態。發送數據幀的過程是通過檢查信號量TxSemPost而進行的相應處理,為了保證數據正確到達客戶端,這里采用了多次發送機制。當信號量RxSemPost到來時,開始接收數據。如果數據幀正確,就根據數據包的大小申請合適的內存空間存放該數據,然后根據接收幀的目的地址的正確與否決定是否將該幀提交給上層應用程序。若無誤則解析數據報頭,進行相應處理。

pIYBAGCkgBmADa-iAAA7noFdn5c111.png

4.2 RTL8019驅動

RTL8019AS完成數據包和電信號之間的相互轉換。驅動程序主要包括芯片初始化、收包、發包三部分。物理信道上的收發操作采用以太網協議802.3幀格式。系統收發數據包的原理是單片機先將待發送的數據包存入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協議,也就是Web服務在應用層的主要構成協議。由于TCP/IP協議棧本身是一種層式結構,所以在協議棧的設計上采用模塊化思想,逐層實現,然后通過對各層接口函數的調用實現完整的協議棧。實現TCP/IP協議棧的大致流程如圖4所示。

pIYBAGCkgBKAKiBoAAA-k813PyI736.png

要想將嵌入式系統作為一個終端并用TCP/IP連接起來,就必須設定IP地址、網關和子網掩碼等信息。為了增強系統的靈活性,需要一種自動配置能力,即系統自動從中心服務器獲得IP地址等信息。實現這一功能的標準方法是通過主機動態配置協議(DHCP)。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口連接了其它硬件設備,只需對變量的處理函數做相應改動,就可實現遠程監控。系統內部嵌入uC/OS-II操作系統,使用靈活,可通過編程增加需要的功能。采用DHCP動態獲得IP地址等信息,增強了系統的靈活性。本方案所實現的網絡監控系統具有成本低、可視化、與平臺無關等特點,可以廣泛應用在工業控制領域,有很高的實用價值。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304810
  • 操作系統
    +關注

    關注

    37

    文章

    6801

    瀏覽量

    123283
  • 監控系統
    +關注

    關注

    21

    文章

    3904

    瀏覽量

    174413
收藏 人收藏

    評論

    相關推薦

    基于TCP IP協議嵌入式以太網終端設計

    ARM處理器為設計核心,利用10M以太網芯片RTL8019AS建立Ethernet網絡連接。軟件設計重點是實現代碼精簡且可靠性高的嵌入式TCP /
    發表于 06-27 09:33

    TCP_IP協議嵌入式系統中的實現

    本帖最后由 eehome 于 2013-1-5 10:03 編輯 TCP_IP協議嵌入式系統中的
    發表于 08-24 23:05

    請問嵌入式系統實現以太網,TCP/IP協議是都是移植的嗎?

    想請教各位大神們。嵌入式系統實現以太網(比如stm32),TCP/IP協議
    發表于 03-13 02:22

    基于ARM的TCP/IP協議LwlP是如何實現的?

    嵌入式網絡通信系統的硬件平臺由哪幾個部分組成?基于ARM的TCP/IP協議
    發表于 06-04 06:37

    怎么實現嵌入式TCP/IP協議的設計?

    本文闡述在一種異構網絡互聯——CAN總線與以太網互聯系統設計方案中嵌入式TCP/IP協議
    發表于 06-07 06:28

    LwIP協議開發嵌入式網絡的三種方法有何關系

    LwIP協議開發嵌入式網絡的三種方法分析 輕量級的TCP/IP
    發表于 08-05 07:55

    實時操作系統μC OS - II下TCP IP 協議實現

    結合在ez80 和ARM7 兩種系統上的具體實現,說明如何在嵌入式實時操作系統μC/OS-II 上移植、實現LwIP 這套
    發表于 05-15 14:37 ?11次下載

    在TMS320VC5402 上實現嵌入式TCP IP協議

    實現一個運行在16 位數字信號處理器TMS320VC5402 上的小型嵌入式TCP/IP 協議
    發表于 05-16 14:55 ?28次下載

    嵌入式WEB服務器中TCP/IP協議的設計與實現

    嵌入式TCP/IP 協議能擴展非智能設備的網絡功能,是信息智能化的一種有效手段。 本
    發表于 06-19 09:03 ?35次下載

    嵌入式系統TCP/IP 協議的精簡與實現

    通過對TCP/IP 協議的分析,結合嵌入式系統的特點,挑選出一套精簡、實用的TCP/
    發表于 08-22 08:42 ?18次下載

    基于嵌入式TCP/IP的遠程GPRS控制終端的設計與實現

    介紹了基于8 位單片機的嵌入式TCP/ IP 的遠程無線控制終端的設計與實現. 描述了基于GPRS 網的數據傳輸過程、嵌入式實時
    發表于 08-24 18:56 ?33次下載

    嵌入式TCP/IP協議在DSP上的實現

    摘要:介紹了TMS320C5402芯片與RTL8019AS互聯網控制器的硬件接口電路的設計,實現了一個運行在TMS320C5402上的 小型嵌入式TCP/IP
    發表于 02-25 17:26 ?189次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協議</b><b class='flag-5'>棧</b>在DSP上的<b class='flag-5'>實現</b>

    一個專為嵌入式系統編寫的小型TCP IP協議

    一個專為嵌入式系統編寫的小型TCP IP協議
    發表于 02-08 01:38 ?17次下載

    在FPGA中實現嵌入式TCP/IP通信協議

    研究了嵌入式TCP/IP通信協議在Xilinx FPGA上的實現,介紹了其軟硬件的
    發表于 11-17 17:05 ?8113次閱讀
    在FPGA中<b class='flag-5'>實現</b><b class='flag-5'>嵌入式</b><b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>通信<b class='flag-5'>協議</b><b class='flag-5'>棧</b>

    基于和欣嵌入式操作系統實現的一個構件化的網絡協議設計淺析

    Internet 技術。要實現嵌入式設備的網絡化,需要實現TCP/IP
    發表于 02-20 14:59 ?1302次閱讀
    基于和欣<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統</b><b class='flag-5'>實現</b>的一個構件化的<b class='flag-5'>網絡</b><b class='flag-5'>協議</b><b class='flag-5'>棧</b>設計淺析
    主站蜘蛛池模板: 亚洲AV无码一区二区色情蜜芽| 人人碰国产免费线观看| 男男肉肉互插腐文| 日韩av无码在线直播 | 99pao成人国产永久免费视频 | 国产精品成人免费| 久久久无码精品亚洲A片软件| 暖暖 日本 视频 在线观看免费| 私人玩物黑丝| 亚洲 欧美 国产在线视频| 专干老肥熟女视频网站300部| 99热久久久无码国产精品性麻豆| 自拍黄色片| 国产精品人妻午夜福利| 年轻夫妇韩剧中文版免费观看 | 午夜一个人在线观看完整版| 69SEX久久精品国产麻豆| 国产偷抇久久精品A片蜜臀AV| 欧美亚洲精品午夜福利AV| 一个人看的WWW高清电影| 国产二区自拍| 日本精品久久无码影院| 2021国产精品视频| 九九热免费在线观看| 手机在线观看无码日韩视频| CHINA中国东北GURMA| 久久黄色录像| 亚洲视频中文字幕| 含羞草免费完整视频在线观看| 少妇的肉体AA片免费| japanesen女同| 暖暖在线观看播放视频| 永久午夜福利视频一区在线观看| 花蝴蝶高清在线视频免费观看| 午夜DJ国产精华日本无码| 国产 精品 亚洲 欧美 高清| 人妻少妇69式99偷拍| 趁老师睡着吃她的奶水| 日本aa大片| 观赏女性排尿| 午夜深情在线观看免费|