999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的水下數據存儲系統設計*

2016-08-11 06:59:53張世海
計算機與數字工程 2016年4期
關鍵詞:數據存儲

孫 昕 張世海

(91439部隊96分隊 大連 116041)

?

基于FPGA的水下數據存儲系統設計*

孫昕張世海

(91439部隊96分隊大連116041)

摘要為了解決在水下多通道數據采集系統中不能滿足高速大容量數據脫機存儲的問題,設計了一種基于FPGA的磁盤陣列存儲方案。在以Cyclone Ⅳ FPGA為核心的SOPC系統上實現了IDE接口控制,并完成了硬盤參數檢測與初始化配置以及基于PIO模式的數據讀寫。基于磁盤陣列存儲的設計思想,采用IDE/SATA雙接口和雙通道的雙存儲設計,利用FATFS文件系統進行文件的管理,在完成數據備份任務的同時,增強數據存儲系統的擴展性和靈活性。

關鍵詞數據存儲; 磁盤陣列; FPGA; SOPC; IDE

Class NumberTP274.7

1 引言

隨著數字信號處理領域和電子技術的飛速發展,數據存儲系統在各個領域的研究中發揮著越來越重要的作用。水聲設備的不斷推陳出新對存儲介質的體積、容量和讀寫速度以及便攜性等諸多方面提出了更高的要求。但是,在水下電池供電的系統中,環境惡劣,數據無法實時傳輸,只能現場完成信息的快速采集和準確存儲,事后對數據回傳或存儲器回收,再由計算機對數據進行處理和測試。針對這一問題,設計一種能夠在水下節點工作的數據存儲系統有著十分重要的意義。傳統的數據采集系統一般利用CPU或者MCU完成,這種方法將AD數據讀入并轉存至少需要四個時鐘周期,在串行指令執行的方式下,速度和效率都會降低[1]。因此,多年來針對不同類型的處理芯片和研究方法對存儲系統的研究開展廣泛[2~6]。

文獻[2]中介紹了一種基于16位AVR單片機的IDE(Integrated Drive Electronics)硬盤高速數字圖像采集和存儲系統。系統利用單片機對硬盤進行接口控制,并采用硬盤直寫技術,利用兩片SRAM以乒乓方式將CMOS圖像傳感器采集到的數字圖像信息存儲到硬盤中。但是由于整個系統內部的邏輯器件較多,因此產生的干擾較大。文獻[3]中介紹了一種基于S3C2410嵌入式ARM處理器的IDE硬盤存儲系統,該系統通過在ARM處理器內部移植Linux操作系統來對硬盤進行控制,將系統的測量數據、波形以及其它相關信息進行存儲。不過處理器本身的靈活度和擴展性不夠,功能實現起來較為復雜。文獻[4]中介紹了一種基于TMS320系列DSP處理器的IDE硬盤數據存儲系統。該系統采用了DSP作為主控制芯片,負責硬盤控制和數據的傳輸;FPGA和SDRAM作為輔助芯片,負責實現DSP與IDE接口之間時序的轉換和數據的緩存,從而完成硬盤的控制和數據傳輸。但是DSP多用來做算法實現,功能比較固定,做數據存儲不是其強項,并且需要其它邏輯芯片的配合,設計過程較為復雜,兼容性不強。

本文結合當前技術發展形勢,研制開發了一種以FPGA為核心,基于蓄電池工作的IDE/SATA雙接口和雙通道的磁盤陣列存儲系統。換能器是完成電能與聲能轉化以實現水下目標探測和通信的基本部件。

2 系統總體硬件結構設計

2.1系統設計思路和硬件設計

Nios Ⅱ是Altera公司的一款軟核處理器,其最大的特點是可由用戶按功能需求進行配置,易于和其他IP(intellectual property)核互聯完成系統設計,可有效降低開發周期和成本。

