<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 試驗站遠程監(jiān)控系統(tǒng)網(wǎng)絡接口的設計

          試驗站遠程監(jiān)控系統(tǒng)網(wǎng)絡接口的設計

          作者: 時間:2011-01-04 來源:網(wǎng)絡 收藏

          本系統(tǒng)采用以太網(wǎng),所以協(xié)議棧遵循TCP/IP模型來。考慮到系統(tǒng)的程序空間極為有限,所以時對標準協(xié)議棧進行了簡化,通過選擇合適的協(xié)議,可以降低對處理器硬件資源的需求。例如,由于對可靠性要求較高,可以只選擇使用TCP協(xié)議,而不使用不可靠的UDP協(xié)議。另外,對于己經(jīng)選擇使用的協(xié)議,在具體實現(xiàn)時也進行了適當?shù)暮喕?,保留其中必須具備的部分,以?jié)約程序空間和執(zhí)行時間。同時保證系統(tǒng)的可靠性與安全性,遵循分層思想和模塊化設計方法,各協(xié)議由對應的模塊實現(xiàn),模塊對外提供函數(shù)供主程序調(diào)用,精簡的TCP/IP協(xié)議棧如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/156798.htm

          圖3 TCP/IP協(xié)議棧


          接口層是TCP/IP模型的最底層,由RTL8019AS的驅(qū)動程序來完成基本功能。RTL8019AS的驅(qū)動程序負責將單片機傳輸?shù)絀nternet上的數(shù)據(jù)封裝成以太網(wǎng)數(shù)據(jù)包的格式發(fā)送,以及將上傳來的數(shù)據(jù)包進行分析使其進入上一層的協(xié)議處理程序。


          網(wǎng)絡層的功能則由ARP(地址解析協(xié)議)、IP(網(wǎng)際協(xié)議)和ICMP(因特網(wǎng)控制報文協(xié)議)協(xié)議共同完成。ARP協(xié)議能夠判斷數(shù)據(jù)幀中的目的地址是否與本地IP地址相同,如果相同則接收數(shù)據(jù)幀,否則將數(shù)據(jù)幀拋棄。而IP是TCP/IP協(xié)議棧最為核心的協(xié)議,所有的網(wǎng)絡層和運輸層的數(shù)據(jù)都是以IP數(shù)據(jù)報格式傳輸。ICMP允許主機或路由器報告差錯情況和提供有關異常情況的報告。

          圖4 數(shù)據(jù)的封裝過程


          系統(tǒng)需要傳輸?shù)臄?shù)據(jù)通過在每個協(xié)議層添加頭部信息,最后封裝成為以太網(wǎng)數(shù)據(jù)包,在物理網(wǎng)絡上進行傳輸,數(shù)據(jù)的封裝過程如圖4所示。

          結(jié)論


          對于工業(yè)控制領域,嵌入式Internet設備將測控網(wǎng)與Internet互連,由此實現(xiàn)測控網(wǎng)和信息網(wǎng)的統(tǒng)一。在這樣構(gòu)成的網(wǎng)絡中,傳統(tǒng)儀器設備充當著網(wǎng)絡中獨立節(jié)點的角色,信息可跨越網(wǎng)絡傳輸至所及的任何領域,實時、動態(tài)(包括)的在線測控成為現(xiàn)實。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();