《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 利用FPGA和DSP直接控制硬盤實現存儲控制的方法
利用FPGA和DSP直接控制硬盤實現存儲控制的方法
摘要: 數據存儲是數據采集過程中的一個重要環節,目前大部分數據存儲系統都是用內置工控機的方法完成數據保存任務,這種方法系統功耗大,硬件成本高,不適用于具有內記功能要求的系統。本系統采用FPGA和DSP直接控制硬盤進行數據存儲,并采用一片FIFO 作為數據緩存,設計思路比較新穎,硬件結構簡單,成本低,直接控制硬盤的方法可將系統功耗降至最低,具有自動內記功能,能及時存儲采集到的數據。本系統已經應用于某信號采集設備中,實踐證明可滿足使用要求,能夠滿足80Khz數據采樣率系統的存盤要求。
關鍵詞: FPGA DSP 硬盤 FIFO
Abstract:
Key words :

       1 引言

  數據存儲是數據采集過程中的一個重要環節,目前大部分數據存儲系統都是用內置工控機的方法完成數據保存任務,這種方法系統功耗大,硬件成本高,不適用于具有內記功能要求的系統。本系統采用FPGADSP直接控制硬盤進行數據存儲,并采用一片FIFO 作為數據緩存,設計思路比較新穎,硬件結構簡單,成本低,直接控制硬盤的方法可將系統功耗降至最低,具有自動內記功能,能及時存儲采集到的數據。本系統已經應用于某信號采集設備中,實踐證明可滿足使用要求,能夠滿足80Khz數據采樣率系統的存盤要求。

  2 系統實現方案

  本設計采用FPGA和DSP直接控制硬盤[1][2],并采用一片FIFO作為數據緩存,系統采用DSP完成文件管理工作,利用FPGA實現DSP與硬盤的接口。具體框圖如圖1所示。

  圖1 方案實現框圖

  首先由采集控制板FPGA將FIFO復位,需要儲存數據時數據流直接將數據寫入FIFO,當存儲控制板FPGA查詢到FIFO的狀態為非空時就輸出BIO信號通知DSP啟動存盤程序。DSP先訪問硬盤確定所需參數,如下一個文件應使用的文件名,保存文件的邏輯扇區號等。然后DSP向硬盤發出存盤命令,當硬盤響應控制命令后,DSP通知FPGA可以向硬盤傳輸數據。存盤時FPGA從FIFO中讀出數據并將數據打包,由8bit變為16bit,并寫入硬盤數據寄存器。當存滿40M時,DSP通知采集控制系統已寫滿一個文件,采集控制系統將FIFO復位完成一次存盤操作。

  3 存儲控制程序流程

  程序啟動后,首先將硬盤Device register中的SRST置1使硬盤復位,在硬盤復位后讀取MBR0和BPB0,在FAT中找到Special Sector并檢查是否有標志位0x55FF,如果沒有則說明硬盤是第1次被使用,如果有則從中讀取參數準備傳輸數據。

  (1) 為了在每次啟動程序后能迅速查找到應使用的文件名、下一個空簇的位置、正在使用的磁盤等參數,將硬盤第3簇中第1扇區標志為Special Sector,用于儲存這些參數。

  (2)每個磁盤被劃分出200M空間為保留區,當發現磁盤空間不足200M時即顯示磁盤已滿,不在用當前磁盤存儲數據而是使用下一個磁盤。

  (3)每個磁盤第2簇為目錄區,因使用短文件名無子目錄,所以當每簇為16扇區時目錄區共可儲存256個文件名。

  (4)數據文件大小固定為40M。

  如果硬盤是第一次被使用,則主機順次讀取MBR0、BPB0、MBR1、BPB1直到查詢到最后一個硬盤分區,并將相關參數如每個分區的大小、分區的邏輯地址、每個分區數據空間起始段的邏輯地址、FAT表邏輯地址等信息寫入Special Sector,并做一個文件的目錄(32字節)將第一個文件命名為“000.dat”。

  當FAT中第三簇被標志為壞簇時,表明已經在硬盤上劃分Special Sector并已存入硬盤參數。主機從Special Sector中讀取下一個可用空簇,并計算這一簇在FAT中的位置并將FAT讀入C54的RAM中,讀取Special Sector中的文件名及相關參數并將其寫入目錄區。然后查詢BIO,當BIO為低電平時開始傳輸數據(參見儲存板接口),傳輸數據時FPGA啟動元件 trans_data,由主機發出XF作為啟動信號。FPGA從FIFO中每讀出2Bytes向硬盤寫一次,連續寫256次,即向硬盤傳輸512字節數據。主機每發出一個XF下降沿FPGA就從FIFO中讀取512字節數據并存入硬盤。

  傳輸40M數據結束后,主機將根據傳輸的扇區數填寫FAT表,判斷硬盤空間是否小于200M、已儲存的文件數是否大于256,如果為真則再次存儲數據時將使用下一個磁盤分區。

  4 硬盤操作控制流程

  我們一般習慣稱硬盤接口為IDE接口[3],對硬盤的操作如讀寫扇區,發送命令等都是通過讀寫寄存器來完成的,每向硬盤發送一組命令后都要讀取狀態寄存器中的信息,通過狀態寄存器的值來判斷硬盤是否已經執行完所發送的命令。

  4.1 硬盤啟動操作

  硬盤加電后應先將硬盤復位,硬盤復位方式有三種,本設計采用的是將SRST置1,當SRST被置1后硬盤立即復位,這時應至少等待2ms才讀取Status register。如果Status register的值為80h,則表明硬盤已完成復位。硬盤啟動流程見圖2。

  圖2 硬盤啟動程序流程圖

  圖3 扇區讀寫操作程序流程圖

  4.2 扇區讀寫操作

  首先應向硬盤發送命令參數,將要讀寫的扇區數目寫入Sector count register,將扇區的邏輯地址寫入LBA High register、LBA Mid register和LBA Low register,將要接收命令的設備號寫入Device register。流程見圖3。

  LBA=(柱面編號×磁頭數+磁頭編號)×扇區數+扇區編號-1

  將命令READ SECTOR或WRITE SECTOR寫入Command register后,在400ns內Status register的值并不可靠,所以需等待400ns才能讀取Status register,這段等待時間可以通過讀取Alternate Status register和Error register度過,讀取的數值應被丟棄。當狀態寄存器的值為58h時,表示硬盤已經可以從Data register接收或傳輸數據。

  4.3 DMA操作流程

  DMA操作與I/O操作相似,流程見圖4,首先應向硬盤發送命令參數,將要讀寫的扇區數目寫入 Sector count register,將扇區的邏輯地址寫入LBA High register、LBA Mid register和LBA Low register,將要接收命令的設備號寫入Device register。將命令READ DMA或 WRITE DMA寫入Command register后,在400ns內Status register的值并不可靠,所以需等待400ns才能讀取Status register,這段等待時間可以通過讀取Alternate Status register和Error register度過,讀取的數值應被丟棄。當狀態寄存器值為58h時主機應給出DMA初始化時序開始傳輸數據。

  圖4  DMA操作流程圖

  5 設計中的重點

  5.1 采樣率問題

  數據采集及存儲系統一般都有采樣率要求,采樣率一般要求大于50K,才能滿足快速實時采集數據的要求。本系統中速度較慢的環節是硬盤存儲環節,硬盤接口設計存盤速度為7.8Mbyte/S,顯然采集速率與存盤速率并不匹配,解決的措施為采用一片 FIFO作為數據緩沖區。由于對硬盤操作過程中,需不斷查詢其狀態,而硬盤狀態改變時間又不確定,所以要選用存儲深度較大的FIFO作為緩存,IDT公司的72V2101滿足設計要求[5]。工作時數據直接將數據寫入FIFO,FPGA查詢FIFO的狀態,為非空時,協調DSP訪問硬盤,進行存儲操作,這樣采用FIFO作為緩存的方案解決了速率匹配問題[4],當采樣率為80k時,數據流為5Mbyte/S,本系統設計存盤速度為7.8Mbyte/S,可以滿足80K以內數據采樣率系統的存盤要求。

  5.2 硬盤存儲地址問題

  硬盤中數據如何存儲是本設計中另一個重點問題,主要考慮文件存儲的地址及文件目錄情況。本設計中硬盤文件的存儲采用FAT32文件系統,引導扇區記錄了文件分配表的地址、個數、大小、簇的大小等信息。文件邏輯地址=數據段起始地址+(簇號— RootClus)×SecPerClus;數據段起始地址=BPB地址+RsvdSecCn+FATSz32×NumFATs。)文件目錄設計采用短文件名,每個文件名和相關信息占用32字節,每個磁盤第2簇為目錄區,因使用短文件名無子目錄,所以當每簇為16扇區時目錄區共可儲存256個文件名。

  6 結束語

  本系統數據存儲量較大,較傳統使用工控機進行數據存儲功耗較低,適合于工作環境局限、系統要求具有自動內記功能的工況下。本系統已經應用于某信號采集設備中,實踐證明可滿足使用要求,系統工作穩定,沒有數據溢出現象。當然本系統還有一定不足,如不能存儲任意長度數據文件,只能存儲40M長度文件,還需進一步完善。

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲另类在线视频| 亚洲国产精彩中文乱码av在线播放| 久久婷婷人人澡人人喊人人爽| 久久精品理论片| 午夜在线成人av| 亚洲国产精品视频| 一区二区三区在线观看欧美| 国产偷久久久精品专区| 国产欧美日韩综合精品二区| 国产精品网站在线观看| 国产精品久久网| 国产精品女人久久久久久| 国产精品美女黄网| 欧美大片网址| 欧美精品电影| 欧美精品一区在线播放| 欧美日韩国产va另类| 欧美日韩xxxxx| 欧美日韩午夜剧场| 国产精品va在线| 国产精品有限公司| 国内精品免费午夜毛片| 樱花yy私人影院亚洲| 亚洲成人在线视频网站| 91久久午夜| 国产一区久久久| 激情一区二区| 亚洲精品1区2区| 9久草视频在线视频精品| 在线国产亚洲欧美| 亚洲国产精品久久久久秋霞影院| 国产亚洲一区在线| 韩国一区二区三区在线观看| 在线日韩精品视频| 亚洲三级影院| 中国成人黄色视屏| 午夜欧美大尺度福利影院在线看| 日韩午夜激情电影| 亚洲午夜精品国产| 欧美在线观看一二区| 91久久嫩草影院一区二区| 一本久道久久综合中文字幕| 亚洲黄色成人网| 一本色道久久综合亚洲精品按摩| 亚洲精品国产欧美| 在线视频日韩| 欧美在线免费观看视频| 午夜精品久久久久| 久久久久久久一区二区三区| 欧美亚洲免费在线| 久久精品视频在线观看| 欧美黑人一区二区三区| 国产精品乱码妇女bbbb| 国产精品国产三级国产专播精品人| 欧美日本成人| 国产精品亚洲片夜色在线| 在线观看精品视频| 在线中文字幕不卡| 亚洲第一久久影院| 亚洲自拍另类| 欧美wwwwww| 国产精品一区二区欧美| 亚洲第一精品夜夜躁人人躁| 一本色道久久综合亚洲精品不 | 亚洲人成网站精品片在线观看| 欧美在线日韩在线| 日韩性生活视频| 久久久噜噜噜久久| 欧美视频日韩视频在线观看| 国内精品视频一区| 中国成人在线视频| 亚洲精品国产日韩| 久久精品中文字幕一区二区三区 | 国产主播精品在线| 一区二区日韩| 亚洲人成人99网站| 久久av二区| 欧美性做爰毛片| 亚洲国产成人在线| 欧美亚洲一区三区| 亚洲一区二区三区高清| 嫩模写真一区二区三区三州| 欧美成人首页| 国产日韩欧美在线一区| 夜夜夜久久久| 亚洲美女电影在线| 久久在线免费观看视频| 国产精品男gay被猛男狂揉视频| 国产欧美日韩综合一区在线观看| 国内精品亚洲| 亚洲网站在线| 亚洲美女精品久久| 久久综合一区二区三区| 国产嫩草一区二区三区在线观看 | av成人激情| 亚洲日本理论电影| 久久久一本精品99久久精品66| 欧美顶级艳妇交换群宴| 国产欧美日韩精品在线| 亚洲性感激情| 91久久综合亚洲鲁鲁五月天| 欧美一区午夜视频在线观看| 欧美午夜在线一二页| 亚洲精品乱码久久久久| 亚洲人成在线影院| 裸体歌舞表演一区二区| 国产一区二区黄色| 午夜精品一区二区在线观看 | 亚洲精品韩国| 麻豆精品视频在线| 激情av一区二区| 欧美一区二区在线看| 欧美一级久久| 国产伦精品一区二区三区在线观看| 亚洲国产另类久久久精品极度| 在线一区日本视频| 亚洲午夜性刺激影院| 欧美日韩成人在线| 亚洲乱码国产乱码精品精98午夜| 欧美一区二区三区四区在线观看地址 | 欧美一区二区三区日韩| 国产精品美女一区二区| 亚洲伊人一本大道中文字幕| 亚洲欧美日韩在线观看a三区 | 欧美成人一区二区三区在线观看 | 亚洲国产精品va| 亚洲国产美女久久久久| 裸体丰满少妇做受久久99精品| 国产精品国产三级国产普通话99| 好吊视频一区二区三区四区 | 亚洲激情电影在线| 欧美凹凸一区二区三区视频| 亚洲第一精品久久忘忧草社区| 亚洲欧美日本视频在线观看| 欧美一区二区啪啪| 欧美日韩一区高清| 亚洲大胆人体视频| 亚洲欧美在线x视频| 久久精品亚洲| 在线观看日韩一区| 艳妇臀荡乳欲伦亚洲一区| 欧美三级在线视频| 亚洲欧美日韩国产中文| 久久久久国产精品厨房| 亚洲国产第一| 亚洲视频每日更新| 国产麻豆日韩欧美久久| 久久精品91| 欧美精品在线一区二区| 亚洲小视频在线| 久久精品最新地址| 国产九区一区在线| 久久精品日产第一区二区三区| 久久精品三级| 1024国产精品| 亚洲一区二区黄色| 国产欧美日韩综合一区在线观看 | 亚洲在线免费观看| 久久久精品国产免费观看同学| 国产精品你懂的在线欣赏| 亚洲欧洲日本在线| 亚洲素人一区二区| 国产一区 二区 三区一级| 亚洲日韩第九十九页| 国产精品久久久久免费a∨大胸| 一本大道久久a久久综合婷婷| 99精品国产一区二区青青牛奶| 久久综合网络一区二区| 国产在线不卡精品| 亚洲伦伦在线| 国产欧美日韩不卡免费| 亚洲精品在线免费| 国产精品欧美一区喷水| 亚洲午夜激情| 麻豆精品网站| 一区二区三区不卡视频在线观看 | 99精品国产热久久91蜜凸| 欧美岛国激情| 亚洲一级电影| 欧美成人三级在线| 午夜精品久久久99热福利| 欧美精品粉嫩高潮一区二区 | 亚洲一级网站| 女同性一区二区三区人了人一| 亚洲国产91| 性欧美超级视频| 国产日韩综合| 欧美专区18| 欧美日精品一区视频| 亚洲国产精品黑人久久久| 欧美午夜片在线观看| 亚洲国产精品一区二区第四页av| 欧美大片在线观看| 亚洲欧美日韩高清| 久久婷婷激情| 亚洲一区二区免费视频| 欧美激情成人在线| 亚洲二区视频| 国产一区二区看久久| 亚洲欧美日韩综合国产aⅴ|