概 要
SD/MMCドライバは、SD / SDHC / SDXCカード、MMC / MMCplusカード、e.MMCストレージデバイスなどのSD / MMC互換ストレージデバイスにアクセスして、大容量のストレージを低コストで提供します。SD / MMCドライバは、SD / MMC互換ストレージデバイスの識別と初期化を処理し、接続されたストレージデバイスがサポートする可能な最良の転送モードを使用して、データ転送を非常に効率的に実行します。SD / MMCドライバは、最小限の量のROMとRAMしか必要とせず、リソースが制約されたシステムで使用することができます。
SD/MMC互換ストレージデバイスは、SD / MMCドライバがすべてのデータ交換を開始する、比較的簡単なコマンドベースのプロトコルを実装します。データは、SPIモードとバスモードという2つの異なる動作モードで交換することができます。emFileには、次の各動作モード用のドライバが付属しています。
・ SPI SD / MMCドライバ
・ カードモードSD / MMCドライバ
SPI SD / MMCドライバはSPIインタフェースを使用して、SD / MMC互換ストレージデバイスにデータを交換します。このモードを使用することにより、低コストのMCUは、比較的低い性能を犠牲にして大容量の記憶容量を使用することができます。カードモードのSD / MMCドライバは、4つの別個のデータラインを介してデータを交換することによって最高の性能を発揮します。MCUはすべての低レベル通信を処理するためにSDホストコントローラを備えている必要があります。
デバイスの動作方法
MMCおよびSDメモリカードは、小型フォームマスストレージデバイスです。これらのデバイスの主な設計目標は、非常に低コストの大容量ストレージ製品を提供し、簡単な制御ユニットを備えたカードとして実装され、コンパクトで簡単に実装できるインタフェースです。これらの要件は、各カードの機能を絶対最小限に減らすことにつながります。フレキシブルなデザインを実現するために、MMCおよびSDカードはさまざまなI / Oモードで使用するように設計されています。
SDとMMCとの違い
SDカードとMMCカードの違いは、SDカードが異なるクロック周波数で動作できることです。標準モードでは、SDカードのクロック範囲は0〜25 MHzの間で、MMCカードは通常26 MHzまで動作します。SDとMMCカードは最大動作周波数を倍にする高速モードもサポートしています。さらに、これらのカードの初期化は異なります。それらは異なる方法で初期化する必要がありますが、初期化後も同じように動作します。MMCとSDカードのI / Oピン数も異なります。SDカードにはMMCカードより多くのI / Oピンがあります。使用されるモードに応じて、ピンが使用されるかどうかが決まります。さらに、SDカードにはライトプロテクトスイッチが付いています。このスイッチを使用すると、カードのデータを誤って変更しないように保護できます。
MMC記憶装置は、フラッシュメモリとコントローラとを一体化する取り外し不可能な電子構成要素である。それらを回路基板上に直接半田付けして、組み込みシステムに不揮発性ストレージを提供することができます。e.MMC記憶装置は、最大200MHzの周波数で動作し、シングルおよびデュアルレートモードでデータを転送することができる。
〈カードモード〉
MMCカードは、MMCカードモード(コマンド、クロック、データ、および3倍電源)で7ピンインターフェイスを使用します。
MMCとは対照的に、SDカードは9ピンインタフェース(コマンド、クロック、1または4データ、3電源ライン)を使用します。
〈SPIモード〉
どちらのカードシステムも同じピンインタフェースを使用します。(ChipSelect(CS)、DataIn、DataOut、Clock、および3本の電源ライン)。シリアルペリフェラルインターフェイス(SPI)バスは、クロックドシリアルストリームのビットを受け取るほぼすべてのデジタルエレクトロニクスを制御するための非常に緩やかなデファクトスタンダードです。SPIは全二重で動作します(同時に送受信します)。
動作
〈パワーコントロール〉
MMCまたはSDカードを使用してデザインを作成するときは、電力制御を考慮する必要があります。カードをソフトウェアでパワー制御できるため、設計の柔軟性と堅牢性が向上します。ホストは、カードの挿入または取り外しの有無に関係なく、カードの電源をオンまたはオフに切り替えることができます。これは、カードの挿入中に接触バウンスがある場合、カードの初期化に役立ちます。ホストは、カードの電源を入れて初期化処理を開始する前に、カードが挿入されてから指定された時間待機します。また、カードが不明な状態になると、ホストは電源を再投入して初期化プロセスを再開することができます。カードへのアクセスが不要な場合、ホストのバスパワーダウンを許可すると、全体的な消費電力を削減できます。
〈フェールセーフ動作〉
予期しないリセット:
データは保存されます。
〈停電〉
停電が重大な場合があります:カードに書き込み操作を完了するのに十分な時間がない場合、データが失われる可能性があります。対策:システム設計では、カードの電源がゆっくりと低下して、保留中のカードデータを保存するのに十分な時間を確保してください。
〈ウェアレベリング〉
MMC / SDメモリカードは、内部コントローラによって管理されます。このコントローラーはウェアレベリングも担当します。したがって、デバイスドライバはウェアレベリングを処理する必要はありません。