當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]通過8051單片機(jī)對CF卡進(jìn)行讀寫。2.CF卡的操作方式CF卡的操作方式與計算機(jī)的硬盤操作方式類似,其扇區(qū)的尋址也有兩種方式:物理尋址(CHS)和邏輯尋址(LBA),物理尋址使用柱面

通過8051單片機(jī)對CF卡進(jìn)行讀寫。

2.CF卡的操作方式

CF卡的操作方式與計算機(jī)的硬盤操作方式類似,其扇區(qū)的尋址也有兩種方式:物理尋址(CHS)和邏輯尋址(LBA),物理尋址使用柱面、磁頭和扇區(qū)號表示一個特定的扇區(qū),起始扇區(qū)是0道、0頭、1區(qū),接下來是2區(qū)等等,邏輯尋址將整個CF卡統(tǒng)一尋址。邏輯塊尋址和物理尋址的關(guān)系為:

LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)數(shù)一1

在實(shí)際使用過程中,用LBA地址進(jìn)行尋址,可以大大簡化編程的工作量,避免柱面、磁頭和扇區(qū)之間的換算和切換,并且可以突破CHS對大容量的無法尋址的限制。

3.CF卡的文件管理

CF卡的文件管理系統(tǒng)和硬盤的文件管理是一樣的,他將CF卡的存儲空間分為五個部分:主引導(dǎo)記錄扇區(qū)(MBR)、DOS引導(dǎo)區(qū)(DBR)、文件分配表(FAT)、文件目錄表(FDT)和數(shù)據(jù)。

主引導(dǎo)記錄扇區(qū)(MBR)

主引導(dǎo)記錄扇區(qū)(MBR)在0柱面、0磁頭、1扇區(qū)。主引導(dǎo)記錄記錄磁盤最重要的結(jié)構(gòu)信息。主引導(dǎo)記錄是硬磁盤作分區(qū)時建立的(Fdisk)。主引導(dǎo)記錄包括一小段執(zhí)行代碼(主引導(dǎo)代碼)、磁盤特征和硬盤分區(qū)表。主引導(dǎo)記錄結(jié)束的兩個字節(jié)必須是引導(dǎo)自舉標(biāo)記0x55AA。磁盤特征位于0x01B8, 指定磁盤操作系統(tǒng)。

DOS引導(dǎo)區(qū)(DBR)

DOS引導(dǎo)區(qū)(DBR)的起始扇區(qū)在0柱面、1磁頭、1扇區(qū),磁盤的邏輯0扇區(qū)都稱為DOS引導(dǎo)扇區(qū),又稱為BOOT區(qū)。它由以下5個部分組成:

跳轉(zhuǎn)指令,占用3個字節(jié)的跳轉(zhuǎn)指令將跳至引導(dǎo)代碼,其內(nèi)容隨DOS版本變化。

廠商標(biāo)識和DOS版本號。該部分總共占用8個字節(jié),其內(nèi)容隨DOS版本而不同。

BPB(BIOS Paramenter Block, BIOS參數(shù)塊)。BPB從第12字節(jié)起占用19個字節(jié)。

DOS引導(dǎo)程序。DOS引導(dǎo)程序既是占用480字節(jié)的BOOT代碼,負(fù)責(zé)完成DOS的3個系統(tǒng)文

件的裝入工作。這部分內(nèi)容隨DOS版本不同而變化。

結(jié)束標(biāo)志字,結(jié)束標(biāo)志占用2個字節(jié),其值為AA55。

BPB表中所記錄的有關(guān)參數(shù),能幫助編程者確定磁盤的容量大小、文件分配表FAT的位置和大小、文件目錄表FDT的位置和大小。因此以FAT32分區(qū)格式為例討論BPB表的結(jié)構(gòu)。

偏移量為0BH、0CH記錄每個扇區(qū)的字節(jié)數(shù),0DH記錄每簇扇區(qū)數(shù)。0EH、OFH記錄保留扇區(qū)數(shù),10H記錄FAT表的數(shù)目,15H磁盤介質(zhì)描述符,18H每個磁道的扇區(qū)數(shù),24H每個FAT表的扇區(qū)數(shù),2CH~2FH根目錄起始號。

文件分配表(FATl)

