《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
欧美一区深夜视频| 欧美暴力喷水在线| 亚洲国内在线| 午夜久久资源| 亚洲欧美国产精品专区久久| 亚洲精品久久久久久久久| 亚洲第一精品影视| 雨宫琴音一区二区在线| 国语精品中文字幕| 国产一区二区三区在线观看免费 | 亚洲国产你懂的| 亚洲国产精品精华液2区45| 欧美一级成年大片在线观看| 亚洲一区二区三区激情| 亚洲主播在线观看| 亚洲欧美综合精品久久成人 | 久久手机精品视频| 久久综合99re88久久爱| 久久深夜福利| 欧美成人高清视频| 欧美日本免费一区二区三区| 欧美日韩一区二区在线观看| 国产精品v亚洲精品v日韩精品 | 午夜精品三级视频福利| 欧美亚洲视频| 久久久久久九九九九| 另类成人小视频在线| 欧美暴力喷水在线| 欧美日韩久久精品| 国产精品电影在线观看| 国产日产欧美精品| 黄色成人在线观看| 亚洲黄色有码视频| 一区二区三区av| 香蕉精品999视频一区二区| 亚洲第一视频网站| 日韩午夜激情av| 亚洲欧美中文另类| 久久视频在线看| 欧美另类变人与禽xxxxx| 欧美亚州在线观看| 国产视频久久| 在线色欧美三级视频| 99综合在线| 欧美一级艳片视频免费观看| 亚洲欧洲精品一区二区| 国产精品99久久不卡二区| 欧美一区二区黄色| 美女精品视频一区| 欧美日韩在线三级| 国产亚洲欧美日韩在线一区| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲精品社区| 午夜精品一区二区三区在线视 | 国产精品美女久久| 好吊一区二区三区| 亚洲精品欧美日韩专区| 亚洲欧美日韩在线一区| 亚洲乱码日产精品bd| 性娇小13――14欧美| 女仆av观看一区| 国产精品大片wwwwww| 在线观看日韩欧美| 亚洲伊人色欲综合网| 亚洲片在线观看| 亚洲免费在线看| 免费久久精品视频| 国产欧美日韩一区二区三区在线| 亚洲黄色成人久久久| 午夜在线成人av| 在线一区视频| 久久综合综合久久综合| 国产精品wwwwww| 伊人久久大香线蕉综合热线| 亚洲午夜久久久| 亚洲精品一区二区三区樱花| 久久国内精品视频| 欧美日韩一区二区视频在线观看| 精品999成人| 午夜精品福利一区二区三区av| 亚洲精品欧洲| 久久久亚洲一区| 国产精品久久国产愉拍| 亚洲国产成人精品久久| 亚洲欧美日韩一区在线| 一区二区日本视频| 免费日韩av电影| 国产色产综合色产在线视频| 一区二区欧美精品| 日韩手机在线导航| 久热re这里精品视频在线6| 国产欧美短视频| 一区二区三区高清在线观看| 亚洲欧洲午夜| 久久久久网址| 国产日韩欧美亚洲| 亚洲一区二区动漫| 亚洲视频综合| 欧美黄污视频| 在线播放一区| 久久精品久久99精品久久| 欧美在线免费一级片| 国产精品乱人伦中文| 日韩视频在线观看免费| 日韩亚洲欧美一区二区三区| 免费在线欧美视频| 伊人男人综合视频网| 久久精品国产69国产精品亚洲| 欧美在线视频免费播放| 国产精品网站一区| 亚洲一区二区三区四区视频| 亚洲网站在线观看| 欧美日韩在线播放一区二区| 亚洲美女av网站| 一区二区三区日韩精品视频| 欧美精品99| 亚洲人成高清| 一本色道久久加勒比精品| 欧美伦理91i| 99精品久久久| 亚洲免费中文字幕| 国产精品久久福利| 亚洲伊人网站| 久久国产福利| 国产综合av| 欧美在线啊v一区| 久久青草欧美一区二区三区| 国产又爽又黄的激情精品视频| 欧美一区二区三区免费视频| 久久国产精品亚洲77777| 国产日韩欧美夫妻视频在线观看| 亚洲免费视频成人| 久久精品国产96久久久香蕉| 国产专区综合网| 亚洲高清资源| 欧美国产视频在线观看| 亚洲日本久久| 亚洲伊人网站| 国产日韩欧美精品一区| 久久国产精彩视频| 欧美成人综合一区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲私拍自拍| 国产农村妇女毛片精品久久麻豆| 久久av最新网址| 欧美黑人一区二区三区| 日韩西西人体444www| 午夜精品www| 好吊视频一区二区三区四区| 亚洲精品精选| 欧美午夜精品久久久久久超碰| 亚洲欧美国产毛片在线| 久久久久久久久久久成人| 原创国产精品91| 一本久道久久综合婷婷鲸鱼| 国产精品久久毛片a| 欧美一区二区成人6969| 欧美成ee人免费视频| av成人免费在线观看| 久久xxxx| 91久久精品一区二区别| 亚洲欧美国产高清va在线播| 国产综合激情| 日韩小视频在线观看专区| 国产精品久久久久一区二区| 久久精品人人做人人爽电影蜜月| 欧美日韩成人在线播放| 午夜电影亚洲| 欧美日韩高清在线播放| 午夜精品久久久| 欧美激情一二区| 亚洲欧美自拍偷拍| 欧美精品日韩www.p站| 亚洲女人天堂av| 欧美激情视频一区二区三区免费| 亚洲一区二区免费在线| 女人色偷偷aa久久天堂| 亚洲在线观看视频| 欧美国产日韩视频| 午夜久久99| 欧美精品一线| 欧美制服第一页| 欧美午夜免费影院| 亚洲国产精品一区二区尤物区 | 国产精品久久网站| 亚洲日本成人| 国产三级欧美三级| 国产精品99久久久久久白浆小说| 韩日在线一区| 午夜精品www| 亚洲毛片在线观看.| 裸体一区二区| 欧美一级视频| 国产精品高潮呻吟久久av无限| 亚洲国产精品成人综合| 国产免费观看久久黄| 一本色道久久99精品综合| 国产一区二区三区在线观看视频| 亚洲一区二区欧美| 亚洲国产一二三|