www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于AT89S52和FAT16的SD卡讀寫(xiě)系統(tǒng)設(shè)計(jì)

引 言
    長(zhǎng)期以來(lái),閃存卡(SD卡、MMC卡等)因其體積小、功耗低、容量大和非易失性等特點(diǎn),在嵌入式存儲(chǔ)領(lǐng)域的應(yīng)用越來(lái)越廣泛。特別是近年來(lái),隨著閃存技術(shù)的發(fā)展,閃存卡價(jià)格不斷下降且存儲(chǔ)容量不斷提高。當(dāng)數(shù)據(jù)采集系統(tǒng)需要長(zhǎng)時(shí)間地采集和記錄海量數(shù)據(jù)時(shí),應(yīng)用SD卡作為存儲(chǔ)介質(zhì)是很好的選擇,例如電能檢測(cè)、溫度濕度檢測(cè)、病人心肺數(shù)據(jù)記錄等。FAT16文件系統(tǒng)是。Microsoft公司在其MS-DOS 操作系統(tǒng)中采用的文件系統(tǒng),具有出色的文件管理性能,能被當(dāng)前大多數(shù)操作系統(tǒng)識(shí)別。因此,將SD卡與FAT16文件系統(tǒng)相結(jié)合是嵌入式數(shù)據(jù)存儲(chǔ)、記錄系統(tǒng)的理想方案,可以將采集記錄的數(shù)據(jù)直接在PC上讀取和處理。本文研究和設(shè)計(jì)了基于AT89S52單片機(jī)和FAT16文件系統(tǒng)的SD卡讀寫(xiě)系統(tǒng)。

1 系統(tǒng)方案介紹
    本系統(tǒng)采用MCS-51架構(gòu)的AT89S52單片機(jī)。AT89S52是一種低成本、低功耗、高性能的CMOS 8位微控制器,具有8 KB在系統(tǒng)可編程Flash存儲(chǔ)器。應(yīng)用AT89S52讀寫(xiě)SD卡,首先要確定它們之間的通信方案。SD卡有2種可選的通信協(xié)議:SD模式和SPI模式。 SD模式是SD卡的標(biāo)準(zhǔn)讀寫(xiě)方式,選用此模式需要選擇帶SD卡控制接口的MCU或者額外的SD卡控制單元;SPI模式通過(guò)SPI總線(xiàn)完成SD卡與主控制器的通信。AT89S52沒(méi)有集成SD卡控制器,為了不增加額外的SD卡控制單元硬件成本,本設(shè)計(jì)方案采用SD卡的SPI通信模式。雖然AT89S52也沒(méi)有集成SPI接口模塊,但可以用軟件的方式模擬SPI接口時(shí)序。
    另外一個(gè)要解決的問(wèn)題是SD卡與AT89S52的電平匹配。SD卡的邏輯電平相當(dāng)于3.3 V的TTL電平標(biāo)準(zhǔn),AT89S52的邏輯電平為5 V CMOS電平。
    解決電平匹配問(wèn)題的原則有2條:一為輸出電平器件輸出的高電平的最小值,應(yīng)該大于接收電平器件識(shí)別為高電平的最低電壓值;另一條為輸出電平器件輸出低電平的最大電壓值,應(yīng)該小于接收電平器件識(shí)別為低電平的最高電壓值。
    考慮到SsD卡在SPI工作模式下,數(shù)據(jù)的傳輸都是單向的,這樣可以在單片機(jī)向SD卡傳輸數(shù)據(jù)時(shí)采用晶體管加下拉電阻的方法,基本電路如圖1所示。而在 SD卡向單片機(jī)傳輸數(shù)據(jù)時(shí)可以采用直接連接,因?yàn)樗鼈冎g的電平剛好滿(mǎn)足上述的電平兼容原則,既經(jīng)濟(jì)又實(shí)用。這個(gè)方案需要雙電源供電,1個(gè)5 V電源,1個(gè)3.3 V電源。

