<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式系統(tǒng)的SD卡接口技術(shù)分析與研究

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

          作者: 時間:2011-07-13 來源:網(wǎng)絡 收藏

          摘要 卡是一種基于半導體快閃記憶器開發(fā)的新一代記憶設備,被廣泛應用于各種便攜裝置上。許多設備也選擇使用卡提高的穩(wěn)定性、降低成本。文中的特點,然后,就基于硬件設計和軟件設計進行了探討。
          關(guān)鍵詞 嵌入式系統(tǒng);SD卡;硬件設計

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

          1 嵌入式系統(tǒng)的特點
          因為嵌入式系統(tǒng)是一種特殊的計算機系統(tǒng),所以它和計算機系統(tǒng)一樣,由軟件和硬件構(gòu)成。以PC為代表的通用計算機系統(tǒng)和嵌入式系統(tǒng)相比,不同的嵌入式系統(tǒng)有不同的特點,但是其主要特點一樣。
          (1)嵌入式系統(tǒng)是一種專用計算機系統(tǒng)。嵌人式系統(tǒng)的軟件和硬件是針對特定任務和應用對象進行設計的,具有較強的多樣性和專用性。嵌入式系統(tǒng)所能夠提供的功能,均可提前預知,相對較為固定。
          (2)嵌入式系統(tǒng)需要滿足環(huán)境對其的要求。因為嵌入式系統(tǒng)需要被嵌入到特定的對象系統(tǒng)之中,所以它必須滿足對象系統(tǒng)對嵌入式系統(tǒng)的環(huán)境要求,例如能耗少、成本低以及電氣環(huán)境、物理環(huán)境等特定要求,除此之外還需要滿足對壓力、濕度、溫度這些自然環(huán)境的要求。
          (3)嵌入式系統(tǒng)是集各行業(yè)應用和計算機為一體的集成系統(tǒng)。嵌入式系統(tǒng)是利用先進的電子、半導體、計算機技術(shù)與其他各行業(yè)應用相結(jié)合后的產(chǎn)物,這個特定就決定了嵌人式系統(tǒng)是一個不斷創(chuàng)新、高度分散、資金密集、技術(shù)密集的知識集成系統(tǒng)。
          (4)嵌入式系統(tǒng)與其他產(chǎn)品相比,有很長的生命周期。嵌入式系統(tǒng)能夠緊密地應用于實際生產(chǎn),它的更新?lián)Q代與實際的產(chǎn)品同時進行,所以基于嵌入式系統(tǒng)開發(fā)的產(chǎn)品,得具有強大的競爭力和很長的生命周期。

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

          本文引用地址:http://www.ex-cimer.com/article/150475.htm

          a.JPG



          3 基于嵌入式系統(tǒng)的SD卡接口軟件設計
          SD卡接口軟件設計,就是SD卡與嵌入式設備接觸時的接口驅(qū)動程序。驅(qū)動程序要實現(xiàn)相應XXX_Open(),XXX_Close()等響應的流式設備接口函數(shù),其中XXX為設備驅(qū)動的前綴,應用程序可以通過文件操作來控制設備。例如:hDevice=Activate DeviceEx(szRegKey_SDMMC,NU-LL,0,NULL);/*加載SD/MMC卡驅(qū)動*/這個驅(qū)動代碼可以判斷SD卡插入事件。同時,SD卡的數(shù)據(jù)傳輸,基本是通過塊的讀寫實現(xiàn)。當塊進行讀取時,可以發(fā)送命令CMD17,接收到的應答信號為0x00。這樣就能夠直接來接收SD卡數(shù)據(jù),接收到的數(shù)據(jù)的第1 Byte為數(shù)據(jù)令牌0xfe,后面為接收到的數(shù)據(jù),當輸出口變?yōu)楦唠娖綍r,表明讀取操作完成,SD卡的讀操作與寫操作相同。
          為降低系統(tǒng)功耗,非活躍線程平時是被掛起的。如果總線上掛有多個SD卡,就需要用CMD7命令退出當前SD卡,選擇其他CD卡操作。CMD7命令為選擇卡或取消卡,在初始化的時候發(fā)送CMD7命令,SD卡將進入數(shù)據(jù)發(fā)送模式,在數(shù)據(jù)模式里發(fā)送CMD7則退出當前卡的操作。需要注意的是,在數(shù)據(jù)模式里不同的狀態(tài)只支持特定命令,如在數(shù)據(jù)模式里發(fā)送讀ID指令則無效。同時,為減少SD Host驅(qū)動程序設計的復雜性,使其具有較好的可移植性,可以采用Bsquare提供的SD Host DDK,它在Bsquare SD協(xié)議棧的基礎上,提供了平臺獨立的總線、客戶端驅(qū)動和一組標準化的API供使用。在該體系結(jié)構(gòu)下,SD主控制器驅(qū)動負責檢查SD卡的插拔狀態(tài),檢測插入卡的類型,設置SD主控制器時鐘等SD接口的硬件操作;SD總線驅(qū)動則負責上層卡驅(qū)動的裝載和移除,維護每一個插槽的總線請求隊列等。該結(jié)構(gòu)的設計很大程度上減少了SD Host驅(qū)動程序設計的復雜性,使SD Host控制器驅(qū)動程序設計可以專注于硬件相關(guān)的部分??偩€驅(qū)動是SD卡客戶端驅(qū)動程序和SDHost驅(qū)動程序之間的一個抽象層,它為SD卡客戶端驅(qū)動提供平臺獨立的服務接口。SD Host驅(qū)動程序需要完成處理器和硬件平臺相關(guān)的處理,向上層驅(qū)動提供統(tǒng)一的服務接口。

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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();