王星偉++陳少勇
摘要:隨著數(shù)字信息化、網(wǎng)絡化的各種多媒體處理業(yè)務的不斷增加,借助計算機網(wǎng)絡技術實現(xiàn)數(shù)據(jù)共享的需求不斷提高。為滿足這些需求,一種新興的技術——無線存儲,正越來越受到關注。而無線網(wǎng)絡技術的發(fā)展,特別是隨著通信技術和WiFi技術等通訊網(wǎng)絡的發(fā)展,使得基于Wifi的無線存儲得以很好地實現(xiàn)。
關鍵詞:WIFI 嵌入式;無線存儲;socket編程
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)17-0011-02
1 引言
本項目主要是用于圖像文件的存儲應用,系統(tǒng)的具體實現(xiàn)是基于嵌入式UCOS系統(tǒng)和WiFi技術,通過TCP/IP網(wǎng)絡通訊協(xié)議設計并實現(xiàn)一個無線存儲系統(tǒng),使遠端的嵌入式WiFi終端設備能夠連接到存儲設備里的資源,滿足用戶無線數(shù)據(jù)存儲的服務需求。首先介紹了無線存儲的概念和原理,再對文件系統(tǒng)、WiFi標準及無線局域網(wǎng)技術作了介紹,然后圍繞本虛擬存儲系統(tǒng)的實現(xiàn)原理,介紹了怎樣構建系統(tǒng)軟硬件開發(fā)環(huán)境,最后通過socket網(wǎng)絡編程完成數(shù)據(jù)傳輸,從而真正實現(xiàn)存儲的功能。
研究的總體思路、框架:
2 設計原理
2.1 設計原則
實用性:遵循面向應用,注重實效,急用先上,逐步完善的原則;充分保護已實用性原則為依據(jù),建設具有最低TCO(擁有總成本最低、最高性價比)的產(chǎn)品。
先進性:采用先進成熟的嵌入式技術、方法與設備,既反映當今先進水平,又給未來的發(fā)展留有余地。
可靠性:系統(tǒng)必須可靠運行,主要的、關鍵的設備應有冗余,一旦系統(tǒng)某些部分出現(xiàn)故障,應能很快恢復工作,并且不能造成任何損失。
可維護:系統(tǒng)具有良好的故障分析和處理能力。
2.2 微控制器的選型
1)STM32f407VGT6芯片特點
超快速數(shù)據(jù)傳送:采用多達7重AHB總線矩陣和多通道DMA控制器,支持程序執(zhí)行和數(shù)據(jù)傳輸并行處理,數(shù)據(jù)傳輸速率非常快。
FPU(浮點單元):集成了單精度FPU,提升控制算法的執(zhí)行速度和代碼效率。
高集成度:達1M 字節(jié)的片上FLASH 存儲器, 192K 字節(jié)的SRAM,復位電路,內(nèi)部RC,PLL,1uA的RTC。
多達15個通訊接口:包括6個UASRT,可運行到10.5Mbits/s、1個SDIO。
模擬:多達17個定時器、16位的和32位的定時器,可運行到168MHz。
其他外設:CRC計算單元、模擬的真正隨機數(shù)發(fā)生器、外部存儲器接口、存儲器加速器(從FLASH中執(zhí)行相當于零等待狀態(tài),性能達168MHz)。
選用原因:該芯片支持程序執(zhí)行和數(shù)據(jù)傳輸并行處理,數(shù)據(jù)傳輸速率非???,達1M 字節(jié)的片上FLASH 存儲器,192K 字節(jié)的SRAM,適合本項目的開發(fā)。
2.3硬件開發(fā)設計原理
1)研究內(nèi)容
下位機主要研究嵌入式系統(tǒng)LWIP對接收的數(shù)據(jù)封包解包以及對數(shù)據(jù)文件的存儲。
2)研究方法
Ucos系統(tǒng)和LWIP移植時,文件繁多,我們采用獨立移植。由于傳輸?shù)臄?shù)據(jù)較大,傳輸?shù)臅r候需要用到協(xié)議。在傳輸出錯時檢測依次檢查各個出錯點,統(tǒng)籌全局,將錯誤解決。
3)具體實施方案
(1)LAN8720A驅(qū)動模塊
LAN8720A 是低功耗的 10/100M 以太網(wǎng) PHY 層芯片支持通過 RMII 接口與以太網(wǎng) MAC 層通信,內(nèi)置 10-BASE-T/100BASE-TX 全雙工傳輸模塊,支持 10Mbps 和 100Mbps。
LAN8720A 可以通過 PHYAD0 引腳來配置,該引腳與 RXER 引腳復用,芯片內(nèi)部自帶下拉電阻,當硬復位結束后, LAN8720A 會讀取該引腳電平,作為器件的 SMI 地址,接下拉電阻時,設置 SMI 地址為 0,當外接上拉電阻后,可以設置為 1。
(2)SDIO驅(qū)動模塊
SD/SDIO MMC 卡主機接口 提供 APB2 外設總線與多媒體卡 (MMC)、 SD卡、 SDIO卡以及 CE-ATA 設備之間的接口。
SDIO 功能由兩部分組成:SDIO 適配器塊提供特定于 MMC/SD/SD I/O 卡的所有功能,如時鐘生成單元、命令和數(shù)據(jù)傳輸。 APB2 接口訪問 SDIO 適配器寄存器,并且生成中斷和 DMA 請求信號。 SDIO_D0、 SDIO_D[3:0] 或 SDIO_D[7:0] 可以用于數(shù)據(jù)傳輸。如果 SD 或 SD I/O 卡連接到總線,則主機可以將數(shù)據(jù)傳輸配置為使用 SDIO_D0 或 SDIO_D[3:0]。SDIO_CMD有兩種操作模式:開漏引腳,用于初始化、推挽,用于命令傳輸。SDIO_CK 是與卡相連的時鐘:一個位在每個時鐘周期內(nèi)同時在命令和數(shù)據(jù)線上傳輸。SDIO 使用兩個時鐘信號:SDIO 適配器時鐘 、APB2 總線時鐘(PCLK2)。PCLK2 和 SDIO_CK 時鐘頻率必須滿足以下條件:Frequenc PCLK2 38 Frequency SDIO_CK
3 實現(xiàn)方法
3.1 軟件流程圖
3.2各模塊的接口設計
1)SD卡與核心板的接口設計
Stm32的I/O口PC8-PC11一次連接SD卡接口的四個數(shù)據(jù)為SDIO_D0-SDIO_D3引腳用于數(shù)據(jù)傳輸,PC12連接SD卡接口的SDIO_SCK引腳用于驅(qū)動 SDIO 適配器并產(chǎn)生SDIO_CK 時鐘,PD2連接SD卡接口的SDIO_CMD引腳,用于初始化和命令傳輸。
2)USB與STM32核心板連接
STM32F4開發(fā)板的USB HOST 接口采用的是側(cè)式USB-A座,它和USBSLAVE的5PIN MiniUSB接頭是共用 USB_DM和USB_DP信號的,所以USB HOST 和 USBSLAVE不能同時使用。
3)LAN8720硬件連接
4 系統(tǒng)測試
在經(jīng)過研究之后,我們主要對文件的名字和格式還有文件的大小進行測試。測試結果如下表所示。
從表中可以看出,對傳輸是否成功取決于文件名字是否為字符,還有文件的大小;系統(tǒng)能識別中文這個功能本系統(tǒng)暫時還未完善,而傳輸時因為文件大小導致成功率的高低,是由于芯片的內(nèi)存有限導致的。
5 項目成果
本項目最終實現(xiàn)了對文件的存放路徑的獲取,并作出相應操作。無線存儲系統(tǒng)通過Wifi模塊連接手機端,在手機端發(fā)送命令,系統(tǒng)接收到命令來執(zhí)行相應的操作。本系統(tǒng)基本實現(xiàn)了上傳手機端文件到存儲設備,也能夠從存儲設備中下載所需文件到手機端。該系統(tǒng)運用了wifi模塊,arm技術,android手機應用技術,成功地實現(xiàn)了文件的上傳下載還有轉(zhuǎn)存功能。
6 結束語
感謝指導老師對本項目的悉心指導,特別是定期的階段性總結,讓我們了解到項目當前工作的開展情況和下階段的任務安排,并不斷查缺補漏,保證項目的順利開展。在這次的項目中,我們能較好地運用所學的知識,提高了動手操作能力。在項目開展的過程,遇到問題的時候我們也及時查閱相關的資料和文檔,達到分析問題、解決問題的能力。
參考文獻:
[1] 劉乃安,李曉輝,張聯(lián)峰,等. 無線局域網(wǎng)(WLAN)原理、技術與應用[M].西安:西安電子科技大學出版社,2004.
[2] 朱升平. 嵌入式網(wǎng)絡那些事: LwIP協(xié)議深度剖析與實戰(zhàn)演練[M]. 北京:中國水利水電出版社,2012.
[3] 周慈航. 基于嵌入式實時操作系統(tǒng)的程序設計技術[M].北京:北京航空航天大學出版社.2001.
[4] 任哲. 嵌入式實時操作系統(tǒng)μC/OS-II原理及應用(第2版)[M]. 北京:北京航空航天大學出版社, 2009.