<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 面向物聯(lián)網(wǎng)的嵌入式以太網(wǎng)終端平臺設計與實(shí)現

面向物聯(lián)網(wǎng)的嵌入式以太網(wǎng)終端平臺設計與實(shí)現

作者: 時(shí)間:2012-08-22 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:為了在的應用中,完成對RFID讀卡器以及傳感器模塊數據的網(wǎng)絡(luò )傳輸,了一個(gè)基于A(yíng)RM7的。針對低成本系統資源匱乏的問(wèn)題,提出了把瀏覽器請求當作函數調用的辦法,在了動(dòng)態(tài)網(wǎng)頁(yè)服務(wù)。該硬件部分采用ATMEL公司AT91SAM7X512微處理器作為主控芯片,軟件部分通過(guò)移植LwIP協(xié)議棧并調用其API了TCP客戶(hù)端和WEB服務(wù)器。平臺在取得數據后主動(dòng)向上位機請求連接并傳送數據,上位機可通過(guò)網(wǎng)頁(yè)對平臺進(jìn)行訪(fǎng)問(wèn)和設置。
關(guān)鍵詞:物;;LwIP;WEB服務(wù)器

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

1 平臺硬件設計
1.1 平臺結構及原理
該平臺采用ATMEL公司AT91SAM7X512處理器作為主控芯片,該處理器內部集成了控制器、512kbytes FALSH以及128kbytes SRAM。只需外接一片以太網(wǎng)物理層(PHY)收發(fā)芯片DM9161和一個(gè)網(wǎng)絡(luò )變壓器HR601680,即可構成以太網(wǎng)終端硬件平臺。AT91SAM7X512采用3.3 V和1.8 V雙工作電壓,使用頻率為18.432 MHZ的晶振作為時(shí)鐘電路的振蕩源,調試電路采用標準的20針JTAG仿真調試接口。該方案成本低,功耗小,并且所用芯片集成度很高因而保證了系統的穩定性。
AT91SAM7X512的以太網(wǎng)控制模塊實(shí)現了一個(gè)與IEEE802.3標準兼容的以太網(wǎng)MAC,支持全雙工模式,可通過(guò)DMA方式進(jìn)行數據收發(fā)。當物理層芯片DM9161接收到來(lái)自以太網(wǎng)的上位機數據時(shí),ARM通過(guò)MII接口(媒體獨立接口)讀取數據,并在內部通過(guò)DMA方式將數據讀入SRAM中交給TCP/IP協(xié)議棧進(jìn)行處理。同時(shí),當RFID射頻讀卡器或者傳感模塊有數據需要傳輸時(shí),平臺也能沿著(zhù)相同的通道將數據傳輸至上位機。系統整體結構如圖1所示:

本文引用地址:http://dyxdggzs.com/article/148553.htm

a.JPG


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

b.JPG


當系統上電后,由AT91SAM7X512給DM9161提供復位信號及引腳初始化電平,完成DM9161的上電初始化工作。當初始化完成后,系統會(huì )通過(guò)MII接口讀取DM9161內部狀態(tài)寄存器的值來(lái)完成對網(wǎng)絡(luò )連接模式和連接狀態(tài)的檢測。