基于Nios Ⅱ的SOPC設計是一種靈活、高效的嵌入式解決方案,它將完整產品的各個功能模塊集成到一塊FPGA芯片上,構成一個可編程偏上系統[7]。因此本系統采用Cyclone Ⅳ GX系列器件的EP4CGX110CF23C7作為主控芯片,其自帶的8個可獨立操作的全雙工高速收發器作為數據的輸入接口,在FPGA內部建立基于NIOS Ⅱ處理器的SOPC片上系統將接收到的數據存儲到硬盤陣列中。

系統選用EPCS串行配置芯片在系統上電視對FPGA進行配置[8],用于存儲FPGA的配置數據以及Nios Ⅱ處理器中的軟件程序。采用IDE協議實現硬盤數據的傳輸,而目前SATA接口硬盤的使用更為廣泛。因此,系統中使用了IDE-SATA接口芯片JM20330,使IDE與SATA兩種硬盤均可以在系統中正常使用。另外,系統預留了以太網接口,便于后續開發過程中系統與計算機之間進行基于以太網協議的控制或數據回傳。整個系統的總體結構框圖如圖1所示。

2.2FPGA內部硬件結構設計

FPGA是系統的核心,整個系統的任務調度和管理都由FPGA上架建的片上系統來完成。系統中包含的功能模塊包括Nios Ⅱ處理器、System ID、內部定時器、JTAG_uart、片上RAM、SSRAM控制器、Avalon三態橋、IDE接口控制器和EPCS控制器等,FPGA內部的總體結構圖如圖2所示。

圖1 數據存儲系統總體結構框圖

圖2 FPGA內部總體結構框圖

3 Nios Ⅱ系統軟件設計

3.1硬盤物理介質

硬盤驅動器的磁碟由一定量的可寫表面組成,每張磁盤上都有一些被稱為磁道的同心圓,數據就存儲在磁道上,磁頭被定位在某個磁道上,磁道上的能被磁頭訪問的某一位置被稱為柱面。同時磁道被進一步劃分為扇區,扇區是最小的讀寫單位。訪問扇區時,讀寫頭首先被定位在正確的磁道上,等到正確的扇區轉到讀寫頭下面的時候,驅動器就開始讀取數據。驅動器的每個扇區都可以被柱面、磁頭和扇區號所唯一確定。

3.2IDE接口控制方法的實現

Nios Ⅱ處理器對硬盤的控制是通過接口寄存器實現的,ATA標準中定義的接口寄存器分為命令寄存器和控制/診斷寄存器兩組,其中命令寄存器組用于主機與設備之間命令與參數信息的傳輸,控制/診斷寄存器組用于主機對設備的參數控制以及設備診斷信息的傳輸[9]。

系統中使用邏輯尋址方式進行尋址,因此扇區號、柱面號以及磁頭號等地址信息均通過對邏輯地址的分段截取而得到。在軟件程序中地址寄存器寫入命令的具體實現過程如下:

IOWR_ALTERA_AVALON_CF_IDE_SECTOR_NUMBER(ide_base,LBA & 0xFF);

LBA >>=8;

IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_LOW(ide_base,LBA & 0xFF);

LBA >>=8;

IOWR_ALTERA_AVALON_CF_IDE_CYLINDER_HIGH(ide_base,LBA & 0xFF);

LBA >>=8;

IOWR_ALTERA_AVALON_CF_IDE_DEVICE_HEAD(ide_base,(LBA & 0x0F));

其中,ide_base為IDE基地址,LBA為硬盤操作的邏輯地址。

3.3硬盤參數檢測與初始化

為了對硬盤進行控制和操作,在硬盤使用之前應對硬盤的特性參數進行檢測,以確定硬盤所支持的尋址方式、可用扇區數以及支持的操作模式等特性信息。硬盤參數檢測使用IDENTIFY DEVICE指令。當主機檢測到驅動器空閑且準備好時,向命令寄存器中寫入參數檢測指令,驅動器向扇區緩沖區中寫入硬盤信息的參數塊,主機利用讀扇區命令進行參數的讀取。

