《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > MultiMediacard及其與單片機接口
MultiMediacard及其與單片機接口
摘要: MultiMediaCard是Sandisc公司推出的大容量串行Flash存儲卡,外形尺寸為32mm×24mm×1.4mm,質量小于2g,7針引腳,便于開發設計小型的移動數碼設備。本文重點介紹此類存儲器與PIC單片機的接
Abstract:
Key words :

摘要:MultiMediaCard是Sandisc公司推出的大容量串行Flash存儲卡,外形尺寸為32mm×24mm×1.4mm,質量小于2g,7針引腳,便于開發設計小型的移動數碼設備。本文重點介紹此類存儲器與PIC單片機接口,給出實際的電路設計和軟件代碼示例。

1 概述

Sandisc公司推出的大大容量串行Flash存儲器產品——MultiMediaCard(MMC),通常叫作多媒體卡。它的體積比SmartMedia還要小,不怕沖擊,可反復讀寫記錄30萬次,驅動電壓2.7~3.6V,可變時鐘頻率范圍為0~20MHz,目前常見的容量為64MB/128MB。ATP Electrionics公司已經率先推出了1GB的高容量MMC。除了體積小、壽命長、容量大等特性外,還具備存儲區糾錯能力;低功耗;5ms內沒有接收到命令字后,自動轉入休眠狀態;支持熱插拔等優點。MMC可以格式化為FAT文件系統,便于上位機讀寫。

2 MMC簡介

2.1 引腳排列及功能

根據存儲容量的不同,MMC有SMDB和SDMJ兩種構成技術。SMDB即二進制NAND技術(Binary NAND),16MB和32MB容量的MMC卡采用此技術。目前常用的64MB和128MB的MMC采用SDMJ,即MLC(Multi Level Cell)NAND技術。各容量的MMC卡,其外形尺寸及引腳排列相同,如圖1所示。

MMC讀寫接口可以在MMC和SPI兩種通信 協議下工作。MMC是由MMCA協會開發的高性能三線制通信協議,即CMD、CLK、DAT線,最大可尋址64000張MMC卡,單個物理地址可疊放30張卡,支持順序讀寫及單/多數據塊讀寫操作,是MMC卡默認的通信協議。SPI協議為可選協議,工作效率不及MMC協議;但SPI協議簡單易用,兼容性好,便于和單片機連接使用。本設計采用SPI通信協議,下文將詳細介紹。

    2.2 內部邏輯結構

MMC卡的內部邏輯結構可分為四部分:MMC/SPI接口、單芯片控制器、數據閃存模塊、控制線和數據線。MMC/SPI接口實現與主控制器的通信。單芯片控制器完成接口協議、數據存儲檢索、糾錯碼算法、故障診斷處理、電源管理和時鐘控制功能。數據內存模塊可以實現整個存儲空間內的單字節訪剩??皇羌虻サ淖終罅校??潛環殖閃碩嘀紙峁埂?12個字節構成1個扇區(sector)。根據MMC卡容量的不同,16或32個扇區構成1個擦除族(erase group)。32個擦除族構成1個寫保護族(write protect group)。此設計使MMC操作靈活,使用方便。控制線和數據線實現數據存儲區的訪問,其內部邏輯結構如圖2所示。

3 MMC/SPI通信協議

MMC卡上電后,默認進入MMC模式。如果轉入SPI模式下工作,需進行模式切換。SPI模式設定流程如圖3所示。

如需從SPI模式轉入MMC模式,只能切斷電源,重新上電,進入默認MMC模式。從實際應用角度出發,SPI模式設計簡單,操作方便,但數據傳輸速率遜于MMC模式。基于設計要求,筆者采用了SPI通信協議。

4 存儲器讀寫接口

4.1 SPI接口及操作模式

SPI接口是一種通用同步串行接口總線,字長為8位,用來與外部設備進行通信。SPI接口利用CLK、DataIn和DataOut三根線進行數據的讀寫。其中,CLK為時鐘信號,有外部控制器提供;Datain和DataOut為數據輸入和輸出線。CS是MMC片選信號線,在整個SPI操作過程中,必須保持低電平有效信號。

SPI接口共有四種操作模式,分別為0、1、2和3。SPI操作模式決定了設備接收和發送數據時的時鐘相位和極性,即決定了時鐘信號的上升和下降沿與數據流動方向之間的關系,如圖4所示。本設計采用模式3。