[!--empirenews.page--]
2 AT89S52與SD卡接口電路設(shè)計(jì)
2.1 SD卡接口規(guī)范
    SD卡工作在2.7~3.6 V電壓下,圖2是普通SD卡的結(jié)構(gòu)示意圖和引腳排列圖,表1列出了各引腳在SPI模式下的定義和功能描述。主機(jī)與SD卡之間通過(guò)指令來(lái)實(shí)現(xiàn)交互。

2.2 接口電路設(shè)計(jì)
    AT89S52內(nèi)有256字節(jié)的RAM,由于SD卡數(shù)據(jù)的讀出與寫(xiě)入是以塊為單位的,而每塊為512字節(jié),所以需要在單片機(jī)的最小系統(tǒng)上擴(kuò)展1片RAM。本系統(tǒng)選用的RAM芯片為HM62256,容量32KB。系統(tǒng)硬件電路如圖3所示。

3 軟件設(shè)計(jì)
3.1 FAT16文件系統(tǒng)
    FAT16文件系統(tǒng)的存儲(chǔ)結(jié)構(gòu)如圖4所示。

 [!--empirenews.page--]

   主引導(dǎo)記錄區(qū)(Main BootRecord,MBR)位于物理磁盤(pán)第零扇區(qū)。MBR中有硬盤(pán)分區(qū)記錄表(Disk Partition Table,DPT),DPT記錄了各邏輯分區(qū)的相對(duì)偏移。SD卡不支持多分區(qū),在1個(gè)SD卡中只有1個(gè)分區(qū),因此在SD卡上的DPT只有1個(gè)分區(qū)表項(xiàng)被占用。系統(tǒng)引導(dǎo)記錄區(qū)(DOS Boot Record,DBR)位于磁盤(pán)邏輯分區(qū)的第0扇區(qū),是操作系統(tǒng)可以訪(fǎng)問(wèn)的第1個(gè)扇區(qū),它其中包含1個(gè)稱(chēng)為BPB(Bios Parameter Block)的本分區(qū)參數(shù)記錄表。BPB記錄著本分區(qū)的根目錄大小、FAT、個(gè)數(shù)、磁盤(pán)介質(zhì)描述、分配單元大小等重要參數(shù)。

    DBR之后是FAT(File Allocation Table,文件分配記錄表),記錄文件在磁盤(pán)上的存儲(chǔ)位置。在Windows系統(tǒng)中,文件存儲(chǔ)的單位是簇而不是字節(jié),1個(gè)文件不是連續(xù)地存放于磁盤(pán)的某一區(qū)域,而往往分成若干段,像鏈子一樣存放。FAT表記錄了每個(gè)文件的起始簇號(hào)、后繼簇號(hào)和終止簇號(hào)。FAT表中的每個(gè)表項(xiàng)對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)區(qū)中的1個(gè)簇,由于FAT表對(duì)文件管理的重要性,F(xiàn)AT表有1個(gè)備份。
    DIR是根目錄區(qū),緊接著第2個(gè)FAT表(FAT2)之后,記錄著根目錄下每個(gè)文件的起始簇號(hào)、大小等屬性。操作系統(tǒng)根據(jù)DIR中文件的起始簇號(hào)和大小,結(jié)合FAT表來(lái)定位文件。FAT16文件系統(tǒng)中1個(gè)文件的存儲(chǔ)示意圖如圖5所示。

3.2 SD卡指令規(guī)范
    單片機(jī)通過(guò)相應(yīng)指令與SD卡進(jìn)行交互。SD卡有特定的指令格式,都是6字節(jié)長(zhǎng),最高有效位(MSB)傳輸優(yōu)先,如圖6所示。

    SD卡指令的最高2位“01”是SD卡指令的開(kāi)始標(biāo)志,最后1位“1”是結(jié)束標(biāo)志。6位的指令是SD卡的指令序號(hào),例如CMD17的6位指令即17的二進(jìn)制表示010001。指令參數(shù)占4字節(jié),具體內(nèi)容參照SD卡規(guī)范。7位CRC校檢的生成多項(xiàng)式為G(x)=x7+x3+1。事實(shí)上SD卡在進(jìn)入SPI模式后,不再通過(guò)CRC碼來(lái)確認(rèn)指令的傳輸正確與否,指令中的7為CRC校檢,只在SD模式下起作用。因此僅SD卡上電后的第1條切換SPI模式指令CMd0 需要校檢碼,而此校檢碼是固定的0x95,其他指令的CRC均置1即可。SD卡響應(yīng)有4種格式,不同指令對(duì)應(yīng)不同響應(yīng),具體內(nèi)容可參看SD卡規(guī)范。
