国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于S3C2410的SD/MMC卡驅動的實現

發布時間:2010-5-4 16:23    發布者:我芯依舊
關鍵詞: MMC , S3C2410
引言

MMC、SD卡和SDHC卡都是基于Flash技術的新一代存儲器,具有體積小、容量大、數據傳輸快、移動靈活等優點,是許多便攜式電子儀器理想的外部存儲介質.在數碼相機、MP3、手機與大容量存儲設備中被廣泛使用。MMC卡是基于NAND快閃記憶技術開發的存儲卡:SD卡是在MMC卡的基礎上開發研制的一款具有大容量、高性能、安全性好等特點的多功能存儲卡.存儲容量最高可達4G:SDHC是高容量SD存儲卡.SD2.0系統規范中規定SDHC卡的容量范圍為大于2GB小于等于32GB.速度最高可達25MB/秒。近年來.雖然MMC卡技術已逐漸被SD卡所代替.但SD卡接口向下兼容MMC卡.因此MMC卡仍在很多應用場合使用。SD/MMC卡有SD和SPI兩種通信模式。前者可獲得比后者更高的通信速率。目前的SD/MMC接口多采用SPI通信模式。為了能獲得更快的卡訪問速度.并且在同一個接口中支持對MMC、SD和SDHC三類卡的訪問,筆者基于S3C2410控制器設計并實現了一個采用SD通信模式的通用的SD/MMC卡驅動。下面具體描述該驅動的實現過程。

1 S3C2410片內SD接口

S3C2410是三星公司的16/32位RISC控制器,它內部具有豐富的系統外圍設備控制器.包括一個SD接口(SDI)。該SDI兼容SD1.0、MMC2.1l、SDIO1.0規范:支持l位/4位數據總線模式以及塊,流讀寫模式切換:SD時鐘最高達25MHz,MMC時鐘最高達10MHz。SDI內部寄存器眾多.主要分為三大類:通用控制類寄存器,如:控制寄存器、波特率預分頻因子寄存器等:命令控制類寄存器,如:命令參數寄存器、命令控制寄存器、命令狀態寄存器、4個命令響應寄存器;數據傳輸類寄存器,如:數據控制寄存器、數據狀態寄存器、FIFO狀態寄存器、數據寄存器。主機通過這些寄存器完成卡命令的發送、接收卡回送的響應以及與卡進行數據交換。

2 S3C2410 與 SD/MMC卡的SD模式接口電路

2.1 SD總線通信模式下卡引腳定義

雖然SD/MMC卡有兩種通信模式.但在具體通信過程中主機只能選擇其中一種通信模式。不同模式下各引腳的功能不完全相同。表1為SD模式下的卡引腳定義。

表1 SD模式下卡的引腳定義


MMC卡除了接口中沒有第8和第9腳外,其余與SD卡接口相同。

2.2 SD通信模式下的SD/MMC卡接口電路

S3C2410與SD/MMC卡座的接口電路如圖1所示。接口電路原理圖說明如下:


圖1 SD/MMC卡SD模式接口電路原理圖

CD/DAT3(第1腳)通過10KΩ電阻上拉到3.3V,使SD/MMC卡上電后自動進入SD模式。本接口中該引腳用于卡上電后的模式選擇。

CLK(第5腳)為時鐘輸入信號,SDCMD(第2腳)為命令響應線,DATO-DAT;涕7,8,9引腳加上CD/DAT3組成4位數據線。

CD(第10腳)為卡插入檢測信號。由于CD/DAT3引腳用于模式選擇,故在卡座中增加該引腳作為卡檢測信號。由于該引腳被上拉,當卡未插入卡座內時,從INT0/GPF0引腳讀到的是高電平;當卡完全插入到卡座內時,卡座內部觸點接地,則從INT0/GPF0讀到的是低電平。通常通過檢測該引腳的電平值來判斷卡的動態拔插動作。

WP(第12腳)為卡座中增加的卡寫保護檢測信號.檢測原理與CD腳相同。應當注意,SD/MMC卡并不檢測該引腳,因此.卡寫保護控制必須由主機實現。在設計SDfMMC卡座接12時。WP不是必需的。

為保證輸入的穩定性.除VCC、VSS1和VSS2、GND外的引腳均通過10Kfl上拉到3.3V。

3 S3C2410與SD/MMC的通信實現

在SD/MMC卡與主機的通信過程中.卡一直是從設備.由主機發送命令來控制它。當S3C2410(下稱主機)以查詢方式獲取卡已插入卡座.或者當卡插人卡座后通過CD引腳發送中斷給主機后.主機首先應完成卡的初始化.之后才能對卡上的數據進行讀寫。

3.1 卡的初始化和識別

SD/MMC卡在上電后進入空閑狀態(Idle State)。此時.主機需要按照一定的處理流程完成卡的初始化。該過程主要的工作就是卡的識別(Card Identification),包括識別卡的類型、讀取卡上的信息、為卡分配地址等。卡的初始化處理流程見圖2。


圖2 卡初始化處理流程

在卡識別過程中.首先發送CMD8命令判斷卡是否支持V2.00及以上協議。關鍵語句如下(語句中的SD_HC_SEND_IF_COND為CMD8命令描述的簡寫,其余同):

SdmmcSendCmd(SD_HC_SEND_IF_COND,0x1aa);
if((rSDIRSPO & Ox1aa) == 0x1aa ) {/* V2.00及以上協議卡 */
......
}