文件分配表FAT(File AllocatiON Tabel)是文件管理系統(tǒng)用來給每個文件分配磁盤物理空間的表格,它告訴操作系統(tǒng),文件存放在磁盤什么地方。文件分配表(FAT)有表標(biāo)識和簇映射(舊稱表目)的集合組成。一個完全相同的鏡像副本連續(xù)存儲在主 FAT 表后。表標(biāo)識符包括磁盤介質(zhì)描述符( 1 字節(jié))和填充字節(jié), 總計占兩個簇的簇映射區(qū)域(這大概也就是 FAT 文件系統(tǒng)簇號由2開始的原因), 填充字節(jié)一般為 FF,F(xiàn)AT32 的填充字節(jié)中還包含"臟位", 即系統(tǒng)啟動時執(zhí)行磁盤檢查(FAT-ChkDsk/NTFS-AutoChk)。FAT 簇映射中, 0000 表示空簇, FFFF 表示簇鏈結(jié)束, FFF7 表示壞簇, 其余值表示其后續(xù)簇的簇號。FAT12 和 FAT32 的存儲策略同 FAT16 類似, 例如 FAT12的結(jié)束簇為 FFF, FAT32 的壞簇為 0FFFFFF7 等(注意 FAT32 的高 4 位保留)。文件分配表(FAT2)是FAT1的完全備份。

文件目錄表(FDT) 在文件目錄表中,每個文件占32個字節(jié)(用PC-TOOLS或DEBUB讀出時占兩行),各個字節(jié)的含義是這樣的:0-7 字節(jié):文件名;8-10 字節(jié):擴(kuò)展名;11 字節(jié),表示文件屬性;12-21 共10個字節(jié)為保留字段,沒有使用;22-23 為建立文件的時間;24-25 為建立文件的日期;26-27 為文件占用的第一個簇號,即起始簇;28-31 共4個字節(jié)為此文件的長度。

3.AT89S52與CF卡的接口設(shè)計

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

AT89S52的P0口就為數(shù)據(jù)線連接CF的DO—D7,CF卡的A0-A10為地址線,P3.6、P3.7分別為讀(RD)、寫(WE)線。由于 AT89S52是8位的單片機(jī),所以對CF卡的訪問采用8位的方式較為方便。通過把-CE2設(shè)為‘1’即可通過訪問CF卡的D0--D7來存取數(shù)據(jù)。而- CEl可以作為CF卡的片選信號,通過設(shè)-CEl為‘0’來選通CF卡,即-CEl接AT89S52的P2.6來線選CF卡。當(dāng)REG為‘0’時,訪問 CF卡的屬性寄存器;REG為‘1’時,CF卡在存儲器模式下對數(shù)據(jù)進(jìn)行讀寫操作。RDY/BSY為CF卡狀態(tài)引腳,當(dāng)為“0”時,CF卡忙,為“1”時可以對CF卡操作。原理圖如圖所示:

限于篇幅只將寫一個扇區(qū)代碼編寫(讀扇區(qū)代碼基本與此相同)如下:

;寫一個扇區(qū)

WRITE: MOV DPTR, #SECTR_CNT

MOV A, #1

MOVX @DPTR, A

MOV DPTR, #SECTR_NO

MOV A, SECTRNO

MOVX @DPTR, A

MOV DPTR, #CYLINDER_LOW

MOV A, CYLINDERL

MOVX @DPTR, A

MOV DPTR, #CYLINDER_HI

MOV A, CYLINDERH

MOVX @DPTR, A

MOV DPTR, #DRV_HEAD

MOV A, DRVHEAD

ANL A, #0FH

ORL A, #0E0H

MOVX @DPTR, A

MOV DPTR, #COMMAND

MOV A, 30H

MOVX @DPTR, A

WRITE512:MOV R6,#0

MOV R7,#2

WRITE: MOV DPTR,#DATA_REG

MOV A,#31H

MOVX @DPTR,A

DJNZ R6,WRITE

DJNZ R7,WRITE

RET

 


4.結(jié)束語

本設(shè)計的接口電路,闡述了CF卡的讀寫方法,并采用了通用的MCS-51系列單片機(jī)為系統(tǒng)控制器,可移植性好。根據(jù)此電路可應(yīng)用于其他單片機(jī)對CF卡進(jìn)行讀寫,采用CF卡作為存儲介質(zhì),容量大,體積小,價格低廉,可應(yīng)用于MP3播放器,數(shù)碼相機(jī),移動存儲等各個領(lǐng)域,本試驗(yàn)在線路板上調(diào)試通過,并配合計算機(jī)串口對CF卡進(jìn)行讀寫操作,并可對CF卡進(jìn)行數(shù)據(jù)恢復(fù)。[!--empirenews.page--]

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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