《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的C/S模式網絡硬盤設計與實現
基于FPGA的C/S模式網絡硬盤設計與實現
2014年電子技術應用第12期
郭燕妮,何 杰,張 剛
(太原理工大學 信息工程學院,山西 太原030024)
摘要: 針對目前多數B/S(Browser/Server,瀏覽器/服務器)模式網絡硬盤存在的安全性問題以及文件格式和文件大小受限等問題,提出并實現了一種基于FPGA的C/S(Client/Server,客戶端/服務器)模式網絡硬盤,分別在用戶層、內核層對NFS(Network File System,網絡文件系統)服務器、FAT32文件系統進行了設計及改進,并在硬件層設計了硬盤控制器IP核及其所需的驅動程序,最后通過Petalinux操作系統移植到Microblaze中,利用軟硬件協同設計的方式在XUPV5_LX110T開發板上驗證通過。驗證結果表明,該網絡硬盤可實現遠程文件在線訪問及其他基本操作,并且對文件格式、單個文件大小無限制。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2014)12-0030-03
The design and implement of C/S mode network hard disk based on FPGA
Guo Yanni,He Jie,Zhang Gang
College of Information and Engineering,Taiyuan University of Technology,Taiyuan 030024,China
Abstract: Aiming at the problems of most existing B/S (browser/Server) mode network hard disks, such as security problem, the limitation of file format and file size, this paper proposes and implements a kind of C/S(Client/Server) mode network hard disk based on FPGA. It designs and improves the NFS server and FAT32 file system in the user layer and inner nuclear layer, then designs hard disk controller IP core and required drivers in the hardware layer. Finally, through the transplantation of Petalinux operating system to the Microblaze, using co-design of hardware and software,the system is verified on XUPV5_LX110T board. Verification results show that this network hard disk can realize remote file access and other basic operations online, and has no limitation of file format and a single file size.
Key words : C/S mode;NFS;FAT32 file system;Intellectual Property core;system transplantation

0 引言

  隨著網絡技術的不斷進步以及網絡應用程序的增加,人們對簡單快捷易管理易攜帶存儲方式的需求愈加強烈,而網絡硬盤可以不需要攜帶任何存儲設備,只要通過網絡就能隨時隨地對目標文件進行訪問。

  目前,已有眾多企業推出了各類的網絡硬盤比如百度網盤、微軟Skydrive、華為網盤等,注冊用戶可以通過賬號密碼隨時隨地訪問自己的已經上傳的內容,對文件進行管理,實現了無存儲設備的遠程訪問,并且不會損壞文件。但是,目前已有的網絡硬盤均是基于B/S模式的,雖然支持文件的一次性上傳下載及在線瀏覽等功能,但與操作本地文件之間有本質區別,用戶不能在線對文件進行編輯保存。此外,該模式的網絡硬盤還存在安全性能差,對服務器性能要求高、與服務器交互性差及存儲數據傳輸速度慢等問題。

  本文通過FPGA編程設計實現了一種基于C/S模式的網絡硬盤,與現有B/S模式網絡硬盤不同,它是通過客戶端與服務器進行直接相連的,沒有中間環節,因此具有響應速度快、交互性強、網絡通信量低、易于處理大量數據等特點,而且,通過網絡用戶可以對文件進行在線操作。

1 系統簡介及平臺搭建

  1.1 系統整體架構


001.jpg


  本文設計實現了一種基于FPGA的C/S模式網絡硬盤,其系統整體框架如圖1所示,主要包括用戶層、內核層和硬件層。其中,用戶層主要完成的是客戶端與服務器通信;硬件層負責對存儲硬盤的操作,可以通過ATA硬盤控制器對上層命令進行解析,對硬盤進行數據讀取和存入;內核層是用戶層與硬件層之間的連接樞紐,該層可以通過文件系統以及驅動程序對用戶層發送的請求進行處理并對硬件層硬盤進行調用訪問。

  1.2 系統硬件平臺搭建


002.jpg

  系統是在XUPV5_LX110T開發板上外接ATA硬盤以及網線實現的,結構組成如圖2所示。平臺是以Xilinx公司的XUPV5_LX110T FPGA開發板為基礎搭建的,通過對開發板內嵌的各個模塊進行選擇,然后連接DDR2_SRAM、Hard_Ethernet_MAC、RS232_Uart_1等基本外部設備,最后添加硬盤控制器IP核,完成系統整體平臺的搭建。其中,核心處理器選擇的是Microblaze軟核處理器。

