當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于CF卡的特定FAT文件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

1、引言

  隨著測(cè)試與信息技術(shù)的不斷發(fā)展,測(cè)試采集系統(tǒng)的采集速度、處理能力以及存儲(chǔ)容量逐漸成為衡量其性能的重要指標(biāo)。隨著數(shù)據(jù)采集精度的不斷提高,需要存儲(chǔ)的數(shù)據(jù)量也成倍的在增長(zhǎng),并且由于其實(shí)時(shí)性要求依然存在,因此,如何開(kāi)發(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ǔ)媒介的讀寫(xiě)轉(zhuǎn)化成了對(duì)通用控制器的訪問(wèn),這樣不同的CF卡都可以按照統(tǒng)一的接口規(guī)范來(lái)操作,而不用擔(dān)心兼容性問(wèn)題。此外,由于其完全符合ATA接口規(guī)范,使得對(duì)基于CF卡的存儲(chǔ)系統(tǒng)的開(kāi)發(fā)變得更加方便。

  CF卡的讀寫(xiě)方式有三種: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é)議較為普及,通常開(kāi)發(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卡,支持最大的讀寫(xiě)速度均為20MB/s,完全可以滿足一般的實(shí)時(shí)數(shù)據(jù)采集需求。
 

3、系統(tǒng)硬件設(shè)計(jì)
  
  本系統(tǒng)的硬件框圖如圖2所示。系統(tǒng)外部數(shù)據(jù)源通過(guò)數(shù)據(jù)緩沖控制器,被不間斷地寫(xiě)入作為數(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),并且允許開(kāi)發(fā)者自己制定外設(shè)模塊,使得開(kāi)發(fā)者能夠在更廣的范圍內(nèi)選擇或者自己設(shè)計(jì)開(kāi)發(fā)更加合適的外設(shè),以獲得最合適的處理器、外設(shè)和接口組合,而不必為根本用不到的功能而去支付硬件開(kāi)銷,以達(dá)到最佳的性價(jià)比。[!--empirenews.page--]

  在Nios II上還有另外一個(gè)非常重要的概念,即Avalon數(shù)據(jù)總線結(jié)構(gòu)。Avalon總線是為SOPC環(huán)境而設(shè)計(jì)的,是一種相對(duì)簡(jiǎn)單的總線結(jié)構(gòu),主要用于連接片內(nèi)處理器與外設(shè),以構(gòu)成SOPC系統(tǒng),互連邏輯由PLD內(nèi)部的邏輯單元構(gòu)成。總線描述了主從設(shè)備間的端口連接關(guān)系以及設(shè)備間通信的時(shí)序關(guān)系。總線擁有多種傳輸模式,以適應(yīng)不同外設(shè)的要求,其基本的傳輸模式是在一個(gè)主外設(shè)和一個(gè)從外設(shè)之間進(jìn)行單字節(jié)、半字或字(8、16或32位)的傳輸??偩€設(shè)有特定的端口長(zhǎng)度對(duì)齊功能,使得不同數(shù)據(jù)端口長(zhǎng)度的主從端之間進(jìn)行傳輸不存在任何問(wèn)題,更加方便了開(kāi)發(fā)者的使用。此外,利用DMA控制器組件,使得DMA技術(shù)可以非常方便地應(yīng)用于Nios系統(tǒng)。在DMA模式下傳輸數(shù)據(jù)時(shí),傳輸?shù)臄?shù)據(jù)量越大,則傳輸發(fā)起所耗費(fèi)的運(yùn)算量則相對(duì)越小,傳輸效率也越高。
 
4、特定FAT32文件系統(tǒng)的結(jié)構(gòu)與實(shí)現(xiàn)

  為了使用和管理上的方便,將數(shù)據(jù)信息以文件的形式存放在存儲(chǔ)介質(zhì)上,加上特有的邏輯組織關(guān)系,就構(gòu)成了文件系統(tǒng)。在PC電腦+Windows操作系統(tǒng)的模式下,最為普遍的就是FAT文件系統(tǒng)。隨著數(shù)據(jù)量的不斷加大,FAT文件系統(tǒng)也由最初的FAT12發(fā)展到了FAT32,最大可以支持4GB的單個(gè)文件,理論上最大可以支持2TB的分區(qū)。

  FAT32文件系統(tǒng)的邏輯結(jié)構(gòu)如圖3所示。由于在FAT32文件系統(tǒng)中,文件存放采用鏈?zhǔn)浇Y(jié)構(gòu),鏈表存儲(chǔ)在FAT表中,因此實(shí)現(xiàn)了文件實(shí)際數(shù)據(jù)的不連續(xù)存放(最小存儲(chǔ)單位內(nèi)是連續(xù)的)。雖然這種鏈?zhǔn)浇Y(jié)構(gòu)使得文件在管理操作上實(shí)現(xiàn)了動(dòng)態(tài)反復(fù)靈活分配存儲(chǔ)空間的目的,但是由于過(guò)多的尋址也同時(shí)降低了系統(tǒng)對(duì)于文件讀寫(xiě)的性能。在很多實(shí)際的測(cè)試系統(tǒng)中,數(shù)據(jù)的實(shí)時(shí)存

  儲(chǔ)性能目標(biāo)更為重要,因此完全可以將FAT32系統(tǒng)簡(jiǎn)化,使得具體的文件數(shù)據(jù)在用戶數(shù)據(jù)區(qū)中連續(xù)存放,而系統(tǒng)在操作文件的時(shí)候,只需要獲取文件的第一個(gè)數(shù)據(jù)地址(簇號(hào))以及文件的大小,即可進(jìn)行連續(xù)地址讀寫(xiě)操作,省去了不斷查找簇鏈的運(yùn)算開(kāi)銷。并且,由于實(shí)際數(shù)據(jù)在物理地址上連續(xù)存放,更使得DMA可以發(fā)揮其特有的優(yōu)勢(shì),一次性的傳輸數(shù)據(jù)量可以大大提高,讀寫(xiě)操作得以更加高效的執(zhí)行。

  在具體的操作上,主要問(wèn)題在于如何定位文件的第一個(gè)數(shù)據(jù)簇號(hào)以及如何獲取文件的大小。作者在Altera公司提供的Nios II IDE編程環(huán)境中,采用C語(yǔ)言成功編寫(xiě)相關(guān)程序。程序運(yùn)行流程如圖4所示。

5、總結(jié)

  本文給出了一種可以實(shí)際應(yīng)用的基于CF卡的特定簡(jiǎn)化版FAT32文件系統(tǒng),以及該文件系統(tǒng)所應(yīng)用的硬件平臺(tái)。系統(tǒng)存儲(chǔ)介質(zhì)不僅僅擁有長(zhǎng)期保存、便于攜帶的特點(diǎn),而且通過(guò)簡(jiǎn)化文件系統(tǒng)結(jié)構(gòu),提高了數(shù)據(jù)存儲(chǔ)操作的速率和效率,并且該文件系統(tǒng)完全可以直接被Windows操作系統(tǒng)所識(shí)別,方便數(shù)據(jù)的后續(xù)操作處理。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