基于CF卡的特定FAT文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
1、引言
本文引用地址:http://2s4d.com/article/195791.htm隨著測(cè)試與信息技術(shù)的不斷發(fā)展,測(cè)試采集系統(tǒng)的采集速度、處理能力以及存儲(chǔ)容量逐漸成為衡量其性能的重要指標(biāo)。隨著數(shù)據(jù)采集精度的不斷提高,需要存儲(chǔ)的數(shù)據(jù)量也成倍的在增長(zhǎng),并且由于其實(shí)時(shí)性要求依然存在,因此,如何開發(fā)出大容量、高速的外掛移動(dòng)存儲(chǔ)設(shè)備成為測(cè)試系統(tǒng)發(fā)展的一個(gè)重要方向。
此外,對(duì)于部分有特殊要求的室外采集裝置,其數(shù)據(jù)處理要求并不高,大部分設(shè)備只要求能夠及時(shí)將數(shù)據(jù)進(jìn)行連續(xù)存儲(chǔ),并能夠保證在斷電之后數(shù)據(jù)不丟失,且便于拆卸、轉(zhuǎn)移,之后將數(shù)據(jù)存儲(chǔ)設(shè)備取出,連接到后端的一些專用數(shù)據(jù)處理設(shè)備上進(jìn)行數(shù)據(jù)的后期處理。對(duì)于這類存儲(chǔ)采集裝置,在具體的存儲(chǔ)方案上無(wú)外乎磁介質(zhì)、光介質(zhì)和固體介質(zhì)幾種,而由于光介質(zhì)的存儲(chǔ)方式精密程度和對(duì)環(huán)境的要求都較高,因此采用得很少。磁介質(zhì)由于其容量大的特點(diǎn)占得了先機(jī),之前采用磁介質(zhì)存儲(chǔ)的方案較多。但是近年來(lái),隨著固體介質(zhì)技術(shù)的不斷發(fā)展,其容量已經(jīng)與磁介質(zhì)漸漸接近,并且基本上可以滿足部分需求。本文所采用的CF卡就是其中一種工業(yè)上采用較多的固體存儲(chǔ)介質(zhì)方案。此外,在本系統(tǒng)中,采用的是FPGA+軟核CPU作為控制核心。在存儲(chǔ)的數(shù)據(jù)文件方面,則采用了可以與普通PC相兼容的經(jīng)過(guò)了特殊處理的FAT32文件系統(tǒng)。
2、CF卡的結(jié)構(gòu)和工作原理
CompactFlash技術(shù)是由CF協(xié)會(huì)(CompactFlash Association)提出的一種與PC機(jī)ATA接口標(biāo)準(zhǔn)兼容的技術(shù)。CompactFlash卡(簡(jiǎn)稱CF卡)主要由兩大部分構(gòu)成:內(nèi)部控制器和閃存模塊,如圖1所示,此外還包含一個(gè)雙口RAM作為數(shù)據(jù)緩沖。CF卡的存儲(chǔ)模塊基本上都使用NAND型閃存,內(nèi)部控制器用來(lái)實(shí)現(xiàn)CF卡與主機(jī)的接口以及控制數(shù)據(jù)的傳輸,使外圍電路設(shè)計(jì)大大簡(jiǎn)化。實(shí)際上,這個(gè)控制器起到了一種協(xié)議轉(zhuǎn)換的作用,即把對(duì)各種不同類型存儲(chǔ)媒介的讀寫轉(zhuǎn)化成了對(duì)通用控制器的訪問(wèn),這樣不同的CF卡都可以按照統(tǒng)一的接口規(guī)范來(lái)操作,而不用擔(dān)心兼容性問(wèn)題。此外,由于其完全符合ATA接口規(guī)范,使得對(duì)基于CF卡的存儲(chǔ)系統(tǒng)的開發(fā)變得更加方便。
CF卡的讀寫方式有三種:PC Card Memory模式、PC Card I/O模式以及True IDE模式。PC Card模式與PCMCIA標(biāo)準(zhǔn)兼容,True IDE模式與ATA標(biāo)準(zhǔn)兼容。三種方式相比較而言,在True IDE模式下,CF卡與主機(jī)通信的信號(hào)最少,硬件接口最簡(jiǎn)單、軟件易于實(shí)現(xiàn),并且由于IDE接口協(xié)議較為普及,通常開發(fā)周期短一些,且應(yīng)用更為成熟。
在外部看來(lái),CF卡的數(shù)據(jù)按照扇區(qū)的方式進(jìn)行存儲(chǔ),其扇區(qū)尋址有兩周方式:物理尋址方式(CHS)和邏輯尋址方式(LBA),而這兩者之間的關(guān)系為:
LBA地址=(柱面號(hào)×磁頭數(shù)+磁頭號(hào))×扇區(qū)數(shù)+扇區(qū)號(hào)-1
由于CF卡沒(méi)有機(jī)械結(jié)構(gòu),因此CF卡的扇區(qū)尋址更適宜采用沒(méi)有磁頭和磁道轉(zhuǎn)換操作的邏輯尋址方式,尤其在訪問(wèn)連續(xù)扇區(qū)時(shí),操作速度相比物理尋址方式而言要快得多。
此外,CF卡還具有體積小、可靠性高(固態(tài)存儲(chǔ))、功耗低、非易失性等優(yōu)點(diǎn),并且隨著存儲(chǔ)技術(shù)的不斷發(fā)展,CF卡的容量已經(jīng)越來(lái)越大,64GB的CF卡已經(jīng)由三星公司在2006年實(shí)現(xiàn)市場(chǎng)商品化,CF卡越來(lái)越多地成為工業(yè)存儲(chǔ)尤其是信號(hào)測(cè)試采集過(guò)程中的首選存儲(chǔ)設(shè)備。本系統(tǒng)采用存儲(chǔ)介質(zhì)是Sandisk公司1GB大小的Extreme III CF卡,支持最大的讀寫速度均為20MB/s,完全可以滿足一般的實(shí)時(shí)數(shù)據(jù)采集需求。
3、系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)的硬件框圖如圖2所示。系統(tǒng)外部數(shù)據(jù)源通過(guò)數(shù)據(jù)緩沖控制器,被不間斷地寫入作為數(shù)據(jù)緩沖的雙口RAM中,當(dāng)緩沖區(qū)數(shù)據(jù)到達(dá)一定數(shù)量之后,數(shù)據(jù)緩沖控制器通過(guò)與處理器的通信,發(fā)起DMA傳輸,由DMA控制器來(lái)獨(dú)立完成數(shù)據(jù)從緩沖區(qū)到CF卡的傳輸。
Nios II軟核處理器是Altera公司推出的第二代FPGA嵌入式處理器,它是一款32位RISC嵌入式處理器。它最突出的優(yōu)點(diǎn)就是可以支持多達(dá)60多個(gè)外設(shè)選項(xiàng),并且允許開發(fā)者自己制定外設(shè)模塊,使得開發(fā)者能夠在更廣的范圍內(nèi)選擇或者自己設(shè)計(jì)開發(fā)更加合適的外設(shè),以獲得最合適的處理器、外設(shè)和接口組合,而不必為根本用不到的功能而去支付硬件開銷,以達(dá)到最佳的性價(jià)比。
評(píng)論