2 系統設計

  2.1 硬件層設計

  由于選用的XUPV5_LX110T FPGA開發板可以提供圖2中的大部分模塊,因此,系統的硬件層主要是對ATA硬盤控制器IP核[1]的設計。本文通過對ATA/ATAPI-6協議進行分析,用VHDL語言設計實現對硬盤數據進行扇區讀寫操作,其具體模塊結構圖3所示。

003.jpg

  硬盤控制器按照功能模塊共劃分為BRAM接收和發送模塊、指令解析模塊、硬盤訪問控制模塊、CRC校驗模塊以及差錯處理模塊。其中,指令解析模塊負責對上層發送的請求進行監控解析,并觸發硬盤訪問控制模塊從而對硬盤操作;硬盤訪問控制模塊在接收到觸發命令后,對基本控制時序進行設置,包括硬盤硬件復位、硬盤模式設置、扇區讀寫等;CRC校驗模塊對讀寫的數據進行校驗;差錯處理模塊是對錯誤指令或指令執行異常的情況進行處理。以上所有模塊均是用VHDL語言實現的,并通過仿真調試及測試。

  系統中內核層與硬盤之間是以PLB總線掛載的方式互連的,掛載后,可以通過硬盤驅動程序[2],以寄存器的方式訪問硬盤數據,因此在以上功能模塊設計以后,要對硬盤控制器按照自定義IP核的方法進行IP核封裝來作為外接設備。

  2.2 內核層設計

  本系統采用FAT32文件系統[3]對用戶數據進行管理。為適應上層用戶層的調用,本文對FAT32文件系統進行了改進:首先對文件系統信息建立全局變量struct fs_fat32 fatfs,并用struct node_fat32初始化文件節點;然后重寫對文件及目錄的操作函數以適應上層NFS的調用;最后編寫FAT32文件系統的Makefile文件進行測試。測試證明可以對文件以及目錄進行正確讀寫、修改、刪除等基本操作。

  2.3 用戶層設計

  用戶層設計是系統的核心部分,主要是對NFS服務器端的設計。NFS是一種分布式文件系統協議,通過網絡,用戶可以像訪問本地文件一樣訪問遠端系統上的文件。因此結合RPC(Remote Procedure Call,遠程過程調用)和XDR(External Data Representation,外部數據表示),就可以實現跨網絡、跨操作系統、跨文件系統的訪問。其中,RPC是可實現遠程客戶端對服務器端函數的調用。而XDR保證了數據格式的一致性。

004.jpg

  NFS服務器端[4]設計主要是實現一次完整的NFS文件訪問,通過客戶端與服務器端RPC的Portmap、Mountd、NFSD 3個模塊間的交互完成,其交互的具體過程如圖4所示。在交互過程中,每當服務器端NFSD模塊接收到客戶端請求時,就會對接收到的數據進行XDR解碼處理,并根據解碼得到的過程號調用NFSD程序中的過程進行操作,NFSD過程會通過調用底層文件系統對請求進行處理,并將處理結果進行XDR編碼后發送回客戶端,其具體操作流程如圖5所示。

005.jpg

  考慮到NFS整體與內核聯系緊密,可移植性低,因此本文在保持NFS功能的基礎上對其進行了簡化設計及改進,首先將Portmap(RPCbind)、Mountd、NFSD寫成應用程序,采用Linux中混合多端口的異步Socket[5]編程方法。分別基于TCP和UDP傳輸協議對NFSD、Mountd、Portmap進行套接字創建,然后設置全局變量svc_fdset、fd_set對Socket進行管理,并利用select函數選擇有請求的套接字,最后用recv函數和send函數進行數據接收和發送。其中,本文對NFSD、Mountd、Portmap這三個進程用結構體svc_program進行定義,并用結構體中pg_next將各個進程加入鏈表,其中,鏈表頭為NFSD程序。在接收到請求后,服務器端從鏈表頭對鏈表進行順序查找,找到需要的服務,對其按照圖5所示的流程進行處理。

3 系統驗證


