在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網 > 電子技術應用 > 汽車電子 >

車載MP3中Flash文件系統的設計與應用

2010年01月14日 11:41 西安電子科技大學 作者:王軍鋒 曹伯燕 用戶評論(0

車載MP3中Flash文件系統的設計與應用

 引言

  目前車載播放器基本上采用的是CD播放器、MD播放器以及磁帶播放器等。由于這類播放器內部具有一些機械式傳動部件,再加上裝在汽車這個特定的環境中,經常會由于機械傳動或者光頭、磁頭受震動發生跳音或絞帶現象,從而影響音質。

  Flash存儲器由于具有存儲容量大、掉電數據不丟失、何種小以及可多次擦寫等許多優點,正逐步取代其它半導體存儲器件而廣泛應用于移動電話、PDA以及數碼相機等移動電子產品中。其作為存儲數據和應用程序的存儲體,可以將大量數據方便、快捷地移動和交換。

  基于上述兩點設計了一個車載MP3系統。該系統采用Flash作為外存儲器,并且由全固態器件組成,播放時不會出現跳音或絞帶現象,音質也很好。由于 Flash存儲器在應用過程中可能會出現壞損單元,影響車載MP3播放器的性能,因此本文針對Flash存儲器自身的物理特性,設計了一個文件系統,對 Flash存儲器中的數據內容進行基于文件名或者文件號的存儲管理以及應用透明的壞損管理。該系統優化了存儲速度和存儲空間,提高了車載MP3播放系統的可靠性。

  1 Flash存儲器特點

  Flash內部分為多個存儲單元塊(block),每個存儲單元塊又由多個頁(page)組成。存儲單元塊是可擦除的最小單位,頁是寫入數據的最小單位。

  Flash 存儲器讀取數據與一般的存儲器類似,可以實現隨機讀取,讀出的速度也很快。而Flash存儲器的寫操作則和一般的存儲器有所不同,Flash的寫操作必須先按存儲塊擦除(寫入0xff到要擦除的存儲單元塊中),再按頁順序寫入。由于Flash存儲器擦除耗時較長,所以Flash存儲器寫入的時間主要在于 Flash存儲器內部的擦除操作等。

  Flash存儲器第一塊一定是有效塊,而其它塊可能會在使用前就是壞塊或者在使用過程中變成壞塊(invalid block)。Flash存儲器對內部壞塊的判定是,根據其每一個單元存儲塊中的第3區中的第6 Cloumn內容是否為0xff來定。雖然Flash存儲器內容會有壞塊,但是由于每一塊的內部結構都是相互獨立的,所以只要對其狀態加以識別,壞塊并不影響系統對有效塊的操作。

  2 Flash文件系統設計

  本文在Flash存儲的基礎上設計了一個Flash存儲管理系統來對Flash進行物理管理。而在Flash存儲管理系統基礎上又建立了一個FAT文件系統來對文件操作進行管理,由Flash存儲管理系統和FAT文件系統共同組成了Flash文件系統。該文件系統完全支持文件名管理、自動壞損管理等通用文件系統所具有的功能;同時,針對車載MP3播放器系統特殊的應用環境,設計改進了該文件系統的可靠性,即使在惡劣的條件下也不會影響音質。Flash文件系統的具體結構如圖1所示。

Flash文件系統的具體結構

  2.1 Flash存儲管理系統

  Flash 存儲器的操作是以塊為單位的,而FAT文件系統則是建立在以扇區(sector)為單位的磁盤操作基礎上(通常為512字節/扇區)。因此,本文設計了一個特殊的Flash存儲管理系統,來解決以塊為單位的Flash物理特性和以扇區為單位的文件系統接口之間的矛盾,以使得Flash的物理地址和FAT操作的邏輯地址之間能夠對應。同時,由于Flash的其它特點,Flash存儲管理系統還實現了各塊之間的擦寫次數均衡和壞塊管理等工作。

 ?。?)物理地址到邏輯地址的映射

  為了在Flash物理地址和FAT操作的邏輯地址之間建立一個好的映射關系,對Flash的存儲空間在邏輯上進行了重新定義。結合Flash特點,將每個存儲單元塊內部分成若干物理扇區,每個物理扇區由512字節+16字節=528字節組成。其中Main Area的512字節為有效數據空間,而Spare Area的16字節用于存放其它信息。

  由上述定義便可以確定Flash物理扇區和絕對地址之間的對應關系:

  絕對地址=Flash基地址+物理扇區號×528

  在建立了物理地址和邏輯地址之間的映射關系之后,但可以很好地將車載系統對音頻文件的操作轉換成系統直接Flash的編程或者擦除操作。例如,在該系統中要進行ReadFile()操作,便可以根據其對應關系,通過執行Flash存儲管理系統中的sectorread()操作來實現。

  (2)可靠性設計

  由于該車載系統采用汽車供電,因此當汽車處于不太平衡的環境中,可能會由于顛簸千萬播放系統的異常斷電,所以提高車載MP3播放系統的可靠性非常重要。本文通過將Spare Area的16字節定義為邏輯扇區號、扇區當前狀態、壞塊信息等來提高播放系統的可靠性。其中Spare Area的具體定義如下:

