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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用C8051F020微控制器控制CF卡存儲及設計研究

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-07-01 08:08 ? 次閱讀

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

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

1 C8051F020與CF卡的接口電路

C8051F020是完全集成的混合信號系統級MCU芯片,使用了Cygnal專利的高速、流水線結構以及與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的輸入信號電壓。

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

采用C8051F020微控制器控制CF卡存儲及設計研究

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所示。

采用C8051F020微控制器控制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卡存儲及設計研究

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模式的轉換如下:

采用C8051F020微控制器控制CF卡存儲及設計研究

其中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的幾個重要數據結構:

采用C8051F020微控制器控制CF卡存儲及設計研究

在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的位置上。

采用C8051F020微控制器控制CF卡存儲及設計研究

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

采用C8051F020微控制器控制CF卡存儲及設計研究

這個數據結構中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卡用于本系統中都能夠正確地對采集到的腦電圖信號進行存取。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7560

    瀏覽量

    151496
  • 計算機
    +關注

    關注

    19

    文章

    7504

    瀏覽量

    88056
  • 定時器
    +關注

    關注

    23

    文章

    3250

    瀏覽量

    114897
收藏 人收藏

    評論

    相關推薦

    基于C8051F020單片機與RTL8019AS的音頻峰值采集終端設計

    C8051F020是美國Silicon Laboratories公司生產的8051系列完全集成的混合信號ISP Flash微控制器
    的頭像 發表于 12-21 08:35 ?4712次閱讀
    基于<b class='flag-5'>C8051F020</b>單片機與RTL8019AS的音頻峰值采集終端設計

    C8051F020型單片機與SJA1000型控制器接口電路

    圖為C8051F020型單片機與SJA1000型控制器的硬件連接電路原理。SJA1000占用了0x8000-0x80FF的外部RAM空間。當單片機訪問以上空間時片選信號會選中SJA1000
    發表于 06-14 05:00

    基于C8051F020和USB的OLED控制系統設計

    介紹基于C8051F020 型單片機與CH375 型接口電路的OLED 控制系統的設計與實現方法,詳細描述了CH375 型USB 總線通用接口電路的特點及工作原理,給出C8051F020 型單片機通過CH375
    發表于 08-28 14:23 ?40次下載

    基于C8051F020的SD控制器設計

    給出一種應用于飛機飛行數據采集儀的SD 設計方案,該方案選用與8051 完全兼容的高性能單片機C8051F020 作為主控制器采用SPI
    發表于 09-21 10:57 ?85次下載

    基于C8051F020的觸摸屏驅動控制

    C8051F020單片機通過SPI接口驅動四線電阻式觸摸屏控制器TSC2046,利用中斷方式驅動TSC2046設計軟件。介紹了觸摸屏的工作原理、TSC2046工作方式以及典型應用電路。
    發表于 12-14 17:09 ?103次下載
    基于<b class='flag-5'>C8051F020</b>的觸摸屏驅動<b class='flag-5'>控制</b>

    C8051F020數據手冊

    The C8051F020/1/2/3 devices are fully integrated mixed-signal System-on-a-Chip MCUs with 64 digital
    發表于 01-09 15:24 ?173次下載
    <b class='flag-5'>C8051F020</b>數據手冊

    C8051F020原理圖

    C8051F020原理圖的,需要的朋友可以看看哈。
    發表于 11-20 15:49 ?105次下載

    C8051F020混合信號 ISP FLASH 微控制器

    新華龍C8051F020中文資料
    發表于 01-08 16:28 ?14次下載

    C8051F020單片機例程

    c8051f020 例程
    發表于 03-16 08:00 ?41次下載

    基于C8051F020控制器的SD卡通訊研究

    給出一種應用于飛機飛行數據采集儀的SD設計方案,該方案選用與8051完全兼容的高性能單片機C8051F020作為主控制器采用SPI總線與
    發表于 09-08 14:29 ?9次下載
    基于<b class='flag-5'>C8051F020</b>主<b class='flag-5'>控制器</b>的SD卡通訊<b class='flag-5'>研究</b>

    基于C8051F020的驅動程序設計

    簡單介紹了MCGS組態軟件和C8051F020單片機的特點。并以基于C8051F020單片機設計的廠房燈光控制器被背景,詳細闡述了開發基于MCGS的C8051F020單片機驅動程序的方
    發表于 09-25 17:20 ?22次下載
    基于<b class='flag-5'>C8051F020</b>的驅動程序設計

    C8051F020單片機對觸摸屏的驅動控制

    在用C8051F020實現對TFT6448BS-5.7的控制過程中,采用總線方式進行控制。因為TFT6448BS-5.7液晶控制器自帶有鎖存
    發表于 04-16 16:39 ?1451次閱讀
    <b class='flag-5'>C8051F020</b>單片機對觸摸屏的驅動<b class='flag-5'>控制</b>

    使用C8051F020實現SD控制器的設計資料說明

    給出一種應用于飛機飛行數據采集儀的SD設計方案, 該方案選用與8051完全兼容的高性能單片機C8051F020作為主控制器采用SPI總線
    發表于 10-22 17:33 ?3次下載
    使用<b class='flag-5'>C8051F020</b>實現SD<b class='flag-5'>卡</b>主<b class='flag-5'>控制器</b>的設計資料說明

    采用C8051F020 DAC產生任意波形設計

    采用C8051F020 DAC產生任意波形設計(電源技術)-采用C8051F020 DAC產生任意波形
    發表于 09-17 14:58 ?27次下載
    <b class='flag-5'>采用</b><b class='flag-5'>C8051F020</b> DAC產生任意波形設計

    采用C8051F020 DAC產生任意波形

    采用C8051F020 DAC產生任意波形(實用電源技術)-采用C8051F020DAC產生任意波形? ? ? ? ? ? ? ? ? ?
    發表于 09-18 13:22 ?32次下載
    <b class='flag-5'>采用</b><b class='flag-5'>C8051F020</b> DAC產生任意波形
    主站蜘蛛池模板: 狠狠狠色丁香婷婷综合激情 | 五月六月伊人狠狠丁香网| 国产精品爽爽影院在线| 午夜精品久久久久久久久| 国产做a爰片久久毛片| 久久亚洲精品成人综合| 麻豆三级视频| 美女视频黄a| 精品卡一卡二 卡四卡视频| 久久综合社区| 狠狠色丁香婷婷综合视频| 国模在线| 成人综合在线观看| 4tube高清性欧美| 永久影视| 神马午夜限制| www.人人干| 69日本xxxxhd| 高清一区二区三区| 性欧美日韩| 欧美在线视频免费| 久久久久久久国产精品电影| 激情亚洲| 亚洲第七页| 日本加勒比高清一本大道| 免费黄色三级网站| 超级香蕉97视频在线观看一区| 天天摸天天躁天天添天天爽| 色花堂国产精品首页第一页| 激情五月综合婷婷| 婷婷涩五月| 琪琪午夜伦埋大全影院| 丁香五香天堂网卡| 欧洲三级网站| 人人草人人澡| 立即播放免费毛片一级| 超刺激gay腐文h文| 国产成人教育视频在线观看| 1000rt人体1000欧美| 日本在线视频www色| 婷婷丁香社区|