006.jpg

  本系統經過系統移植[6]將軟硬件進行整合來完成系統的整體設計。先下載petalinux-v0.40-final內核源碼到虛擬機“/root/桌面”目錄下移植Petalinux操作系統,然后將硬件平臺信息及硬件工程添加到操作系統中,最后將NFS服務程序以應用程序的形式添加到操作系統內核,同時將硬盤控制器封裝為IP核添加到內核中。添加完成后對內核進行編譯并燒寫到開發板中,運行整個系統。

  系統運行后,打開客戶端,在客戶端輸入掛載命令:sudo mount-t nfs-o nolock 192.168.xx.xx:/ /tmp/nfs,其中,192.168.xx.xx為開發板IP地址,本文中為192.168.0.10,

  “/tmp/nfs”為客戶端掛載目錄。測試結果如圖6所示,圖中在客戶端“/tmp/nfs”中顯示的文件,實際為服務器端硬盤中的文件,在客戶端nfs目錄下即可打開這些文件,在線對文件進行讀寫、修改保存等操作,而且拖動文件即可實現文件下載上傳,速度可達1.3 MB/s。實驗表明,設計的基于FPGA的C/S模式網絡硬盤具有以下優勢:(1)交互性強,支持用戶在線操作文件;(2)實用性廣,可進行硬盤陣列擴展,擴大內存;(3)兼容性強,C/S模式網絡硬盤具有與本地硬盤相同的兼容性,不限制存儲文件的格式、大小及存儲時間;(4)安全性高,采取賬號密碼映射IP的方式,存儲文件僅登錄用戶可見。

4 結論

  本文設計了一種基于FPGA的C/S模式網絡硬盤,在XUPV5_LX110T開發板搭建了系統并驗證通過。結果表明該種網絡硬盤具備很好的可行性,可以實現遠程訪問,而且傳輸速度快,支持在線編輯,具有廣泛的應用前景及參考價值。

