《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的CF卡文件存儲
基于單片機的CF卡文件存儲
摘要: 隨著計算機應用技術的飛速發展,移動存儲設備得到了廣泛的應用。其中CF(Compact Flash)卡誕生于1994年,是最早推出的閃存卡,在眾多產品中其普及率也最高。由于CF卡具有價格低廉、體積小、存儲容量大、高速等特點,因此被廣泛地應用于數碼相機、PDA和筆記本電腦等當前十分熱門的消費類電子產品中。CF卡在其他領域中也得到了廣泛的應用。如本文所述內容就是將CF卡應用于動態腦電圖系統中存儲腦電信號。
Abstract:
Key words :

       隨著計算機應用技術的飛速發展,移動存儲設備得到了廣泛的應用。其中CF(Compact Flash)卡誕生于1994年,是最早推出的閃存卡,在眾多產品中其普及率也最高。由于CF卡具有價格低廉、體積小、存儲容量大、高速等特點,因此被廣泛地應用于數碼相機、PDA和筆記本電腦等當前十分熱門的消費類電子產品中。CF卡在其他領域中也得到了廣泛的應用。如本文所述內容就是將CF卡應用于動態腦電圖系統中存儲腦電信號。

       由于CF卡中存儲的腦電圖信號要能夠從PC機上讀取出來,所以必須把腦電圖信號以相應的文件格式存儲。下面將介紹采用C8051F020微控制器控制CF卡的文件存儲,并詳細地介紹其軟、硬件的設計。

       1 C8051F020與CF卡的接口電路

       C8051F020是完全集成的混合信號系統級MCU芯片,使用了Cy

 

gnal專利的高速、流水線結構以及與MCS-51指令集完全兼容的CIP-51微處理器內核,具有64條數字I/O引腳,片內有64KB可在系統編程的Flash存儲器,有4 352B的片內RAM,片內有看門狗定時器、VDD監視器和溫度傳感器等;片內的JTAG調試電路允許使用安裝在最終應用系統上的產品MCU進行非侵入式、全速、在系統調試;其MCU都可在工業溫度范圍(-45℃-+85℃)內用2.7~3.6V的電壓工作;端口I/O、RST和JTAG引腳都兼容5V的輸入信號電壓。C8051F020其他功能可參考文獻。

       CF卡有3種工作模式可供選擇:I/O模式、存儲器模式和IDE模式。CF卡的默認模式是存儲器模式,使用也最為普遍。如果使用存儲器模式則不需要配置任何寄存器。每一種模式的電路連接各不相同。在I/O模式和存儲器模式下,可以采用8位的訪問方式,也可以采用16位的訪問方式。本文所采用的是8位的存儲器模式,其接口電路如圖1所示。
 

 

8位的存儲器模式其接口電路


       C8051F020的外部數據存儲器接口(EMIF)可用于訪問片外存儲器和存儲器映射的I/O器件。若設置EMIF的配置寄存器EMIOCF的PRTSEL位為'1',可使EMIF位于端口7、6、5、4;設置EMD2位為'1',可使EMIF工作于非復用方式;設置EMDl~0為'01',可使EMIF工作于不帶塊選擇的分片方式。這樣P7口就為數據線D0~D7,P6口為A0~A7,P5口為A8~A15,P4.6、P4.7分別為讀(RD)、寫(WE)線。

       由于C8051F020是8位的單片機,所以對CF卡的訪問采用8位的方式較為方便。通過把-CE2設為'1'即可通過訪問CF卡的D0~D7來存取數據。而-CEl可以作為CF卡的片選信號,通過設-CEl為'0'來選通CF卡,即-CEl接C8051F020的高位地址P5.7來線選CF卡。當CF卡插入其插座時,CDl和CD2都連接到地(CND);C8051F020的P1.1、P1.2分別連到CDl和CD2,并可以通過檢測P1.1和P1.2來判斷CF卡是否插入CF卡插座。CF卡工作于存儲器模式下,-OE和-WE分別接C8051F020的讀(P1.6)、寫(P1.7)線。當REG為'0'時,訪問CF卡的屬性寄存器;REG為'1'時,CF卡在存儲器模式下對數據進行讀寫操作。

       2 C8051F020對CF卡的數據讀寫

       圖1所示電路的CF卡在存儲器模式下有關數據讀寫的一些寄存器地址如表1所示。
 

