資源描述:
《基于單片機的sd卡讀寫系統(tǒng)設計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、SD卡讀寫系統(tǒng)設計1.文獻綜述SD卡(SecureDigitalMemoryCard)中文翻譯為安全數(shù)碼卡,是一種基于半導體快閃記憶器的新一代記憶設備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機、個人數(shù)碼助理(PDA)和多媒體播放器等。SD卡由日本松下、東芝及美國SanDisk公司于1999年8月共同開發(fā)研制。SD卡為9引腳,目的是通過把傳輸方式由串行變成并行,以提高傳輸速度。它最大的特點就是通過加密功能,可以保證數(shù)據(jù)資料的安全保密,它還具備版權(quán)保護技術(shù),所采用的版權(quán)保護技術(shù)是DVD中使用的CPRM技術(shù)(可刻錄介質(zhì)
2、內(nèi)容保護)。大小猶如一張郵票的SD記憶卡,重量只有2克,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好的安全性。長期以來,閃存卡(SD卡、MMC卡等)因其體積小、功耗低、容量大和非易失性等特點,在嵌入式存儲領(lǐng)域的應用越來越廣泛。特別是近年來,隨著閃存技術(shù)的發(fā)展,存卡價格不斷下降且存儲容量不斷提高。當數(shù)據(jù)采集系統(tǒng)需要長時間地采集和記錄海量數(shù)據(jù)時,應用SD卡作為存儲介質(zhì)是很好的選擇,例如電能檢測、溫度濕度檢測、病人心肺數(shù)據(jù)記錄等。近年來,單片機系統(tǒng)發(fā)展迅猛,這不僅體現(xiàn)在CPU處理能力迅速提升、外界設備與處
3、理器交互能力快速提高,更體現(xiàn)在單片機系統(tǒng)的復雜性日益提高、系統(tǒng)存儲容量急劇增大。這些變化對于數(shù)據(jù)操作的靈活性提出了越來越高的要求。因此,如何系統(tǒng)地、靈活地管理數(shù)據(jù)文件就成了單片機系統(tǒng)開發(fā)者無法回避的問題。文件系統(tǒng)的使用使開發(fā)者獲得“路徑”的概念,從而回避了存儲介質(zhì)的地址空間,不用每次都從頭對物理介質(zhì)進行操作。文件系統(tǒng)提供清晰明了的API函數(shù),使上層應用層不再關(guān)心底層存儲介質(zhì),而方便地利用標準接口訪問底層存儲器。標準化的接口和層次分明的程序增加了程序的可移植性。因此在單片機系統(tǒng)中植入文件系統(tǒng)是單片機系統(tǒng)發(fā)展的必然結(jié)果
4、。由于該系統(tǒng)是通過SD卡模組向SD卡寫入一系列文件,這些文件需要被Windows系列操作系統(tǒng)正確識別,并進行讀寫操作,因此,我們選擇了應用最為廣泛的FAT16文件系統(tǒng)。FAT16是Microsoft開發(fā)的文件系統(tǒng),是一種技術(shù)成熟、結(jié)構(gòu)簡單、系統(tǒng)資源開銷小、易于在單片機系統(tǒng)上的硬件平臺上實現(xiàn)的文件系統(tǒng)。它是Microsoft公司在其MS2DOS操作系統(tǒng)中采用的文件系統(tǒng),具有出色的文件管理性能,能被當前大多數(shù)操作系統(tǒng)識別。因此,SD卡與FAT16文件系統(tǒng)相結(jié)合是嵌入式數(shù)據(jù)存儲、記錄系統(tǒng)的理想方案,可以將采集記錄的數(shù)據(jù)直
5、接在PC上讀取和處理。本文選用基于MCS-251架構(gòu)的AT89S52單片機,將FAT16文件系統(tǒng)移植進單片機,并開發(fā)了一套SD卡讀寫系統(tǒng)。此讀寫系統(tǒng)應用在了一套基于AT89S52和SD卡的存儲系統(tǒng)上,實現(xiàn)了數(shù)據(jù)文件按FAT16文件系統(tǒng)存儲規(guī)則存儲。通過串口將本系統(tǒng)連接到PC上,在Windows操作系統(tǒng)上就能直接讀取SD卡上的數(shù)據(jù)文件。這套文件系統(tǒng)可以很方便地應用在各種工業(yè)現(xiàn)場以及小型的單片機數(shù)據(jù)采集系統(tǒng)中,在數(shù)據(jù)采集存儲方面更加靈活、穩(wěn)定。2.選題依據(jù)、主要研究內(nèi)容、研究思路及方案2.1系統(tǒng)方案介紹本系統(tǒng)采用MCS
6、251架構(gòu)的AT89S52單片機。AT89S52是一種低成本、低功耗、高性能的CMOS8位微控制器,具有8KB在系統(tǒng)可編程Flash存儲器。應用AT89S52讀寫SD卡,首先要確定它們之間的通信方案。SD卡有2種可選的通信協(xié)議:SD模式和SPI模式。SD模式是SD卡的標準讀寫方式,選用此模式需要選擇帶SD卡控制接口的MCU或者額外的SD卡控制單元;SPI模式通過SPI總線完成SD卡與主控制器的通信。AT89S52沒有集成SD卡控制器,為了不增加額外的SD卡控制單元硬件成本,本設計方案采用SD卡的SPI通信模式。雖然
7、AT89S52也沒有集成SPI接口模塊,但可以用軟件的方式模擬SPI接口時序。另外一個要解決的問題是SD卡與AT89S52的電平匹配。SD卡的邏輯電平相當于3.3V的TTL電平標準,AT89S52的邏輯電平為5VCMOS電平。解決電平匹配問題的原則有2條:一為輸出電平器件輸出的高電平的最小值,應該大于接收電平器件識別為高電平的最低電壓值;另一條為輸出電平器件輸出低電平的最大電壓值,應該小于接收電平器件識別為低電平的最高電壓值??紤]到SD卡在SPI工作模式下,數(shù)據(jù)的傳輸都是單向的,這樣可以在單片機向SD卡傳輸數(shù)據(jù)時采
8、用晶體管加下拉電阻的方法,基本電路如圖1所示。而在SD卡向單片機傳輸數(shù)據(jù)時可以采用直接連接,因為它們之間的電平剛好滿足上述的電平兼容原則,既經(jīng)濟又實用。這個方案需要雙電源供電,1個5V電源,1個3.3V電源。2.2AT89S52與SD卡接口電路設計2.2.1SD卡接口規(guī)范SD卡工作在2.7~3.6V電壓下,圖2是普通SD卡圖1 電平轉(zhuǎn)換電路圖2 SD卡結(jié)構(gòu)示