以IDE為接口的硬盤傳輸模式和協議分為兩種:PIO(Programmed I/O)和DMA(Direct Memory Access)兩種。兩種模式的區別在于:PIO模式需要處理器的參與來讀取數據,DMA模式則不需要[10]。為了設計簡單,因此采用PIO模式作為傳輸協議。

圖3為硬盤參數檢測及初始化程序的流程圖。需要完成對硬盤特性參數的檢測、PIO模式的初始化以及觸發中斷時傳輸的扇區數的設置。每一步都通過對不同地址寫寄存器寫參數來完成。

3.4扇區數據讀寫軟件設計

PIO操作模塊接收系統控制模塊發送的模式選擇信號,產生硬盤PIO操作模式對應的時序控制信號,包括硬盤寄存器地址信號讀寫控制信號數據寫入或讀出信號。PIO模塊通過片選信號和地址信號將要讀寫的硬盤扇區地址發送至硬盤,同時發送硬盤讀寫信號DIOR或DIOW,如果是寫硬盤則將寫入數據發送至數據寄存器,如果為讀硬盤則從數據寄存器中讀出數據[11]。

圖3 硬盤參數檢測及初始化程序流程圖

下面以PIO模式的寫操作為例進行扇區數據讀寫程序的設計,讀命令程序的執行過程與寫命令程序類似,只是數據的傳輸方向相反。

PIO模式的數據寫操作時序要求如圖4所示,在寫操作過程中,處理器在將命令操作碼發送到命令寄存器之前,首先要把該命令執行所需的參數寫入相應寄存器,之后等待DRDY位有效,硬盤驅動器設置狀態寄存器的DRQ位,準備接收數據,處理器將數據寫入扇區緩沖區。當扇區緩沖區填滿之后,硬盤驅動器清除DRQ位,同時置位BSY位,將扇區緩沖區中的數據寫入硬盤。當數據寫入硬盤后,清除BSY位,同時產生INTRQ中斷請求,處理器查詢硬盤狀態,并清除INTRQ。如果進行的是多扇區寫操作,此時硬盤驅動器重新設置DRQ,開始處理下一個扇區。

圖4 PIO模式寫數據時序圖

圖5中利用流程圖的方式對PIO模式寫操作程序的編寫過程進行了詳細的描述。

3.5磁盤陣列文件讀寫軟件設計

系統使用了兩塊硬盤進行數據的存儲與備份,在進行文件寫入操作時,在硬盤A中完成一包數據的寫入文件操作之后,開始執行數據文件備份程序,在硬盤B中寫入相同的文件。文件備份完成后,在硬盤A中繼續寫入下一個數據文件,如此反復,完成原始數據文件和備份文件的寫入,實現RAID1級別磁盤陣列的程序設計。磁盤陣列中單文件的寫入過程與每一步所需調用的函數如圖6所示。

圖6 磁盤陣列中文件寫入程序流程圖

4 系統測試

將兩塊格式化后的硬盤連接到本數據存儲系統,向硬盤A中寫入數據并保存成txt文本文件,為了方便校驗,寫入內容為16bit遞增計數器的值不斷循環,并在硬盤B中進行文件的實時備份。

向系統中分別寫入3.12MB、6.25MB和12.5MB大小的.txt文件,為了測量準確,分別進行三次寫入,記錄文件的寫入時間。

程序執行結束后講兩個硬盤斷開數據存儲系統,分別連接到計算機上,編寫Matlab程序對所存儲的文件內容進行校驗,經檢查,文件內容與存儲系統寫入的內容相一致。測試速度結果如表1所示,可知文件的平均寫入速度大約為1.84MB/s。

表1 文件寫入速度測試

5 結語

