新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種大容量移動(dòng)存儲(chǔ)的網(wǎng)絡(luò)訪問(wèn)方案設(shè)計(jì)

一種大容量移動(dòng)存儲(chǔ)的網(wǎng)絡(luò)訪問(wèn)方案設(shè)計(jì)

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏
一種大容量移動(dòng)存儲(chǔ)的網(wǎng)絡(luò)訪問(wèn)方案設(shè)計(jì)

μIP相當(dāng)于一個(gè)代碼庫(kù),通過(guò)一系列的函數(shù)實(shí)現(xiàn)與底層硬件和高層應(yīng)用程序的通信,對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)它的內(nèi)部協(xié)議組是透明的,從而增強(qiáng)了協(xié)議的通用性。從圖5可以看出μIP協(xié)議棧主要提供了3個(gè)函數(shù)供系統(tǒng)底層調(diào)用,即uip_init()、uip_input()和uip_periodic(),其與應(yīng)用程序的主要接口是UIP_APPCALL()。

移植μIP協(xié)議棧至8位單片機(jī),關(guān)鍵步驟包括以下幾點(diǎn):

①仔細(xì)閱讀μIP協(xié)議源碼,了解μIP主循環(huán)的代碼結(jié)構(gòu)。

根據(jù)實(shí)際使用的網(wǎng)卡芯片編寫(xiě)驅(qū)動(dòng)網(wǎng)卡函數(shù),比如本方案選用的網(wǎng)卡芯片為,則需根據(jù)相關(guān)數(shù)據(jù)手冊(cè)編寫(xiě)驅(qū)動(dòng)。

②使用單片機(jī)的一個(gè)定時(shí)器為μIP協(xié)議棧中的TCP和ARP作定時(shí)服務(wù)。

③根據(jù)需要修改配置文件uipopt.h/uip—config.h中本地IP地址、網(wǎng)關(guān)地址、MAC地址、全局緩沖區(qū)的大小、支持的最大連接數(shù)、偵聽(tīng)數(shù)、ARP表大小等。

④根據(jù)實(shí)際應(yīng)用的需要修改、編寫(xiě)UIP_APPCALL這個(gè)宏定義,如果應(yīng)用程序需要實(shí)現(xiàn)TCP服務(wù)器則將這個(gè)宏定義改為#“define UIP_APP CALL tcp_server_appcall”,并編寫(xiě)具體的TCP應(yīng)用函數(shù);如果應(yīng)用程序需要實(shí)現(xiàn)Web服務(wù)器,則將這個(gè)宏定義改為“#define UIP_APPCALL httpd_appcall”,并編寫(xiě)具體的Web服務(wù)器應(yīng)用函數(shù)。

(3)μiP協(xié)議的Web服務(wù)器的實(shí)現(xiàn)

基于UIP協(xié)議的Web服務(wù)器主程序采用中斷加輪詢(xún)的方式,輪詢(xún)有無(wú)網(wǎng)絡(luò)數(shù)據(jù)包輸入,如有則調(diào)用μIP的相關(guān)處理函數(shù),如無(wú)則檢測(cè)定時(shí)輪詢(xún)中斷是否發(fā)生。這里將STC15F2K60S2單片機(jī)的T1定時(shí)器設(shè)為μIP的定時(shí)輪詢(xún)計(jì)數(shù)器,在T1中斷中設(shè)置輪詢(xún)標(biāo)志,一旦主程序檢測(cè)到這一標(biāo)志,就調(diào)用μip_periodic()輪詢(xún)各連接。Web服務(wù)器首先打開(kāi)80端口的監(jiān)聽(tīng),一旦有客戶(hù)機(jī)要求連上,μIP內(nèi)部會(huì)給它分配一個(gè)連接項(xiàng)等,收到客戶(hù)機(jī)IE瀏覽器發(fā)出的GET HTTP請(qǐng)求后,就會(huì)生成一幅新的網(wǎng)頁(yè)發(fā)給客戶(hù)機(jī)。老用戶(hù)關(guān)閉了瀏覽器,μIP會(huì)自動(dòng)檢測(cè)到這一事件并且釋放掉這個(gè)連接項(xiàng)。基于μIP協(xié)議棧的Web服務(wù)器程序流程圖如圖6所示。

一種大容量移動(dòng)存儲(chǔ)的網(wǎng)絡(luò)訪問(wèn)方案設(shè)計(jì)

2 系統(tǒng)測(cè)試結(jié)果

為了驗(yàn)證系統(tǒng)能否在測(cè)井過(guò)程中將傳感器收集到的海量數(shù)據(jù)存入U(xiǎn)盤(pán)并實(shí)現(xiàn)互聯(lián)網(wǎng)遠(yuǎn)程訪問(wèn),采用RTC時(shí)鐘芯片、A/D轉(zhuǎn)換芯片以及LM75A溫度傳感器芯片,模擬測(cè)井過(guò)程中的各路傳感器進(jìn)行測(cè)試。系統(tǒng)上電后通過(guò)網(wǎng)線(xiàn)及路由器接入互聯(lián)網(wǎng),插上U盤(pán)至目標(biāo)板,打開(kāi)PC機(jī)的IE瀏覽器,在地址欄輸入http://10.10.217.222,回車(chē)即可看到彈出一個(gè)新的界面(如圖7左側(cè)所示),單擊界面中的“開(kāi)始采集”連接,可以看到目標(biāo)板上U盤(pán)指示燈不停閃爍,表示數(shù)據(jù)正在采集,一段時(shí)間過(guò)后單擊界面中的“停止采集”,即可看到U盤(pán)指示燈停止閃爍,表示數(shù)據(jù)采集結(jié)束,再次單擊“查看已采集的數(shù)據(jù)”連接,彈出一個(gè)新的界面顯示采集到的數(shù)據(jù)信息,如圖7右側(cè)所示。

一種大容量移動(dòng)存儲(chǔ)的網(wǎng)絡(luò)訪問(wèn)方案設(shè)計(jì)

結(jié)語(yǔ)

本文提出的海量測(cè)井?dāng)?shù)據(jù)的以太網(wǎng)訪問(wèn)方案,彌補(bǔ)了傳統(tǒng)測(cè)井系統(tǒng)數(shù)據(jù)采集存儲(chǔ)容量不夠大、設(shè)備移動(dòng)性不夠靈活等不足,使得一些工作在惡劣環(huán)境下的測(cè)井系統(tǒng)能在無(wú)人值守的條件下安全地進(jìn)行海量數(shù)據(jù)采集工作,避免了測(cè)井人員在惡劣環(huán)境中工作時(shí)的安全隱患,具有一定的實(shí)用價(jià)值。


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

評(píng)論


相關(guān)推薦

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

關(guān)閉