電路的CF卡在存儲器模式下有關數據讀寫的一些寄存器地址


       CF卡1個扇區為512B,這些數據都是從表1中的第0個寄存器中讀出,而且每次讀寫數據最小為1個扇區,但也可以設置從第2個寄存器中讀出,1次讀寫幾個扇區。

       C8051F020對CF卡讀扇區數據的過程是:首先讀取第7個寄存器的狀態字,如果為50H表示沒有錯誤,并且CF卡已經準備好;然后再分別向第2、3、4、5、6個寄存器寫入相應的數據指定需要讀寫的扇區;最后向第7個寄存器寫20H或21H,讀取狀態字為58H后讀取數據,其流程如圖2所示。
 

 

流程


       C8051F020對CF卡向指定扇區寫數據的命令是30H或31H,其操作亦與讀數據相似,只不過在寫入數據后要等到CF卡中數據穩定并進入空閑狀態才能結束這一過程。

       在CF卡讀寫時,分別向第2、3、4、5、6個寄存器寫入CF卡需要訪問的扇區位置,其寫入模式有2種:即CHS(Cylinder/Head/Sector)模式和LBA(Logical Block Address)模式。通過設置第6個寄存器的第6位LBA確定其模式:即如果LBA=0,則為CHS模式;如果LBA=I,則為LBA模式。

       由CHS模式到LBA模式的轉換如下:

由CHS模式到LBA模式的轉換

       其中LBA是邏輯塊地址,Cn是柱面號,HpC是每個柱面的磁頭數,Hn是磁頭數,Sn是扇區號,SpH是每個磁頭(簇)的扇區數。
    3 CF卡的文件存儲

       FAT(File Allocation Table)文件系統產生于20世紀70年代末到80年代初,是微軟的MS-DOS操作系統所支持的文件系統。目前FAT文件系統有3種類型:FATl2、FATl6和FAT32。它們的不同是在磁盤上實際的FAT結構中每個記錄(Entry)所占的位數不同。FATl2占12位(1.5字節),FATl6占16位(2字節),FAT32占32位(4字節)。每一個記錄中的數據都按照低字節在前、高字節在后排列。

       在CF卡格式化時,首先要了解CF卡的容量等一系列信息。通過對CF卡寫入命令ECH就可以讀出1個扇區,其中包含了該CF卡的一些參數的信息,如容量、默認的柱面數、默認的磁頭數、每個扇區的字節數、每個磁道的扇區數和CF卡上總的扇區數等。這為格式化CF卡提供了重要的數據。

       在格式化后的CF卡中,FAT文件系統由如下4部分組成:

       0區:保留區(引導區)。
       1區:FAT區。
       2區:根目錄區(FAT32中存在的是浮動的FDT表)。
       3區:文件、目錄與數據區(下面簡稱數據區)。

       引導區中包含了整個FAT文件系統的重要信息,即BPB(BIOS Parameter Block)。下面為BPB的幾個重要數據結構:

