《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 利用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網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一区二区视频免费在线观看| 亚洲丰满少妇videoshd| 在线欧美电影| 欧美一区二区三区啪啪| 国内精品福利| 欧美在线观看一区| 尤物精品在线| 激情综合电影网| 欧美伦理视频网站| 久久成人18免费观看| 欧美aaa级| 一区二区激情小说| 亚洲自拍三区| 久久不射2019中文字幕| 国产欧美不卡| 美女任你摸久久| 久久精品国语| 你懂的网址国产 欧美| 国产精品视频专区| 午夜日韩在线| 国产一区91精品张津瑜| 欧美日韩综合视频| 欧美色视频一区| 亚洲午夜久久久久久久久电影网| 国产精品视频观看| 亚洲国产高清高潮精品美女| 在线精品观看| 国产精品亚洲成人| 欧美视频精品在线| 久久最新视频| 亚洲第一成人在线| 亚洲欧美日韩国产综合| 免费在线观看精品| 国产精品观看| 99精品视频免费在线观看| 午夜欧美电影在线观看| 亚洲私人影吧| 一本高清dvd不卡在线观看| 国产日韩成人精品| 中日韩男男gay无套| 久久久久久一区二区三区| 午夜精品理论片| 国产视频在线观看一区| 欧美激情在线免费观看| 99在线热播精品免费| 国产视频自拍一区| 免费在线国产精品| 亚洲大胆在线| 欧美日韩国产一区二区| 亚洲精品一区二区三区av| 欧美三区不卡| 久久久欧美精品sm网站| 久久高清国产| 亚洲免费成人av电影| 牛牛精品成人免费视频| 久久综合网hezyo| 久久久久久久97| 久久久久国产精品麻豆ai换脸| 国产精品福利网站| 亚洲视频欧美在线| 欧美一区视频在线| 另类亚洲自拍| 国产精品欧美一区二区三区奶水| 欧美日韩综合视频网址| 久久精品成人| 免费成人av| 国产伦精品一区二区三区高清版| 国产一区二区成人| 欧美精品国产一区二区| 在线观看亚洲视频啊啊啊啊| 欧美日韩国产欧美日美国产精品| 麻豆免费精品视频| 午夜免费日韩视频| 久久精品一本久久99精品| 欧美顶级艳妇交换群宴| 亚洲无玛一区| 久久国内精品自在自线400部| 午夜精品一区二区在线观看| 麻豆国产精品777777在线| 亚洲国产激情| 午夜精品三级视频福利| 欧美手机在线视频| 亚洲毛片在线免费观看| 欧美有码视频| 亚洲直播在线一区| 亚洲欧美日韩国产| 欧美成人情趣视频| 欧美无乱码久久久免费午夜一区| 国产精品一区二区久久久| 中国女人久久久| 欧美三级在线视频| 一本色道婷婷久久欧美| 亚洲夜间福利| 欧美日本一区二区视频在线观看| 亚洲网站在线看| 1024亚洲| 欧美日本在线一区| 午夜精品久久久99热福利| 亚洲午夜黄色| 欧美日韩精品免费观看| 久久久久一区二区三区| 亚洲男同1069视频| 巨乳诱惑日韩免费av| 你懂的视频一区二区| 亚洲电影av在线| 亚洲一区二区四区| 好吊色欧美一区二区三区视频| 欧美噜噜久久久xxx| 欧美精品一区二区三区很污很色的| 欧美福利精品| 国产欧美综合一区二区三区| 亚洲国产mv| 欧美体内谢she精2性欧美| 欧美日本不卡高清| 亚洲欧美综合精品久久成人| 国产精品丝袜91| 香蕉成人伊视频在线观看| 午夜亚洲一区| 亚洲欧美第一页| 美女黄色成人网| 日韩亚洲一区在线播放| 久久全国免费视频| 国产精品男人爽免费视频1| 国产一区欧美| 一区二区三区毛片| 最新成人在线| 尤物九九久久国产精品的分类| 狠狠色狠狠色综合人人| 精品99视频| 亚洲午夜激情网页| 亚洲国产成人久久| 国产亚洲视频在线观看| 免费在线欧美黄色| 国产欧美一区二区三区在线看蜜臀| 亚洲精品一区二区三区婷婷月| 亚洲精品综合久久中文字幕| 亚洲精品午夜| 亚洲一区国产一区| 久久久精品国产免费观看同学| 国产亚洲在线| 国产亚洲成av人在线观看导航| 麻豆精品91| 国产日韩欧美综合| 日韩亚洲成人av在线| 亚洲国产成人91精品| 国产精品网红福利| 一二三四社区欧美黄| 日韩午夜在线播放| 小嫩嫩精品导航| 欧美激情第3页| 亚洲全黄一级网站| 国产精品一区二区在线观看| 亚洲视频欧美视频| 好吊视频一区二区三区四区| 欧美人与性动交a欧美精品| 99国产成+人+综合+亚洲欧美| 乱人伦精品视频在线观看| 欧美亚洲免费在线| 欧美日韩一区二区三区四区五区| 国产精品嫩草99av在线| 亚洲精品一区二区三区樱花| 欧美一区二区免费观在线| 午夜一区不卡| 国产亚洲第一区| 亚洲一本视频| 亚洲免费伊人电影在线观看av| 日韩视频免费在线观看| 亚洲最黄网站| 一区二区国产精品| 国产精品v亚洲精品v日韩精品| 久久精品成人欧美大片古装| 亚洲视频国产视频| 亚洲日本中文| 欧美啪啪成人vr| 尤物九九久久国产精品的特点| 国产精品久久影院| 亚洲国产精品va在线看黑人| 韩国三级在线一区| 欧美日韩国产综合在线| 欧美视频成人| 久久精品日产第一区二区三区| 狠狠综合久久av一区二区小说| 国产麻豆精品在线观看| 欧美xxx在线观看| 久久久蜜桃一区二区人| 欧美日韩dvd在线观看| 国产精品一区二区男女羞羞无遮挡| 欧美精品一区二区三区蜜臀| 亚洲一级免费视频| 一二美女精品欧洲| 亚洲一区欧美激情| 国产精品国产三级国产aⅴ浪潮| 国产精品久久久久婷婷| 欧美激情综合五月色丁香| 一区二区三区免费在线观看| 国产精品一区二区久久国产| 亚洲欧美日本国产专区一区| 欧美日韩精品二区| 久久久欧美精品sm网站| 久久午夜色播影院免费高清| 亚洲图色在线| 久久伊人精品天天| 亚洲电影成人| 欧美午夜精品久久久久久超碰| 国产人成一区二区三区影院| 国产精品一区亚洲| 午夜性色一区二区三区免费视频| 欧美日韩一区在线观看| 一本色道久久加勒比88综合| 欧美一区中文字幕| 亚洲欧美精品一区| 日韩视频在线你懂得| 老鸭窝毛片一区二区三区| 国产精品成人免费视频| 依依成人综合视频| 国内外成人在线视频| 欧美精品激情blacked18| 欧美日韩美女| 国产精自产拍久久久久久| 亚洲欧美日韩天堂一区二区| 国产精品视频久久久| 欧美极品色图| 久久久久国产一区二区三区| 亚洲免费福利视频| 性久久久久久久久久久久| 欧美一区午夜视频在线观看| 久久精品亚洲| 欧美午夜精品一区| 亚洲精品国产拍免费91在线| 亚洲免费观看高清完整版在线观看熊| 一区在线影院| 欧美1区3d| 亚洲一区二区毛片| 国产在线观看91精品一区| 99精品国产一区二区青青牛奶| 亚洲亚洲精品在线观看| 亚洲在线第一页| 午夜激情一区| 一区二区三区高清| 亚洲第一区中文99精品| 国产一区久久| 久久激情五月激情| 在线日韩av片| 国产一区二区三区久久精品| 欧美大片91| 久久激情五月丁香伊人| 老牛国产精品一区的观看方式| 蜜臀久久99精品久久久画质超高清| 国产精品一级二级三级| 亚洲精品裸体| 欧美日韩一二三四五区| 国产精品亚洲综合| 在线观看日韩专区| 久久久久久一区二区三区| 国产精品一区二区你懂的| 很黄很黄激情成人| 亚洲国产成人久久综合| 亚洲国产免费| 玉米视频成人免费看| 国产免费成人| 久久精品国产在热久久| 夜夜嗨av一区二区三区四区| 欧美成人第一页| 欧美性猛交xxxx乱大交退制版| 一本一本久久a久久精品综合妖精| 欧美在线免费播放| 久久福利视频导航| 欧美日韩色一区| 国内在线观看一区二区三区| 欧美视频中文一区二区三区在线观看| 久久久久在线观看| 国产午夜精品美女视频明星a级| 久久精品女人的天堂av| 99热精品在线| 欧美一区二区三区免费视频| 91久久香蕉国产日韩欧美9色| 免费一级欧美片在线播放| 久久综合给合| 欧美不卡视频一区发布| 久久久999| 欧美日韩一区不卡| 99精品黄色片免费大全| 亚洲精品日本| 1024精品一区二区三区| 在线精品视频一区二区三四| 久久综合九色综合网站| 亚洲欧美电影在线观看| 91久久夜色精品国产网站| 亚洲一区二区三区777| 欧美四级剧情无删版影片| 一区二区三区你懂的| 欧美成人午夜激情视频| 亚洲自啪免费| 亚洲一区二区免费| 久久久99久久精品女同性| 亚洲免费高清| 欧美日韩三级视频| 在线免费高清一区二区三区| 亚洲国产va精品久久久不卡综合| 久久国产毛片| 久久精品官网| 欧美一区二区三区在线看| 国产精自产拍久久久久久蜜| 欧美黑人国产人伦爽爽爽| 久久久精品国产免费观看同学| 亚洲国产精品成人综合色在线婷婷| 国产欧美日韩视频在线观看| 国产精品黄页免费高清在线观看| 欧美成人乱码一区二区三区| 亚洲精品久久久久久一区二区| 欧美精品久久一区二区| 国产精品私拍pans大尺度在线| 亚洲一区二区三区在线视频| 亚洲一区综合| 欧美激情91| 久久精品亚洲精品国产欧美kt∨| 欧美日本一区二区视频在线观看| 亚洲日韩欧美一区二区在线| 国产精品99久久久久久人| 久久亚洲影音av资源网| 国产精品嫩草影院一区二区| 裸体丰满少妇做受久久99精品| 一区二区欧美视频| 国产精品乱码人人做人人爱| 国产欧美欧洲在线观看| 亚洲国产欧美一区二区三区丁香婷| 中文亚洲欧美| 一本色道久久加勒比88综合|