此處CMD8命令參數中bit[7]一[0]為0/1交替的0blOl01010即0xaa.是推薦使用的檢測模式;bit[1l]-[8]則用于檢測卡能否在主機提供的電壓下運行,Ob0001表示2.7-3.6V電壓.其他取值目前不可用.若卡支持v2.00及以上協議.且能夠在指定的電壓下運行.則返回0xlaa。

V2.00及以上協議的卡有兩種類型:標準SD卡和SDHC卡。由于本驅動支持SDHC卡,在發送ACMD41命令時,將其參數中的HCS域(第30位)置為1。判斷語句如下:

SdmmcSendCmd(MMC_APP_CMD,SDmmcCardRca);
SdmmcSendCmd(SD_APP_OP_COND,Ox40ff8000);
if(rSD1RSPO==0xcOff8000){
SdmmcCardType=HC_SD_CARD; /* SDHC CARD */
......;
}
else if(rSDIRSP0 == Ox80ff8000){
SdmmcCardType = SD_CARD;/*S D CARD */
}

由于ACMD41命令為擴展命令.故需要在該命令前面發送MMC_APP_CMD(CMD55)命伽知卡后面緊跟的命令為擴展命令。

若卡不響應CMD8.則有可能是MMC卡或V2.00以下的SD卡。由于SD卡支持ACMD命令.而MMC卡不支持該命令。故當卡能正確響應時.則可判斷為SD卡。判斷語句如下:

SdmmcSendCmd(MMC_APP_CMD,SdmmcCardRca);
SdmmcSendCmd(SD_APP_OP_COND,OxOOff8000);
if(rSDIRSP0 == 0x80ff8000){
SdmmcCardType = SD_CARD; /* SD卡 */
⋯⋯⋯:
}

在識別完卡的類型后.便可發送CMD2獲取卡標識等后續共同的初始化過程.

3.2 卡的讀操作

在初始化和識別完成后并被選中后,SD/MMC卡進入傳輸模式.此時主機可使用讀命令來讀取卡上數據。每次讀操作通常以塊(一般為512字節)為單位。MMC卡還可以按字節流的方式讀取。若一次讀取的數據在一塊以內,可使用單塊讀命令:若超過一塊.則應使用多塊讀命令.此時還應在接收完預期數據后給卡發送停止傳輸命令(CMDl2)通知卡停止傳送數據。

讀命令的4字節參數為欲讀取數據的地址。MMC卡和SD卡的最大容量為4G,地址以字節為單位,通常與512對齊。SDHC卡的容量為2G-32G,字節地址不能尋址全部空間.此時以塊為單位。命令的參數為欲讀數據的起始塊號。

3.3 卡的寫操作

寫卡操作也有單塊寫命令和多塊寫命令.操作流程與讀操作類似。SD/MMC卡接收完主機傳送過來的數據之后進入編程狀態?▋炔繛閷懖僮魈峁┝艘粋緩存.該緩存使得卡在編程的同時可以接收下一塊數據。當該緩存滿時.卡從DAT0線輸出低電平,表示正處于寫的忙狀態.否則從DAT0輸出高阻態。因此.在往卡發送數據前應檢查卡是否處于忙狀態。另外,為了提高某些卡的寫速度.建議在多讀寫命令之前發送預擦除命令.預擦除的塊數在該命令的參數中給出。

4 結束語

本文的創新點是以SD通信模式實現了一個通用的、能同時支持MMC卡、SD卡和SDHC卡的SD/MMC卡驅動。目前它已被集成到基于FAT文件格式的嵌人式文件系統中.并被成功應用到MP3產品中。

項目經濟效益為300萬元左右。


作者:湯龍梅,張國安      來源:《微計算機信息》(嵌入式與SOC)2009年第6-2期
本文地址:http://m.qingdxww.cn/thread-10990-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC32CM LS60 Curiosity Pro評估工具包
  • 探索PIC16F13145 MCU系列——快速概覽
  • 實時控制解決方案的正確選擇——數字信號控制器(DSC)或通用MCU
  • dsPIC® DSC:攻克各種觸摸傳感挑戰的電容式觸摸解決方案
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲看片网站| 欧美另美人妖| 亚洲激色| 日a在线| 亚洲酒色1314狠狠做| 亚洲精品视频久久久| 一级片视频在线| 青青草成人在线| 三级色网站| 日本人妖系列| 色狠狠成人综合网| 亚洲三级黄色片| 一本久道久久综合婷婷| 亚洲七七久久精品中文国产| 亚洲天堂色| 亚洲国产中文字幕在线观看| 一级毛片免费完整视频| 亚洲a免费| 亚洲一区导航| 亚洲美女aⅴ久久久91| 色中色在线视频| 人人干人人艹| 亚州国产| 亚洲性爰视频| 欧美亚洲综合另类型色妞| 欧美一区二区亚洲| 亚洲欧美日韩在线中文一| 欧美一级特黄高清免费| 一本大道在线观看| 四虎免费观看| 特级黄色片视频| 欧美日韩一区二区综合| 日本中文在线| 普通话对白国产精品一级毛片| 青青青青爽极品在线视频| 欧美性video精品| 欧美韩日在线| 小h片在线观看| 日韩精品欧美在线| 青青青免费高清视频在线| 午夜精品久久久久久久久|