本文設計實現了基于FPGA芯片為核心處理器的,能在水下節點使用的數據存儲磁盤陣列系統,在FPGA內部使用了SOPC技術,利用FATFS文件系統進行文件的管理,采用IDE/SATA雙接口和雙通道的雙存儲設計,增強數據存儲的靈活性和可擴展性,同時滿足數據的備份需求。

參 考 文 獻

[1] 王強,文豐,任勇峰.基于FPGA的高速實時數據采集存儲系統[J].儀表技術與傳感器,2009(1):50-52.

WANG Qian, WEN Feng, REN Yongfeng. High-speed Real-time Data Acquisition and Storage System Based on FPGA[J]. Instrument Technique and Sensor,2009(1):50-52.

[2] 李川.基于IDE硬盤的數字圖像存儲技術研究[D].長春:長春理工大學,2008:32-36.

LI Chuan. Research of Digital Image Storage Technique baed on IDE Hard disk[D]. Changchun: Changchun University of Science and Technology,2008:32-36.

[3] 蔣向輝.嵌入式諧波檢測儀的研究與設計[D].長沙:湖南大學,2007:52.

JIANG Xianghui. Design and Research of Embedded Harmonic Measurer[D]. Changsha: Hunan University,2007:52.

[4] 孟凡光.基于DSP的磁盤陣列的研究[D].哈爾濱:哈爾濱工程大學,2004:26-33.

MENG Fanguang. Research of Disk Array based on DSP[D]. Harbin: Harbin Engineering University,2004:26-33.

[5] 宋曉偉,陳伯孝.基于FPGA控制的IDE磁盤陣列設計[J].電子技術應用,2008(4):31-33

SONG Xiaowei, CHEN Boxiao. Realization for protocol of IDE by FPGA[J]. Application of Electronic Technique,2008(4):31-33.

[6] 劉兆宏,李曦.IDE接口的一種新型實現方法[J].計算機工程與應用,2007,43(7):114-116.

LIU Zhaohong, LI Xi. Realization Method of IDE Interface[J]. Computer Engineering and Application,2007,43(7):114-116.

[7] 楊曉飛,沙濤,黃錦安.基于Nios Ⅱ的硬盤存儲系統硬件設計[J].計算機工程與設計,2009,30(6):1041-1403.

YANG Xiaohui, SHA Fei, HUANG Jinan. Design of Hard disk Storage System based on Nios Ⅱ[J]. Computer Engineering and Design,2009,30(6):1041-1403.

[8] Altera Corporation. Cyclone Ⅳ Device Handbook,2011:1-12.

[9] 赫建國,倪德克,鄭燕.基于Nios Ⅱ內核的FPGA電路系統設計[M].北京:電子工業出版社,2010(4):145.

HE Jianguo, NI Deke, DENG Yan. The FPGA Circuit Design based on Nios Ⅱ Kernel[M]. Beijing: Publishing House of Electronics Industry,2010(4):145.

[10] 王海燕.嵌入式綜導系統數據存儲管理技術的研究與實現[D].哈爾濱:哈爾濱工程大學,2008:45-49.

WANG Haiyan. Realization and Research of Data Storage and Management on Embedded Intergrated Navigation System[D]. Harbin: Harbin Engineering University,2008:45-49.

[11] 胡鑒.固態硬盤中ATA協議的研究及其FPGA實現[D].廣州:華南理工大學,2010:18.

HU Jian. Research and FPGA Implementation of ATA Protocols for SSD[D]. Guangzhou: South China University of Technology,2010:18.

收稿日期:2015年10月8日,修回日期:2015年11月24日

作者簡介:孫昕,男,碩士,高級工程師,研究方向:水聲測量技術。張世海,男,助理工程師,研究方向:水聲測量技術。

中圖分類號TP274.7

DOI:10.3969/j.issn.1672-9722.2016.04.045

Underwater Data Storage System Based on FPGA

SUN XinZHANG Shihai