參考文獻

  [1] 彭維.基于PLB總線的用戶IP核接口技術研究[D].合肥:合肥工業大學,2011.

  [2] 宋寶華.Linux設備驅動開發詳解(第二版)[M].北京:人民郵電出版社,2010.

  [3] 楊明極,陳方縣,吳學君.嵌入式系統中SD卡的FAT32文件系統的設計[J].電聲技術,2010,34(4):36-39.

  [4] 劉榮勝.一種基于異步回調機制的NFS服務端設計與實現[J].蘇州市職業大學學報,2013(1):41-43.

  [5] STEVENS W R.Linux network programming——Socket[Z].2011.

  [6] 薛慧敏,武傳華,路后兵.MicroBlaze處理器的PetaLinux操作系統移植[J].單片機與嵌入式系統應用,2011,11(4):67-69.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品永久免费| 亚洲国产合集| 欧美国产一区在线| 久久久久久久久久久一区| 亚洲欧美国产另类| 亚洲一区二区在线| 宅男噜噜噜66一区二区66| 亚洲精品1区2区| 久久精品欧洲| 久久精品官网| 久久福利资源站| 久久国产欧美精品| 亚洲国产精品v| 亚洲第一色中文字幕| 久久国产手机看片| 亚洲第一综合天堂另类专| 欧美亚洲视频在线看网址| 亚洲欧美三级伦理| 香蕉久久久久久久av网站| 午夜国产精品视频| 欧美一区二区三区另类| 欧美在线观看你懂的| 久久精品欧美日韩精品| 亚洲激情网站| 一区二区三区久久久| 亚洲午夜久久久久久尤物| 亚洲自拍偷拍色片视频| 午夜日韩在线观看| 久久久久久高潮国产精品视| 久久久久9999亚洲精品| 美腿丝袜亚洲色图| 欧美激情久久久久| 欧美日韩人人澡狠狠躁视频| 欧美性大战久久久久久久| 国产精品色一区二区三区| 国产啪精品视频| 一区在线播放| 亚洲人成在线影院| 亚洲视频在线观看| 欧美影院成人| 亚洲精品在线三区| 亚洲在线观看视频网站| 欧美在线播放一区| 老司机午夜精品| 欧美日韩精品伦理作品在线免费观看| 欧美视频精品一区| 国产精品日产欧美久久久久| 国产一区二区精品久久| ●精品国产综合乱码久久久久 | 国产精品人人做人人爽| 国产一区二区三区丝袜| 亚洲精品国产视频| 亚洲宅男天堂在线观看无病毒| 欧美一区亚洲| 一区二区三区精品国产| 久久精品视频免费| 欧美日韩精品是欧美日韩精品| 国产欧美日韩激情| 亚洲激情在线观看视频免费| 亚洲欧洲av一区二区| 亚洲精品日韩在线观看| 午夜精品久久久久久99热| 久久综合九色综合久99| 欧美午夜精品理论片a级按摩| 国模私拍一区二区三区| 夜夜爽av福利精品导航| 亚洲高清自拍| 亚洲欧美日韩另类| 欧美国产视频日韩| 国产一区二区三区四区hd| 99re热精品| 亚洲欧洲日本mm| 久久aⅴ国产紧身牛仔裤| 欧美麻豆久久久久久中文| 国产一区二区视频在线观看| 99精品国产在热久久婷婷| 亚洲国产精品一区二区第四页av| 午夜精品999| 欧美日韩福利在线观看| 精品福利电影| 亚洲欧美日韩网| 亚洲亚洲精品三区日韩精品在线视频 | 老妇喷水一区二区三区| 欧美午夜精品一区| 亚洲高清自拍| 性亚洲最疯狂xxxx高清| 一区二区三区日韩在线观看 | 亚洲国产精品女人久久久| 欧美制服第一页| 午夜国产一区| 欧美视频四区| 亚洲人精品午夜| 亚洲国产精品欧美一二99| 久久久久九九九九| 国产精品午夜国产小视频| 亚洲免费观看| 亚洲三级视频| 麻豆视频一区二区| 国外成人在线| 欧美在线免费视屏| 欧美在线视频不卡| 国产精品乱码人人做人人爱| 日韩视频在线观看国产| 亚洲精品国精品久久99热一| 美女精品在线观看| 在线日韩中文| 亚洲黄色高清| 美女图片一区二区| 在线欧美电影| 亚洲激情综合| 欧美国产另类| 亚洲人成网站777色婷婷| 亚洲精品色图| 欧美大成色www永久网站婷| 在线不卡a资源高清| 亚洲级视频在线观看免费1级| 麻豆精品传媒视频| 亚洲国产成人一区| 日韩视频国产视频| 欧美激情第3页| 亚洲精品在线三区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美国产精品一区| 日韩一二三区视频| 亚洲图片在线观看| 国产精品久久国产精麻豆99网站| 一区二区激情小说| 午夜精品成人在线| 国产视频一区在线观看一区免费| 午夜日韩av| 久久免费视频这里只有精品| 好吊妞**欧美| 亚洲精品美女在线| 欧美日本在线视频| 亚洲视频电影图片偷拍一区| 午夜精品成人在线| 国产夜色精品一区二区av| 亚洲大胆av| 欧美经典一区二区三区| 一本色道久久综合亚洲精品婷婷| 亚洲欧美日本伦理| 国产视频久久| 最新国产乱人伦偷精品免费网站| 欧美精品国产精品日韩精品| 一区二区高清在线观看| 久久精品盗摄| 在线视频国产日韩| 亚洲图片欧洲图片av| 国产日韩一区| 亚洲人成欧美中文字幕| 欧美日韩一区综合| 亚洲欧美日韩系列| 欧美成人精品在线视频| 一区二区精品在线| 久久九九全国免费精品观看| 亚洲国产精品电影| 亚洲欧美一区二区三区在线| 国产综合一区二区| 这里是久久伊人| 国产日产欧美一区| 亚洲精品日韩久久| 国产麻豆成人精品| 91久久综合亚洲鲁鲁五月天| 国产精品magnet| 久久精品一区二区三区中文字幕 | 亚洲欧美制服另类日韩| 狠狠色狠狠色综合人人| 亚洲视频精选| 狠狠色2019综合网| 亚洲午夜久久久久久久久电影院 | 欧美一区二区三区的| 欧美精品99| 香蕉成人伊视频在线观看| 欧美成人高清| 亚洲欧美国产毛片在线| 欧美成人免费大片| 亚洲欧美日韩综合| 欧美激情综合在线| 欧美怡红院视频一区二区三区| 欧美精品久久一区二区| 欧美一区二区三区男人的天堂 | 永久免费精品影视网站| 亚洲午夜小视频| 精品av久久707| 亚洲一区国产一区| 尤物99国产成人精品视频| 午夜精品久久久久久久久久久久久| ●精品国产综合乱码久久久久| 午夜精品久久久久久久白皮肤| 亚洲国产婷婷综合在线精品| 欧美一区免费视频| 亚洲人成亚洲人成在线观看| 久久国产精品99国产| 亚洲精品偷拍| 久久午夜精品一区二区| 一本久道久久综合狠狠爱| 牛人盗摄一区二区三区视频| 亚洲欧美激情一区| 欧美国产一区二区| 亚洲国产精品视频一区|