4.2 MMC卡命令及答復信號

所有MMC卡命令字長度均為6個字節,傳輸從高位開始,且包含一個CRC校驗字。

命令字索引采用二進制編碼。比如CMD0的索引位是000000,CMD39的索引位是100111。MMC卡命令字分為10個命令組,每組由多個命令字組成,完成MMC卡功能設定。SPI模式下的Sandisc MMC卡支持其中的6個命令組,可實現基本設定、數據塊讀、數據塊寫、擦除、寫保護、MMC卡鎖定功能。

MMC卡有多種應答信號格式,傳輸從高位開始。SPI模式下,存在5種應答信號格式,分別為R1、R2、R3、Busy、R1b。

接收到每個命令后,MMC卡都發送一個格式為R1的應答信號,卡狀態查詢命令字CMD13除外。此應答信號占1字節,最高位為0,低7位為錯誤標志。若某位為1,表示存在相應錯誤。

Busy應答信號長度為多個字節。各位都為0,表示卡正忙。存在非零位表明卡已經準備好接收下一命令。

R2格式應答信號長度為2字節,用于答復卡狀態查詢命令字CMD13。首字節格式同R1,第2個字節表示的錯誤類型。

R3格式應答信號長度為5字節,答復卡內OCR豁口讀命令CMD58。首字節格式同R1,其余4字節為OCR豁口內容。

R1b格式應答信號包括兩部分,R1格式部分和Busy格式可選附加部分。

4.3 MMC在SPI模式下的傳輸時序

MMC在SPI協議下讀寫時序如圖5所示。主控制器發送讀/寫命令,當收到OUT傳輸互上正確的應答信號后,OUT/IN傳輸線開始讀/寫操作。

5 MMC卡與單片機接口實例

5.1 硬件電路設計

圖6為筆者采用Sandisc公司容量為32MB的MMC卡設計的便攜式數據采集系統的一部分。單片機采用美國Microchip公司推出的PIC16F73B。單片機的工作頻率為4MHZ,采用Port C的硬件SPI接口進行MMC卡的讀寫操作。

5.2 軟件設計

訪問MMC卡存儲單元前,需要設定訪問塊長度。默認長度為512字節。本設計是通過寫緩存芯片FM24CL64,達到512字節后轉入主存MMC的(硬件電路圖應作相應的修改),所以讀寫長度不再設定。MMC格式化為FAT文件系統的結構后,數據以文件的形式為上位機所讀取。

MMC接口部分軟件設計流程如圖7所示。

5.3 MMC卡SPI初始化與寫子程序

因為MMC可以在兩種協議下工作,且默認為MMC操作模式,所以必須經過初始化才能在SPI模式下工作。初始化和寫子程序代碼見www.dpj.com.cn。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 18av黄动漫网站在线观看| 中文字幕亚洲色图| 欧美日韩亚洲国产一区二区综合| 动漫卡通精品3d一区二区| 青草资源视频在线高清观看| 国产狂喷潮在线观看在线观看| 91精品国产肉丝高跟在线| 天天综合网天天做天天受| 一级在线|欧洲| 成年女人免费碰碰视频| 久久久久人妻精品一区三寸蜜桃 | 性高湖久久久久久久久aaaaa| 久久久久久久久久久久久久久| 日韩精品久久无码人妻中文字幕 | 成人欧美一区二区三区在线| 久久99精品久久久久久青青日本| 日韩大片高清播放器| 五月激情综合网| 李丽珍蜜桃成熟时电影在线播放观看 | 国产91精品久久| 荡货把腿给我打开视频| 国产六月婷婷爱在线观看| 黑人大战亚洲人精品一区| 国产欧美日韩一区| 亚洲精品国产精品国自产网站| 国产精品二区高清在线| 18欧美乱大交| 国产精品无码aⅴ嫩草| 4444在线网站| 国产精品自在线拍国产手机版 | 黄网在线免费看| 国产成人精品一区二区三区| 色噜噜狠狠一区二区| 国产福利一区二区三区在线视频 | 西西人体44rtwww高清大但| 国产在线第一区二区三区| 高清影院在线欧美人色| 国产大片黄在线播放| 风流艳妇在线观看| 国产亚洲视频在线| 里番无修旧番6080在线观看|