3.3 SD卡讀寫(xiě)驅(qū)動(dòng)
3.3.1 SPI時(shí)序模擬
    用軟件來(lái)模擬SPI總線(xiàn)的具體方法是:將SCK的初始狀態(tài)置0,允許接收后(即CS置0)將SCK置1,這樣單片機(jī)由DI線(xiàn)輸出1位數(shù)據(jù)到SD卡;接著再將SCK置0,單片機(jī)由DO線(xiàn)從SD卡讀1位數(shù)據(jù)。至此,模擬1位數(shù)據(jù)輸入輸出完成。此后再將SCK置1,依次循環(huán)8次,完成SPI總線(xiàn)1字節(jié)數(shù)據(jù)的輸入輸出。
    以下是本系統(tǒng)軟件模擬SPI時(shí)序的匯編代碼。以通用寄存器A作為函數(shù)參數(shù),實(shí)現(xiàn)將寄存器A中的數(shù)據(jù)通過(guò)SPI總線(xiàn)發(fā)送出去,并將從SPI總線(xiàn)讀到的數(shù)據(jù)存到寄存器A中。

   [!--empirenews.page--]
3.3.2 SD卡的初始化
    SD卡的初始化流程如圖7所示。SD卡上電延時(shí)74個(gè)時(shí)鐘周期后,單片機(jī)向SD卡發(fā)送復(fù)位命令CMDO,使SD卡進(jìn)入SPI模式。之后循環(huán)發(fā)送激活SD卡指令CMD1,直到接收到SD卡響應(yīng)的第0位為0。

3.3.3 SD卡數(shù)據(jù)塊的讀寫(xiě)
    完成SD卡的初始化后,就可以對(duì)SD卡進(jìn)行讀寫(xiě)操作。讀寫(xiě)操作都是通過(guò)指令來(lái)完成的:?jiǎn)螇K寫(xiě)命令CMD24,多塊寫(xiě)命令CMD25;單塊讀命令 CMD17,多塊讀命令CMD18。單塊讀寫(xiě)時(shí),數(shù)據(jù)塊的長(zhǎng)度為512字節(jié),多塊讀寫(xiě)時(shí)SD卡收到1個(gè)停止命令CMD12后停止讀寫(xiě)。圖8、圖9分別是單塊讀、寫(xiě)SD卡的軟件流程。

3.4 FAT16文件讀寫(xiě)
    按照FAT16文件系統(tǒng)的文件組織規(guī)范,編寫(xiě)讀文件函數(shù)和寫(xiě)文件函數(shù)。FAT16文件讀寫(xiě)的軟件流程如圖10所示。

結(jié) 語(yǔ)
    通過(guò)串口將本系統(tǒng)連接到PC進(jìn)行測(cè)試,結(jié)果表明本系統(tǒng)完成了對(duì)FAT16文件系統(tǒng)下文件的讀寫(xiě)。當(dāng)采用11.059 2 MHz晶振時(shí),讀寫(xiě)速度和質(zhì)量都令人滿(mǎn)意。本系統(tǒng)采用51架構(gòu)的AT89S52單片機(jī),實(shí)現(xiàn)了基于FAT16文件系統(tǒng)的讀寫(xiě)SD卡設(shè)計(jì),整套系統(tǒng)成本較低,在嵌入式數(shù)據(jù)記錄和存儲(chǔ)中有廣泛應(yīng)用前景。

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

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專(zhuān)屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷(xiāo)售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開(kāi)發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車(chē)

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國(guó)高端家電品牌G50峰會(huì)》于浙江寧波落幕,來(lái)自?xún)砂儆嗝袠I(yè)大咖、專(zhuān)家學(xué)者共同探討了在形勢(shì)依然嚴(yán)峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