(Unit 96, No. 91439 Troops of PLA, Dalian116041)

AbstractTo solve the problems that in underwater multi-channel data acquisition system cannot satisfy the high speed data rate and large storage capacity with no computer, a disk array storage system based on FPGA is designed. IDE communication and controller run on a SOPC system based on Altera’s Cyclone IV FPGA. The parameters detecting and initialization of the hard disk are accomplished, together with the reading and writing based on PIO mode. By adopting the design of IDE/SATA dual interfaces and dual channels, the system is based on the theory of disk array storage, and FATFS file system is utilized for file management, which enables the promoting of augment ability and flexibility of the system when the data is backed up at the same time

Key Wordsdata storage, RAID, FPGA, SOPC, IDE

猜你喜歡
數據存儲
簡單的數據修復
文理導航(2017年2期)2017-02-16 13:18:46
大數據時代檔案信息建設的認識和實踐
淺談電力大數據平臺關鍵技術研究與應用
開源數據庫數據存儲的實現路徑分析
基于Android開發的APP數據存儲研究
哈希算法在物聯網數據存儲中的應用
空難事故跨媒體信息采集與檢索方法的研究
基于STM32的AD采集與SD卡數據存儲
淺談信息系統工程和POJO模型組件開發
基于MongoDB的調查決策系統數據存儲方案設計
主站蜘蛛池模板: 欧美在线网| 成人精品亚洲| 乱系列中文字幕在线视频| 尤物在线观看乱码| 亚洲不卡av中文在线| 在线播放国产一区| 国产第一页免费浮力影院| 国产一区二区网站| 国产成人a在线观看视频| 小说区 亚洲 自拍 另类| 欧美成人免费一区在线播放| 黄色网址免费在线| 中文字幕一区二区视频| 国产99精品视频| 亚洲天堂久久| 欧美久久网| 亚洲一区免费看| 亚洲精品国产综合99| 亚洲精品成人片在线观看| 找国产毛片看| 亚洲一区第一页| 性色一区| 亚洲中文字幕在线观看| 久久77777| 在线精品亚洲一区二区古装| 丝袜国产一区| 亚洲人成网站18禁动漫无码| 久热99这里只有精品视频6| 午夜欧美在线| 亚洲欧洲自拍拍偷午夜色无码| 日韩欧美在线观看| 少妇露出福利视频| 色精品视频| 2021国产精品自拍| 青青久久91| 国产精品手机在线播放| 成人永久免费A∨一级在线播放| 亚洲av无码专区久久蜜芽| 免费一级α片在线观看| 亚洲精品手机在线| 国产91全国探花系列在线播放 | 日本久久久久久免费网络| 国产精品亚洲天堂| 国产精品2| 成年人国产视频| 久久99国产综合精品女同| 少妇精品久久久一区二区三区| 蜜臀AV在线播放| 成人在线观看一区| 国产成熟女人性满足视频| 成人免费网站久久久| 国产精品性| 熟女成人国产精品视频| 久久久久九九精品影院| 欧美第二区| 亚洲综合天堂网| 亚洲天堂网视频| 国产午夜福利在线小视频| 综合久久久久久久综合网| 99热线精品大全在线观看| 3344在线观看无码| 久996视频精品免费观看| 色网站在线视频| AV无码一区二区三区四区| 国产一区免费在线观看| 亚洲乱码在线播放| 国产精品视频免费网站| 亚洲视频欧美不卡| 在线欧美日韩| 真人高潮娇喘嗯啊在线观看| 久久精品国产亚洲麻豆| 中文字幕在线永久在线视频2020| 久久网欧美| 欧美无遮挡国产欧美另类| 久久免费视频播放| 亚洲欧洲日产国码无码av喷潮| 尤物特级无码毛片免费| 亚洲国产成熟视频在线多多| 精品少妇人妻一区二区| 亚洲乱码精品久久久久..| 日韩av手机在线| 成人亚洲国产|