亚洲国产岛国毛片在线_美国十次了思思久久精品导航_亚洲人体影院_欧美精品亚洲精品

技術頻道

基于物聯網的嵌入式以太網終端平臺設計與實現

  物聯網是在互聯網的基礎上,將用戶與物品或者物品與物品用互聯網進行連接,并通過互聯網進行信息交換和通信的一種概念。物聯網主要通過信息采集設備以及能夠將這些信息采集設備接入互聯網的終端平臺來實現。近年來,嵌入式系統以其功能完善,設計方案靈活,功耗可控制等特點,已廣泛應用于生活、商業、醫療以及工業等各個領域。比起通用計算機來,嵌入式系統具有針對性更強、體積更小,成本更低等優點,是物聯網領域應用設計的首選方案。對于一些數據量不大,傳輸速率要求不高的應用,要考慮用較低的成本實現最可靠的物聯網服務。

  一. 平臺硬件設計

  1.1 平臺結構及原理

  該平臺采用ATMEL公司AT91SAM7X512處理器作為主控芯片,該處理器內部集成了以太網控制器、512kbytes FALSH以及128kbytes SRAM。只需外接一片以太網物理層(PHY)收發芯片DM9161和一個網絡變壓器HR601680,即可構成以太網終端硬件平臺。 AT91SAM7X512采用3.3 V和1.8 V雙工作電壓,使用頻率為18.432 MHZ的晶振作為時鐘電路的振蕩源,調試電路采用標準的20針JTAG仿真調試接口。該方案成本低,功耗小,并且所用芯片集成度很高因而保證了系統的穩定性。

  AT91SAM7X512的以太網控制模塊實現了一個與IEEE802.3標準兼容的以太網MAC,支持全雙工模式,可通過DMA方式進行數據收發。當物理層芯片DM9161接收到來自以太網的上位機數據時,ARM通過MII接口(媒體獨立接口)讀取數據,并在內部通過DMA方式將數據讀入 SRAM中交給TCP/IP協議棧進行處理。同時,當RFID射頻讀卡器或者傳感模塊有數據需要傳輸時,平臺也能沿著相同的通道將數據傳輸至上位機。系統整體結構如圖1所示。

  圖1 系統結構原理示意圖

  1.2 AT91SAM7X512和DM9161的接口電路設計

  AT91SAM7X512的以太網控制器和物理層收發芯片 DM9161之間有MII(Media Independent Interface)和RMII(Reduced Media Independent Interface)兩種接口。這兩種接口都能夠工作在10 Mb/s和100 Mb/s共兩種速率下,在本設計中采用MII接口。MII數據接口總共需要16個信號,包括 TX_ER,TXD《3:0》,TX_EN,TX_CLK,COL,RXD《3:0》,RX_EX,RX_CLK,CRS,RX_DV 等,在時鐘速率25 MHz的情況下以4-bit并行方式發送和接收數據。以太網控制器依靠MDIO接口與物理層芯片進行通信,用于自動協商期間確保以太網控制器和物理層芯片被配置為相同的速度和雙工模式。AT91SAM7X512和DM9161的接口電路如圖2所示。

  圖2 以太網接口電路原理圖

  當系統上電后,由AT91SAM7X512給DM9161提供復位信號及引腳初始化電平,完成DM9161的上電初始化工作。當初始化完成后,系統會通過MII接口讀取DM9161內部狀態寄存器的值來完成對網絡連接模式和連接狀態的檢測。

  二. 平臺軟件的實現

  2.1 TCP/IP協議棧的移植

  LwIP是瑞典計算機科學研究院(SICS)設計的一個開源的輕量級TCP/IP協議棧。它的目的是減少內存使用率和代碼大小,使LwIP能夠適用于資源緊張的嵌入式系統。利用μC/OS-Ⅱ提供的信號量和消息傳遞機制等系統服務可以實現對LwIP的移植。

  2.1.1 信號量操作函數

  LwIP 使用信號量進行通信,這個信號量可以是計數信號量,也可以是二值信號量,所以在sys_arch中需要實現與信號量操作相關的信號量結構體struct sys_sem_t、信號量建立函數sys_sem_new()、信號量釋放函數sys_sem_free()、信號量發出函數 sys_sem_signal()和信號量等待函數sys_arch_sem_wait()。由于在μC/OS-Ⅱ中已經實現了與信號量操作有關的各種函數,而且功能和上述幾個LwIP中所需要實現的函數的功能是完全一致的,所以只要調用μC/OS-Ⅱ中的信號量操作函數來重新包裝成LwIP中的信號量操作函數即可。

  2.1.2 郵箱操作函數

  LwIP使用郵箱來進行消息傳遞,用戶可以用一個隊列來將其實現,需要注意的一點是,投遞進郵箱中的消息只能是一個指針。因此要根據以上要求來實現消息隊列結構sys_mbox_t,以及相應的操作函數:sys_mbox_new()、 sys_mbox_free()、sys_mbox_post()和sys_arch_mbox _fetch()。μC/OS-Ⅱ很好地實現了消息隊列結構及其操作,為消息隊列提供了豐富的管理函數,但μC/OS-Ⅱ沒有對消息隊列中的消息進行管理,因而不能直接使用,必須在μC/OS-Ⅱ的基礎上重新實現。具體實現時,可創建多個郵箱,并使用單向鏈表將這些郵箱鏈接在一起,每個郵箱可接收消息的數量由消息數組的大小來決定。對消息隊列本身的管理用μC/OS-Ⅱ中的隊列操作函數來完成,然后通過對鏈表的操作來實現對消息的創建、使用、刪除和回收,兩部分綜合起來形成了LwIP的郵箱功能。

  2.1.3 創建新線程函數

  在μC/OS-Ⅱ中只有任務的概念,建立一個新的線程實際上就是建立一個新的任務。因此只需要把OSTaskCreate()封裝一下,就可以實現sys_thread_new()。需要注意的是當前μC/OS-Ⅱ 不支持時間片輪番調度法,不允許兩個或兩個以上的任務有同樣的優先級,所以用戶要事先為LwIP中創建的線程分配好優先級。通過對LwIP中的宏 TCPIP_THREAD_PRIO進行包裝,來避免TCPIP線程優先級與其他線程相同。

  2.1.4 定時器函數

  LwIP中每個線程都有一個timeouts鏈表,這個鏈表在建立之后其首地址必須固定。因此用于保存鏈表首地址的sys_timeouts結構必須與線程一一對應,而且其地址不能改變,以便能夠隨時得到鏈表的首地址。可用一個靜態的sys_timeouts結構數組來存放各個線程的鏈表,以線程的優先級號來作為數組索引號,這樣每一個線程就能對應一個sys-timeouts結構體了,并且在系統運行期間對應的結構體數組成員的地址會一直固定不變。移植時通過實現 stmctsys_timeouts*sys_arch_timeouts(void)函數,來返回目前正處于運行態的線程所對應的timeouts隊列指針。

  2.2 驅動程序

  操作系統是通過各種驅動程序來和各種硬件打交道的,驅動程序為用戶屏蔽了各種各樣的硬件設備,而只提供了簡單明了的函數接口給操作系統調用。LwIP已經設計好了這些框架,用戶只需嚴格按照順序完成與底層硬件相關的部分即可實現網絡接口層和IP層的通信。需要實現的包括:底層網絡接口初始化函數ethernetif_init()、網卡接收函數ethernetif_input()、網卡發送函數 ethernetif_output()和網卡中斷處理函數ethernetif_isr()等。驅動程序完成了對設備的初始化、釋放和管理,并且完成對底層以太網數據包的接收、搬運和發送。

  2.3 應用程序

  系統應用程序的任務主要是在嵌入式平臺上實現網絡通信客戶端和HTTP網頁服務器兩方面的功能。利用LwIP提供的API,采用TCP協議客戶端到服務器通信的模式,實現嵌入式終端和上位機之間的通信。在這種模式下,嵌入式終端定義為客戶端,主動向服務器發起TCP連接;而上位機(PC)定義為服務器端,始終監聽來自網絡的連接。嵌入式終端主要負責采集來自于傳感器或RFID模塊的數據,并將這些數據通過以太網傳送給上位機。同時嵌入式終端平臺上也運行著一個HTTP網頁服務器,上位機(PC)可通過網頁對嵌入式終端平臺進行訪問、查看和設置。

  三. WEB服務器的實現

  HTTP定義了瀏覽器與服務器交互的不同方法,最基本的方法有4種。本系統的實現只涉及到GET和POST這兩種最基本的方法。GET一般用于向服務器獲取和查詢資源信息,而POST一般用于向服務器上傳和更新沒有長度限制的、大容量的資源信息。一個基本的WEB服務器要實現動態網頁服務的關鍵是要能夠對瀏覽器發送的GET或POST請求做出響應。一般情況下制作動態網頁需要使用語言:HTML+ASP或 HTML+PHP或HTML+ JSP等。要在資源有限的嵌入式系統上實現這樣的功能是不現實的,一種明智的辦法是通過使用回調函數的方式,為瀏覽器的每一種請求都設計一個服務函數與之對應。當有新增加的GET或POST請求時,則只需要增加相應的服務函數即可。具體實現時可設計一個存放服務函數地址的結構體,其成員包括所請求服務參數的長度、名稱和對應服務函數的地址。然后將所有的結構體都初始化在一個數組中。

  在編寫應用程序的時候,只需抓取瀏覽器所發送的請求類型和參數,即可根據不同的請求來調用相應的服務函數。當有新的GET或者POST請求增加時,只需要增加與之對應的服務函數即可,這樣就實現了擴展性很強的動態網頁服務。WEB服務器響應瀏覽器訪問的流程如圖3所示。

  圖3 瀏覽器請求響應流程圖

  POST請求分為帶參數和不帶參數兩類,帶參數的POST請求,如:設置IP地址,子網掩碼等操作,需要提取相關參數后再調用服務函數進行處理。不帶參數的POST請求只需直接調用相應服務函數即可,如:重啟系統、恢復默認參數等操作。遠端PC可以通過該動態WEB服務器來對平臺進行訪問,完成上述幾項操作。在第一次啟動本系統時,系統通過運行DHCP客戶端程序,向DHCP服務器(路由器等設備)主動申請IP地址,獲得IP后,遠端PC即可通過該IP地址對本系統進行訪問和設置。

  四. 結束語

  平臺采用AT91SAM7X512處理器和DM9161以太網物理層芯片。兩者通過MII接口連接,高集成度的處理器提高了系統穩定性,降低了數據傳輸出錯機率。通過向終端平臺移植LwIP協議,使終端具備連入以太網的能力,并通過調用函數的方式在該低成本平臺上實現了動態網頁服務器。在局域網條件下運行該終端和上位機PC進行連接,能很好的通過網絡傳遞RFID讀卡器采集的信息,并且上位機PC能夠通過網頁對本終端進行訪問和參數設置。針對更復雜的遠程網絡連接和訪問,網絡延遲和丟包等問題還有待進一步的研究。