Spare Area的具體定義

  由以上定義可以看到,Spare Area的第4~5字節用于存儲扇區當前狀態。這樣在Flash寫操作過程中,如果突然斷電,便可以根據此狀態進行掉電數據恢復。該系統中設定扇區當前狀態有3種:扇區為空(0xfff)、扇區數據無用(0x0000)、扇區數據有效(0x00ff)。這樣定義以后,系統便可以在Flash寫操作異常終止時能夠對當時的狀態進行及時的保存,以便下次系統開啟后能夠判斷出上次系統中存在的問題并作出相應的處理。


  (3)壞塊管理

  由于Flash內部會有壞塊,因此Flash存儲管理系統需要對Flash進行壞塊管理。本文對壞塊的管理分以下兩種情況:

  ①初始壞塊處理。Flash存儲器在使用前可能會有壞塊,而且這些壞塊是隨機分布的。所以,Flash文件管理系統在系統執行讀寫操作之前先建立一個壞塊表,然后對Flash存儲器進行初始化掃描以發現壞塊,并將壞塊標記為不可用,加入到壞塊表中。

 ?、?操作過程中壞塊處理。在擦除或者編程過程中發生錯誤時,Flash文件管理系統將該塊中其它頁的數據重新拷貝到一個新的空塊中,然后再將該塊標記為壞塊,加入到壞塊表中。在這個處理過程中,由于對Flash的擦除或者編程操作都會使得Flash存儲單元塊的內容改變,所以Flash文件管理系統一旦發現 Flash存儲器的存儲單元塊成為壞塊后便不再對該塊進行擦除或編程操作,以免將壞塊標志位數據清除掉,而是將該塊標記為壞塊,并將其加入壞塊表中。

  Flash文件管理系統在進行上述壞塊管理后,壞塊單元對用戶應用是完全透明的。這大大方便了用戶的使用,也達到了車載MP3播放系統的目的。

 ?。?)均衡擦寫次數

  由于Flash有一定的使用壽命,一般可擦除的次數為10~100萬次,所以隨著使用次數的增加,會有一些單元逐漸變得不穩定或失敗。因此,要盡量避免頻繁地對同一塊地址操作,以免造成局部單元提前損壞;同時,由于擦除操作耗時較多,也應減少擦除操作,應該盡量達到擦寫次數均衡。為此,本文設計了Flash 更新算法和磨損程度檢測算法。

  Flash更新算法是將Flash中要更新的數據直接寫入一個空塊中,降低由于Flash先擦除后寫入的特性帶來的對塊的頻繁擦除;同時,也提高了Flash的使用效率,加快了操作速度。磨損程度檢測算法是在對Flash進行寫入前必須先對Flash進行壞塊掃描,以確保不會將數據寫入壞塊從而此起數據的丟失。這樣設計也是為了提高車載MP3播放系統的可靠性。

  2.2 FAT設計

  在Flash文件管理系統的基礎上,還建立了FAT文件系統來對文件操作進行管理。將FAT文件系統具體分為以下四部分:

 ?。?)FAT的引導區

  該引導區存放代碼所需的信息及最重要的文件系統信息。這些信息包括了Flash存儲器的類型、容量以及劃分成多少個簇;每個簇包含多少扇區、FAT表數目、保留扇區數、根目錄的首簇號及根目錄入口數、版本信息等等。引導扇區是在格式化Flash時生成的。

 ?。?)FAT的文件分配表

  文件分配表存放文件所占用的存儲空間族鏈以及Flash存儲器的占用和空閑空間的情況,非常重要。為了防止文件分配表損壞而引起文件的丟失,該系統中保存了兩個相同的文件分配表FAT1和FAT2,以改善其安全性。在文件系統的操作中,程序對FAT表結構的兩個備份進行順次修改,以此確保Flash存儲器上總是存有一整套完好的文件分配表。

  系統對FAT表的訪問原理如下:訪問文件時先從要目錄中找到該文件的目錄項,從中讀出首簇號。然后,目錄中找到該文件的目錄項,從中讀出首簇號。然后在FAT中找到從該首簇號開始的簇鏈,簇鏈上的簇號即為文件在邏輯扇區中占用的扇區號鏈,這樣便可以進行數據讀寫了。

  (3)FAT的根目錄區

  FAT 的根目錄區是固定大小的緊跟在FAT表后的區域。本文將從FAT區之后緊跟的32個扇區作為根目錄區,可以保存512個目錄項。每個目錄項記錄了該文件的文件名、文件屬性、文件大小、文件創建的日期和時間以及文件在數據區中所占的首簇號,即該文件在FAT表中的入口等數據。

 ?。?)FAT的數據區

  數據區存在文件的數據內容。文件系統對數據區的存儲空間是按簇進行劃分和管理的。該系統中,定義1Cluster=32sector,一個文件總是占用若干個整簇,文件所使用的最后一簇剩余空間就不再使用。

  由圖1可以看出,該FAT文件系統提供文件的格式化,文件的打開、刪除、關閉,文件的讀寫、查找等基本的功能。通過Flash文件系統對文件的操作進行管理后,該車載播放系統便可以實現選曲、添加刪除歌曲、下載歌曲、音量調節等一系列功能了。

  3 應用

  通過這樣的設計,Flash的存儲性能有了較大的改善,而且系統的可靠性也很好。即使在Flash寫操作異常終止頻發的最惡劣工作條件下,也不會丟失數據,更不會損壞非常重要的文件分配表結構而造成系統的崩潰;因此,本文所設計的Flash文件系統能很好地適合于車載MP3播放系統的應用。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:發燒友 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 一起射综合网| 亚洲日本欧美日韩高观看| 国模欢欢炮交啪啪150| 手机看片福利日韩国产| 天天综合色网| 国产免费久久精品| 日韩欧美中文字幕在线视频| 最新毛片网| 色成人免费网站| 色花堂国产精品首页第一页| 色天天色综合| 久久99爱爱| 午夜看黄网站免费| 亚洲精品第一| 一级做a爰片久久毛片免费看| 日本不卡在线一区二区三区视频| 美女被异性狂揉下部羞羞视频| 在线欧美国产| 色色视频免费网| 四虎影像| 天堂成人| 午夜宅男视频| 亚洲人成综合网站在线| 美日韩毛片| 亚洲国产高清人在线| 日韩欧美一卡二区| 黄色免费小视频| 免费三级毛片| 日本国产高清色www视频在线| 天天色姑娘| 啪啪色视频| 成人在色线视频在线观看免费大全| 老色批| 美国一级毛片片aa久久综合| 欧美福利视频网| 欧美一级别| 欧美a免费| 欧美日韩精品乱国产| 国产999星空传媒在线观看| 国产三级在线观看| 国产香蕉75在线播放|