《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于System ACE的DSP文件系統(tǒng)設(shè)計(jì)
基于System ACE的DSP文件系統(tǒng)設(shè)計(jì)
摘要: 本文實(shí)現(xiàn)了DSP通過System ACE對CF卡進(jìn)行數(shù)據(jù)存儲管理,充分利用了SystemACE技術(shù)的系統(tǒng)內(nèi)配置方案,突破了傳統(tǒng)的多FPGA應(yīng)用環(huán)境。
關(guān)鍵詞: DSP System ACE CF
Abstract:
Key words :

引  言

  目前,對圖像處理系統(tǒng)的速度和精度要求越來越高,采樣的數(shù)據(jù)量也越來越大。而嵌入式系統(tǒng)中的硬件資源環(huán)境一般比較苛刻,嵌入式微處理器和微控制器的內(nèi)存一般都不大。為了能夠?qū)崿F(xiàn)DSP(Digital Signal Processing)系統(tǒng)的獨(dú)立運(yùn)行,需要大容量的存儲介質(zhì)用于保存采樣結(jié)果。但是板載的Flash等容量通常不大,SDRAM掉電后數(shù)據(jù)會丟失,并且它們無法方便地把數(shù)據(jù)轉(zhuǎn)移到計(jì)算機(jī)主機(jī)上。閃存技術(shù)的不斷發(fā)展,使得閃存卡(如CF卡、SD卡等)因其體積小、容量大、可靠性高等優(yōu)點(diǎn)而在嵌入式存儲領(lǐng)域得到越來越廣泛的應(yīng)用。因此,本文介紹一種使用CF卡作為數(shù)據(jù)存儲介質(zhì)存儲大量數(shù)據(jù)的方法。FAT16文件系統(tǒng)具有出色的文件管理性能,能被大多數(shù)操作系統(tǒng)識別,因此將CF卡與FAT16文件系統(tǒng)相結(jié)合是嵌入式存儲、記錄系統(tǒng)的一個理想方案。

  1  System ACE原理

  1.1  System ACE簡介

  System ACE(System Advanced Configuration Environment)是Xilinx公司開發(fā)的系統(tǒng)高級配置系列,用以滿足面向多個FPGA的系統(tǒng)對高效空間、預(yù)置、高密度配置需求的解決方案。System ACE技術(shù)是一種突破性的系統(tǒng)內(nèi)可配置的解決方案,大幅節(jié)省了開發(fā)工作;與傳統(tǒng)的PROM相比,每比特成本也大大降低。System ACE技術(shù)是高容量FPGA系統(tǒng)的嵌入式解決方案。

  System ACE系列把xilinx配置控制的專業(yè)技術(shù)和專注于存儲的產(chǎn)業(yè)結(jié)合在一起,它的第1個成員是SystemACE CF(CompactFlash)。

  System ACE CF是1個芯片集,由2部分組成:一個是ACE控制器,另一個就是用于存儲的CF卡。

  1.2 ACE控制器

  如圖1所示,ACE控制器有4個接口,分別用來連接CF(CompactFlash)、MPU(Microprocessor)、用于連接FPGA的CFGJTAG(Configration JTAG)、允許高度靈活配置的TSTJTAG(Test JTAG)。下面著重介紹CF卡接口和MPU接口。


  1.3 CF卡接口

  CF卡接口可以連接的CF卡類型有Xilinx ACEFlash卡、任意標(biāo)準(zhǔn)的CF卡、高達(dá)8 Gb的IBM微型硬盤,以及所有有相同外形和電路板空間需求的存儲卡。

  CF卡接口由2部分組成:一是CF卡控制器,二是CF卡仲裁器。CF卡控制器不僅用來檢測和維護(hù)CF卡設(shè)備的狀態(tài),而且還處理所有的CF設(shè)備的訪問總線周期及提煉和執(zhí)行CF命令(如軟復(fù)位、讀/寫段)等。CF卡仲裁器決定微處理器和配置JTAG控制器哪一個來訪問CF卡的數(shù)據(jù)緩沖。

  1.4  MPU接口

  MPU接口功能:

  ◆MPU接口提供了監(jiān)控System ACE控制器和ACE Flash讀寫數(shù)據(jù)的功能。

  ◆MPU接口能夠識別CF卡并對CF卡進(jìn)行讀寫。

  ◆MPU接口能夠控制配置流,包括監(jiān)控ACE控制器的配置狀態(tài)和錯誤狀態(tài),還能延時配置、開始配置、決定CF卡或MPU的配置源,控制比特流版本以及復(fù)位設(shè)備等。

  本文就是利用ACE控制器的MPU接口,在該接口處連接DSP芯片,并通過CF卡為DSP加載文件系統(tǒng)。

  1.5  System ACE的文件和目錄

  .ACE是在目錄結(jié)構(gòu)的最底層。Xilinx的SystemACE軟件能夠?qū)⒈忍亓鬓D(zhuǎn)換為.ACE文件。1個.ACE文件代表特定設(shè)備鏈的比特流。

  .collection是目錄結(jié)構(gòu)中緊挨著.ACE的上一層,由8個.ACE組成。在System ACE環(huán)境下,同一.collection下的所有.ACE文件都可以處理。

  在1個CF卡設(shè)備中有多個collection,但在任意一時問只能有1個被激活,至于哪一個被操作是通過xilinx.sys文件來決定的。xilinx.sys文件在ACE Flash設(shè)備的根目錄下。ACE控制器能夠解析xilinx.sys文件。若根目錄下面沒有xilinx.sys文件,則必須有1個.ACE文件來充當(dāng)此角色。

  System ACE目錄結(jié)構(gòu)的分層設(shè)計(jì)使得它能夠維護(hù)多個版本或者是不同設(shè)計(jì)的collection。每一個collection目錄可以有1個或者多個不同的子目錄。每一個子目錄只能包含1個.ACE文件。

  Sysrem ACE目錄結(jié)構(gòu)的規(guī)則如下:

  ◆Sysrem ACE配置文件必須放在CF卡設(shè)備的第1分區(qū)。

  ◆Sysrem ACE分區(qū)必須被格式化為FAT12或者FAT16格式。

  ◆xilinx.sys必須在根目錄下。當(dāng)xilinx.sys不存在時,根目錄下必須有1個.ACE來充當(dāng)此角色。

  2 CF卡原理

  CF(Compact Flash)卡是以閃存為存儲,具有容量大(512 MB)、功耗低和可靠性高等優(yōu)點(diǎn),得到廣泛的應(yīng)用。CF卡讀寫的最小單位為1個扇區(qū)(512字節(jié)),讀寫操作是通過卡內(nèi)緩沖區(qū)進(jìn)行的,不支持直接讀寫存儲區(qū)域。

  CF卡可以工作在3種模式:PC Card Memory(Memory模式),PC Card I/O(I/O模式)和True IDE模式。PCCARD模式與PCMCIA標(biāo)準(zhǔn)兼容。TRUE IDE模式與ATA/ATAPI-4標(biāo)準(zhǔn)兼容。當(dāng)上電時,如果OE接地,則進(jìn)入True IDE模式,在此模式下只可以存取任務(wù)寄存器。另外2種模式需要通過設(shè)備結(jié)構(gòu)寄存器來選擇。

  CF卡的操作方式與硬盤的操作方式相似。CF卡讀寫必須以扇區(qū)為單位,每個扇區(qū)為512字節(jié),每次可以讀寫1個扇區(qū)或連續(xù)多個扇區(qū)。扇區(qū)的尋址方式有2種:邏輯尋址(LBA)和物理尋址(CHS),它們之間的關(guān)系為:

  LBA=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)-1

  尋址方式采用LBA(Logic Block Address),該方式將全部扇區(qū)映射至1塊連續(xù)的地址空間中,這樣可以大大簡化編程的工作,同時避免了柱面、磁頭和扇區(qū)之間的換算,使尋址更方便。對CF卡的配置及各種操作,如讀寫、刪除、格式化等,都通過寫特殊功能寄存器完成。

  3  文件系統(tǒng)的建立

  3.1  文件系統(tǒng)的引入

  100個數(shù)在文件系統(tǒng)中是如何存放的呢?在計(jì)算機(jī)中是以0/1二進(jìn)制的形式簡單地存放在存儲介質(zhì)中。如果不同的數(shù)多,如何處理?這就引出了文件系統(tǒng)。文件系統(tǒng)實(shí)際上就是對存儲的數(shù)據(jù)進(jìn)行管理。本文在CF卡上建立的文件系統(tǒng)是FAT16。FAT16是Microsoft較早推出的文件系統(tǒng),具有高度兼容性,目前仍然廣泛應(yīng)用于個人電腦尤其是移動存儲設(shè)備中。

  硬盤上的數(shù)據(jù)按照其不同的特點(diǎn)和作用大致可分為5部分:MBR(Main Boot Record,主引導(dǎo)扇)區(qū),DBR(DosBoot Record,操作系統(tǒng)引導(dǎo)記錄)區(qū),F(xiàn)AT(File AllocationTable,文件分配表)區(qū),DIR(Directory,根目錄)區(qū),DATA區(qū)。

  MBR區(qū)位于整個硬盤的0柱面0磁頭1扇區(qū)(可以看作是硬盤的第1個扇區(qū)),bios在執(zhí)行自己固有的程序以后就會跳轉(zhuǎn)到mbr中的第1條指令,將系統(tǒng)的控制權(quán)交由mbr來執(zhí)行。在總共512字節(jié)的主引導(dǎo)記錄中,MBR的引導(dǎo)程序占了其中的前446字節(jié)(偏移0H~偏移1BDH),隨后的64字節(jié)(偏移1BEH~偏移1FDH)為DPT(Disk Partition Table,硬盤分區(qū)表),最后的2字節(jié)“55 AA”(偏移1FEH~偏移1FFH)是分區(qū)有效結(jié)束標(biāo)志。MBR不隨操作系統(tǒng)的不同而不同,即不同的操作系統(tǒng)可能會存在相同的MBR,即使不同,MBR也不會夾帶操作系統(tǒng)的性質(zhì),具有公共引導(dǎo)的特性。

  DBR(Dos Boot Record,操作系統(tǒng)引導(dǎo)記錄)區(qū)通常占用分區(qū)的第0扇區(qū),共512字節(jié)(特殊情況下也要占用其他保留扇區(qū),這里先說第0扇)。在這512字節(jié)中,其實(shí)又是由跳轉(zhuǎn)指令、廠商標(biāo)志和操作系統(tǒng)版本號、BPB(BIOS Parameter Block)、擴(kuò)展BPB、os引導(dǎo)程序、結(jié)束標(biāo)志幾部分組成。

  FAT表是用FAT16來記錄磁盤數(shù)據(jù)區(qū)簇鏈結(jié)構(gòu)的。如前面的例子,F(xiàn)AT將磁盤空間按一定數(shù)目的扇區(qū)為單位進(jìn)行劃分,這樣的單位稱為簇。通常情況下,每扇區(qū)512字節(jié)的原則是不變的。簇的大小一般是2n(n為整數(shù))個扇區(qū)的大小,像512 B、1 KB、2 KB、4 KB、8 KB、16 KB、32 KB、64 KB。實(shí)際中通常不超過32 KB。之所以簇為單位而不以扇區(qū)為單位進(jìn)行磁盤的分配,是因?yàn)楫?dāng)分區(qū)容量較大時,采用大小為512位的扇區(qū)管理會增加FAT表的項(xiàng)數(shù),對大文件存取增加消耗,文件系統(tǒng)效率不高。

  DIR(Directory)是根目錄區(qū),緊接著第二FAT表(即備份的FAT表)之后,記錄著根目錄下每個文件(目錄)的起始單元、文件的屬性等。定位文件位置時,操作系統(tǒng)根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在硬盤中的具體位置和大小了。

  數(shù)據(jù)區(qū)是真正意義上的數(shù)據(jù)存儲的地方,位于DIR區(qū)之后,占據(jù)硬盤上的大部分?jǐn)?shù)據(jù)空間。

  3.2 FAT16文件系統(tǒng)存儲原理

  在FAT文件系統(tǒng)中,文件的存儲依照FAT表制定的簇鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來進(jìn)行。同時,F(xiàn)AT文件系統(tǒng)將組織數(shù)據(jù)時使用的目錄也抽象為文件,以簡化對數(shù)據(jù)的管理。格式化FAT16分區(qū)時,格式化程序根據(jù)分區(qū)的大小確定簇的大小,然后根據(jù)保留扇區(qū)的數(shù)目、根目錄的扇區(qū)數(shù)目、數(shù)據(jù)區(qū)可分的簇數(shù)與FAT表本身所占空間來確定FAT表所需的扇區(qū)數(shù)目,之后將計(jì)算結(jié)果寫入DBR的相關(guān)位置。FAT16 DBR參數(shù)的偏移0x11處記錄了根目錄所占扇區(qū)的數(shù)目。偏移0x16記錄了FAT表所占扇區(qū)的數(shù)據(jù)。偏移0x10記錄了FAT表的副本數(shù)目。系統(tǒng)在得到這幾項(xiàng)參數(shù)以后,就可以確定數(shù)據(jù)區(qū)的開始扇區(qū)偏移了。FAT16文件系統(tǒng)從根目錄所占的32個扇區(qū)之后的第1個扇區(qū)開始以簇為單位進(jìn)行數(shù)據(jù)的處理,這之前仍以扇區(qū)為單位。對于根目錄之后的第1個簇,系統(tǒng)并不編號為第0簇或第1簇,而是編號為第2簇,也就是說數(shù)據(jù)區(qū)順序上的第1個簇也是編號上的第2簇。FAT文件系統(tǒng)之所以有12、16、32不同的版本之分,其根本在于FAT表用來記錄任意一簇鏈接的二進(jìn)制位數(shù)。以FAT16為例,每一簇在FAT表中占據(jù)2字節(jié)(二進(jìn)制16位)。所以,F(xiàn)AT16最大可以表示的簇號為0xFFFF(十進(jìn)制的65535),以32 KB為簇的大小的話,F(xiàn)AT32可以管理的最大磁盤空間為:32 KB×65 535=2 048 MB,這就是為什么FAT16不支持超過2 GB分區(qū)的原因。FAT表實(shí)際上是1個數(shù)據(jù)表,以2字節(jié)為單位,我們暫將這個單位稱為FAT記錄項(xiàng),通常情況其第1、2個記錄項(xiàng)(前4個字節(jié))用作介質(zhì)描述。從第3個記錄項(xiàng)開始記錄除根目錄外的其他文件及文件夾的簇鏈情況。

  4  DSP對CF卡的讀寫操作

  4.1  DSP對CF卡讀寫的硬件電路

  通過在MPU端口處連接DSP來實(shí)現(xiàn)DSP對CF卡的讀寫,圖2為DSP讀寫CF卡的示意圖,圖3為硬件連接圖。


 

  4.2  DSP對CF卡讀寫的軟件流程

  圖4為DSP讀寫CF卡數(shù)據(jù)的軟件流程。首先,DSP通過MPU端口訪問CF卡前必須獲得CF卡鎖,否則進(jìn)入等待直到CF卡處于空閑狀態(tài)或者強(qiáng)制獲得CF卡鎖。其次,CF卡數(shù)據(jù)的讀寫是以扇區(qū)為單位的。1個扇區(qū)可以分為若干個sector,每個sector的大小固定為512字節(jié),每個sector又可分為16個buffer。若已知CF卡的容量就可以通過計(jì)算來設(shè)置LBA、sector變量以及buffer變量。最后,對buffer進(jìn)行讀寫,讀寫結(jié)束后釋放CF卡鎖。


  4.3  程序設(shè)計(jì)

  可以通過以下函數(shù)來實(shí)現(xiàn)DSP對CF卡的讀寫。

  ◆獲得CF卡鎖:Uint32 get_CF_lock(void);

  ◆檢測CF卡當(dāng)前狀態(tài):Uint32 check_CF_ready (void);

  ◆檢測buffer是否準(zhǔn)備就緒:Uint32 wait_buffer_ready(void);

  ◆讀CF卡數(shù)據(jù):Uint32 read_data_from_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector Count);

  ◆向CF卡寫數(shù)據(jù):Uint32 write_data_to_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector_Count);

  ◆復(fù)位:void reset(void)。

  結(jié)  語

  本文實(shí)現(xiàn)了DSP通過System ACE對CF卡進(jìn)行數(shù)據(jù)存儲管理,充分利用了SystemACE技術(shù)的系統(tǒng)內(nèi)配置方案,突破了傳統(tǒng)的多FPGA應(yīng)用環(huán)境。

  CF卡作為存儲介質(zhì)具有容量大、接口簡單、體積小、價格低廉和可靠性較高等特點(diǎn),結(jié)合FAT16文件系統(tǒng),可以很方便地存儲和回放數(shù)據(jù)。


 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩国产美女| 激情五月综合色婷婷一区二区| 欧美自拍偷拍午夜视频| 亚洲综合日韩| 正在播放欧美视频| 亚洲免费高清视频| 亚洲国产精品成人久久综合一区| 欧美亚洲色图校园春色| 亚洲一级在线观看| 亚洲一区二区三区高清| 一区二区三区欧美激情| 一区二区三区四区五区在线 | 国内一区二区三区在线视频| 国产日韩欧美精品在线| 国产精品色网| 国产精品最新自拍| 国产偷自视频区视频一区二区| 国产免费成人av| 国产亚洲成av人在线观看导航| 国产日韩欧美中文| 国产一区99| 影音先锋久久| 亚洲国产91色在线| 亚洲美女福利视频网站| 一本色道久久综合狠狠躁篇的优点| 99精品热6080yy久久 | 欧美专区亚洲专区| 久久久女女女女999久久| 久久久99精品免费观看不卡| 麻豆精品国产91久久久久久| 欧美激情影音先锋| 欧美日韩一区二区在线播放| 欧美日韩一区免费| 国产精品中文字幕欧美| 狠狠色丁香婷婷综合久久片| 亚洲国产精品免费| 一本一本a久久| 午夜精品理论片| 亚洲黄色尤物视频| 亚洲天堂激情| 欧美一级在线视频| 免费不卡在线观看av| 欧美日韩国产页| 国产精品系列在线| 影音国产精品| 在线视频欧美日韩精品| 欧美一区亚洲一区| 亚洲精品一级| 亚洲欧美资源在线| 毛片基地黄久久久久久天堂| 欧美日韩视频在线一区二区| 国产欧美一区二区三区沐欲| 亚洲福利视频免费观看| 在线视频欧美日韩| 亚洲高清影视| 亚洲图片你懂的| 久久在线精品| 欧美日韩在线免费观看| 国产色产综合色产在线视频 | 最新国产拍偷乱拍精品 | 亚洲欧美日本国产专区一区| 久久亚洲不卡| 欧美日韩中文字幕在线| 韩日欧美一区二区三区| 亚洲最黄网站| 久久精品一区二区三区不卡牛牛| 亚洲午夜精品福利| 久久综合给合久久狠狠色| 欧美日韩亚洲一区二区三区在线| 国产亚洲精品自拍| 亚洲另类自拍| 亚洲第一福利视频| 午夜视频一区在线观看| 欧美激情视频网站| 国内精品久久久久伊人av| 亚洲作爱视频| 亚洲黄色免费网站| 久久久国产精品一区| 国产精品成人午夜| 亚洲清纯自拍| 欧美专区在线观看一区| 亚洲伊人色欲综合网| 欧美69wwwcom| 国产在线视频不卡二| 亚洲新中文字幕| 一本色道久久综合亚洲精品不 | 国产精品专区h在线观看| 亚洲三级影片| 亚洲高清不卡在线观看| 欧美在线黄色| 国产精品国产馆在线真实露脸| 亚洲激情国产精品| 亚洲高清不卡av| 久久国产主播精品| 国产精品入口福利| 99国产一区| 艳女tv在线观看国产一区| 免费的成人av| 一区二区亚洲精品| 欧美一区二区私人影院日本| 午夜在线播放视频欧美| 欧美日韩在线亚洲一区蜜芽| 亚洲激情另类| 亚洲精品激情| 免费视频一区| 在线观看欧美日本| 亚洲国产精品久久人人爱蜜臀 | 亚洲激情另类| 久久这里只有| 国产在线成人| 久久国产一区二区三区| 久久精品免费看| 国产麻豆精品在线观看| 亚洲一区欧美一区| 宅男噜噜噜66国产日韩在线观看| 欧美久久久久久蜜桃| 亚洲精品日产精品乱码不卡| 日韩一级黄色大片| 欧美精品一区二区三区蜜臀| 最新亚洲激情| 亚洲精品资源美女情侣酒店| 欧美国产日韩一二三区| 亚洲国产第一| 日韩视频永久免费观看| 欧美另类videos死尸| 日韩亚洲欧美一区二区三区| 亚洲一区二区三区成人在线视频精品| 美女视频一区免费观看| 亚洲第一偷拍| 日韩午夜在线| 欧美日韩免费高清| 在线一区二区三区四区五区| 亚洲一区高清| 国产精品欧美日韩| 欧美一区二区日韩| 猛男gaygay欧美视频| 亚洲激情在线观看| 亚洲视频欧美视频| 国产精品私房写真福利视频| 午夜精品影院在线观看| 久久裸体艺术| 亚洲高清在线视频| 一区二区三区欧美在线| 国产精品美女主播在线观看纯欲| 亚洲欧美欧美一区二区三区| 久久久免费精品视频| 亚洲国产成人av| 亚洲天堂av图片| 国产欧美 在线欧美| 久久精精品视频| 欧美精品一区二区蜜臀亚洲| 国产精品99久久久久久久久久久久| 欧美一区二区三区免费看| 极品日韩久久| 一区二区免费在线观看| 国产精品私房写真福利视频| 亚洲电影在线免费观看| 欧美理论电影网| 亚洲欧美日韩精品| 女人香蕉久久**毛片精品| 亚洲美女精品一区| 欧美一区二区成人6969| 在线观看av不卡| 在线亚洲精品| 国产视频一区二区在线观看 | 一区二区三区免费网站| 国产欧美日本一区视频| 亚洲国产成人tv| 欧美日韩综合久久| 久久精品成人一区二区三区| 欧美日韩精品免费观看视频完整 | 久久成人这里只有精品| 欧美日韩国产限制| 欧美一级淫片播放口| 欧美日韩mv| 欧美一区二区三区免费在线看 | 亚洲高清不卡一区| 国产精品久久毛片a| 亚洲电影在线播放| 国产精品久久久久久影视 | 国产精品亚洲成人| 亚洲人成网站777色婷婷| 国产精品黄色在线观看| 亚洲激情在线观看| 国产精品青草综合久久久久99| 亚洲经典自拍| 国产精品视频专区| 夜夜嗨av一区二区三区| 国产午夜精品美女毛片视频| 在线视频中文亚洲| 在线电影国产精品| 久久福利视频导航| 中国成人在线视频| 欧美福利在线| 久久成人精品| 国产伦精品一区二区三区| 一区二区三区四区精品| 亚洲国产精品一区二区www在线| 性高湖久久久久久久久| 亚洲精品综合久久中文字幕|