文章版權歸西部工控xbgk所有,未經許可不得轉載。

亚洲国产岛国毛片在线_美国十次了思思久久精品导航_亚洲人体影院_欧美精品亚洲精品
亚洲欧美日韩精品久久奇米色影视| 亚洲精品美女在线| 午夜久久美女| 亚洲女人天堂成人av在线| 国产欧美日韩激情| 麻豆av福利av久久av| 久久精品中文字幕免费mv| 亚洲电影欧美电影有声小说| 亚洲国产精品欧美一二99| 欧美日韩调教| 欧美在线黄色| 欧美77777| 午夜精品久久久久久99热软件| 欧美一区二区精品| 亚洲国产第一页| 一个色综合av| 激情六月婷婷综合| 亚洲日本在线视频观看| 国产精品日韩欧美大师| 美国十次了思思久久精品导航| 欧美久色视频| 久久裸体艺术| 欧美三级日本三级少妇99| 久久免费一区| 欧美日韩日本视频| 免费成人黄色av| 欧美色图麻豆| 欧美激情中文字幕一区二区| 国产精品久久久久久久午夜| 免费视频一区| 国产精品人人爽人人做我的可爱 | 雨宫琴音一区二区在线| 99这里只有久久精品视频| 韩日精品视频| 亚洲一级在线| 亚洲乱码日产精品bd| 久久国产成人| 翔田千里一区二区| 欧美日韩高清一区| 免费在线看一区| 国产一区久久| 亚洲一区欧美二区| 亚洲视频福利| 欧美精品乱码久久久久久按摩| 久久这里只有| 黄网站免费久久| 新67194成人永久网站| 亚洲欧美日韩高清| 欧美日韩精品一区二区在线播放 | 亚欧成人在线| 性久久久久久| 国产精品你懂的在线| 一本色道久久99精品综合| 亚洲精品视频在线观看免费| 久久久久久久999| 另类av一区二区| 国语自产精品视频在线看抢先版结局 | 久久www成人_看片免费不卡| 午夜精品www| 国产精品区一区二区三区| 夜夜嗨av一区二区三区四季av| 亚洲精品一品区二品区三品区| 久久资源av| 欧美国产另类| 亚洲欧洲精品一区二区三区| 噜噜噜在线观看免费视频日韩| 老鸭窝毛片一区二区三区 | 欧美黄色精品| 亚洲伦理中文字幕| 亚洲自拍偷拍麻豆| 国产精品毛片a∨一区二区三区| 一区二区三区视频在线观看| 亚洲欧美制服另类日韩| 国产乱肥老妇国产一区二 | 亚洲私人影院| 久久精品麻豆| 亚洲国产清纯| 欧美视频一区二区| 亚洲社区在线观看| 久久精品中文字幕一区| 在线电影院国产精品| 欧美大成色www永久网站婷| 亚洲久久在线| 久久精品免费电影| 亚洲欧洲一区二区在线播放| 欧美精品一区二区三区高清aⅴ| 一本久久综合亚洲鲁鲁| 欧美一区二区啪啪| 亚洲国产精品免费| 欧美三级黄美女| 久久精品国产99| 亚洲精品国产精品久久清纯直播 | 亚洲主播在线播放| 国产一区二区三区在线观看免费| 另类成人小视频在线| 亚洲精品在线视频| 久久激情综合网| 99视频一区二区三区| 国产欧美日韩一级| 欧美国产第二页| 欧美一区二视频| 亚洲免费电影在线| 久久综合网色—综合色88| 99国产精品久久久久久久久久| 国产九九视频一区二区三区| 欧美成人国产va精品日本一级| 中文亚洲视频在线| 亚洲国产三级网| 久久精品一区二区三区不卡牛牛 | 国产欧美日韩亚洲| 欧美精品成人| 久热精品在线视频| 欧美亚洲网站| 亚洲视频成人| 91久久久久久国产精品| 久久久久久电影| 亚洲一区二区三区四区在线观看 | 亚洲一区二区三区精品在线观看| 亚洲福利视频一区| 国产日韩欧美亚洲| 国产精品成人一区二区三区吃奶| 久久精品一区中文字幕| 亚洲一二三区在线| 99re6这里只有精品| 麻豆av一区二区三区| 久久精品成人一区二区三区| 在线视频亚洲| 日韩午夜电影| 亚洲人成7777| 亚洲精品日韩在线| 亚洲日本激情| 最近中文字幕mv在线一区二区三区四区| 国产区二精品视| 国产精品香蕉在线观看| 欧美性猛交99久久久久99按摩| 欧美韩日高清| 欧美国内亚洲| 欧美日韩国产999| 欧美日韩国产限制| 欧美日本亚洲视频| 欧美日韩另类在线| 欧美日韩在线免费观看| 欧美日韩精品免费看| 欧美日韩妖精视频| 国产精品久久久一本精品| 国产精品国产三级国产aⅴ浪潮| 欧美久久一级| 国产精品久久波多野结衣| 国产精品久久久久aaaa| 国产精品一区二区视频| 国产一区二区精品久久91| 国产一区二区三区不卡在线观看| 国内精品久久久久久久97牛牛| 国产一区二区成人久久免费影院| 国产一区二区三区黄| 激情欧美国产欧美| 亚洲人成久久| 亚洲一区二区免费| 欧美在线视频免费| 免费成人网www| 亚洲国产日韩欧美在线图片| 亚洲乱码国产乱码精品精天堂 | 久久久亚洲高清| 欧美激情第二页| 欧美日韩国产大片| 国产欧美一区二区精品性色| 激情综合色综合久久综合| 亚洲精品免费在线播放| 亚洲午夜精品一区二区三区他趣| 香蕉亚洲视频| 欧美激情精品久久久久久久变态 | 久久精品视频在线观看| 欧美精品免费看| 国产视频久久网| 亚洲区免费影片| 性色av一区二区三区在线观看| 麻豆视频一区二区| 99re6热只有精品免费观看| 性欧美video另类hd性玩具| 欧美mv日韩mv国产网站| 国产精品国产a级| 亚洲国产成人久久综合| 先锋资源久久| 亚洲黄网站黄| 久久不射网站| 国产精品久久一卡二卡| 91久久精品国产91久久性色| 亚洲女爱视频在线| 亚洲福利视频网| 欧美一区二区视频观看视频| 欧美精品二区| 亚洲国产精品成人久久综合一区| 亚洲校园激情| 亚洲日本电影| 久久最新视频| 国产一区二区三区四区三区四| 中国av一区| 亚洲国产乱码最新视频| 久久九九全国免费精品观看| 国产精品久久久久毛片大屁完整版|