2 平臺軟件的實(shí)現
2.1 TCP/IP協(xié)議棧的移植
LwIP是瑞典計算機科學(xué)研究院(SICS)設計的一個(gè)開(kāi)源的輕量級TCP/IP協(xié)議棧。它的目的是減少內存使用率和代碼大小,使LwIP能夠適用于資源緊張的嵌入式系統。利用μC/OS-Ⅱ提供的信號量和消息傳遞機制等系統服務(wù)可以實(shí)現對LwIP的移植。
2.1.1 信號量操作函數
LwIP使用信號量進(jìn)行通信,這個(gè)信號量可以是計數信號量,也可以是二值信號量,所以在sys_arch中需要實(shí)現與信號量操作相關(guān)的信號量結構體struct sys_sem_t、信號量建立函數sys_sem_new()、信號量釋放函數sys_sem_free()、信號量發(fā)出函數sys_sem_signal()和信號量等待函數sys_arch_sem_wait()。由于在μC/OS-Ⅱ中已經(jīng)實(shí)現了與信號量操作有關(guān)的各種函數,而且功能和上述幾個(gè)LwIP中所需要實(shí)現的函數的功能是完全一致的,所以只要調用μC/OS-Ⅱ中的信號量操作函數來(lái)重新包裝成LwIP中的信號量操作函數即可。
2.1.2 郵箱操作函數
LwIP使用郵箱來(lái)進(jìn)行消息傳遞,用戶(hù)可以用一個(gè)隊列來(lái)將其實(shí)現,需要注意的一點(diǎn)是,投遞進(jìn)郵箱中的消息只能是一個(gè)指針。因此要根據以上要求來(lái)實(shí)現消息隊列結構sys_mbox_t,以及相應的操作函數:sys_mbox_new()、sys_mbox_free()、sys_mbox_post()和sys_arch_mbox _fetch()。μC/OS-Ⅱ很好地實(shí)現了消息隊列結構及其操作,為消息隊列提供了豐富的管理函數,但μC/OS-Ⅱ沒(méi)有對消息隊列中的消息進(jìn)行管理,因而不能直接使用,必須在μC/OS-Ⅱ的基礎上重新實(shí)現。具體實(shí)現時(shí),可創(chuàng )建多個(gè)郵箱,并使用單向鏈表將這些郵箱鏈接在一起,每個(gè)郵箱可接收消息的數量由消息數組的大小來(lái)決定。對消息隊列本身的管理用μC/OS-Ⅱ中的隊列操作函數來(lái)完成,然后通過(guò)對鏈表的操作來(lái)實(shí)現對消息的創(chuàng )建、使用、刪除和回收,兩部分綜合起來(lái)形成了LwIP的郵箱功能。
2.1.3 創(chuàng )建新線(xiàn)程函數
在μC/OS-Ⅱ中只有任務(wù)的概念,建立一個(gè)新的線(xiàn)程實(shí)際上就是建立一個(gè)新的任務(wù)。因此只需要把OSTaskCreate()封裝一下,就可以實(shí)現sys_thread_new()。需要注意的是當前μC/OS-Ⅱ不支持時(shí)間片輪番調度法,不允許兩個(gè)或兩個(gè)以上的任務(wù)有同樣的優(yōu)先級,所以用戶(hù)要事先為L(cháng)wIP中創(chuàng )建的線(xiàn)程分配好優(yōu)先級。通過(guò)對LwIP中的宏TCPIP_THREAD_PRIO進(jìn)行包裝,來(lái)避免TCPIP線(xiàn)程優(yōu)先級與其他線(xiàn)程相同。
2.1.4 定時(shí)器函數
LwIP中每個(gè)線(xiàn)程都有一個(gè)timeouts鏈表,這個(gè)鏈表在建立之后其首地址必須固定。因此用于保存鏈表首地址的sys_timeouts結構必須與線(xiàn)程一一對應,而且其地址不能改變,以便能夠隨時(shí)得到鏈表的首地址??捎靡粋€(gè)靜態(tài)的sys_timeouts結構數組來(lái)存放各個(gè)線(xiàn)程的鏈表,以線(xiàn)程的優(yōu)先級號來(lái)作為數組索引號,這樣每一個(gè)線(xiàn)程就能對應一個(gè)sys-timeouts結構體了,并且在系統運行期間對應的結構體數組成員的地址會(huì )一直固定不變。移植時(shí)通過(guò)實(shí)現stmctsys_timeouts*sys_arch_timeouts(void)函數,來(lái)返回目前正處于運行態(tài)的線(xiàn)程所對應的timeouts隊列指針。
2.2 驅動(dòng)程序
操作系統是通過(guò)各種驅動(dòng)程序來(lái)和各種硬件打交道的,驅動(dòng)程序為用戶(hù)屏蔽了各種各樣的硬件設備,而只提供了簡(jiǎn)單明了的函數接口給操作系統調用。LwIP已經(jīng)設計好了這些框架,用戶(hù)只需嚴格按照順序完成與底層硬件相關(guān)的部分即可實(shí)現網(wǎng)絡(luò )接口層和IP層的通信。需要實(shí)現的包括:底層網(wǎng)絡(luò )接口初始化函數ethernetif_init()、網(wǎng)卡接收函數ethernetif_input()、網(wǎng)卡發(fā)送函數ethernetif_output()和網(wǎng)卡中斷處理函數ethernetif_isr()等。驅動(dòng)程序完成了對設備的初始化、釋放和管理,并且完成對底層以太網(wǎng)數據包的接收、搬運和發(fā)送。
2.3 應用程序
系統應用程序的任務(wù)主要是在嵌入式平臺上實(shí)現網(wǎng)絡(luò )通信客戶(hù)端和HTTP網(wǎng)頁(yè)服務(wù)器兩方面的功能。利用LwIP提供的API,采用TCP協(xié)議客戶(hù)端到服務(wù)器通信的模式,實(shí)現嵌入式終端和上位機之間的通信。在這種模式下,嵌入式終端定義為客戶(hù)端,主動(dòng)向服務(wù)器發(fā)起TCP連接;而上位機(PC)定義為服務(wù)器端,始終監聽(tīng)來(lái)自網(wǎng)絡(luò )的連接。嵌入式終端主要負責采集來(lái)自于傳感器或RFID模塊的數據,并將這些數據通過(guò)以太網(wǎng)傳送給上位機。同時(shí)嵌入式終端平臺上也運行著(zhù)一個(gè)HTTP網(wǎng)頁(yè)服務(wù)器,上位機(PC)可通過(guò)網(wǎng)頁(yè)對嵌入式終端平臺進(jìn)行訪(fǎng)問(wèn)、查看和設置。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

p2p機相關(guān)文章:p2p原理



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>