《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)SD卡接口技術(shù)分析與研究
嵌入式系統(tǒng)SD卡接口技術(shù)分析與研究
來源:《電子科技》2011年06期
王文海
長沙航空職業(yè)技術(shù)學(xué)院電子電氣工程系
摘要: SD卡是一種基于半導(dǎo)體快閃記憶器開發(fā)的新一代記憶設(shè)備,,被廣泛應(yīng)用于各種便攜裝置上,。許多嵌入式設(shè)備也選擇使用SD卡提高系統(tǒng)的穩(wěn)定性,、降低成本,。文中分析了嵌入式系統(tǒng)的特點(diǎn),然后,,就基于嵌入式系統(tǒng)的SD卡接口硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行了探討,。
Abstract:
Key words :
摘要:SD卡是一種基于半導(dǎo)體快閃記憶器開發(fā)的新一代記憶設(shè)備,被廣泛應(yīng)用于各種便攜裝置上,。許多嵌入式設(shè)備也選擇使用SD卡提高系統(tǒng)的穩(wěn)定性,、降低成本。文中分析了嵌入式系統(tǒng)的特點(diǎn),,然后,就基于嵌入式系統(tǒng)的SD卡接口硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行了探討,。

SD卡是一種基于半導(dǎo)體快閃記憶器開發(fā)的新一代記憶設(shè)備,,目前SD卡被廣泛應(yīng)用于各種便攜式裝置上,一般重量約為2g,,擁有較好的安全性,、移動靈活性、快速數(shù)據(jù)傳輸率和高記憶容量,。許多嵌入式設(shè)備都選擇使用SD卡以提高系統(tǒng)的穩(wěn)定性,、降低成本。

1 嵌入式系統(tǒng)的特點(diǎn)

因?yàn)榍度胧较到y(tǒng)是一種特殊的計(jì)算機(jī)系統(tǒng),,所以它和計(jì)算機(jī)系統(tǒng)一樣,,由軟件和硬件構(gòu)成,。以PC為代表的通用計(jì)算機(jī)系統(tǒng)和嵌入式系統(tǒng)相比,不同的嵌入式系統(tǒng)有不同的特點(diǎn),,但是其主要特點(diǎn)一樣,。

(1)嵌入式系統(tǒng)是一種專用計(jì)算機(jī)系統(tǒng)。嵌人式系統(tǒng)的軟件和硬件是針對特定任務(wù)和應(yīng)用對象進(jìn)行設(shè)計(jì)的,,具有較強(qiáng)的多樣性和專用性,。嵌入式系統(tǒng)所能夠提供的功能,均可提前預(yù)知,,相對較為固定,。

(2)嵌入式系統(tǒng)需要滿足環(huán)境對其的要求。因?yàn)榍度胧较到y(tǒng)需要被嵌入到特定的對象系統(tǒng)之中,,所以它必須滿足對象系統(tǒng)對嵌入式系統(tǒng)的環(huán)境要求,,例如能耗少、成本低以及電氣環(huán)境,、物理環(huán)境等特定要求,,除此之外還需要滿足對壓力、濕度,、溫度這些自然環(huán)境的要求,。

(3)嵌入式系統(tǒng)是集各行業(yè)應(yīng)用和計(jì)算機(jī)技術(shù)為一體的集成系統(tǒng)。嵌入式系統(tǒng)是利用先進(jìn)的電子技術(shù),、半導(dǎo)體技術(shù),、計(jì)算機(jī)技術(shù)與其他各行業(yè)應(yīng)用相結(jié)合后的產(chǎn)物,這個(gè)特定就決定了嵌人式系統(tǒng)是一個(gè)不斷創(chuàng)新,、高度分散,、資金密集、技術(shù)密集的知識集成系統(tǒng),。

(4)嵌入式系統(tǒng)與其他產(chǎn)品相比,,有很長的生命周期。嵌入式系統(tǒng)能夠緊密地應(yīng)用于實(shí)際生產(chǎn),,它的更新?lián)Q代與實(shí)際的產(chǎn)品同時(shí)進(jìn)行,,所以基于嵌入式系統(tǒng)開發(fā)的產(chǎn)品,得具有強(qiáng)大的競爭力和很長的生命周期,。

2 基于嵌入式系統(tǒng)的SD卡接口硬件設(shè)計(jì)

