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