日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MCS-51單片機嵌入式Internet技術研究

          MCS-51單片機嵌入式Internet技術研究

          作者: 時間:2012-09-23 來源:網絡 收藏

          本文引用地址:http://yuyingmama.com.cn/article/170816.htm

            RTL8019AS 網卡驅動首先是對網卡芯片的上電初始化,通過函數(shù)init_8019as()進行,用于設定網卡物理地址,設定收發(fā)緩沖區(qū)位置和大小等。其次是發(fā)送數(shù)據函數(shù)eth_send()和接收數(shù)據函數(shù)eth_rcve()。

            而uIP 協(xié)議棧則通過內核中的uip_input()函數(shù)實現(xiàn)對底層網絡設備的驅動,該函數(shù)是uIP 協(xié)議的底層設備入口。它包含兩個全局變量uip_buf、uip_len.前者用于存放接收到的數(shù)據包,后者表示接收發(fā)送緩沖區(qū)里的數(shù)據長度。uip_input()函數(shù)處理從網絡設備驅動發(fā)送來的IP 包。處理結束后返回變量uip_len,如果uip_len 是0,則沒有數(shù)據要發(fā)送。不為0 則調用網絡設備驅動程序eth_send()函數(shù)來將uip_buf 里的uip_len 長度的數(shù)據發(fā)送到以太網上。eth_rcve()函數(shù)將接收到的數(shù)據存儲到緩存uip_buf 指定的緩沖區(qū)中,系統(tǒng)調用uip_input()函數(shù),并在需要時調用應用程序。

            uip_periodic()可以理解為是一個周期時鐘函數(shù),通常每一秒執(zhí)行一次,用它周期性地輪詢各連接。因為uIP 協(xié)議要處理許多定時事件,例如包重發(fā)、ARP 表項更新。當周期計時激發(fā),每一個TCP 連接調用uip_periodic(),其TCP 連接編號作為參數(shù)傳遞給uip_periodic()函數(shù)。uip_periodic()函數(shù)檢查參數(shù)指定的連接的狀態(tài)。當uip_periodic()函數(shù)返回后,會檢查uip_len 的值,若不為0 則將uip_buf 緩沖區(qū)中的數(shù)據包發(fā)送到網絡上。

            uIP 協(xié)議的應用程序接口用于實現(xiàn)web 之類的應用服務。uIP 定義了一個宏UIP_APPCALL()作為該接口,供用戶使用。當用戶要編程實現(xiàn)某應用服務時,只需要將宏UIP_APPCALL()定義成實際的應用程序函數(shù)名。uIP 在接收到底層傳來的數(shù)據包后,若需要送上層應用程序處理,它就調用UIP_APPCALL()。不同的連接則通過判斷當前連接的端口號來確定。同時uIP 還提供一些應用程序接口函數(shù)供用戶編程時使用。常用的uIP 應用程序接口函數(shù)有:關閉連接接口函數(shù)uip_close();輪詢接口函數(shù)uip_poll();打開連接接口函數(shù)uip_connect()等。通過調用不同的應用程序接口函數(shù),用戶可以實現(xiàn)相應的功能。

          4 主程序的設計

            完成了底層設備驅動模塊和應用服務程序模塊的添加以及對uIP 進行了正確配置之后,軟件編寫的主體部分是主程序函數(shù)。主程序視用戶需要達到何種功能而定。對于本例通過以太網卡接入到實現(xiàn)WEB 應用服務來說,單片機主程序首先啟動初始化工作,包括定時器初始化、網卡芯片初始化、UIP 協(xié)議棧初始化、用戶應用程序初始化等等[5].在完成初始化之后,主程序將不停的進行查詢,如果網卡上有新的IP 數(shù)據包到達則送uip_input()函數(shù)處理;如果沒有新數(shù)據包到達則由uip_priodic()函數(shù)處理定時事件。由于uIP 協(xié)議棧采用C 語言編寫,所以為了方便單片機主程序與uIP 協(xié)議交互,單片機主程序也采用C 語言作為開發(fā)語言。下面是單片機主程序的部分設計代碼。

            TCP/IP 協(xié)議棧的鏈路層部分由網絡控制器RTL8019AS 完成,網絡層和傳輸層由單片機來處理。

            應用層則根據需要可以在單片機內完成,也可以由單片機轉給用戶或終端設備完成。除了WEB 服務之外,其它應用層服務像SMTP 協(xié)議支持功能也可以根據需要編寫相應的代碼。

            5 系統(tǒng)測試

            在完成上述工作的基礎上,我們?yōu)槭袇^(qū)中心停車場設計了一個停車監(jiān)測管理系統(tǒng)。由于市區(qū)中心停車場業(yè)務量非常繁忙,車位經常飽和,不僅管理人員而且客戶經常需要實時掌握該停車場的停車位空閑信息。數(shù)據采集系統(tǒng)的前端通過傳感器監(jiān)測各停車位的空閑狀態(tài)。并及時將信息反饋到單片機,反饋的信息包括停車位空閑狀態(tài),停車起始時間和時長等。據此監(jiān)測系統(tǒng)計算整個停車場空閑停車位的個數(shù),并將信息返回到客戶端,同時以公告信息形式顯示在停車場出入口的LED 顯示屏上。方便客戶作出決策。根據停車時長計算的計費信息也可以顯示在客戶端上。結合上述要求,我們在單片機上實現(xiàn)了一個Web服務器。Http 網頁能夠完成接收數(shù)據、發(fā)送網頁數(shù)據、關閉連接等應用,并且能夠動態(tài)實時地進行數(shù)據更新??蛻舳耸褂米畛S玫腤indows 操作系統(tǒng)和 Explorer 瀏覽器,客戶端不需要安裝其它特殊的服務程序。系統(tǒng)僅設置為最多4 個并發(fā)客戶端訪問單片機Web 服務器。圖4 是訪問單片機Web服務器的結果。

          圖4 客戶端訪問單片機Web 服務器。

          圖4 客戶端訪問單片機Web 服務器。

            6 結語

            網絡通信是近幾年來工業(yè)的新興應用領域。由于 系列單片機具有悠久的歷史和廣泛的應用,其低廉的價格,以及uIP 協(xié)議??梢悦赓M使用,所以采用本設計方案的產品具有成本低,附屬硬件少,使得終端價格不會因嵌入式接入而增加太多。具有極高的性價比,易于推向市場。目前根據此開發(fā)的系統(tǒng)已在市區(qū)繁忙的停車場監(jiān)測系統(tǒng)得到成功應用。只須稍加改進即可應用于基于51內核的其它單片機系統(tǒng)。本系統(tǒng)能夠有助于智能信息家電、生產設備監(jiān)測監(jiān)控等的工業(yè)應用以較好的性價比實現(xiàn)嵌入式Internet.

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          51單片機相關文章:51單片機教程


          單片機相關文章:單片機教程


          單片機相關文章:單片機視頻教程


          單片機相關文章:單片機工作原理


          tcp/ip相關文章:tcp/ip是什么



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