SD卡的接口可以支持兩種操作模式:一種是SD卡模式,,另一種是SPI模式。SD接口允許1~4線數(shù)據(jù)信號設(shè)置,。加電后,,SD卡使用DAT0。初始化后,,主機(jī)可以改變線寬,。Freescale公司設(shè)計(jì)開發(fā)的MCF51QE128是一款32位低功耗嵌入式微控制器,,該嵌入式微控制器采用SPI的模式實(shí)現(xiàn)和SD卡的接口。因?yàn)镸CF51QE128的最佳工作電壓為3.6V,,功耗較低,,可以和SD卡的工作電壓進(jìn)行兼容處理,可以無需利用電平轉(zhuǎn)換電路,,可以直接與SD卡連接,,這里選用嵌入式微控制器的第2個(gè)SPI口,硬件連接如圖1所示,。SD卡的接口主要能支持兩種操作模式:一種是SD卡模式,;另一種是SPI模式。主機(jī)系統(tǒng)可以根據(jù)需要,,選擇一種模式,,SD卡的可以允許4線同時(shí)進(jìn)行數(shù)據(jù)傳輸。接到復(fù)位命令時(shí),,低電平有效,,SPI模式啟用。SPI模式可以允許那些簡單且通用的SPI通道接口,,SPI模式與SD模式相比而言,,喪失了速度優(yōu)勢。

嵌入式系統(tǒng)的SD卡接口技術(shù)分析與研究

3 基于嵌入式系統(tǒng)的SD卡接口軟件設(shè)計(jì)

SD卡接口軟件設(shè)計(jì),,就是SD卡與嵌入式設(shè)備接觸時(shí)的接口驅(qū)動程序,。驅(qū)動程序要實(shí)現(xiàn)相應(yīng)XXX_Open(),XXX_Close()等響應(yīng)的流式設(shè)備接口函數(shù),,其中XXX為設(shè)備驅(qū)動的前綴,,應(yīng)用程序可以通過文件操作來控制設(shè)備。例如:hDevice=Activate DeviceEx(szRegKey_SDMMC,,NU-LL,,0,NULL),;/*加載SD/MMC卡驅(qū)動*/這個(gè)驅(qū)動代碼可以判斷SD卡插入事件,。同時(shí),SD卡的數(shù)據(jù)傳輸,,基本是通過塊的讀寫實(shí)現(xiàn)。當(dāng)塊進(jìn)行讀取時(shí),,可以發(fā)送命令CMD17,,接收到的應(yīng)答信號為0x00。這樣就能夠直接來接收SD卡數(shù)據(jù),,接收到的數(shù)據(jù)的第1Byte為數(shù)據(jù)令牌0xfe,,后面為接收到的數(shù)據(jù),,當(dāng)輸出口變?yōu)楦唠娖綍r(shí),表明讀取操作完成,,SD卡的讀操作與寫操作相同,。

為降低系統(tǒng)功耗,非活躍線程平時(shí)是被掛起的,。如果總線上掛有多個(gè)SD卡,,就需要用CMD7命令退出當(dāng)前SD卡,選擇其他CD卡操作,。CMD7命令為選擇卡或取消卡,,在初始化的時(shí)候發(fā)送CMD7命令,SD卡將進(jìn)入數(shù)據(jù)發(fā)送模式,,在數(shù)據(jù)模式里發(fā)送CMD7則退出當(dāng)前卡的操作,。需要注意的是,在數(shù)據(jù)模式里不同的狀態(tài)只支持特定命令,,如在數(shù)據(jù)模式里發(fā)送讀ID指令則無效,。同時(shí),為減少SD Host驅(qū)動程序設(shè)計(jì)的復(fù)雜性,,使其具有較好的可移植性,,可以采用Bsquare提供的SD Host DDK,它在Bsquare SD協(xié)議棧的基礎(chǔ)上,,提供了平臺獨(dú)立的總線,、客戶端驅(qū)動和一組標(biāo)準(zhǔn)化的API供使用。在該體系結(jié)構(gòu)下,,SD主控制器驅(qū)動負(fù)責(zé)檢查SD卡的插拔狀態(tài),,檢測插入卡的類型,設(shè)置SD主控制器時(shí)鐘等SD接口的硬件操作,;SD總線驅(qū)動則負(fù)責(zé)上層卡驅(qū)動的裝載和移除,,維護(hù)每一個(gè)插槽的總線請求隊(duì)列等。該結(jié)構(gòu)的設(shè)計(jì)很大程度上減少了SD Host驅(qū)動程序設(shè)計(jì)的復(fù)雜性,,使SD Host控制器驅(qū)動程序設(shè)計(jì)可以專注于硬件相關(guān)的部分,。總線驅(qū)動是SD卡客戶端驅(qū)動程序和SDHost驅(qū)動程序之間的一個(gè)抽象層,,它為SD卡客戶端驅(qū)動提供平臺獨(dú)立的服務(wù)接口,。SD Host驅(qū)動程序需要完成處理器和硬件平臺相關(guān)的處理,向上層驅(qū)動提供統(tǒng)一的服務(wù)接口,。

4 結(jié)束語

SD卡是目前廣泛應(yīng)用的可擦除的大容量存儲設(shè)備,,其接口設(shè)計(jì)可作為各類嵌入式系統(tǒng)中存儲單元的一般解決方案。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。