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