BPB的幾個重要數據結構


       在FAT32格式下,BPB﹒RootEntCnt為'0',因此RootDirSec總是為'0'。

       如果BPB.FATSzl6不為'0',就可以根據下面公式計算數據區的第一個扇區地址。

       FirstDataSec="BPB".ResvdSecCnt+(BPB.NumFATs*BPB.FATSzl6)+RootDirSec (4)

       因此數據區所占用的扇區數:

       DataSec="BPB".TotSecl6-FirstDataSec (5)

       根目錄的第一個扇區地址(在FATl2、FATl6下):

       FirstRootDirSec="BPB".ResvdSecCnt+(BPB.NumFATs*BPB.FATSzl6)
       如果BPB.FATSzl6為'0',則BPB.FATSz32一定不為'0',則有:

       FirstDataSec="BPB".ResvdSecCnt+fBPB.NumFATs*BPB.FATSz32)+RootDirSec (6)

       DataSec="BPB".TotSec32-FirstDataSec (7)

       FirstRootDirSec="BPB".ResvdSecCnt+(BPB.NumFATs*BPB.FATSz32) (8)

       如果CF卡有多個分區,則(3)~(8)式計算出的參數只是相對當前分區而言的,且數據區所占用的簇數為:

       CntofClus="DataSec"/BPB.SecPerClus (9)

       在格式化CF卡時,根據CF卡容量的大小決定FAT數據結構中的一些參數,再由式(9)算出數據區總的簇數,并根據總簇數的大小確定FAT形式。一般來說,如果CntofClus<4 084簇,則可以格式化成FATl2的形式;如果≥4 084簇而<65 524簇,則可以格式化成FATl6的形式;如果≥65 524簇,則格式化成FAT32的形式。

       若給定一個簇的序號N(N≥2),則在數據區對應該簇的第一個扇區序號為:

       FirstSecofClus=((N-2)*BPB.SecPerClus)+FirstDataSec (10)

       式(10)表示了FAT與數據區的對應關系,如圖3所示。在FAT區每一個記錄的位置與數據區中的一簇數據相對應,同時,這個記錄又存儲著下一簇序號,從而一個件在FAT區形成一個鏈表。至于每一簇的序號在FAT中的存儲位置,可以根據格式化的形式(FATl2、FAT16、FAT32)確定。設每一記錄占i個字節,則第N個記錄在N×i的位置上。
 

FAT與數據區的對應關系


       文件的結束符在FATl2下為0xFFF,在FATl6下為0xFFFF,在FAT32下為0x0FFFFFFF。如果在寫入時遇到損壞的簇,則在對應位置寫損壞的標志(FATl2下為0xFF5FATl6下為0xFFF7,FAT32下為0x0FFFFFF7),并且在{表中跳過這一損壞的簇。在刪除一個文件時,要把該文{在FAT區的鏈表全部寫'0',釋放空間。這樣,該鏈表中所對應的數據區又可以被新的文件分配。 一個FAT的目錄項或文件項通常占用32字節,并存儲該目錄或文件的相關信息。其數據結構如下:

數據結構


       這個數據結構中12字節的名字是目錄名還是文件名,由成員Attr決定。如果是目錄Attr可設為10H;如果j文件,Attr可設為20H,也可以是幾個屬性的組合;如果為長文件名,Attr可設為OFH。有關詳細的長文件名可參見文獻。

       成員FstClusHI和FstClusL0記錄了文件第一簇數據對應FAT中的記錄序號,即圖3中第一簇的序號,從而可以根據鏈表查找下一簇數據。在FATl2和FATl6下,成員FstClusHI總為'0'。

       4 討論

      
本文只介紹了動態腦電圖系統的有關文件存儲的部分,C8051F020的功能并沒有得到充分利用。實際上C8051F020還要完成系統的其他很多功能。用戶可以根據自己系統的實際需要選擇合適的單片機。本系統在設計時著重考慮系統的功耗、體積、速度等方面的因素,所以C8051F020采用非復用的方式,以求節省1片鎖存器對低位地址的鎖存。
       CF卡在寫入文件時,由于要記錄24小時的腦電圖信號。為了防止異常發生使文件寫入失敗,可以定時地更新FAT區該文件的記錄鏈表和所存放文件數據結構的根目錄區或數據區中該文件的大小。只有保存了這些信息,所寫入的數據才能正常地讀取。 此外,在寫入文件時,如果遇到一個扇區寫入失敗,則整個簇都不能用。為此:(1)必須查找下一個未占用的簇,再把這一簇中已經正確寫入的扇區中的數據復制到下一簇中。這樣緩沖區中只要保存一個扇區的腦電信號就可以。(2)先對這一簇進行檢測,確定沒有錯誤后再向該簇寫人數據。這種方法雖然比較簡單,但占用系統的時間比較多,且在檢測到沒有錯誤后也不能完全保證下一次寫入時不發生錯誤。所以第一種方法的可靠性要高。

       實驗證明,SanDisk和EagleTec等公司的不同容量的CF卡用于本系統中都能夠正確地對采集到的腦電圖信號進行存取。

 

 
此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产在线国偷精品产拍免费yy| 久久综合色婷婷| 久久久噜噜噜久久狠狠50岁| 亚洲美女av网站| 亚洲一级黄色av| 国产亚洲综合精品| 亚洲一区在线观看视频| 欧美粗暴jizz性欧美20| 亚洲精品欧美日韩| 欧美日韩亚洲系列| 极品尤物久久久av免费看| 国产精品美女久久久久aⅴ国产馆| 国产精品视频网站| 欧美成人精品一区二区| 欧美成人免费网站| 午夜精品久久久久久久白皮肤| 一本色道久久综合狠狠躁的推荐| 亚洲清纯自拍| 在线看国产日韩| 亚洲裸体在线观看| 欧美日韩亚洲国产精品| 国模吧视频一区| 欧美国产专区| 在线观看亚洲视频啊啊啊啊| 久久久久久网址| 久久精品夜色噜噜亚洲a∨| 欧美一区二区三区成人| 亚洲制服丝袜在线| 亚洲人久久久| 欧美日韩精品一区二区| 美女免费视频一区| 狠狠噜噜久久| 亚洲人体偷拍| 在线日本高清免费不卡| 亚洲精品久久久久久久久久久| 亚洲二区精品| 欧美777四色影视在线| 亚洲女人天堂成人av在线| 日韩一级免费| 亚洲精品裸体| 国产精品乱码一区二区三区| 久久夜色撩人精品| 亚洲精品久久久久久久久久久久| 国产专区欧美精品| 国产精品久久久久国产a级| 一区二区三区三区在线| 一本色道婷婷久久欧美| 麻豆av一区二区三区久久| 快射av在线播放一区| 在线午夜精品自拍| 国产伊人精品| 亚洲午夜精品网| 亚洲第一黄色网| 国产亚洲一级高清| 一区二区三区国产在线观看| 欧美三区免费完整视频在线观看| 欧美va亚洲va国产综合| 一本大道久久精品懂色aⅴ| 一区二区久久| 性欧美video另类hd性玩具| 久久蜜桃av一区精品变态类天堂| 久久久久国产免费免费| 伊人狠狠色丁香综合尤物| 日韩亚洲视频| 欧美高清成人| 国产一区二区三区最好精华液| 一区二区三区视频在线观看| 欧美喷潮久久久xxxxx| 亚洲精品一二区| 精品电影一区| 一区二区三区久久| 欧美专区日韩专区| 国产一区二区三区免费不卡| 国产精品美女黄网| 国产精品综合不卡av| 国产精品久久久久久久久久久久久| 欧美**人妖| 性一交一乱一区二区洋洋av| 亚洲欧美日本精品| 国产精品久久久久久久久久妞妞| 亚洲国产精品第一区二区三区| 亚洲一区二区综合| 欧美精品www在线观看| 亚洲视频在线观看网站| 亚洲女性裸体视频| 美日韩精品视频免费看| 欧美一区二区视频在线观看2020| 久久久中精品2020中文| 国产精品黄色在线观看| 欧美视频三区在线播放| 欧美国产一区二区三区激情无套| 亚洲第一伊人| 欧美日韩一区免费| 欧美成人精品在线观看| 亚洲精品国产拍免费91在线| 亚洲视频综合| 欧美视频在线观看免费| 亚洲精品一区二区三区福利| 久久国产精品第一页| 久久免费的精品国产v∧| 伊人久久大香线蕉av超碰演员| 国产精品一区二区黑丝| 欧美四级电影网站| 1769国内精品视频在线播放| 亚洲电影欧美电影有声小说| 激情久久久久久久| 国产精品久久久久久久久久ktv| 先锋a资源在线看亚洲| 国产亚洲福利一区| 亚洲国产精品va在线看黑人动漫| 国产日韩一级二级三级| 久久阴道视频| 欧美在线视频观看免费网站| 欧美日韩免费观看一区二区三区| 国产精品对白刺激久久久| 国产日韩欧美在线| 欧美日韩精品免费观看视频| 亚洲成色www久久网站| 国外成人在线视频网站| 亚洲成人直播| 日韩一区二区高清| 亚洲一区免费| 91久久久久久| 欧美精品123区| 国产精品夫妻自拍| 久久综合久色欧美综合狠狠| 欧美国产精品v| 麻豆av一区二区三区| 亚洲国产综合在线看不卡| 欧美日本一区二区高清播放视频| 欧美高清一区二区| 亚洲午夜精品久久久久久app| 蜜桃久久精品一区二区| 国产一区二区三区久久精品| 玖玖玖国产精品| 欧美高清一区二区| 亚洲视频精品在线| 国产日韩精品在线播放| 欧美亚洲免费高清在线观看| 欧美久久久久久| 在线亚洲一区二区| 亚洲图片你懂的| 欧美日韩久久精品| 极品裸体白嫩激情啪啪国产精品| 欧美日韩国产一区精品一区| 久久免费精品日本久久中文字幕| 亚洲激情婷婷| 亚洲伊人网站| 亚洲国产人成综合网站| 亚洲一区在线播放| 欧美日韩另类字幕中文| 欧美一区三区二区在线观看| 免费成人美女女| 国产一区二区三区视频在线观看| 国内一区二区三区| 尤物九九久久国产精品的分类| 国产伦精品一区二区三区视频黑人| 久久精品视频播放| 亚洲第一福利在线观看| 小黄鸭视频精品导航| 午夜精品国产更新| 在线观看精品| 亚洲国产精品va在看黑人| 欧美激情一区二区三区在线| 亚洲日本欧美在线| 黄色成人在线免费| 久久精品人人爽| 国产精品亚洲美女av网站| 欧美精品一区二区三| 久久精品日韩一区二区三区| 一区在线影院| 国产精品欧美经典| 久久久亚洲欧洲日产国码αv| 亚洲国产婷婷香蕉久久久久久99| 国产精品国产精品国产专区不蜜| 亚洲黄色影片| 久久久久久9| 日韩一级黄色片| 国产精品一卡二| 欧美日本一道本在线视频| 欧美日韩四区| 老司机精品视频一区二区三区| 国产精品视频一区二区高潮| 欧美精品日韩一区| 一区二区三区在线观看视频| 亚洲欧美国产精品专区久久| 欧美激情综合在线| 欧美精品在线网站| 久久这里只有精品视频首页| 国产亚洲一区二区三区| 麻豆国产精品va在线观看不卡| 久久综合久久综合这里只有精品| 亚洲图片欧洲图片av| 久久精品成人一区二区三区| 国产伦精品一区二区三区照片91| 欧美精品在线播放| 欧美日韩在线看| 久久艳片www.17c.com| 国产欧美一区二区三区在线老狼| 一本久久综合亚洲鲁鲁五月天| 日韩一区二区电影网| 娇妻被交换粗又大又硬视频欧美| 篠田优中文在线播放第一区| 免费人成精品欧美精品| 国产欧美一区二区三区另类精品| 欧美日韩一区二区三区在线观看免| 久久久精品国产免费观看同学| 亚洲精品美女| 亚洲国产精品va在线观看黑人| 亚洲欧美中文日韩在线| 欧美11—12娇小xxxx| 欧美亚洲一区二区在线观看| 狠狠色综合播放一区二区| 亚洲欧美日韩成人高清在线一区| 亚洲一区二区高清视频| 欧美在线free| 久久亚洲精品一区| 亚洲国产精品一区二区第一页| 在线视频欧美日韩精品| 亚洲一区二区三区四区中文| 午夜欧美精品久久久久久久| 亚洲国产婷婷香蕉久久久久久99| 欧美日韩成人综合| 国产午夜精品视频| 黄色精品网站| 欧美伊人影院| 久久久伊人欧美| 一区二区三区视频观看| 亚洲女同精品视频| 久久一二三国产| 亚洲一级在线观看| 亚洲午夜久久久久久久久电影网| 久久久噜噜噜久久狠狠50岁| 久久天堂成人| 久久av一区二区三区| 欧美性事在线| 亚洲女ⅴideoshd黑人| 国产精品一区二区在线| 欧美日韩不卡在线| 亚洲国产精品欧美一二99| 免费亚洲视频| 久久免费偷拍视频| 一区二区在线观看av| 久久久精品国产99久久精品芒果| 在线观看精品视频| 国产一区二区久久精品| 欧美日韩国产一级| 日韩视频专区| 伊人久久婷婷色综合98网| 国产农村妇女毛片精品久久麻豆| 久久影视三级福利片| 亚洲一区二区高清| 欧美成人一区二免费视频软件| 久久精品综合| 久久久久久有精品国产| 亚洲乱码国产乱码精品精天堂| 欧美国产综合视频| 亚洲国产日韩欧美在线动漫| 欧美视频在线一区| 黄色小说综合网站| 欧美在线你懂的| 午夜久久电影网| 欧美劲爆第一页| 欧美高清视频一区二区| 久久综合综合久久综合| 亚洲日本免费电影| 亚洲高清色综合| 国产精品嫩草影院一区二区| 一本高清dvd不卡在线观看| 国产精品视频最多的网站| 欧美国产一区视频在线观看| 亚洲欧美在线网| 欧美电影在线观看| 亚洲欧美日本国产有色| 国语自产偷拍精品视频偷| 欧美日本中文字幕| 国产精品日韩在线| 黄色工厂这里只有精品| 国产永久精品大片wwwapp| 91久久精品国产91久久性色tv| 91久久久在线| 亚洲国产人成综合网站| 亚洲国产成人午夜在线一区| 国产日韩欧美日韩| 国产亚洲欧美一区在线观看| 国产精品久久久久免费a∨| 欧美特黄一区| 欧美黑人国产人伦爽爽爽| 亚洲综合不卡| 亚洲图片你懂的| 欧美日本国产一区| 激情成人综合网| 亚洲精品美女免费| 亚洲三级视频| 红桃av永久久久| 欧美国产日韩xxxxx| 国产精品一区二区三区四区| 国产精品一区二区你懂的| 久久视频这里只有精品| 欧美亚洲在线观看| 国产精品男女猛烈高潮激情| 在线播放中文字幕一区| 亚洲综合视频1区| 亚洲精品美女久久久久| 国产亚洲精品福利| 国产喷白浆一区二区三区| 亚洲精品视频免费在线观看| 欧美日韩123| 午夜精品三级视频福利| 欧美午夜片在线免费观看| 久久综合电影一区| 久久人人爽人人爽爽久久| 欧美夫妇交换俱乐部在线观看| 在线精品一区二区| 久久国产日本精品| 免费一级欧美片在线播放| 免费成人黄色| 国产日本欧洲亚洲| 亚洲精品日产精品乱码不卡| 国产一区二区电影在线观看| 国产视频一区欧美| 久久久久久久一区二区三区| 欧美国产极速在线| 欧美视频精品一区| 欧美精品黄色| 久久综合色天天久久综合图片| 亚洲一卡二卡三卡四卡五卡| 最新日韩欧美|