HB288032MM1
MultiMediaCard
32 MByte

ADJ-203-536A (Z)’00. 10. 5
Rev. 1.0

概要
マルチメディアカード（MultiMediaCard）HB288032MM1 は，シリアルアクセスおよびランダムアク
セス機能を持った高集積フラッシュメモリです。Mu lt iMedi aCard システムは，高速で信頼性の高い伝送用に最適化された専用シリアルインターフェースを 通じてアクセスすることができます。このインター
フェー スでは， 各カード の端子を 並列に接 続し，複数 カードの 使用が可 能です。 HB 28 80 32 MM1 は，Mu lt iMedi aCard システムスタンダードへの完全互換性を提供しています。この Mu lt iMedi aCard システム
スタンダードというのは新しいコンシュマ向けの標準規格（consumer standard）で，MultiMediaCard シス
テム仕様で定義されているものです[1]。Mu lt iMedi aCard システムは，技術革新と半導体技術に基づいて開発された新型の大容量記憶システムです。Mu lt iMedi aCard システムは，安価で，物理的にも頑強な保存メディアを提供し，マルチメディアアプリケーション用にカード形式で提供されます。MultiMediaCard
は，駆動部品なしで，安価なプレイヤーやドライブのデザインを可能にします。Mu lt iMedi aCard の特徴
である低消費電力と広範囲な電源電圧により，オー ディオプレイヤー，オーガナイザー，パームトップ
コンピュータ，電子ブック，電子百科事典および電 子辞書などのモバイルやバッテリ駆動のアプリケー
ションに最適です。MPEG などの効率的なデータ圧縮技術を使うことにより，ソフトウェア/プログラム，
テキスト，音楽，音声，イメージ，ビデオなどすべ ての種類のマルチメディアデータに対して十分なメ
モリ容量を提供します。
【注】 MultiMediaCardは Infineon Technologies AG の商標です。

特長
l メモリ容量，32MBytel エラー訂正内蔵
l MultiMediaCard システムスタンダード互換
 システム仕様バージョン 2.11 準拠
 SPI インターフェースサポート
 ブロックおよびパーシャルブロックリードサポート（コマンドクラス 0，2）
 ストリームリードサポート（コマンドクラス 1）
 ブロックライトおよびイレースサポート（コマンドクラス 4，5）
 グループライトプロテクト（コマンドクラス 6）
 ストリームライトサポート（コマンドクラス 3）
 パスワードデータアクセスプロテクト

HB288032MM1
 イレースブロックサイズ：512 バイト/タグイレースサポート
 リードブロックサイズ：1 から 2048 バイトの間でプログラマブル
 動作電圧範囲：VCC =2.7V〜3.6V（インターフェース：VCC =2.0V〜3.6V）
 外部プログラミング電圧不要
 ダメージフリーの活線抜挿
 4kV ESD 保護•

高速シリアルインターフェース（ランダムアクセス） リードスピード： 平均：13.7Mbit/s（マルチブロックリード）
バースト（1 ブロック）：20Mbit/s ライトスピード： 平均：2.8Mbit/s（事前にイレースされたセクターへのマルチブロックライト）
バースト（1 ブロック）：20Mbit/s
 20MHz で最高 10 枚までカードをスタックして使用可能（VCC =2.7〜3.6V）
 アクセスタイム：300µs（typ）（20MHz で VCC =2.7〜3.6V，ランダムバイトアクセス）

•

低消費電力
― 高速：95mW（最大）（20MHz で VCC =2.7V）

2

HB288032MM1

ブロックダイアグラム
1

2

3

5

4

6

7

VCC
CLK/SCLK DAT/DO
Interface driver
CMD

OCR[31:0]
CID[127:0]
CSD[127:0]
RCA[15:0]

Flash control

Interface

Power on reset unit

RegistersetInternal clock

DAT

VPP
CS CMD/DI
Generator

Core control

Memory core

HB 28 80 32 MM1 のすべてのユニットは，内部クロックジェネレータによってクロックを供給されています。インターフェースドライバユニットは，外部から供給される CLK 信号に同期した DAT 信号と CMD
信号を内部で使 用されているクロック信号に同 期します。カードは，CMD ，CL K， DA T 信号という 3
つの信号 線で構成された Mu lt iMedi aCard インターフェー スによって制御さ れています。バス に複数のMu lt iMedi aCard が接 続 し てい る 場 合に ， HB 28 80 32 MM1 を 識 別 する た め， カ ー ド識 別 （ CID： Card
IDen ti ficat io n）レジスタと相対カードアドレス（ RCA ：Relat iv e Card Ad dres s）レジスタを使用します。
これらのレジスタに加えて，種々の動作パラメータ を収納するためのレジスタがあります。このレジス
タは，CSD（Card Specific Data）レジスタと呼ばれています。MultiMediaCard インターフェ−スを使ってメモリフィールドまたはレジスタにアクセスする手順は，Mu lt iMedi aCard スタンダードによって定義されています。カードは，電源の投入を検出する回路 を内蔵しています。電源投入後にカードを初期化するために，他のマスターリセット信号を必要としません。Mu lt iMedi aCard システムに電源が供給されている場合でも，カードの挿入および取り出し時の短 絡に対してカードは保護されています。外部プログ
ラミング電 圧電源は必要ありませ ん。プログラミング電 圧はカード上で生成さ れます。HB 28 80 32 MM1は，第二のインターフェ ース動作モードとして，SPI インターフェースモー ドをサポートしています。
SPI モードは，CS 信号がリセットコマンド（CMD 0）の受信中にアサート（L レベル）された場合に起動されます。

3

HB288032MM1

インタ−フェ−ス
HB288032MM1 インターフェースは 2 種類の異なるモードで機能します。
•

MultiMediaCard モード•

SPI モード

両モードとも同じピンを使います。デフォルトモードは，MultiMediaCard モードです。SPI モードは，
CS 信号がリセットコマンド（CMD0）の受信中にアサート（L レベル）された場合に起動されます。 SPI
モ−ドを使用しない場合には，CS 信号（Pin1）を非接続または VCC に接続してください。

MultiMediaCard モード
HB288032MM1 において，すべてのデータは 3 本の信号線を使って転送されます。
CLK：この信号の各周期で，コマンドラインとデータラインでの 1 ビット転送が行われます。その周波数は，ゼロから最高クロック周波数の間となります。ホストは 0 から 2 0MHz の範囲で自由に周波数を選べます。

•

CMD ：この信号は双方向コ マンドチャネルで，コマンドの送信，またはコ マンドに対するレスポン
スの送信に使われます。CMD 信号は 2 種類の動作モードを持っています。それらは，初期化モード用のオープンドレイン（open drain）と高速コマンド転送用のプッシュ・プル（push pull）です。コマ
ンドは，ホストから，HB288032MM1 へ送信され，レスポンスはその逆に送信されます。

•

DA T：この信号は 1 bi t の双方向データチャネルです。HB 28 80 32 MM1 の DA T 信号は，プッシュ・プル（push pull）モードで動作します。

Interface driver

•

ROD

RDAT

RCMD
CMD
DAT
CLK

MultiMediaCard Host

1234567
HB288032MM1

MultiMediaCard モ−ドインタ−フェ−ス
すべての Mu lt iMedi aCard は，Mu lt iMedi aCard バスのラインに，直接，接続されます。以下の表はパッド機能を定義しています。

4

HB288032MM1
MultiMediaCard モ−ドパッド機能
Pin No.
Name
Type* 1
Description
2
1
RSV
NC*
No connection
2
CMD
I/O/PP/OD
Command/Response
3
VSS1
S
Ground4
VCC
SPower supply
5
CLK
I
Clock
6
VSS2
S
Ground7
DAT
I/O/PP
Data【注】 1. S：電源，I：入力，O：出力，PP：プッシュ・プル（push-pull），
OD：オープンドレイン（open-drain）

6

VSS2

5

CLK

4

VCC

3

VSS1

CMD

enableMultiMediaCard interface controller
OD/PP

1

enableMemory core interface

7

DAT

2

2. NC：接続なしまたは VIHInterface driver

MultiMediaCard モ−ド I/O ドライバ

5

HB288032MM1

SPI モ−ドSPI（Serial Peripheral Interface）は，汎用同期シリアルインターフェースです。MultiMediaCard の SPI イ
ンターフェースは，市場で提供されている SPI ホストと互換性があります。他の SPI デバイスのように，
MultiMediaCard SPI インターフェースも以下のような 4 種類の信号から構成されています。
CS: Host to card Chip Select signal（ホストからカードへのチップ選択信号）
CLK: Host to card clock signal（ホストからカードへのクロック信号）
Data in: Host to card data signal（ホストからカードへのデータ信号）
Data out: Card to host data signal（カードからホストへのデータ信号）
Mu lt iMedi aCard モードのカード識別方法とアドレシング方法は，ハードウェアの Ch ip Select （CS）信号
によって置きかえられます。ブロードキャストコマ ンドはありません。それぞれのコマンドに対して，
特定のカードへの CS 信号をアサート（active low）することにより，対象となるカードが選択されます。
CS 信号は，SPI モ−ド動作（コマンド，レスポンス，そして，データ転送）の間，継続してアクティブ
でなければなりません。唯一の例外は，カードプロ グラミング中に発生します。これは，ホストが，プロ グ ラ ミ ン グ プ ロ セ ス に 影 響 す る こ と な く ， CS 信 号 を ネ ゲ ー ト す る こ と が で き る 場 合 で す 。
Mu lt iMedi aCard モ−ドにおける双方向 CMD ラインと DA T ラインは，単方向 d at a i n 信号と d at a o ut 信号
によって置きかえられます。
CSPower
supplySPI bus masterCS

SPI bus (CLK, Datain, Dataout)

SPI card

SPI card

SPI バスシステム
以下の表に MultiMediaCard モ−ドと SPI モ−ドのパッド機能を比較して示します。
SPI インタ−フェ−スピンコンフィギュレ−ション
MultiMediaCard mode
SPI mode1
Pin No. NameType*
Description
Name
Type
Description
1
RSV
NC*2
Reserved for future use
CS
I
Chip select (neg true)
2
CMD
I/O/PP/OD Command/Response
DI
I
Data in
3
VSS1
S
GroundVSSS
Ground4
VCC
SPower supply
VCC
S
Power supply
5
CLK
I
Clock
SCLK
I
Clock
6
VSS2
S
GroundVSS2SGround7
DAT
I/O/PP
Data
DO
O/PP
Data out【注】 1. S：電源，I：入力，O：出力，PP：プッシュ・プル（push-pull），
OD：オープンドレイン（open-drain）
2. NC：接続なしまたは VIH

6

HB288032MM1

レジスタ
HB288032MM1 は以下の情報レジスタを搭載しています。
Name
Width
Type
Description
OCR
32
メ−カによりプログラムされて カ−ド動作可能電圧範囲，パワ−アップ/リセット
いる。ユ−ザにはリ−ドオンリ 手続き中のビジ−ビット。
CID

128

メーカによりプログラムされて 識別用のカード ID 番号，カード個別番号。

RCA

16

初期化中にプログラムされる。 初期化中にホストにより割り当てられる相対的カいる。ユーザにはリードオンリ
リード不可能。

ードアドレス，カードのローカルシステムアドレ
ス。

CSD

128

メーカによりプログラムされて カード動作条件に関するカード特有データ，情報。
いる。ユーザにより部分的プログラム可能。

CID と RCA は，HB288032MM1 を識別し，そして，アドレシングを行うために使われます。CSD はカード特有のデ ータレコードを含んで います。このレコード は，一連の情報フィー ルドで，HB 28 80 32 MM1の動作条件を定義しています。
ユーザに対して，CID はリードオンリレジスタ，CSD はユーザによってプログラム可能な一部の領域を除いてリードオンリーレジスタです。これらのレジスタは，特別なコマンドにより読み出されます。RCA
レジスタは，ライトオンリーレジスタです。CID や CSD と異なり，RCA は，カードの電源を切ると，そ の内 容 を 失い ま す。 そ の値 は ， 初期 化 サイ ク ル の度 に 再度 割 り 当て ら れま す 。SPI モ ー ドで のMu lt iMedi aCard レジスタの使用については，表「SPI モードにおける Mu lt iMedi aCard レジスタ」にまとめられています。
SPI モードにおける MultiMediaCard レジスタ
Name
CID

Available in SPI mode
Yes

RCA
CSD

No
Yes

Width (Bytes)
Description16
カード識別データ（シリアル番号，メーカ ID など）
16

カード動作条件に関するカード特有データ，情報7

HB288032MM1

CID（Card Identification：カード識別）このレジスタは，カード識別手続中に使われるカ ード識別情報を含んでいます。これは，1 28 ビット幅のレジスタで，プロバイダによって 1 回だけプログラムすることができます。CID は 8 つの領域に分割されます。
CID フィ−ルド
Name
Manufacturer ID
OEM/Application ID
Product nameProduct revision
Product serial number
Manufacturing date
CRC checksum
not used, always 1

Field
MID
OID
PNM
PRV
PSN
MDT
CRC
—

Width
8
16
48
8
32
8
7
1

CID-slice[127:120][119:104][103:56][55:48][47:16][15:8][7:1][0:0]

CID はエラーフリーである必要があります。CID の正しさを確保するために，CRC チェックサムが CIDの後に付加されます。CRC チェックサムは，以下の式で計算されます。
CRC 計算: G(x) = x 7 + x 3 + 1
M(x) = CID[127]*x 119 +...+ CID[8]*x0
CRC[6...0] = Remainder [(M(x)*x7)/G(x)]RCA（Relative Card Address：相対カードアドレス）
この 16 ビットの相対カードアドレスレジスタは，カード識別中にホストにより割り当てられる相対カー
ドアドレスを保持します。このアドレスはカード識別プロシジャの後に，アドレスを使ったホスト-カード間の通信を行うために使われます。RCA レジスタのデフォルト値は，0 x0 00 1 です。0 x0 00 0 という値
は，SELECT_DESELECT_CARD (CMD7)コマンドにより，同一カ−ドバスにつながるすべてのカードを
St an d-b y （ス タン バ イ） ステ ー トに 設定 す るた め に予 約さ れ てい ます 。 RCA は ，初 期 化手 続中 に
SE T_R ELA TIV E_ AD DRE SS (CMD3 )コマンドでプログラムされます。このレジスタの内容は，カードの電源が切られると失われてしまいます。デフォルト値は，HB 28 80 32 MM1 の電源投入検出回路により内部リセットが行われた場合に割り当てられます。

8

HB288032MM1

CSD（Card Specific Data：カード固有データ）
このカード固有データレジスタは，カードの内容にどのようにアクセスするかを指定します。CSD は，最大データアクセス時間，データ転送スピードなどのカード動作パラメータを定義します。
CSD フィ−ルド
Name
CSD structureSpec version
Reserved
Data read access-time-1
Data read access-time-2 in
CLK cycles (NSAC*100)
Max. data transfer rate
Card command classes

Field
CSD_STRUCTURE
SPEC_VERS
—
TAAC
NSAC

Width CSD-slice
2[127:126]4[125:122]2[121:120]8[119:112]8[111:104]

TRAN_SPEED
CCC

8
12

[103:96][95:84]

4
1[83:80][79:79]

Value
Type
1
read only2
read only0
read only
0x0E (1 ms)
read only
0x01 (100read only
cycles)0x2A (20 Mbit/s) read only
0x0FF (class 0, read only
1, 2, 3, 4, 5, 6,
7)
0x9 (512 bytes) read only
‘1’ (Enabled) read only1

[78:78]‘0’ (Disabled)

read only

1
1
2
12

[77:77][76:76][75:74][73:62]

read only
read only
read only
read only

3
3
3
3
3
5
5
5
1
2
3
4
1

[61:59][58:56][55:53][52:50][49:47][46:42][41:37][36:32][31:31][30:29][28:26][25:22][21:21]‘0’ (Disabled)‘0’ (Disabled)
00x7A7(32 MByte)
0x5 (35 mA)
0x4 (35 mA)
0x5 (35 mA)
0x4 (35 mA)
3 (32 MByte)
0 (512 Bytes)
0x0F (8 kByte)
0x01 (16 kByte)
‘1’
0
2 (4)
9 (512 Bytes)‘0’

read only
read only
read only
read only
read only
read only
read only
read only
read only
read only
read only
read only
read only

5[20:16]0read only

Max. read data block length READ_BLK_LEN
Partial blocks for read
READ_BLK_PARTIAL
allowedWrite block misalignment
WRITE_BLK_MISALIG
N
Read block misalignment
READ_BLK_MISALIGNDSR implemented
DSR_IMP
Reserved—
Device size
C_SIZE
Max. read current at VDD min VDD_R_CURR_MIN
Max. read current at VDD max VDD_R_CURR_MAX
Max. write current at VDD min VDD_W_CURR_MIN
Max. write current at VDD max VDD_W_CURR_MAX
Device size multiplier
C_SIZE_MULT
Erase sector size
SECTOR_SIZE
Erase group size
ERASE_GRP_SIZE
Write protect group size
WP_GRP_SIZE
Write protect group enable
WP_GRP_ENABLE
Manufacturer default ECC
DEFAULT_ECC
Write speed factor
R2W_FACTOR
Max. write data block length WRITE_BLK_LEN
Partial blocks for write
WRITE_BLK_PARTIAL
allowedReserved—

9

HB288032MM1
Name
File format group

Field
FILE_FORMAT_GRP

Copy flag (OTP)

COPY

1

[14:14]×* 1

read/write

Permanent write protection

1[13:13]×

read/write

1[12:12]×File format

PERM_WRITE_PROTECT
TMP_WRITE_PROTECT
FILE_FORMAT

2[11:10]×

read/write/eraseread/write

ECC code

ECC

2

[9:8]

×

CRC

CRC

7

[7:1]

×

Not used, always 1
—
1
[0:0]
【注】 1. ×はユーザプログラマブルであることを意味します。

1

Temporary write protection

Width CSD-slice1[15:15]

Value
×

Type
read/write

read/write/eraseread/write/eraseread only

いくつかの CSD フィールドは，カスタマまたはプロバイダによって 1 回または複数回プログラマブルとな って いま す 。他 のす べて の フィ ール ド は固 定値 です 。 以下 の項 で ，CSD フィ ール ド の説 明と ，
HB288032MM1 でのそれらの値を記述します。
l CSD_STRUCTURE

CSD レジスタ構造
CSD_STRUCTURE‘01’

CSD register structure
CSD version No. 1.1

HB 28 80 32 MM1 の CSD バージョンは，“Mu lt iMedi aCard s ys tem s pecifi cati on , Vers io n 2 .11 ”に関連付けられています。CSD_STRUCTURE パラメータは，固定値 1 を持ちます。
l SPEC_VERS
このパラメータは，カードによってサポートされている Mu lt iMedi aCard s ys tem s pecifi cati on の Sp ec（仕様）バージョンを定義します。カード識別プロシジャは，すべてのバージョンで共通です。
SPEC バ−ジョン
SPEC_VERS‘0010’

System specification version number
System specification version 2.11

HB 28 80 32 MM1 の Sp ec（仕様）バージョンは，“Mu lt iMedi aCard s ys tem s pecifi cati on , Vers io n 2 .11 ”に対応しています。SPEC_VERS パラメータは固定値 2 を持ちます。

10

HB288032MM1
l TAAC
このパラメータは，非同期データアクセスタイムを定義します。
TAAC アクセス時間定義
TAAC bit
2:0

Description
time exponent

Values0 = 1 ns, 1 = 10 ns, 2 = 100 ns, 3 = 1 µs, 4 = 10 µs,
5 = 100 µs, 6 = 1 ms, 7 = 10 ms

6:3

time mantissa

7

reserved

0 = reserved, 1 = 1.0, 2 = 1.2, 3 = 1.3, 4 = 1.5,
5 = 2.0, 6 = 2.5, 7 = 3.0, 8 = 3.5, 9 = 4.0, A = 4.5,
B = 5.0, C = 5.5, D = 6.0, E = 7.0, F = 8.0
always ‘0’

HB288032MM1 の非同期遅延の値は 1ms です。コード化された TAAC 値は 0x0E (=1ms)です。
l NSAC
同期データアクセスタイムのワーストケースを定義します。NAC は，100*NSAC クロックサイクルとして定義されます。この場合，NSAC はバイナリ値を表します。データアクセスタイム NAC の Max.値は 25500
クロ ックサ イクル です 。合計 のアク セスタ イムは ，TA AC と NA C* クロ ック 周期の 両方の 合計で す。
HB288032MM1 の NSAC 値は 0x01 (NSAD は 100cycles)です。
l TRAN_SPEED
以下の表は，最大データ転送レート TRAN_SPEED を定義します。
最大デ−タ転送レ−ト定義
TRAN_SPEED bit
2:0
6:3

7

Description
transfer rate exponent 0 = 100 kbit/s, 1 = 1 Mbit/s, 2 = 10 Mbit/s,
3 = 100 Mbit/s, 4...7 = reserved
time mantissa 0x0 = reserved, 0x1 = 1.0, 0x2 = 1.2, 0x3 = 1.3, 0x4 = 1.5,
0x5 = 2.0, 0x6 = 2.5, 0x7 = 3.0, 0x8 = 3.5, 0x9 = 4.0, 0xA = 4.5, 0xB = 5.0,
0xC = 5.5, 0xD = 6.0, 0xE = 7.0, 0xF = 8.0
reserved = ’0’

HB288032MM1 は，0 から 20Mbit/s の間の転送レートをサポートしています。パラメータ TRAN_SPEEDは 0x2A です。
l CCC
Mu lt iMedi aCard コマンドセットは，サブセット（コマンドクラス）に分割されます。カードコマンドク
ラスレジスタ CCC は，そのカードがどのコマンドクラスをサポートしているかを定義します。設定されている CCC ビットは，対応するコマンドクラスがサポートされていることを意味します。
サポ−トされているコマンドクラス
CCC bit01......
11

Supported card command classes
class0class1......
class11

HB 28 80 32 MM1 はコマンドクラス 0 ，1 ，2 ，3 ，4 ，5 ，6 ，7 をサポートします。パラメータ CCC には固定値 0x0FF が割り当てられています。

11

HB288032MM1
l READ_BLK_LEN
データブロック長は 2 READ_BLK_LEN として計算されます。
データブロック長
READ_BLK_LEN
01......
11
12–15

Block length
20 = 1 byte
21 = 2 bytes......
11
2 = 2048 bytes
reserved

Remarkし た が っ て ， ブ ロ ッ ク 長 は ， 1 ， 2 ， 4 …2 04 8 バ イ ト の 範 囲 に な り ま す 。 こ の パ ラ メ ー タ は ，RE AD_ BLK _PA RTIA L が設定されていない場合（RE AD_ BLK _PA RTIA L= ‘0 ’），ブロック長を定義しま
す。RE AD_ BLK _PA RTIA L が設定されている場合（RE AD_ BLK _PA RTIA L= ‘1 ’），このパラメータは，
ブロック長の最大許容値（バイト）を表します。1 とこの値の間のすべてのブロック長が設定可能となります。実際のブロ ックサイズは，SE T_B LOCK LE N (CMD1 6)コマンドによってプ ログラムされます。
HB 28 80 32 MM1 は ，1 バ イ ト か ら 2 04 8 バ イ ト ま での ブ ロ ッ ク長 を サ ポ ー トし ま す 。 パ ラメ ー タ
READ_BLK_LEN には，固定値 0x9 が割り当てられています。
l READ_BLK_PARTIAL
READ_BLK_PARTIAL は，複数のブロックサイズがブロックリードコマンドで使用可能かどうかを定義します。RE AD_ BLK _PA RTIA L =‘0 ’は，RE AD_ BLK _L EN で定義されているブロックサイズのみが，ブロックデータ転送に使用可能であることを意味します。RE AD_ BLK _PA RTIA L =‘1 ’は，より小さいブロックサイズも使用可能であることを意味します。最小ブロックサイズは，最小アドレス指定可能単位（1バイト）と同じになります。HB 28 80 32 MM1 はパーシャルブロックリード（p art ial b lo ck read）をサポートします。パラメータ READ_BLK_PARTIAL には，固定値 1 が割り当てられています。
l WRITE_BLK_MISALIGN
このパラメータは，1 つのコマンドでライトされる データブロックが，メモリデバイスの複数の物理的ブロックにまたがってもよいかどうかを定義します。メモリブロックのサイズは，WRITE_BLK_LEN で定義されます。WRIT E_ BLK _MISA LIG N には，固定値 0 が 割り当てられています。この値は，物理的ブロック境界線を越えることが許可されていないことを意味します。
l READ_BLK_MISALIGN
このパラメータは，1 つのコマンドでリードされる データブロックが，メモリデバイスの複数の物理的ブロックにまたがってもよいかどうかを定義します。データブロックのサイズは，RE AD_ BLK _L EN で定義されます 。RE AD_ BLK _MISA LIG N =‘0 ’は，物理的ブロッ ク境界線を越えることは許 可されていないことを意味 します。RE AD_ BLK _MISA LIG N =‘1 ’は，物理的 ブロック境界線を越えるこ とが許可されていることを意味します。HB 28 80 32 MM1 は，境界線を越えてのリードブロック（read b lo ck ）操作をサポートしていません。パラメータ READ_BLK_MISALIGN には固定値 0 が割り当てられています。

12

HB288032MM1
l DSR_IMP
このパラメータは，駆動能力を複数の値に設定可能 な出力ドライバが，カードに搭載されているかどうかを定義します。もしそれが組み込まれている場 合，ドライバステージレジスタ（DS R）も組み込まれています。
DSR インプリメンテ−ション
DSR_IMP0
1

DSR type
no DSR implemented
DSR implemented

HB 28 80 32 MM1 の出力ドライバは駆動能力を変更できません。パラメータ DS R_IMP には，固定値‘0 ’が割り当てられています。
l C_SIZE
こ の パ ラ メ ー タ は カ ー ド 容 量 を 計 算 す る の に 使 わ れ ま す 。 カ ー ド の メ モ リ 容 量 は ， C_ SIZE ，
C_SIZE_MULT および READ_BLK_LEN エントリから以下のように計算されます。
memory capacity = BLOCKNR*BLOCK_LEN
BLOCKNR = (C_SIZE+1)*MULT
MULT = 2C_SIZE_MULT+2 (C_SIZE_MULT < 8)
BLOCK_LEN = 2READ_BLK_LEN , (READ_BLK_LEN < 12)
したがって，コード化可能な最大容量は，4096*512*512 = 1 GByte となります。
例：BLOCK_LEN = 512 の 32 MByte カードは，C_SIZE_MULT = 3 および C_SIZE = 1959 でコード化されます。
カード容量は 32 MByte となります。
HB288032MM1 に対して，上記の式で使われているパラメータ C_SIZE の値は 0x7A7 です。

13

HB288032MM1
l VDD_R_CURR_MIN, VDD_W_CURR_MIN
最低供給電圧 VCC (2.7V)での最大消費電流は以下のようにコード化されます。
VCC=2.7V での最大供給電流消費
VDD_R_CURR_MIN
VDD_W_CURR_MIN
2:0

Code for current consumption at 2.7 V
0 = 0.5 mA; 1 = 1 mA; 2 = 5 mA; 3 = 10 mA; 4 = 25 mA; 5 = 35 mA;
6 = 60 mA; 7 = 100 mA

HB288032MM1 では，パラメータ VDD_R_CURR_MIN および VDD_W_CURR_MIN には，
固定値 5（35mA）が割り当てられています。
l VDD_R_CURR_MAX, VDD_W_CURR_MAX
最高供給電圧 VCC (3.6V)での最大消費電流は以下のようにコード化されます。
VCC=3.6V での最大供給電流消費
VDD_R_CURR_MAX
VDD_W_CURR_MAX
2:0

Code for current consumption at 3.6 V
0 = 1 mA; 1 = 5 mA; 2 = 10 mA; 3 = 25 mA; 4 = 35 mA; 5 = 45 mA;
6 = 80 mA; 7 = 200 mA

HB 28 80 32 MM1 では，パラメータ VD D_ R_CU RR_ MAX および VD D_ W_ CURR_ MAX には，固定値 4（35mA）が割り当てられています。

14

HB288032MM1
l C_SIZE_MULT
このパラメータは，カード容量を計算するための係数 MULT を計算するのに使われます。
（参照：C_SIZE）
係数 MULT は 2 C_SIZE_MULT+2 として定義されます。
カ−ドサイズの乗算係数
C_SIZE_MULT
0
1
2
3
4
5
6
7

MULT
22 = 423 = 824 = 16
25 = 32
26 = 64
27 = 128
28 = 256
29 = 512

Remarkカ ー ド 容 量 は 3 2MBy te です 。 HB 28 80 32 MM1 の カ ー ド 容 量 を 計 算 す る 式 で使 わ れ る パ ラ メ ー タ
C_SIZE_MULT の値は 3 です（multiplier（乗数）=32）。
l SECTOR_SIZE
これは，イレース可能なセクタサイズを示します。 このレジスタの内容は，1 セクタ当たりののライト
ブロック（参照：WRIT E_ BLK _L EN ）の数を定義するバイナリコード値です。HB 28 80 32 MM1 のセクタ
サイズは 0（=one write block=512bytes）に設定されています。
l ERASE_GROUP_SIZE
これはイレース可能なグループサイズを示します。このレジスタの内容は，グループのセクタ数（参照：SE CTOR _SIZE ）を定義するバイナリコード値です。HB 28 80 32 MM1 では，このパラメータ値は 1 5 で，グループサイズは(15+1)*512 bytes = 8 kByte です。
l WP_GRP_SIZE
これは，ライトプロテクトグループのサイズを示します。このレジスタは，グループのセクタ数（参照：SECTOR_SIZE）を定義するバイナリコード値です。HB288032MM1 では，このパラメータ値は 1 で，グ
ループサイズが(1+1)*(ERASE_GROUP_SIZE)=16kByte です。
l WP_GRP_ENABLE
HB288032MM1 では，値は‘1’に設定されており，グループライトプロテクトが使用可能です。

15

HB288032MM1
l DEFAULT_ECC
これはカードメーカによって設定され，使用が推薦される ECC コード(例えばこの ECC コードの使用を前提にカードの試験が行われているもの)を定義します。HB288032MM1 では，この値は‘0’に設定されており，特定の ECC の使用を推奨してはいません。
l R2W_FACTOR
これは，リードアクセスタイムの倍数として，典型 的なプログラム時間を定義します。以下の表はフィールドフォーマットを定義しています。
R2W_FACTOR
R2W_FACTOR
0
1
2
3
4
5
6, 7

Multiples of read access time
1
2
4
8
16
32
reserved

HB288032MM1 では，このパラメータ値は 2 となります。
l WRITE_BLK_LEN
データブロック長は，2 WRITE_BLK_LEN として計算されます。
データブロック長
WRITE_BLK_LEN
01......
11
12–15

Block length
20 = 1 byte
21 = 2 bytes......
211 = 2048 bytes
reserved

Remark

したがって，ブロック長は 1 ，2 ，4 ..2 04 8 バイトの範囲になります。WRIT E_ BLK _PA RTIA L が設定されて い な い 場 合 (WRIT E_ BLK _PA RTIA L= ‘0 ’) ， こ の パ ラ メ ー タ は ブ ロ ッ ク 長 を 定 義 し ま す 。
WRITE_BLK_PARTIAL が設定されていると(WRITE_BLK_PARTIAL=‘1’)，このパラメータは，ブロック長の最大許容値（バイト）を表します。1 バイトからこの値の間のすべてのブロック長が設定可能です。
実際の ブロックサイ ズは，SE T_B LOCK LE N (CMD1 6)コ マンドによっ て設定されま す。HB 28 80 32 MM1は長さが 512 バイトのブロックをサポートします。パラメータ WRITE_BLK_LEN には，固定値 0x9 に設定されています。

16

HB288032MM1
l WRITE_BLK_PARTIAL
WRIT E_ BLK _PA RTIA L は，複数の ブロックサイズが，ブロッ クライトコマンドで使用可 能かどうかを定義します。WRIT E_ BLK _PA RTIA L = ‘0 ’は，WRIT E_ BLK _L EN によって定義されたブロックサイズのみがブロックデータ転送に使用可能であ ることを意味します。WRIT E_ BLK _PA RTIA L = ‘1 ’は，より小さいブロックサイズも使用可能であることを意味し ます。最小ブロックサイズは，最小のアドレス指定
可能単位（1 バイト）と同じになります。HB288032MM1 はパーシャルブロックライト（partial block write）
をサポートしません。パラメータ WRITE_BLK_PARTIAL には，固定値 0 に設定されています。
l FILE_FORMAT_GRP
このパラメータは，カードのファイルフォーマットのグループを表します。デフォルト値は 0 です。
このフィールドの使い方は，表｢ファイルフォーマット｣に示してあります。
l COPY
このパラメータは，コンテンツがオリジナル（COPY=‘0’）であるかコピー（=‘1’）であるかを定義しま
す。COPY ビットは，1 回プログラムが可能なビットで，カスタマによって設定されます。
l PERM_WRITE_PROTECT
このパラメータは，カードのコンテンツ全体が上書 きされたりイレースされたりすることから保護します（このカードに対するすべてのライトコマンドお よびイレースコマンドは恒久的にディスエーブルされます）。このパラメータは，カスタマによって 1 回プログラムが可能です。デフォルト値は‘0’ （プロテクトなし）です。
l TMP_WRITE_PROTECT
このパラメータは，カードのコンテンツ全体が上書 きされたりイレースされたりしないよう一時的に保護します。（このカードに対するすべてのライトコ マンドおよびイレースコマンドは一時的にディスエーブルされます。）このパラメータは，カスタマによってプログラムが可能です。デフォルト値は‘0’（プロテクトなし）です。
l FILE_FORMAT
このパラメータは，カードのファイルフォーマットを表します。デフォルト値は 0 です。下記の表にあるフォーマットが，定義してあります。
ファイルフォーマット
FILE_FORMAT_GRP FILE_FORMAT
Type00
パ−ティションテ−ブルを持つ，HDD に準じたファイルシス
テム
01（パ−ティションテ−ブルを持たず）ブ−トセクタのみを持つ
DOS FAT（フロッピディスクに準じたファイルシステム）

02

ユニバ−サルファイルフォーマット（Universal File Format）

0

3

その他/未知のファイルフォーマット

1

0, 1, 2, 3

Reserved

17

HB288032MM1
l ECC
このパラメータは，カード内のデータを保存するのに使われた ECC コードを定義します。このフィールドの情報は，ユーザデータをデコードするために， ホスト（またはアプリケーション）によって使われます。以下の表はフィールドフォーマットを定義します。
ECC タイプ
ECC
0
1
2–15

ECC type
none (default)
BCH (542,512)
reserved

Maximum number of correctable bits
none
3
—

コンテンツプロバイダまたはカスタマは，HB 28 80 32 MM1 のコンテンツを保護するのにどの種類のエラー訂正が使われるかを定義します。この値はプログラマブルです。
l CRC
CRC レジスタは，CSD コンテントのチェックサムを含んでいます。このチェックサムは，以下の式で計算されます。
ジェネレータ多項式：
G(x) = x 7 + x 3 + 1
M(x) = CSD[127]∗x 119 +...+ CSD[8]∗x 0 CRC[6...0] = Remainder [(M(x)∗x 7)/G(x)]ユーザは，新しい CSD を定義した後，新しい CRC を再計算する必要があります。

18

HB288032MM1

MultiMediaCard コミュニケ−ション
ホストとカードの間のすべてのコミュニケーション はホストによって制御されます。ホストはコマンドを送り，いくつかのコマンドに対しては，選択され たカードから対応するレスポンスを受け取ります。
この章では，HB 28 80 32 MM1 を制御するためのコマンド，カードレスポンス，そして，レスポンスに含まれるステータスの内容やエラーフィールドの内容が定義されています。

メモリ配列の区分
Mu lt iMedi aCard との間のデータ転送の基本的単位は 1 バイトです。ブロックサイズを必要とするすべてのデータ転送操作では，ブロック長をバイトの倍数 で定義します。いくつかの特別な機能は他の区分単位（p art it io n g ran ul arit y）を必要とします。ブロック転送コマンドについては，以下の定義が使われています。
l ブロック（Bl ock）：これは ，ブロック転送リードコマンドおよびライトコ マンドに関連付けられている単位です。そのサイズはバイト数で表され，1 つのブロックコマンドがホストによって送信される場合，ブロックサイズと同じバイト数のデータが転送されます。ブロックのサイズは，プログラマ
ブルか固定されています。許可されているブロックサイズに関する情報とそれがプログラマブルであるかどうかの情報は CSD に保存されています。
イレース可能なメモリセルを持っているカードに関 しては，特別なイレースコマンドが定義されます。
イレース可能なデータの最小単位は，通常，ブロッ ク転送コマンドで使われる最小のブロックの大きさと同じではありません。
l セクタ（Sector）：これは，イレースコマンドに関連付けられている単位です。そのサイズはブロック数で表され，1 回にイレースできる最小のブロック数となります。セクタのサイズは，それぞれのカードに対して固有の値となっています。セクタサイズ（ブロック数）に関する情報は CSD に保存されています。
l グループ（Gro up ）：これはセクタの数です。そのサイズは連続するセクタの数で，1 回でイレースできるセクタ数です。グループのサイズはそれぞれのカードに対して固有の値となっています。このサイズに関する情報は CSD に保存されています。
ライトプロテクト機能を使用可能なカードで使用する単位
l ライトプロテクトグループ（WP-Group）：これは，個々にライトプロテクトができる最小単位です。
そのサイズはセクタの数で，表されます。ライトプロテクトグル−プのサイズは，それぞれのカードに対して固有の値となっています。このサイズに関する情報は CSD に保存されています。
それぞれのイレース可能単位（グループおよびセク タ）は特別に「タグ」ビットを持っています。この
ビットは，その単位にタグをつけるための特別コマ ンドにより設定したりクリアされたりします。いくつかのタグコマンドによってタグがつけられた複数 のイレース可能単位は，1 回のイレースコマンドにより全てイレースされます。すべてのタグビットは ，タグコマンドまたはアンタグコマンド以外，のコ
マンドを入力することによりクリアされます。した がって，一連のタグコマンドの直後に，イレースコ
マンドがホストにより送信されなければなりません 。タグコマンド，アンタグコマンドまたはイレース
コマンド以外のコマンドは，タグ付けとそれに続くイレースというサイクルを中断します。

19

HB288032MM1
MultiMediaCard
GROUP 0Block 0Block 1

Block 2Block 3Block nSector tagging

Group tagging

Sector 0.0
Sector 0.1
Sector 0.2
Sector 0.3
Sector 0.n

GROUP 1GROUP n

イレースタグ付け階層（Erase Tagging Hierarchy）

Group write protection

それぞれのライトプロテクトグループはライトプロテクトビットを持っています。このライトプロテク
トビットは，コマンド（参照：「コマンド」章）を通じて設定可能です。
ライトプロテクトグループが使えるかどうかという情報は CSD に保存されています。

WP-GROUP 0

WP-GROUP 1
WP-GROUP n

ライトプロテクト

20

HB288032MM1

コマンド
MultiMediaCard システムのコマンドセットは，カードのタイプに応じたクラスに分類されます。
（参照：[1]）HB288032MM1 は以下のコマンドクラスをサポートしています。
HB288032MM1 コマンドクラス(Class 0 to Class 2)
Card commandclass (CCC)
Class description
Class 0basic
Class 1stream readClass 2
block read

0

1

2

3

Supported commands
4 7 9 10 11 12 13 15 16 17 18

+

+

+

+

+

+

+

+

+

+

+

+
+

+

+

HB288032MM1 コマンドクラス(Class 3 to Class 7)
Supported commands
Card command
20 24 25 26 27 28 29 30 32 33 34 35 36 37 38 42
class (CCC)
Class description
Class 3stream write+
Class 4block write+ + + +Class 5erase
+ + + + + + +Class 6
write protection+ + +Class 7lock card+
Class 0 はカード識別コマンドや初期化コマンドです。これらのコマンドは，同じバスラインで異なるカードや 異なるカ ードタイプ を処理する ことを目 的としてい ます。カー ドコマン ドクラス（ CCC: Card
Co mman d Cl as s）は，CSD にコード化されており，したがって，ホストはそのカードにどのようにアクセスするかを知ることができます。Mu lt iMedi aCard バスでは以下のような 4 種類のコマンドが定義されています。
l ブロードキャストコマンド（b c: b ro adcas t comman d）：CMD ラインで送信され，レスポンスはありません。
l レスポンス付きブロードキャストコマンド（bcr: broadcast commands with response）：CMD ラインで送信され，CMD ラインで（すべてのカードから同時に）レスポンスが返されます。
l アドレス指定（point-to-point）コマンド（ac: addressed (point-to-point) commands）：CMD ラインで送信され，CMD ラインでレスポンスが返されます。
l ア ド レス 指 定 （p oi nt -t o-p oi nt ） デ ータ 転 送 コマ ン ド （adt c: add ress ed (po in t-t o-p oi nt ) dat a t rans fer
commands）：CMD ラインで送信され，CMD ラインでレスポンスが返されます。データ転送は DAT
ラインで行われます。

21

HB288032MM1
コマンド送信は常に MSB から始まります。それぞれ のコマンドは，スタートビットで開始され，（エンドビットが後に続く）CRC コマンドプロテクトフィールドで終わります。それぞれのコマンドフレー
ムの長さは 48 ビット（20MHz で 2.4µs）に固定されています。
0start bit1
host

bit5...bit0
commandbit31...bit0
argument

bit6...bit0
CRC*1

1
end bit

Note: 1. (Cyclic Redundancy Check)（ホストから Mu lt iMedi aCard へ送られる）コマンドフレームのスタートビットは常に‘0 ’となります。ホストビットは，コマンドの場合は常に‘1’となっています。コマンドフィールドはバイナリコード化された コマ ン ド 番号 を 含 んで い ま す。 そ の 引数 は コ マン ド に 依存 し ま す。 HB 28 80 32 MM1 は ，以 下 のMultiMediaCard コマンドをサポートします。

リード，ライト，イレース

タイムアウト時間

リード，ライト，イレースのタイムアウト時間は，下記に示すアクセス／書き込み時間の 10 倍以上としてください。カードはこの時間内に処理を完了，ま たは異常時のエラーメッセージを送信します。ホストがこのタイムア ウト時間内にレスポンスを受け 取れなかった場合，リセット動 作（CMD 0，電源再投入，カード挿抜など）を行ってください。
l リ−ド：リード時のアクセス時間は CSD レジスタに記述されている TAAC パラメータと NSAC パラ
メータにより計算されます（レジスタ仕様参照）。この値はホストから送信されたリードコマンド列
最後のエンドビットから，読み出されたリードデータブロック先頭のスタートビットまでの typ 時間です。実際の時間はカード，ホストの処理時間，ストリーム転送時のクロック周波数などに依存して変化します。
l ライト：ブロックライト書き込み時間の typ 値は，CSD レジスタに記述されている R2W_FACTOR を
リードアクセス時間に乗ずることにより計算されます（レジスタ仕様参照）。この値はすべてのライト，イレースコマンドに適用されます。
l イレ−ス：イレース時間の typ 値は，上記ブロックライト書き込み時間に消去セクタ数を乗ずることにより計算されます。

22

HB288032MM1
基本コマンド(class 0)およびストリ−ムコマンド(class 1)
CMD
index Type
CMD0 bc

Argument[31:0] stuff bits

Resp
Abbreviation—
GO_IDLE_STATE

Command description
すべてのカードを Idle ステートにリセ
ットする。

CMD1

bcr

[31:0] OCR
without busy

R3

SEND_OP_COND

2.0V から 3.6V の範囲を完全にサポートしていないカードをチェックする。
CMD1 受信後，カードは R3 レスポンスを送信する。

CMD2

bcr[31:0] stuff bits

R2

ALL_SEND_CID

Ready ステートにある全カードに対して自身の CID*1 番号を CMD ラインを使って送信するよう要求する。

CMD3

ac

[31:16] RCA[15:0] stuff bits

R1
—

CMD4

bc

[31:16] DSR[15:0] stuff bits

CMD7

ac

[31:16] RCA[15:0] stuff bits

SET_RELATIVE_
ADDR

Identification ステートでカードに相対

SET_DSR

Stand-by ステートでのすべてのカード

アドレスを割り当てる。
の DSR をプログラムする。

Stand-by と Transfer ステートの間，まR1 (only SELECT/
the DESELECT_CARD たは，Programming と Disconnect ステ
selectedートの間でカードの状態を切り替えcard)
る。両方の場合で，カードは，それ自身の相対アドレスで選択される。（それまでに選択されていたカードは非選択となる。）アドレス 0 はすべてのカードを非選択にする。

CMD9

ac

[31:16] RCA[15:0] stuff bits

R2

[31:16] RCA[15:0] stuff bits

R2

SEND_CSD

アドレス指定されたカードに，そのカード特有データ(CSD)*2 を CMD ラインに送信するよう要求する。

CMD10

ac

SEND_CID

アドレス指定されたカードに，そのカード ID(CID)を CMD ラインに送信するよう要求する。

CMD11 adtc

[31:0] data
address

R1

READ_DAT_UNTIL STOP_TRANSMISSION コマンドが送_STOPられるまでの間，与えられたアドレスから始まるデータストリームを，カードよりリードする。

CMD12
CMD13

ac
ac

R1b*3 STOP_
TRANSMISSION

カードが送信を停止するよう強制す[31:16] RCA[15:0] stuff bits

R1

アドレス指定されたカードにそのステ[31:16] RCA[15:0] stuff bits—

[31:0] stuff bits

SEND_STATUS

る。
ータスレジスタを送信するよう要求す
る。

CMD15

ac

GO_INACTIVE_
STATE

カードスタックを通信故障から保護するため，カードの状態を Inactive ステートにする。

23

HB288032MM1【注】 1. CID レジスタは 128 ビットから構成されています。（これは，MSB で始まり，end ビットで終了します。）
2. CS D レジスタは 128 ビットから構成されています。（これは，MSB で始まり，end ビット
で終了します。）
3. このコマンドを入力すると，Mult iMediaC ard はデータチャネル(DAT )を通して，カードのビ
ジーステータスを送ってきます。（カードがビジーの間，DAT ラインを L レベルに維持します。）

ブロックリードコマンド(class 2)
CMD
index TypeCMD16 ac

Argument[31:0] block
lengthResp
Abbreviation
R1
SET_BLOCKLEN

Command description
後続のすべてのブロックコマンド（リードおよびライト）に対してブロック
長（バイト単位で）を選択する。* 1

CMD17 adtc

[31:0] data
address

R1

READ_SINGLE_BLOCK

SET_BLOCKLEN コマンドによって選択されたブロックサイズのデータをカードから読み出す。* 2

CMD18 adtc

[31:0] data
address

R1

READ_MULTIPLE_ STOP_TRANSMISSION コマンドによBLOCK
り中断されるまで，カードは連続したブロックデータを送信し続ける。

【注】 1. デフォルトブロック長は CS D で指定 されている通りです。HB 288032MM 1 では，CS D でWR IT E_BLK_PAR TI AL=‘0’に設定されているため，ライト時のブロックサイズは固定値 512
バイトです。
2. 送 信 さ れ る デ ー タ は ， CS D で RD _BLK_M ISALI GN が 設 定 さ れ て い な い か ぎ り（RD _BLK_M ISALI GN=‘0’ の場 合）， 物理 的ブ ロック 境界 線を越 える こと はでき ませ ん。
HB 288032MM 1 で は ， CS D で RD _BLK_M ISALI GN が 設 定 さ れ て い な い た め（RD _BLK_M ISALI GN=‘0’），送 信されるデータは物理 的ブロック境界線を越 えることはできません。

ストリームライトコマンド(class 3)
CMD
index Type
CMD20 adtc

Argument[31:0] data
addressResp
R1

Abbreviation
WRITE_DAT_
UNTIL_STOPCommand description
STOP_TRANSMISSION コマンドが送られるまでの間，与えられたアドレスから始まるデータストリームを，カードへ書き込む。

24

HB288032MM1
ブロックライトコマンド(class 4)
CMD
index TypeCMD24 adtc

Argument[31:0] data
addressResp
Abbreviation
R1
WRITE_BLOCK

Command description
SET_BLOCKLEN コマンドによって選択されているブロックサイズのデータをカードへ書き込む。* 1

CMD25 adtc

[31:0] data
address

R1

WRITE_MULTIPLE STOP_TRANSMISSION コマンドが来_BLOCK
るまで，カードはホストから送られる
ブロックデータを連続して書き込む。

CMD26 adtc

[31:0] stuff bits

R1

PROGRAM_CID

CID レジスタのプログラミング。このコマンドは，MultiMediaCard カード毎に 1 回だけ実行される。カードには，CID レジスタへの 2 度目以降のプログ
ラミングを防止するなんらかのハード
ウェアが搭載されている。通常，このコマンドは，メーカ使用に予約されている。

CMD27 adtc

[31:0] stuff bits

R1

PROGRAM_CSD

CSD レジスタ内のプログラマブルビッ
トのプログラミング。

【注】 1. 送 信 さ れ る デ ー タ は ， CS D で WR IT E_BLK_M ISALI GN が 設 定 さ れ て い な い か ぎ り（WRITE_BLK_MISALIGN=‘0’の場合），物理的ブロック境界線を越えることはできません。
HB 288032MM 1 で は ， CS D で WR IT E_BLK_M ISALI GN が 設 定 さ れ て い な い た め（WR IT E_BLK_M ISALI GN=‘0’） ，送信される データは物 理的ブロック 境界線を越え ることはできません。

25

HB288032MM1
イレースコマンド(class 5)
CMD
index TypeCMD32 ac

Argument[31:0] data
addressResp
Abbreviation
R1
TAG_SECTOR_
START

Command description
イレースグループ内の連続してイレー
スしたい範囲の最初のセクタのアドレスを設定する。

CMD33

ac[31:0] data
address

R1

TAG_SECTOR_
END

イレース選択されたイレースグループ
内の連続してイレースしたい範囲の最終セクタのアドレスを設定するか，あるいは，選択したい単一のセクタのアドレス（CMD32 で指定したセクタと同じアドレス）を設定する。

CMD34

ac

[31:0] data
address

R1[31:0] data
address

R1

UNTAG_SECTOR

イレースのためにあらかじめ選択しておいたセクタ群内の 1 つのセクタに対して選択を解除する。

CMD35

ac

TAG_ERASE_GROUP_START

連続してイレースしたい範囲内にある最初のイレースグループのアドレスを
設定する。

CMD36

ac

[31:0] data
addressR1

TAG_ERASE_GROUP_END

連続してイレースしたい範囲内の最後のイレースグループのアドレスを設定
する。

CMD37

ac

[31:0] data
address

R1

UNTAG_ERASE_
GROUP

イレースのために，あらかじめ選択しておいたイレースグループ群内の 1 つのイレースグループに対して選択を解
除する。

CMD38

ac

[31:0] stuff bits

R1b

ERASE

あらかじめ選択しておいたすべてのセ
クタをイレースする。

26

HB288032MM1
ライトプロテクトコマンド(class 6)
CMD
index TypeCMD28 ac

Argument[31:0] data
addressResp
Abbreviation
Command description
R1b SET_WRITE_PROT カードがライトプロテクト機能を持っている場合，このコマンドは，アドレス指定されたグループのライトプロテ
クトビットを設定する。ライトプロテ
クトグループの大きさはカード特有データ(WP_GRP_SIZE)にコード化され
ている。

CMD29

ac

[31:0] data
address

R1b

CLR_WRITE_PROT カードがライトプロテクト機能を提供する場合，このコマンドは，アドレス指定されたグループのライトプロテク
トビットをクリアする。

CMD30 adtc

[31:0] write
protect data
address

R1

SEND_WRITE_
PROT

カードがライトプロテクト機能を提供する場合，このコマンドは，カードに，
ライトプロテクトビットのステータスを送信するよう要求する。* 1【注】 1. 32 個のラ イトプロテクトビ ット（各々のビッ トが指定されたア ドレスから始まる 連続した
32 のライトプロテクトグループの一つ一つに対応する）は，16 個の CRC ビットをその後に追加して，データラインを通じて，ペイロー ドフォーマット（通常のブロックデータ転送と同じフォーマット）で転送されます。これら のライトプロテクトビットの最後のビット（最下位ビット）は，アドレス指定したライトプ ロテクトグループ群の最初のライトプロテクトグループ（最もアドレスの小さいライトプロ テクトグループ）に対応します。アドレス指定
したライトプロテクトグループ群の中に，ア ドレスが，カードアドレスの有効範囲外となる
ライトプロテクトグループが含まれる場合， 有効範囲外となるライトプロテクトグループに対応するライトプロテクトビットはゼロに設定されます。

ロックカードコマンド(class 7)
CMD
index TypeCMD42 adtc

Argument[31:0] stuff bits

Resp
Abbreviation
R1b LOCK_UNLOCK

Command description
パスワードの設定/消去またはカードのロック/アンロックに使います。データ
ブロックの大きさは，
SET_BLOCK_LEN コマンドによって設定します。

27

HB288032MM1

カ−ド識別（Card identification）モ−ド
カード識別（card identification）モードでのすべてのデータ通信は CMD ラインのみを使います。
Power oncard is busy or
host omitted
voltage range

Idle state(idle)

CMD0

from all states except (ina)Inactive state
(ina)

CMD1

CMD15

cards with non-compatible voltage range
card looses bus

Ready state(ready)card wins bus
CMD2

Indentification state(ident)CMD3Stand-by state(stby)

card-indentification mode

data-transfer mode

from all states in data-transfer mode

MultiMediaCard 状態遷移図(カ−ド識別モ−ド(Card Identification Mode))
ホストは，識別クロック周波数 fO D を使い，オープンドレーン（o pen d rai n）モードでカード識別手続を開始します。CMD ラインをオープンドレインで駆動することにより，カード識別中に複数カードの並列動作を可能にします。バスが起動された後，ホストは，SEND_OP_COND (CMD1)コマンドで，カードに対して，カードの正しい動作条件を送信するよう要 求します。このバスはオープンドレーンモードになっているため，複数のカードが動作条件の制約を持っている場合，ホストは，CMD 1 に対するレスポン
スとして，それらのカード の動作条件の制約を“ワイヤ−ドオア”した動作条 件の制約を受け取ります。
互換性を持たないカードは，Inactive ステートになります。CMD1 に対するレスポンス中のビジービット
はカードによって使用され，カードはパワーアップ ／リセット手続中（例：メモリフィールドからレジ
スタ情報をダウンロードしている）であり，通信の 準備ができていないことをホストに通知します。この場合，ホストはこのビジービットがクリアされるまで CMD1 を繰り返し送る必要があります。動作条件が確立されたら，ホストは，ブロードキャストコマンド ALL_SEND_CID (CMD2)を使って，すべてのカードに対して，それらの個別のカード ID（CID: Card IDentification）番号を送信するよう要求します。
まだ識別の終っていないカード（つまり，Ready ステートにあるカード）は，CMD ラインに現れるビッ
トストリームをビット単位でモニタしながら，すべて同時に自身の CID 番号をシリアルに送信開始します。出力される CID ビットが，いずれのビット期間（b it p eri od ）でも，コマンドラインでの対応するビットにマッチしないようなカードは，直ちに CID の送信を停止し，次の識別サイクルを待たなければな
りません（カードは Ready ステートのままとなります）。ホストに完全な CID 番号を送信できるのは 1
つのカードだけとなります。そして，このカードは，Identification ステートになります。ホストは，（CMD3,SE T_R ELA TIV E_ AD DR を使って）このカードに相対的カードアドレス（RCA ：CID より短い）を割り

28

HB288032MM1
当てます。この相対的アドレスは，その後の通信でカードを指定するのに使われます（CID を使うより高速です）。
いったん RCA を受信すると，カードは，Stand-by ステートになり，その後の識別（identification）
サイクルには反応しなくなります。また，このカー ドは，この状態で，出力ドライバを，オープンドレ
ーンからプッシュ ・プルモードに切り替えます。 ホストは，送信した識別コマン ド（CMD 2）に対してレスポンス（ CID）を受信するかぎり， 識別手続を繰り返します 。このコマンドにカード がレスポンスを返さなくなった場合，すべてのカードが識別され たことになります。この状態を認識するためのタイ
ムアウト条件は，CMD2 の送信後，5 クロック周期待っても，スタートビットを受信しないことです。

動作電圧範囲の確認
Mu lt iMedi aCard スタンダードの動作範囲確認は，動作電圧範囲に制限を持つ Mu lt iMedi aCard をサポートするためのものです。HB288032MM1 は，2.7V から 3.6V の供給電圧の範囲をサポートしています。したがって，HB288032MM1 は，CMD1 に対して R3 レスポンスを送信します。この R3 レスポンスは，ビジーフラグが“ready ”に設定されている場合は 0 x8 0FF8 00 0 の OC R 値を持ち，あるいは，ビジーフラグが“busy”の場合は 0x00FF8000 の値を持っています。

29

HB288032MM1

デ−タ転送（Data Transfer）モ−ド
Stand-by ステートの場合，CMD ラインと DAT ラインはプッシュ・プルモードです。すべての CSD レジ
スタのコンテントが知られていないかぎり，クロック周波数 fPP はより低いクロック周波数 fO D と同じになります。SE ND_ CSD (CMD9 )により，ホストは，Card Sp eci fic Dat a（CSD レジスタ）（例：EC C タイプ，ブロック長，カード容量，最大クロック周波数など）を取得できます。

card-indentification mode

CMD3

CMD15

CMD0
Sending-data state(data)

from all states indata-transfer mode

data-transfer mode

CMD12,''operation
complete''

CMD13
no state transition
in data-transfer mode

CMD7Stand-by state(stby)CMD11, 17, 18, 30

Transfer state(tran)

CMD7

CMD16, 32...37

CMD9, 10
CMD20, 24, 25, 26, 27, 42''operation
complete''''operation
complete''

CMD24, 25
CMD28, 29, 38

Disconnect state
(dis)

CMD7
CMD7

Receive-data state(rcv)

Programming state(prg)

CMD12 or''transfer end''

HB288032MM1 状態遷移図(デ−タ転送(Data Transfer)モ−ド)
コマンド SE LECT _D ESE LE CT_ CARD (CMD7 )は，1 枚のカードを選択して，それを Tran sfer ステートにします。以前に選択されたカードが Tran sfer ステートにある場合，ホストとのそのカードの接続は開放され，そのカードは，Stand-by ステートに戻ります。Transfer ステートは，常に，1 枚のカードしかなることはできません。選択されたカードが CMD7 にレスポンスを返し，選択をはずされたカードは，このコマンドにはレスポンスを返しません。予約済みの相対カードアドレス“0 x0 00 0”を含む CMD 7 が送られると，すべてのカードは St an d-b y ステートに変わります。このコマンドは，すでに識別されているカー
ドをリセットすることなく新しいカードを識別するのに使われます。RCA がすでに割り当てられている
カードは，St an d-b y ステートで は識別コマンドフローにはレスポンスを返し ません。データ転送（Dat a
Transfer）モードでのすべてのデータ通信は，ホストと（アドレスを指定するコマンドを使って）選択されたカードの間の p oi nt -t o p oi nt 通信となります。選択されたカードに送られるすべてのコマンドに対して，カードが CMD ラインでレスポンスを返すことにより，カード側でコマンドを認識したことを，ホ
スト側も知ることができます。
すべてのリードコマンド（データは DAT ラインを通じてカードから送信される）は，ストップコマンド
により，随時，中断（interrupt）可能です。ストップコマンドによりデータ転送は終了し，カードは停止
するか，または次のコマンドでの作業を開始します。DAT ラインの信号レベルは，データが転送されな
いと HIGH となります。転送されるデータブロックは，スタートビット（LOW）と，その後の連続した
データストリームから構成されています。データス トリームは，実質的有効データ（そして，カードの外で ECC が使われている場合，そのエラー訂正ビット）を含んでいます。データストリームはエンドビ
ット（HIGH）で終了します。データ転送は，クロック信号に同期されています。ブロックデータ転送を30

HB288032MM1行う場合，有効データは，CRC チェックサムにより保護されています。
l ストリ−ムリ−ド
RE AD_ DA T_ UN TIL _ST OP(CMD 11 )によっ て制御する，スト リームデータ転 送方法があります 。このコ
マンドは，カードに対して，ホストが ST OP_ TRAN SMISSION コマンド(COM1 2：ストップコマンド)を送るまでの間，指定したアドレスから始まるカード 内の有効データを送り続けるように指示します。ス
トップコマンドは，コマンドをシリアル転送してい るために，実行までに遅延が発生します。データの転送は，ストップコマンドのエンドビットの後で止まります。
データの転送中，ホストがストップコマンドを送る前に，カード内のメモリ範囲の終わりに達した場合，以降のカード内に実在しないアドレスに対応するデ ータの内容は，不定となります。このとき，カード
は，ステータスレジスタ内の OUT_OF_RANGE エラービットを‘1’に設定します。
ストリームリード動作での最大クロック周波数は，以下の式で与えられます。
max. speed = min (TRAN_SPEED, (8*2 READ_BL_LEN-NSAC)/TAAC),= min (20, (8*2 9 – 100 [cycles])/1000 [µs]) [MHz] = min (20, 3.996) [MHz] = 3.996 [MHz]
この式で使われているパラメータは，CSD レジスタで定義されています。ホストがこの速度よりも速い
データ転送をしようと試みた場合，カードはデータ の送り出しを続けることができなくなります。この場合，カードはステータスレジスタの UNDERRUN エラービットを‘1’に設定し，データの転送を打ち切ります。その後，カードは Sending-data ステートのままで，ストップコマンドを待ち続けます。
l ブロックリ−ドデ ータ 転送 の 基本 単 位は ，CSD (REA D_ BLK _L EN ) で最 大 サイ ズが 定 義さ れて い るブ ロ ック です 。
HB288032MM1 では，READ_BLK_PARTIAL は‘1’に設定されています。したがって，開始アドレスと終了アドレスが両方とも 1 つの物理的ブロック（RE AD_ BLK _L EN により定義されているサイズと同じです）内に包括されているより小さいブロックも転送できます。CRC は，それぞれのブロックの最後に付加され，データ転送が正しく行われる ことを保証します。RE AD_ SING LE _BL OCK (CMD1 7)は，ブロックリードを開始し，そして，1 ブロック分の転送を完了した後，カードは Transfer ステートに戻ります。
READ_MULTIPLE_BLOCK (CMD18)は，いくつかの連続したブロックの転送を開始します。ブロックは，
ストップコマンドが発行されるまで継続的に転送されます。
l ストリ−ムライト
ストリームライト(CMD20)は，ホストがストップコマンドを発行するまでの間，ホストからカードへと，
開始アドレスから始まるデータを送り続けます。パーシャルブロックを使用できる場合(CSD パラメータの WRIT E_ BL_ PART IAL が‘1 ’に設定されている時)は，カードのアドレス空間内の任意のアドレスで，
データストリームの開始と終了ができます。パーシ ャルブロックを使用できない場合は，データストリ
ームの開始と終了のアドレスは，ブロックの境界と 一致している必要があります。ライトを行うために送られてくるデータ容量が事前に分からないため，CRC を使うことはできません。データの転送中に，ホストがストップコマンドを送る前に，カード内の メモリ範囲の終わりに達した場合，以降に送られたカード内に実在しないアドレスに対応するデータは ，廃棄されます。このとき，カードは，ステータス
レジスタ内の OUT_OF_RANGE エラービットを‘1’に設定します。
ストリームライト動作での最大クロック周波数は，以下の式で与えられます。
max. speed = min ( TRAN_SPEED, (8*2 WRITE_BL_LEN -NSAC)/(TAAC*R2W_FACTOR)),= min(20, (8*2 9 – 100 [cycles])/(1000 [µs]*4)) [MHz] = min (20, 0.999) [MHz] = 0.999 [MHz]
この式で使われているパラメータは，CSD レジスタで定義されています。ホストがこの速度よりも速い
データ転送をしようと試みた場合，カードはデータ の処理を続けることができなくなり，書込みを停止します。この場合，カードはステータスレジスタの OVERRUN エラービットを‘1’に設定し，それ以降に送られてくるデータをすべて無視して， (Receive-data ステートのままで)，ストップコマンドを待ち続けます。ライト動作は，ライトから保護されている領 域を，ホストが上書きしようと試みた場合にも中断されます。この場合は，カードは，ステータスレジスタの WP_VIOLATION ビットを‘1’に設定します。

31

HB288032MM1
l ブロックライト
ブロックライト(CMD24 - 27)を実行するということは，1 つまたは複数のデータブロックがホストからカードに転送されることを意味します。この場合，CRC がホストによりそれぞれのブロックの最後に付加されます。ブロックライトをサポートするカードは，常に，WRITE_BLK_LEN によって定義された大きさのデータブロックを受け付けることができます。CRC が異常な場合，カードは，DAT ラインを通して異常を通知します。転送されたデータは破棄され， 書き込まれません。（マルチブロックライトモードでは），それ以後転送されるすべてのブロックは無 視されます。ホストが，パーシャルブロックを使ってデータを送り，送られたデータを合わせた長さが ブロック長の整数倍に一致しないとき，ブロックミ
スアラインが許可されていない場合は（CSD パラメータ WRIT E_ BLK _MISA LIG N が‘0 ’に設定されている），カードはブロックミスアラインエラーを検出 し，最初のブロックミスアラインを起こしているブ
ロッ クへ のライ トが 始ま る前に ，ラ イトを 中断 します 。カ ードは ，ス テー タスレ ジス タの
ADDRESS_ERROR エラービットを‘1’に設定し，その後のすべてのデータ転送を無視して，（Receive-data
ステートで）ストップコマンドを待ちます。ホスト が，ライトプロテクトエリア内に書き込みを行おうとする場合も，ライト操作が中止されます。しかし，この場合，カードは WP_ VIO LA TIO N ビットを‘1 ’に設定します。CID と CSD レジスタのプログラミングは，事前にブロック長の設定を必要としません。
転送されるデータも CRC によって保護されています。
l イレ−ス
データのスループットを高めるためには，できるだけ 1 度に多くのセクタをイレースすることが望ましいとされています。イレースしたいセクタとイレースしたくないセクタの識別は，TAG_*コマンドで行うことができます。単一のイレースグループ内にあるセクタの任意のセット，または，任意に選択されているイレースグループのいずれかは，1 度にイレースされますが，両方一度にはイレースされません。
つまり，イレースをするべきかどうか判断する場合の単位は，セクタまたはイレースグループのどちらか一方だけです。しかし，それがセクタである場合，選択されているすべてのセクタは，同じイレース
グループ内になければなりません。選択を容易にするため，開始アドレスを持つ最初のコマンドの後には，最後のアドレスを持つ 2 番目のコマンドが続き，そして，この範囲内のすべてのセクタがイレース用に選択されます。範囲が選択された後，その範囲内にある個々のセクタ（またはグループ）は，UNTAG
コマンドを使って非選択にすることができます。ホストは，次のコマンドシーケンスを守らなければなりません。TAG_SECTOR_START，TAG_SECTOR_END，UNTAG_SECTOR（16 までの UNTAG コマン
ドが 1 回のイレースサイクルで送信されます），そして，最後に ERASE（あるいは，イレースグループ
タグ付けに対する同様のシーケンス）。次の例外条件がカードによって検出されます。
イレースまたはタグ / アンタグコマンドがシーケンス外で受信された場合。カードは，ステータスレジ
スタの ERASE_SEQUENCE エラービットを‘1’に設定し，シーケンス全体をリセットします。
シーケンス外コマンド（SEND_STATUS を除く）が受信された場合。カードは，ステータスレジスタのERASE_RESET ステータスビットを‘1’に設定し，イレースシーケンスをリセットし，最後に受信したコ
マンドを実行します。
イレース範囲に，ライトプロテクトされているセクタが含まれている場合，ライトプロテクトされているセクタはそのままにされ，プロテクトされていないセクタだけがイレースされます。ステータスレジ
スタの WP_ERASE_SKIP ステータスビットが‘1’に設定されます。
タグコマンドのアドレスフィールドは，バイト単位でのセクタまたはイレースグループのアドレスです。
カードは，アドレスフィールド内の，イレースグループまたはセクタの指定に必要な部分より LSB 側のビットフィールドの内容は，全て無視します。一回 のイレースシーケンスで使われるアンタグコマンド（CMD34 および CMD37）の数は，最高 16 までに限定されています。カードは，DAT 線を L レベルに維持することにより，イレースが進行中であることを 示します。実際のイレース時間は非常に長くなる場
合があり，その場合，ホストは CMD7 を使ってカードを非選択することも可能です。

32

HB288032MM1
l ライトプロテクト管理
カードデータは，イレースまたは書き込みに対してプロテクトすることができます。カード全体は, CSD
レジスタ内のパーマネントまたはテンポラリライトプロテクトビットを‘1’に設定することにより，メーカやコ ンテンツ プロバイ ダによって 恒久的に または一時 的にライ トプロテ クトするこ とができ ます。
（CSD で指定されている WP_ GRP _SIZE セクタの単位で）データの一部分も，プロテクトすることができ，そして，そのライ トプロテクトはアプリケーションによっ て変更可能です。SE T_W RITE _PRO T コ
マンド は，コマ ンドでア ドレスを指 定したラ イトプロテ クトグル ープのラ イトプロテ クトを設 定し，
CL R_WR IT E_ PROT コマンドは，コマンドでアドレスを指定したライトプロテクトグループのライトプ
ロテクトをクリアします。SEND_WRITE_PROT コマンドは，シングルブロックリードコマンドに類似しています。カードは，3 2 のライトプロテクトビット（指定されたアドレスで始まる連続した 3 2 個のライトプロテクトグループ が各々ライトプロテクトされているかどうかを表 す）とその後に続く 1 6 個のCRC ビットを含むデータブロックを，ホストへ送信します。ライトプロテクトコマンドのアドレスフィ
ールドは，バイト単位でのライトプロテクトグルー プのアドレスです。カードは，アドレスフィールド内の，ライトプロテクトグループの指定に必要な部分より LSB 側のビットフィールドの内容は，全て無視します。
l カ−ドロック/アンロック操作
パスワードによる保護機能により，ホストからパス ワードを発行することで，ホストがカードをロックすることができます。ロック済みのカードは，アンロック操作を行うことにより，使用可能になります。
パスワードは 1 28 ビット長の PWD レジスタに，パスワードの長さは 8 ビット長の PWD _L EN レジスタに，それぞれ保存されます。この二つのレジスタは 不揮発性なので，電源投入操作によっては内容が消えません。
ロック済みのカードは，｢ 基本｣ コマンドクラス(clas s 0 )と｢ ロックカード｣ コマンドクラス(clas s 7 )の，全てのコマンド に対してレスポンスを返し ます(コマンドの実行も 行われます)。つまり，ホ ストはカードの初期化，識別，選択，状態の問い合わせ等を行う ことができますが，カード内のデータのリード，イレース，ライト操作は できません。パスワードが既にセットしてあ れば(PWD _L EN レジスタの値が“0 ”
でない場合)，カードは電源投入操作後に自動的にロック済み状態となります。
CSD と CID レジスタへの書込みコマンドと同じように，ロック/アンロックコマンドは，Transfer ステー
トだけで使用可能です。ロック/アンロックコマンドには，引数としての相対的カードアドレスは必要あ
りませんが，対象とするカードが選択済みでないと使えません。
カードロック/アンロックコマンドの構造とバスの状態遷移は，通常のシングルブロックのライトコマン
ドと同じ形式となります。カードに送るデータブロックには，コマンドの実行に必要な全ての情報(コマンドの動作モ ード，パスワードデータ， カードのロック/ アンロ ック等)が含まれています 。カードロッ
ク/アンロックコマンドを使用するときに送るデータブロックの構造を，下記の図に示します。
ロックカ−ドデ−タ構造（Lock Card Data Structure）
Byte#
0
1
2
...
PWD_LEN + 1

Bit7

Bit6
Bit5
Reserved

Bit4

Bit3
ERASE

Bit2
LOCK_
UNLOCK

Bit1
CLR_
PWD

Bit0
SET_
PWD

PWD_LEN
Password data33

HB288032MM1
・ ER ASE：強制イレー ス(強制的にカード内のデー タを全てイレースする)を行 う場合に，‘1 ’に設定します(cmd バイトの残りのビットは全て‘0’にする必要があります)。ホストは，cmd バイト（データブロックの 1 バイト目）だけしか送りません。
・ LOCK/UNLOCK：‘1’=カードをロックします。‘0’=カードをアンロックします。（このビット
を，SET_PWD ビットと同時にセットすることはできますが，CLR_PWD ビットと同時にセットすることは禁止している点に注意してください。）
・ CLR_PWD：‘1’=パスワードをクリアします。
・ SET_PWD：‘1’=新しいパスワードを PWD レジスタに設定します。
・ PWD_LEN：パスワードの長さ(バイト単位)です。
・ PWD：パスワードデータです。(設定済みで現在使用しているパスワードのみか，新規に設定するパスワード のみ，あるいは新規に設定す るパスワードと設定済みで現在 使用しているパスワード両方を含むかは，コマンドの内容に依存します。)
ホストは，カ ードにロック/ アンロック コマンドを送る前に，カ ードのロック/ アンロック に必要なデー
タブロックの大きさをカードに対して設定しておく 必要があります。この仕様により，パスワードの長さを変えることができます。
以下に，さまざまな場合のロック/アンロック操作の手順を定義します。
・ パスワードを設定する—カードを選択していない場合は，カードの選択(CMD7)を行います。

—8 ビットのカードロック/ アンロックモード情報と，8 ビットのパスワードの長さ(バイト単位)と，パスワードのバイト数から，データブロックの長さを決定し，そのデータブロック長を使うようにカードの設定を変えます(CMD16)。パスワードの置き換えが行われる場合には，コマンドといっ しょに，古いパスワードに続 けて新しいパスワードを送りま す。このため，
データブロック 長の決定は，データブロック に新旧のパスワードが両方とも 含まれることを考慮して行ってください。

—カードロック/アンロックコマンドと，データブロックをカードに送ります。データブロッ
クは，適切なデータブロックサイズを使って，1 6 ビットの CRC を付けて DA T ラインを通して送る必要がありま す。ホストは，データブロックを使って ，モード(SET _PW D)，パスワー
ドの長さ(PWD_LEN)，パスワード自体をカードに指示する必要があります。パスワードの置
き換えが行われる場合には，PWD フィールドには古いパスワード(現在使用中)に続いて，新しいパスワードのデータが入っている必要があり，長さの数値(PWD_LEN)も新旧のパスワー
ド両方を合わせた長さとする必要があります。
—送ら れてきた古 いパスワー ドが正しく ない場合( パスワード の長さ又は パスワード 自体が一致しない時)，カードはステータスレジスタの LOCK_UNLOCK_FAILED エラービットを‘1’に設定して，パスワードの変更を行いません。PWD と送られてきた古いパスワード部分の内容が一致した場合は，カードは送られてきた新しいパスワードを PWD レジスタに，新しいパスワードの長さ(バイト単位)を PWD_LEN レジスタにそれぞれ保存します。
パスワード長レジスタ(PWD_LEN レジスタ)の内容は，現在パスワードが設定されているかどうかを表すことに注意してください。この値が“0”の場合は，パスワードが設定されていません。PWD_LEN レジス
タの値が“0 ”でない 場合，カードは電源投入操作後に 自動的にロック済み状態となりま す。(パスワードの設定時に)cmd バイト中の LO CK/ UN LO CK ビットを‘1 ’に設定するか，カードのロックのためにホストから追加のコマンドを発行することにより，電源を いったん落として再度電源投入操作をすることなしにカードをロックすることができます。

34

HB288032MM1
・ パスワードの設定を取り消す—カードを選択していない場合は，カードの選択(CMD7)を行います。
—8 ビットのカードロック/ アンロックモード情報と，8 ビットのパスワードの長さ(バイト単位)と，現在設定してあるパスワードのバイト数から，データブロックの長さを決定し，そのデータブロック長を使うようにカードの設定を変えます(CMD16)。

—カードロック/アンロックコマンドと，データブロックをカードに送ります。データブロッ
クは，適切なデータブロックサイズを使って，1 6 ビットの CRC を付けて DA T ラインを通して送る必要があります。ホストは，データブロックを使って，モード(CLR_PWD)，パスワー
ドの長さ(PWD_LEN)，パスワード自体をカードに指示する必要があります。送られてきたパスワードの内容が PWD レ ジスタの内容と，送られてきたパスワード の長さが送られてきた
PWD_LEN レジスタの内容と各々一致した場合は，カードは PWD レジスタの内容をイレース
し，PWD _L EN レジスタの内容を“0 ”に設定します。送られてきたパスワードが正しくない場
合，カードはステータスレジスタの LO CK_ UN LO CK_ FAIL ED エラービットを‘1 ’に設定するだけです。
・ カードのロック—カードを選択していない場合は，カードの選択(CMD7)を行います。
—8 ビットのカードロック/ アンロックモード情報と，8 ビットのパスワードの長さ(バイト単位)と，現在設定してあるパスワードのバイト数から，データブロックの長さを決定し，そのデータブロック長を使うようにカードの設定を変えます(CMD16)。
—カードロック/アンロックコマンドと，データブロックをカードに送ります。データブロッ
クは，適切なデータブロックサイズを使って，16 ビットの CRC を付けてデータ線を通して送る必要があります。ホストは，データブロックを使って，モード(LOCK)，パスワードの長さ(PWD_LEN)，パスワード自体をカードに指示する必要があります。
送られてきたパスワードの内容が PWD レジスタの内容と，送られてきたパスワードの長さが送られてきた PWD _L EN レジスタの内容と各々一致した場合は，カードはステータスレジス
タのカードロック状態ビット(CARD_IS_LOCKED ビット)を‘1’に設定して，ロック済みの状態にな ります 。送られ てきた パスワ ードが 正しくな い場合 ，カー ドはス テータス レジス タの
LOCK_UNLOCK_FAILED エラービットを‘1’に設定するだけです。
パスワードの設 定と，カードのロックという 二つの操作を，一度のコマンド 発行で同時に行うことができる ことを，覚えておいてくださ い。この場合，パスワードを設 定するコマンドの発行時に，(前記の様に)パスワード設定時に必要な全ての操作手順に追加して，cmd バイト
中の LOCK ビットを‘1’に設定する必要があります。
パスワードが既に設定してある場合(PWD _L EN レジスタの値が“0 ”ではない時)は，カードは電源投入操作後に自動的にロック済み状態となります。
既にロック済みの状態であるカードか，パスワード の設定をしていないカードを，ホストがロックしようとした場合，カードはステータスレジスタの LO CK_ UN LO CK_ FAIL ED エラービットを‘1 ’に設定する
だけです。

35

HB288032MM1
・ カ−ドのアンロック—カードを選択していない場合は，カードの選択(CMD7)を行います。
—8 ビットのカードロック/ アンロックモード情報と，8 ビットのパスワードの長さ(バイト単位)と，現在設定してあるパスワードのバイト数から，データブロックの長さを決定し，そのデータブロック長を使うようにカードの設定を変えます(CMD16)。
—カードロック/アンロックコマンドと，データブロックをカードに送ります。データブロッ
クは，適切なデータブロックサイズを使って，16 ビットの CRC を付けてデータ線を通して送る必要が あります。ホス トは，データブ ロックを使って， モード(UN LO CK)，パス ワードの長さ(PWD_LEN)，パスワード自体をカードに指示する必要があります。
送られてきたパスワードの内容が PWD レジスタの内容と，送られてきたパスワードの長さが送られてきた PWD _L EN レジスタの内容と各々一致した場合は，カードはステータスレジス
タのカードロック状態ビット(CARD_IS_LOCKED ビット)を‘0’に設定して，ロックを解除した状態になります 。送られてきたパスワードが 正しくない場合，カードはステ ータスレジスタの LOCK_UNLOCK_FAILED エラービットを‘1’に設定するだけです。
(パスワード が設定してあるカードでは )ロックを解除した状態 は，アンロック操作後も， カードに電源が接続されている期間内のみしか，維持されないこ とに注意してください。パスワードが設定してある限り，次回の電源投入操作後は，カードは自動的に ロック済み状態となります。電源投入操作後に，カードを必ずロックが解除してある状態にするには，パスワードを消す以外に方法はありません。
ロックのかかっていないカードに対して，ホストが ロックを解除しようとした場合，カードはステータ
スレジスタの LOCK_UNLOCK_FAILED エラービットを‘1’に設定するだけです。
・ データの強制イレース
カードのパスワード(PWD レジスタの内容)を喪失した場合，カード内の全てのデータと同時に PWD レ
ジスタの内容を消すことができます。この操作を，強制イレースと呼びます。
—カードを選択していない場合は，カードの選択(CMD7)を行います。
—カードのデータブロック長を，1 バイト(8 ビットのカードロック/アンロックモード情報)に設定します(CMD1 6)。カードロック/ アンロック コマンドと，データブロックをカードに送ります。データブロックは，適切なデータブロックサイズを使って，16 ビットの CRC を付けてデータ線を通して送る必要があります。ホストは，データブロックを使って，モード(ERASE)
をカードに指示する必要があります(cmd バ イトの内，ER ASE ビットだけが‘1 ’に設定してある状態にしてください)。
ホストが送ったデータブロック内に，ERASE ビット以外に‘1’となっているビットがある場合，カードはステータスレジスタの LO CK_ UN LO CK_ FAIL ED エラービットを‘1 ’に設定して，イレース命令を受け付けません。強制イレース命令をカードが受け付けると，PWD レジスタと，PWD_LEN レジスタの内容も含めて，カード内の全てのデータがイレースされ， ロックされていたカードは，ロックのかかっていな
い状態になります。
ロックのかかっていないカードに対して，ホストが 強制イレースを行おうとした場合，カードはステー
タスレジスタの LOCK_UNLOCK_FAILED エラービットを‘1’に設定するだけです。

36

HB288032MM1
l 状態遷移の概要
表「カードステート遷移表」は，受信したコマンドの関数としてのカードステート遷移を定義します。
カ−ドステ−ト遷移表
Commandidle ready
CRC fail—* 1—
Commands out of the——
supported class(es)Class0 CMD0
idle
idle
CMD1, card VCC ready—range compatible
CMD1, card is
idle
—
busy
ina
—
CMD1, card VCC
range notcompatible
CMD2, card wins
—
ident
bus
CMD2, card—
readyloses bus
CMD3
—
—
CMD4
—
—
CMD7, card is——addressed
CMD7, card is not ——addressed
CMD9
—
—
CMD10
—
—
CMD12
—
—

ident
—
—

stby
—
—

Current state
tran
data
—
—
—
—

idle
—

idle
—

idle
—

idle
—

idle
—

idle
—

idle
—

—
—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

stby
—
—

—
stby
tran

—
—
×* 2

—
—
×

—
—
×

—
—
×

—
—
prg

—
—
—

—

—

stby

stby

—

dis

—

—

—
—
—

stby
stby
—

—
—
×

—
—
tran

—
—
prg

—
—
×

—
—
×

—
—
—

CMD13
CMD15
Class1 CMD11Class2 CMD16

—
—
—
—

—
—
—
—

—
—
—
—

stby
ina
—
—

tran
ina
data
tran

data
ina
—
×

rcv
ina
—
×

prg
ina
—
×

dis
ina
—
—

—
—
—
—

CMD17

—

—

—

—

data

×

×

×

—

—

CMD18

—

—

—

—

data

×

×

×

—

—

Class3 CMD20

—

—

—

—

rcv

—

—

—

—

—

rcv
—
—

prg
—
—

dis
—
—

ina
—
—

37

HB288032MM1

idle
—

ready
—

ident
—

stby
—

Current state
tran
data
rcv
×

CMD25

—

—

—

—

rcv

CMD26

—

—

—

—

rcv

CommandClass4 CMD24

rcv
×

prg
rcv

dis
—

ina
—

×

×

rcv

—

—

×

×

×

—

—

CMD27

—

—

—

—

rcv

×

×

×

—

—

Class5 CMD32

—

—

—

—

tran

×

×

×

—

—

CMD33

—

—

—

—

tran

×

×

×

—

—

CMD34

—

—

—

—

tran

×

×

×

—

—

CMD35

—

—

—

—

tran

×

×

×

—

—

CMD36

—

—

—

—

tran

×

×

×

—

—

CMD37

—

—

—

—

tran

×

×

×

—

—

CMD38

—

—

—

—

prg

×

×

×

—

—

Class6 CMD28

—

—

—

—

prg

×

×

×

—

—

CMD29

—

—

—

—

prg

×

×

×

—

—

CMD30

—

—

—

—

data

×

×

×

—

—

Class7 CMD42
—
—
—
—
rcv
—
—
—
—
—
【注】 1. “—”はコマンドが無視され，ステート変更がなく，レスポンスもないことを意味します。
2. “×”は，「不当コマンド」であり，ステート変更がなく，コマンドに対するレスポンスに含まれる，ステータスレジスタのビット 22（ILLEGAL_COMMAND）が ‘1’に設定されることを意
味します。

38

HB288032MM1

レスポンス
すべてのレスポンスは CMD ラインを通じて送信されます。すべてのデータは MSB から始まります。
フォーマット R1（レスポンスコマンド）：レスポンス長 48 ビット
0start bit0
card

bit5...bit0
commandbit31...bit0
statusbit6...bit0
CRC

1
end bit

ステータスフィールドの内容は次章で説明されています。
フォーマット R1b
DA T ラインを通して，カードがビジー信号を送る以外は，R1 フォーマットのレスポンスと同様です。
カードは，R1 b レスポンスを返す必要のあるコマンドを受け取った場合，コマンドを受け付ける直前のカードのステートによっては，ビジーとなることがあります。
フォーマット R2（CID，CSD レジスタ）：レスポンス長 136 ビット【注】 CID と CSD のビット 127 からビット 1 までが転送されます。
予約ビット[ビット 0]はエンド（end）
ビット（値は‘1’）によって置きかえられます。
0start bit0
card

bit5...bit0
reserved

bit127...bit1
CID or CSD register
including internal CRC

1
end bit

CID レジスタは，コマンド CMD2 および CMD10 のレスポンスとして送信されます。
CSD レジスタは CMD9 のレスポンスとして送信されます。
フォーマット R3（OCR）： レスポンス長 48 ビット
0start bit0
card

bit5...bit0
reserved

bit31...bit0
OCR field

bit6...bit0
reserved1
end bit

OC R は， CMD 1 の レス ポン スと して ， カー ドが 対応 して いる 電圧 範 囲を 示す ため に送 られ ます 。
HB 28 80 32 MM1 は，2 .7V から 3 .6V の範囲をサポートします。HB 28 80 32 MM1 の OC R フィールドの全ビ
ットは 0 x8 0FF8 00 0 の値に設定されます。したがって，HB 28 80 32 MM1 の R3 フレームは，カードがレディ（ready）の場合，0x3F00FF8000FF に設定され，カードばビジーの場合，0x3F80FF8000FF に設定されます。

39

HB288032MM1

ステ−タス
フォーマット R1 のレスポンスは，カードステータスと呼ぶ 3 2 ビットのフィールドを含んでいます。このフィールドは，それぞれのカードのローカルなス テータスレジスタに保存されているステータス情報
をホストに転送するためのものです。以下の表は， ステータスレジスタ構造を定義します。表での「タイプ」と「クリア条件」フィールドは以下のようにコード化されています。
l タイプ：
・ E：エラ−ビット
・ S：ステ−タスビット
・ R：コマンド入力に対してステータスを検出し，このビットを設定する。
・ X：コマンド実行中にステータスを検出し，このビットを設定する。ホストは，これらのビットを読み込むためにステータスコマンドを送信してカードをポーリングする必要があります。
l クリア条件：
・ A：カ−ドステ−トに依存する。
・ B：常に前のコマンドに関連しています。正しいコマンドの受信がステータスをクリアします（コマンド 1 つ分の遅延があります）。
・ C：リ−ドによりクリアします。

40

HB288032MM1
ステ−タス
Bits
Identifier
31 OUT_OF_RANGE

Type
Value
E R ’0’= no error’1’= error

Description
コマンド引数がこのカードに対して30 ADDRESS_ERROR E R X ’0’= no error’1’= error

ブロック長とミスアラインしたアド

29 BLOCK_LEN_ERR
OR

転送されたブロック長がこのカード

E R ’0’= no error’1’= error

Clear
condition
C

許可されている範囲外であった。
C

レスがコマンドで使われてた。
Cに対しては不当であるか，転送されたバイトの数がブロック長と一致しない。

28 ERASE_SEQ_ERROR

E R ’0’= no error’1’= error

イレースコマンドのシーケンスでエ

27 ERASE_PARAM

E X ’0’= no error’1’= error

イレースをするための，セクタまたC

ラーが発生した。
C

はグループの選択状況が不当である。

E R X ’0’= not protected ライトプロテクトブロックにライト’1’= protected
しようとした。

C

25 CARD_IS_LOCKED S X ’0’= card unlocked ‘1’に設定されている時は，カードは’1’= card locked ホストによってロックされている。

A

26 WP_VIOLATION

24 LOCK_UNLOCK_FAILEDE R X ’0’= no error’1’= error

カードのロック/アンロック操作

Cで，手順またはパスワードのエラーが発生した時か，ロックされたカードにアクセスしようと試みた場合に‘1’に設定されます。
直前のコマンドの CRC チェックが23 COM_CRC_ERROR

E R ’0’= no error’1’= error

22 ILLEGAL_COMMAND

E R ’0’= no error’1’= error

現在のカードのステートではコマン

21 CARD_ECC_FAILED

E X ’0’= success’1’= failure

カード内部の ECC が適用された

20 CC_ERRORE R X ’0’= no error’1’= error
E R X ’0’= no error’1’= error

カードの内蔵コントローラのエラー

C

オペレーション中に汎用エラーまたC

E X ’0’= no error’1’= error

ストリームリードモードで，カード

19 ERROR
18 UNDERRUN

B

失敗した。
B

ドは不当である。
Cが，データ訂正が失敗した。

は不明エラーが発生した。
Cがデータ転送を続けることができなくなった。

17 OVERRUN

E X ’0’= no error’1’= error

ストリームライトモードで，カードCがデータのライトを続けることができなくなった。

41

HB288032MM1

Bits
Identifier
Type
Value
16 CID_OVERWRITE/ E R X ’0’= no error
CSD_OVERWRITE’1’= error

Description
以下のいずれかのエラーの可能性がClear
condition
Cある。
•CI D レ ジス タはす でに書 き込 まれており，オーバ ーライトは不可能である。
•CS D のリードオン リセクションがカードコンテントと一致しない。
•copy ビット(コピー(COPY=‘1’)と設定 して ある も のを オリ ジナ ル
(COPY= ‘0’) と設 定す る )ま たは パ
ーマネ ント WP ビ ット(ラ イトプ
ロ テ ク ト 済 み (PERM _WR IT E_
PR OTECT =‘1’)と 設定 して ある もの をラ イト プロ テク ト無 し(PERM _WR IT E_PROT ECT =‘0’)と設定する)を，‘1’から‘0’に反転しようとした。

15

WP_ERASE_SKIP

S X ’0’= not protected ライトプロテクトされた WP ブロッ’1’= protected
クがイレース対象領域に存在したたCめ，アドレス空間の一部のみがイレースされた。
14 CARD_ECC_
DISABLEDS X ’0’= enabled’1’= disabled

13 ERASE_RESETS R ’0’= cleared’1’= set

コマンドはカード内蔵の ECC を使A

わずに実行された。
イレースシーケンス外のコマンドがC受信されたため，イレースシーケン
スが，実行前にクリアされた。

12:9 CURRENT_STATE8BUFFER_EMPTY

7:6 reserved

42

S X 0 = idle
1 = ready2 = ident
3 = stby
4 = tran
5 = data
6 = rcv
7 = prg
8 = dis9-15 = reserved
S X ’0’= not empty’1’= empty
Permanently 0

カードの現在のステート。

B

バスのバッファ空きシグナルに相当Aする。

HB288032MM1

Bits
Identifier
5 APP_CMD

Type
Value
S R ’0’= disabled’1’= enabled

Description
カードが ACMD コマンド* 1を受付可

Clear
condition
C

能かどうか，または受け取ったコマ
ンドを，カードが ACMD コマンドだと解釈したかどうかを表す。

4:0 reserved
3:2
1:0

Permanently 0
reserved for application specific commands
reserved for manufacturer test mode

43

HB288032MM1

コマンドレスポンスタイミング
すべてのタイミングダイアグラムは以下のスケマティックと略字を使います。
S：スタ−トビット(=0)
T：トランスミッタビット(ホスト=1, カ−ド=0)
P：1 サイクルプルアップ(=1)
E：エンドビット(=1)
Z：高インピ−ダンス状態(->=1)
D：デ−タビット*：直前のビットの繰り返し
CRC：循環冗長チェックビット（Cyclic redundancy check bits）(7 ビット)
P ビットと Z ビットの間の違いは，P ビットがカードまたはホストの出力ドライバによってアクティブに HIGH に駆動され，Z ビットは，プルアップレジスタ RCMD または RDAT によって HIGH に駆動（または維持）されるということです。アクティブ駆動の P ビットは，クロストークノイズによるビット反転エ
ラーに対して Z ビットよりも耐性があります。HB 28 80 32 MM1 のタイミングに対しては，以下の値が定義されています。
タイミング値
SymbolNCR

Value [clock cycles]
Min
Max
2
64

Description
コマンドとレスポンスの間のサイ
クル数。

NID

5

カード識別またはカードオペレー

5

ション条件コマンドと，対応するレ
スポンスの間のサイクル数。
NAC

2*

1

2

TAAC + NSAC* コマンドとコマンドに関連したデータブロックの開始の間のサイク
ル数。

NRC

8

—

最後のレスポンスと新しいコマンドの間のサイクル数。

NCC

8

—

2 つのコマンドの間のサイクル数（最初のコマンド（例：ブロードキャスト）の後にレスポンスが送信されない場合）。

NWR

2—

ライトコマンドに対するレスポン
スと，関連データブロックの開始の間のサイクル数。

【注】 1. アクセスタイムに関する詳細は「電気的特性」章を参照してください。
2. 「Time-out Conditions」章を参照してください。
ホストコマンドとカードレスポンスは，ホストクロ ックの立ち上りエッジでデータの取り込みが行われます。コマンドレスポンスの後，またはデ−タの終了後には 8 サイクル以上のクロックを入力してください。例えば，レスポンスを返さないコマンド（CMD 15 等）やライトデ−タに対する CRC レスポンス
終了後にも入力してください。クロックを入力しな いとカ−ドのビジ−状態がクリアされない場合があ
ります。

44

HB288032MM1
l カード相対アドレスの割付
ホストコマン ドとカードレスポンスの 間の遅延は，NCR クロック 周期です。以下のタイミ ングダイアグ
ラムがホストコマンド CMD3 に関連しています。

CMD

Host command

NCR cycles

content******S T

CRC E Z

Response
ZS T

content

Host active

CRC E Z Z Z

Card active

コマンドレスポンスタイミング(カ−ド識別(Card Identification)モ−ド)l デ−タ転送モ−ド
ホストからのコマンドの後に，2 つの Z ビット期間があり，その後にレスポンスを返すカードによってプッシュアップされる P ビットが続きます。以下のタイミングダイアグラムは，CMD 1，CMD 2 およびCMD3 以外の，レスポンスが後に続くすべてのホストコマンドに関連しています。
Host command
CMD

S T

content

NCR cycles

CRC E Z Z P***

Response
P S T

Host active

content

CRC E Z Z Z

Card active

コマンドレスポンスタイミング(デ−タ転送(Data Transfer)モ−ド)l カード識別とカードオペレーション条件のタイミング
カード識別 （CMD 2）とカードオ ペレーション条件 （CMD 1）のタイミン グダイアグラムで は，オープ
ンドレーンモードで処理が進みます。ホストコマンドに対するカードからのレスポンスは，ちょうど NID
クロック周期待ってから開始します。

CMD

S T

Host command

NID cycles

content***

CRC E Z

CID or OCR
Z S T

Host active

content

Z Z Z

Card active

識別タイミング(カ−ド識別(Card Identification)モ−ド)l 最後のカードレスポンスから次のホストコマンドまでのタイミング
最後のカードレスポンスを受信した後，ホストは，最低でも NRC クロック周期待ってから，次のコマンドの転送を開始する必要があります。このタイミングはいずれのホストコマンドにも関連しています。
Response
CMD

S T

content
Card active

NRC cycles
CRC E Z******

Host command
ZS T

content

CRC E

Host active

タイミングレスポンスの終わりから次の CMD スタ−ト(デ−タ転送(Data Transfer)モ−ド)

45

HB288032MM1
l 最後のホストコマンドから次のホストコマンドまでのタイミングダイアグラム
最後のコマンド（カードがレスポンスを返さない）が送信された後，ホストは，最低でも NCC クロック
周期待ってから，次のコマンドの送信を始める必要があります。
Host command
CMD

S T

content

NCC cycles

CRC E Z******

Host command
ZS T

content

Host active

CRC E

Host active

タイミング CMDn の終了から CMDn+1 スタ−ト(全モ−ド)
CMD n コマンドが最後の識別 コマンド（カードからもうレスポンスが送信され ない）であった場合，次の CMD n +1 コマンドは，最低でも NCC +1 36 （R2 レスポンスの長さ）クロック周期待ってから，後に続けることができます。
l デ−タアクセスタイミング
データ送信は，データアクセスコマンドのエンドビットから，アクセスタイム遅延 t AC（NAC に相当する）
待ってから開始されます。データ送信は，1 ブロッ ク分のデータを転送した後自動的に停止するか（シングルブロックリード），あるいは，転送ストップ（t ran sfer s to p）コマンドにより停止されます（マルチブロックリード）。
Host command
CMD

S T

content

NCR cycles

CRC E Z Z P***

Host active

Response
P S T

content

Card active
NAC cyclesDAT

Z Z Z ****CRC E

Read data

Z Z Z Z Z Z P ***********P S D D D ***Card active
デ−タリ−ドタイミング(デ−タ転送(Data Transfer)モ−ド)l デ−タ転送ストップ(data transfer stop)コマンドタイミング
カードからのデータ送信は，ストップコマンドを使 って停止することができます。データ送信は，ストップコマンドのエンドビットで直ちに停止します。
Host command
CMD

S T

content

CRC E Z Z P

Host active
DAT

NCR cycles

D D D ***********

Response
P S T

content

CRC E

Card active
D D D E Z Z **********************

Card active
ストップコマンドのタイミング(CMD12, デ−タ転送(Data Transfer)モ−ド)

46

HB288032MM1
l ストリ−ムリ−ドカードからの データの転送は，ホスト からのコマンドのエンド ビットの後，NA C クロック 周期待ってから始まります。バスの状態遷移は，シングルブロッ クリードコマンドと同じです。（データリードタイ
ミングの図を参照してください）
データ転送がブロック単位ではないため，
データストリーム中には CRC
チェックサムは含まれていません。このため，ホス トは転送されたデータの正当性を検査できません。
データストリームの送信はストップコマンドによっ て打ち切られます。この時のバスの状態遷移は，マルチブロックリードを実行している時にストップコ マンドを送った場合と同じです（ストップコマンドのタイミング図を参照してください）。
l シングルまたはマルチブロックライト
ホストは，CMD 7 によって，データライト操作を 行う 1 つのカードを選択します。ホストは，CMD 16
によって，ブロック転送のための正しいブロック長を設定します。ホストは，CMD24 と共にデータを転送します。データブロックのアドレスは，このコマ ンドの引数によって決定されます。カードは，このコマンドに対して，通常通り，CMD ラインを通してレスポンスを返します。ホストからのデータ転送は，
カードレスポンスが受信された後，NWR クロック周期待ってから開始されます。ライトデータは CRC チェックビットを持っており，カードが転送されたデ ータに対して転送エラーがないかどうかを調べることを可能にしています。カードは，ホストに対して（DAT ラインを通して），CRC ステータスとして，
CRC チェックを行った結果を送信します。CRC ステータスは，ライトデータ転送（wri te d at a t ran sfer）
がエラーなし（CRC チェックは失敗しなかった）であったかどうかに関する情報を含んでいます。転送
エラーの場合，カードは ，CRC ステータス（“1 01 ”：バイナリ）を送ります。 これにより，ホストにデータを再送信させます。 エラーなし送信の場合，カードは，CRC ステータ ス（“0 10 ”：バイナリ）を送信し，データライト手続を開始します。
NCR

Host command
CMD

DAT

S T

content

Z Z Z

CRC E

Card response
S T

content

CRC E

Host active

Card active

****

****

Z Z Z Z Z Z Z Z ZNWRZ Z Z Z Z P S

Write data
content
Host active

CMD
Write data
DAT

content
Host active

CRC status
CRC E Z Z S

statusCard busy

E S busy = 'L'

E Z

Card active

L ... pull down to LOW bit

ブロックライトコマンドのタイミング
カードが，空のデータ受信バッファを持っていない場合，カードは，DA T ラインを LO W にプルダウン
することによりそのことを示します。カードは，定 義されたデータ転送ブロック長のデータを収納できる受信バッファが，最低でも 1 つ空になると直ちに，DAT 線のプルダウンを停止します。この通知方法（カードビジー通知）では，データライトステータスに関する情報は送られません。この情報を得るには，ステータスポーリング（status polling）コマンドによってポーリングする必要があります。

47

HB288032MM1
l ストリ−ムライト
カードへのデータ転送は，ストリームライトコマンドに対するカードレスポンスから NWR クロック周期
待ってから始める必要があります。バスの状態遷移は，シングルブロックライトコマンドの場合と同じです。（ブロックライトコマンドのタイミング図を参照してください）データ転送がブロック単位ではないため，データストリーム中には CRC チェックサムは含まれていません。このため，ホストは CRC
チェックを行った結果を受け取ることができません。データストリームの送信はストップコマンドによって打ち切られます。この時のバスの状態遷移は，ブロックライト動作が，ストップコマンドによってデータブロックの転送中に中止された場合と同じです（ストップコマンドのタイミング（ホストからのデータ転送中）図を参照してください）。
Host command
CMD S T

content

NCR cycles

CRC E Z Z P***

Card response
P S T

content

Host command

CRC E

S T

content

Card is programming
DAT D D D D D D D D D D

E Z Z S L *** *** *** *** *** ***E Z Z Z Z Z Z Z Z

ストップコマンドのタイミング（ホストからのデータ転送中）l イレ−スブロックタイミング
ホスト は，最初 に，イレ ースするセ クタにタ グを付ける 必要があ ります。 タグが付け られたセ クタは
CMD 38 を使い一度にイレースされます。ブロックライトの説明中にある，DA T ラインを L レベルにしてカードのビジーを通知する手法（カードビジー通 知）が，イレース実行中であることを示すのに使われます。この場合，カードビジー通知が終ると（DAT ラインが H レベルになる），タグがつけられたす
べてのセクタのイレースが完了したことを示します。ホストはまた，CMD13 を使ってカードに実際のカードステートを送信するよう要求することもできます。
Card response

NCR
CMD

T

content

CRC E

S T

content

CRC E
card is erasingcard busy

Host active

Z Z *********** Z Z Z S L L ******************** L E

DATCard active
Host command
S T

CMD

content

CRC E

Host active
DAT

L

*****

L E Z ********

Card active
L ... pull down to LOW bit
イレ−スオペレ−ションのタイミング

48

HB288032MM1

リセット
GO _ID LE _ST AT E (CMD0 )は，ソフトウェアリセット（s oftw are reset ）コマンドで，HB 28 80 32 MM1 を，現在のステートとは関係なく，Idl e ステートに設定します。Inact iv e ステートでは，HB 28 80 32 MM1 はこのコマンドによっては影響を受けません。パワーオン後，HB 28 80 32 MM1 は常に Idl e ステートとなっています。パワーオンまたは GO _ID LE _ST AT E (CMD0 )コマンドの後，HB 28 80 32 MM1 のすべての出力バ
スドラ イバは， 高インピ ーダンス状 態となっ ており，カ ードは， デフォル トの相対的 カードア ドレス（(“0x0001”)で初期化されます。ホストは，識別クロック周波数 fOD でバスを駆動します。

49

HB288032MM1

SPI コミュニケ−ション
SPI モ ード は Mu lt iMedi aCard のオプ ショ ナルコ ミュ ニケ ーショ ンプ ロトコ ルで す。 このモ ード は，Mu lt iMedi aCard プロトコルのサブセットで，Mo to ro la 系マイクロコントローラの SPI チャネルと通信できます。SPI インターフェ−スは最初の電源立ち上げ後のリセットコマンド(CMD0 )で選択され，一度電源立ち上げ時に選択され ると変更することはできません。SPI スタンダード は，完全なデータ転送プロ
トコルではなく，物理的リンクのみを定義します。MultiMediaCard に組み込まれた SPI は，MultiMediaCard
プロトコルとコマンドセットのサブセットを使います。これは，少数（通常 1 つ）のカードから構成さ
れ，低いデータ転送レート（Mu lt iMedi aCard プロトコルベースのシステムと比較して）を持つシステム
によって使用されるのを目的としています。アプリケーションの観点から見ると，SPI モードの利点は，市販のホストを使うことができ設計期間を短縮することができることです。欠点は，Mu lt iMedi aCard に対して，SPI システムのパフォーマンス損失です（より低いデータ転送レート，より少ないカードなど）。
Mu lt iMedi aCard チャネルはコマンドとデータビットストリーム（スタートビットにより起動され，そして，ストップビットによ って終了される）に基づいていますが，SPI チャネ ルはバイト指向です。各コ
マンドまたはデータブロックは，8 ビットバイトで構成されており，CS 信号にバイト整列されています。
（つまり，長さは 8 クロックサイクルの倍数となります。）SPI メッセージは，Mu lt iMedi aCard プロトコルに類似しており，コマンド，レスポンスそしてデ ータブロックトークンから構成されています。ホス
トとカード間のすべての通信は，ホストによって制御されます。ホストは，CS 信号を low にアサートすることにより，各バストランザクションを開始します。SPI モードでのレスポンスは，以下の 3 つの点に関して，MultiMediaCard モードと異なっています。
l 選択されたカードは常にコマンドに応答する。
l 8 ビット幅のレスポンス構造が使われる。
l カードがデータ訂正で問題に遭遇すると，カードは，MultiMediaCard モードでのタイムアウトではな
く，エラーレスポンス（データブロックの期待値の代わりに）で応答します。
SPI モードでは，シングルブロックのリードおよびライトオペレーションのみがサポートされています。
コマンドレスポンスの他に，ライトオペレーション の間にカードに送信された各データブロックは，データレスポンストークンで応答されます。データブ ロックは，セクタの大きさや，単一バイトほどの小さなサイズになります。パーシャルブロックリード／ライトオペレーションは，CSD レジスタで指定されたカードオプションでイネーブルの場合は使用できます。

モ−ド選択
MultiMediaCard は，MultiMediaCard モードで起動します。MultiMediaCard は，リセットコマンド（CMD0）の受信中に CS 信号が Lo w にアサートされると，SPI モードに入ります。カードが Mu lt iMedi aCard モードとして選択されていることを認識すると，カードはコマンドには応答せず，Mu lt iMedi aCard モードを維持します。SPI モードとして選択されれば，カードは SPI モードに切り替わり，SPI モードの R1 レス
ポンスを 返します。Mu lt iMedi aCard モー ドに戻る唯一の 方法は，パワーサ イクルに入ること です。SPI
モードでは，Mu lt iMedi aCard プロトコルのステートはあ りません。SPI モードでサポートされているす
べての MultiMediaCard コマンドは常に使用可能です。

50

HB288032MM1

バス転送プロテクト
バスで転送されるそれぞれの MultiMediaCard トークンは，CRC ビットによってプロテクトされています。
SPI モードでは，Mu lt iMedi aCard は非プロテクトモードを提供し，それにより，CRC 生成機能および検証機能を構築するのに必要なハードウェアやファー ムウェアがなくても，システムが信頼性のあるデー
タリンクをできるようになります。非プロテクトモードでもコマンドの CRC ビット，レスポンス，そしてデータトークンはトークンとして必要とされます。しかし，それらは送信側に対しては“d on ’t care”として定義され，受信側に よって無視されます。SPI インターフェースは，非 プロテクトモードで初期化されます。ホストは，CRC_ ON _O FF コマンド（CMD 59 ）を使って，このオプションをオン・オフすることができます。

デ−タリ−ド概略
SPI モードは，単一のブロックリードオペレーション（Mu lt iMedi aCard プロトコルの CMD 17 ）のみをサ
ポートします。正しいリードコマンドを受信すると ，カードは，レスポンストークンを応答した後，前の SET_BLOCKLEN (CMD16)コマンドで定義された長さのデータトークンを応答します。
from
host
to card

Data infromcard
to hostdata from card
to hostcommandcommand

Data out

Next
commnand

response

data block CRC

リ−ドオペレ−ション
正しいデータブロックは，スタンダード CCITT 多項式により生成される 16 ビットの CRC がつけられます。
x 16 + x 12 + x 5 +1.
最大ブロック長は，CSD で定義されている READ_BL_LEN で指定されます。パーシャルブロックが許可されている場合（つまり，CSD パラメータ RE AD_ BL_ LE N が 1 ），ブロック長は，1 から最大ブロック
サイ ズの 間の 値と なりま す。 許可 され ていな い場 合， データ リー ドに 対し て正し いブ ロッ ク長 は，READ_BL_LEN によって指定されます。スタートアドレスは，カードの正しいアドレス範囲でのいずれかのバイトアドレスとなります。しかし，それぞれ のブロックは，1 つの物理セクタに格納されなければなりません。データ読み出しエラーの場合，カードはいずれのデータをも送信しません。その代わり，
特別なデータエラートークンがホストに送信されます。図「リードオペレーション：データエラー」は，
データブロックの代わりに，エラートークンで終了したデータリードオペレーションを示します。
from
host
to card

Data in

Data out

fromcard
to hostdata error token
Nextfrom card to host commnand

commandcommand

response

data error

リ−ドオペレ−ション：デ−タエラ−51

HB288032MM1

デ−タライト概略
リードオペレーションと同様に，SPI モードでは Mu lt iMedi aCard はシングルブロックライトコマンドのみをサポートしています。カードが，正しいライトコマンド（Mu lt iMedi aCard プロトコルでの CMD 24 ）を受信すると，カードは，レスポンストークンを応 答した後ホストからデータブロックが送られるのを待ちます。CRC 付加，ブロック長およびスタートアドレスに関する制限は，リードオペレーションと同じです（パーシャルブロックライトオペレーションを制御する CSD パラメータ WRITE_BL_PARTIAL がイネーブルの場合は例外です）。
from
host
to card

Data in

Data out

fromcard
to hostcommanddata fromhost
to carddata
response andbusy fromcard

new commandfrom hostcommanddata block

response

data_response busy

ライトオペレ−ション
データブロックが受信された後，カードはデータレ スポンストークンで応答します。データブロックがエラーなしで受信された場合，そのデータブロック はプログラムされます。カードがプログラミングに専念し ているかぎり ，ビジートー クンの継続的 ストリームが ホストに送信 されます（実 際上，Dat aOu t
ライ ンを Lo w に維持し ます） 。いっ たんプ ログラ ミングオ ペレー ション が完了 すると， ホスト は，
SE ND_ STA TU S コマンド(CMD1 3)を使って，プログラミングの結果を確認する必要があります。いくつかのエラー（例：範囲外アドレス，ライトプロテク ト違反など）は，プログラミング中にのみ検出されます。データブロックが正しいことを検証する唯一 の方法は，データレスポンストークンを通してホストに送信される CRC をチェックすることです。カードがビジーの期間中の CS リセット信号では，プロ
グラミングプロ セスを終了しません。カード は，Dat aOu t ライン（t ri -st ate）をリリース し，プログラミ
ングを継続します。カードが，プログラミング 完了以前に再選択されると，Dat aOu t ラインは，Lo w に強制的に戻され，すべてのコマンドは拒否されます。カードをリセットすることは（CMD0 を使って），すべてのペンディングされているかアクティブなプログラミングオペレーションを終了します。これは，カードでのデータフォーマットを壊します。これを防止するのはホストの責任です。

52

HB288032MM1

イレ−スおよびライトプロテクトの管理
SPI モードでのイレースとライトプロテクト の管理プロシージャは，Mu lt iMedi aCard モードのものと同じです。カードは事前に定義されているセクタリス トのライトプロテクトビットをイレースしたり変更したりしている間，カードはビジー状態になり，DataOut ラインを Low に維持します。図「No Data オペ
レーション」は，ビジー信号を返す場合とビジー信 号を返さない場合のバストランザクションを示して
います。
from
host
to card

Data infromcard
to hostfromcard
to hostcommandcommand

Data out

fromhost
to cardresponse

response busy

‘No Data’オペレ−ション

CID/CSD レジスタリ−ド
Mu lt iMedi aCard プロト コル（レジスタ内 容はコマンドレ スポンスとして送 信される）とは異 なり，SPI
モードでの CSD レジスタおよび CIDレジスタの内容を読み込むことは単純なリードブロックトランザクションです。カードは，標準のレスポンストークン （参照：図「リードオペレーション」）で応答します（後ろに 16 ビット CRC が付加された 16 バイトのデータブロックで応答します）。CSD コマンドのデータタイムアウトは TAAC で規定することはできません。この値が CSD の中に書かれているためです。
このため，標準のレスポンスタイムアウト値(NCR)が CSD レジスタの読み出しレイテンシに用いられます。

リセットシ−ケンス
MultiMediaCard は定義されたリセットシーケンスを必要とします。パワーオンリセットまたは CMD0（ソフトウェアリセット）の後，カードはアイドル（Idle）ステートに入ります。この状態で，唯一合法的なホストコマンドは CMD1 (SEND_OP_COND)と CMD58(READ_OCR)です。しかし，SPI モードでは，CMD1
はオペランドを持たず，OCR レジスタの内容を含んだレスポンスを返しません。その代わりにホストはCMD58（SPI モードのみで使用可）を使用して OCR レジスタを読み出すことができます。カードがサポートしていない電源電圧でのアクセスはホスト側で行わないようにしてください。CMD58 は初期化の時にのみに制限されている訳ではなく，いつでもホス トは発行することができます。カードレスポンスの‘in-idle-state’ビットにより，カードがその初期化プロセスを完了し，そして，次のコマンドに対してレデ
ィであることを示す（0 に設定されることにより）まで，ホストはカードをポーリング（CMD 1 を繰り返して送信することにより）しなければなりません。

53

HB288032MM1

エラ−条件
Mu lt iMedi aCard プロトコルとは異なり，SPI モードでは， コマンドに対してカードは常に応答します。
そのレスポンスは，コマンドを受け付けたか否かを示します。コマンドは，サポートされていない場合，
CRC チェックが失敗した場合，不当なオペランドを含んでいる場合，あるいは，イレースシーケンスの間シーケンス外であった場合に拒否されます。

メモリ配列の区分
MultiMediaCard モ−ドと同じです。

カ−ドロック・アンロック
SPI モードにおけるカードロック・アンロックは Mu lt iMedi aCard モードと同じです。どちらのモードもコマンドのレスポンスのタイプは R1b です。ビジー信号がクリアされた後，ホストは SEND_STATUS コ
マンドでロックコマンドの実行結果を調べてくださ い。詳細は「カードロック・アンロック動作」章を参照してください。

コマンド
すべての Mu lt iMedi aCard コマンドは 6 バイトの長さです。コマンド送信は，常に，コマンドコードワー
ドに対応するビットストリングの左側ビットで開始されます。すべてのコマンドは CRC によって保護されています。以下の表にコマンドと引数がリストされています。
Bit position
[47]
[46]
[45:40][39:8][7:1][0]
Width (bits)
1
1
6
32
7
1
Value
‘0’
‘1’
×
×
×
‘1’
Description

start bittransmission bit command index

argument

CRC7

end bit

以下の表は，SPI バスコマ ンドを詳細説明しています。レスポンスは「レス ポンス」章で定義されています。表「コマンドと引数」はすべての MultiMediaCard コマンドを示しています。SPI モード欄での“yes”
は，コマンドが SPI モードでサポートされていることを示します。これらの制限の下で，CSD でのコマンドクラス説明は有効です。コマンドが引数を必要 としない場合，このフィールドの値はゼロに設定されなければなりません。予約されているコマンドは，Mu lt iMedi aCard モードでも予約されます。コマン
ドのバイナリコードは，ニーモニックシンボルにより定義されます。例えば，CMD 0 に対するコマンド
インデックスフィールドの内容は（バイナリ）‘000000’で，CMD39 に対しては‘100111’です。

54

HB288032MM1
コマンドと引数
CMD index SPI mode
CMD0
Yes
CMD1
CMD2
CMD3
CMD4
CMD5
CMD6
CMD7
CMD8
CMD9

Yes
No
No
No
reserved
reservedNo
reserved
Yes

Argument
None
None

None

Resp
Abbreviation
Command description
R1 GO_IDLE_STATE MultiMediaCard をリセットする。
R1

R1

SEND_OP_
COND

カードの初期化プロセスを起動す

SEND_CSD

選択されているカードにそのカードる。

特有のデータ（CSD）を送信するよう要求する。
CMD10

Yes

None

R1

SEND_CID

選択されているカードにそのカード
識別データ（CID）を送信するよう要
求する。

CMD11
CMD12
CMD13

No
No
Yes

None

R2

SEND_STATUS

選択されているカードにそのステー
タスレジスタを送信するよう要求す
る。

CMD14
CMD15
CMD16

reservedNo
Yes[31:0] block length R1

SET_BLOCKLEN すべての後続ブロックコマンド（リードおよびライト）に対してブロック長（バイト単位）を選択する。* 1

CMD17

Yes

[31:0] data
address

R1

READ_SINGLE_ SET_BLOCKLEN コマンドにより設BLOCK定されているサイズのブロックを読み出す。* 2

CMD18
No
CMD19 reserved
CMD20
No
CMD21... reserved
CMD23

55

HB288032MM1
CMD index SPI mode
CMD24
Yes

Argument[31:0] data
addressResp
Abbreviation
R1b*3 WRITE_BLOCK

Command description
SET_BLOCKLEN コマンドにより設定されているサイズのブロックを書き込む。* 4

CMD25
CMD26
CMD27

No
No
Yes

None

R1b PROGRAM_CSD CSD のプログラマブルビットのプロ
グラミング。

CMD28

Yes[31:0] data
address

R1b SET_WRITE_
PROT

カードがライトプロテクト機能を持っている場合，このコマンドは，ア
ドレス指定されたグループのライト
プロテクトビットを設定する。ライ
トプロテクトの特性は，カード特有データ（WP_GRP_SIZE）でコード化されている。

CMD29

Yes

[31:0] data
address

R1b CLR_WRITE_
PROT

カードがライトプロテクト機能を持っている場合，このコマンドはアドレス指定されたグループのライトプ
ロテクトビットをクリアする。

CMD30

Yes

[31:0] write
protect data
address

R1

SEND_WRITE_
PROT

カードがライトプロテクト機能を持っている場合，このコマンドは，カードにライトプロテクトビットのステータスを送信するよう要求する。* 5

CMD31
CMD32

reserved
Yes

CMD33

Yes

[31:0] data
address

R1

TAG_SECTOR_
START

イレースグループの最初のセクタの[31:0] data
address

R1

TAG_SECTOR_
END

選択されているイレースグループ内

アドレスを設定する。
の連続した範囲にある最後のセクタのアドレスを設定するか，イレースに選択される単一のセクタのアドレスを設定する。

CMD34

Yes

[31:0] data
address

R1

UNTAG_SECTOR イレース選択から，以前に選択され

CMD35

Yes

[31:0] data
addressR1

TAG_ERASE_
イレースに選択される範囲内にある
GROUP_START 最初のイレースグループのアドレスている 1 セクタを削除する。

を設定する。
CMD36

Yes[31:0] data
addressR1

TAG_ERASE_GROUP_END

イレースに選択される連続範囲内にある最後のイレースグループのアドレスを設定する。

CMD37

Yes

[31:0] data
address

R1

UNTAG_ERASE_ イレース選択から，以前に選択されGROUPている 1 つのイレースグループを削
除する。

CMD38

Yes

[31:0] stuff bits

R1b ERASE

以前に選択されているすべてのセク
タをイレースする。

CMD39
CMD40

56

No
No

HB288032MM1

CMD index SPI mode
CMD41 reserved
CMD42
Yes

Argument

Resp[31:0] stuff bits

R1b

Abbreviation

Command description

LOCK/UNLOCK パスワードの設定・解除，カードロック・アンロックを行う。データブ
ロックの詳細は「カードロック・アンロック」章を参照。データブロッ
クのサイズは SET_BLOCK_LEN コ
マンドで設定する。

CMD43... reserved
CMD57
CMD58
Yes
CMD59

Yes

None

R3

READ_OCR

OCR レジスタリード[31:1] stuff bits
[0:0] CRC option

R1

CRC_ON_OFF

CRC オプションをオン・オフにする。CRC オプションビットの‘1’はオ
プションをオンにし，‘0’はオフにす
る。

CMD60
No
【注】 1. デフォルトのブロック長は CS D で指定されているものです。HB 288032MM 1 では，CS D でWR IT E_BLK_PAR TI AL が 0 に設定されており，ライト時のブロックサイズは 512 バイト固定です。
2. 転送されるデータは，CSD で READ_BLK_MISALIGN が設定されていないかぎり，物理的ブロ ッ ク 境 界 線 を 越 え る こ と は で き ま せ ん 。 HB 288032MM 1 で は ， CS D で
RE AD_BLK_M ISALI GN が 0 に設定されており，物理ブロック境界線を越えることはできません。
3. R1b: レスポンスの後にビジー信号を持つ R1 レスポンス。
4. 転送されるデータは，CS D で WR IT E_BLK_M ISALI GN が設定されていないかぎり，物理的
ブロック境界線を越えることはできません。
5. 32 ライトプロテクトビット（指定されたアドレスで始まる 32 個のプロテクトグループを表す）とその後に続く 16 個の CRC ビットが，データラインを通じて，ペイロードフォーマッ
トで転送されます。プロテクトビットの最後 （最下位）のビットは，最初のアドレス指定されたグループに対応します。最後のグループ のアドレスが，正しい範囲の外側になる場合，対応するライトプロテクトビットはゼロに設定されます。

57

HB288032MM1

レスポンス
レスポンストークンにはいくつかの種類があります。MultiMediaCard モードのように，すべては MSB が最初に送信されます。
l フォ−マット R1
このレスポンストークンは，SE ND_ STA TU S コマンド以外，それぞれのコマンドの後にカードから送信されます。レスポンストークンの長さは 1 バイトで，MSB は常にゼロに設定されています。他のビットはエラーを示すビットで，それぞれのエラーは‘1’によって示されます。R1 フォーマットの構造は，図「R1
レスポンスフォーマット」で示されています。フラグの意味は以下のように定義されています。
・ In idle state（アイドル状態にある）: カードはアイドル状態にあり，初期化プロセスを実行している。
・ Erase reset（イレースリセット）: イレースシーケンス外のコマンドが受信されたため，実行
前にイレースシーケンスがクリアされた。
・ Illegal command（不当コマンド）: 不当コマンドコードが検出された。
・ Communication CRC error（通信 CRC エラー）: コマンドの CRC チェックが失敗した。
・ Eras e s equ ence error（イレースシーケンスエラー）: イレースコマンドのシーケンスでエラーが発生した。
・ Ad dres s error（アドレスエラー）: ブロック長にマッチしなかったミスアラインアドレスがコマンドで使われている。
・ Pa ram eter error（パラメータエラー）: コマンドの引数（例：アドレス，ブロック長）が，このカードの許容範囲外である。

700in idle stateerase reset
illegal command
com crc error
erase sequence error
address error
parameter error
R1 レスポンスフォ−マットl フォ−マット R1b
このレスポンストークンは，ビジー信号がレスポンストークンの後に追加されること以外，R1 フォーマットと同じです。ビジー信号トークンは任意のバイト数となります。‘0’はカードはビジーであることを示します。‘1’はカードが次のコマンドを受け入れる準備ができていることを示します。

58

HB288032MM1
l フォ−マット R2
このレスポンストークンは 2 バイト長で，SE ND_ STA TU S コマンドに対するレスポンスとして送信されます。そのフォーマットが図「R2 レスポンスフォーマット」で示されています。
1. Byte7

2. Byte0 7

00card is locked
wp erase skip | lock/unlock command failederror
CC errorcard ecc failed
wp violationerase paramout of range
in idle stateerase reset
illegal command
com crc error
erase sequence error
address error
parameter error
R2 レスポンスフォ−マット
最初のバイトはレスポンス R1 と同じです。2 番目のバイトの内容が以下に説明されています。
・ Out o f rang e（アウトオブレンジ）: コマンドの引数がこのカ−ドに対して許可されている範囲外であった。
・ Erase param（イレースパラメータ）: イレース時のセクタまたはグループ選択違反。
・ Write protect violation（ライトプロテクト違反）: ライトプロテクトされているブロックに書
き込みを行おうとした。
・ Card ECC failed（カード ECC フェイル）: カード内部 ECC が適用されたが，データを訂正す
るのに失敗した。
・ CC error（CC エラー）: 内部カードコントローラエラー。
・ Error（エラー）: オペレーションに発生した汎用エラーまたは不明エラー。
・ Write protect erase skip | lock/unlock command failed（ライトプロテクトイレーススキップ）|（ロック・アンロックコマンドフェイル）: このビットは 2 つの機能があり，ホストがライト
プロテクトされ たセクタにイレースを行った 時とカードロック・アンロック 動作にシーケン
スまたはパスワードにエラーが発生した時にセットされる。
・ Ca rd i s l ocked（カードロック状態）: ユーザーによってカードがロックされている時にセットされる。アンロックされるとこのビットはクリアされる。

59

HB288032MM1
l フォ−マット R3
このレスポンストークンは RE AD_ OCR コマンドを受信した時にカードから送られます。レスポンス長
は 5 バイトです（図「R3 レスポンスフォーマット」参照）。最初のバイト（MSB）構造は R1 レスポン
スと同じです。他の 4 バイトに OCR レジスタが含まれています。
32 31

39

0

0

0
R1

OCR

R3 レスポンスフォ−マット
l デ−タレスポンス
カードに書き込まれるそれぞれのデータブロックは ，データレスポンストークンによってデータが受け取られたことが確認されます。これは 1 バイト長で，以下のフォーマットとなっています。
70× × × 0status1

デ−タレスポンス
ステータスビットの意味は以下のように定義されています。
‘010’ – データが受け入れられた。
‘101’ – CRC エラーによりデータは拒否された。

デ−タト−クン
リードコマンドとライトコマンドは，デ−タト−ク ンとしてデータ転送を行います。すべてのデータバ
イトは MSB が最初に転送されます。データトークンは，4 バイトから 2 05 1 バイトの長さで，以下のフォーマットとなっています。
l 第 1 バイト：スタートバイト

70

1 1 1 1 1 1 1 0
スタ−トバイトl バイト 2-2049（データブロック長に依存する）：ユーザデータ
l 最後の 2 バイト：16 ビット CRC

60

HB288032MM1

データエラ−トークン
リードオペレーションが失敗し，カードが求められ ているデータを提供できない場合，カードはその代わりにデータエラートークンを送信します。このトークンは 1 バイトの長さで以下のフォーマットとなっています。
70

0 0 0 0Error
CC Error
Card ECC failed
out of range
データエラ−トークン
4 個の最下位ビット（LSB）は，応答フォーマット R2 と同じエラービットです。

61

HB288032MM1

SPI バスタイミング
すべてのタイミングダイアグラムは以下のスケマティックと略語を使います。
H: 信号が high である。（論理‘1’）
L: 信号が low である。（論理‘0’）
X: Don’t care
Z: 高インピーダンス状態（-> = 1）*: 直前のビットの繰り返し
Busy: ビジートークン
Command: コマンドトークン
Response: レスポンストークン
Data block: データトークン
すべてのタイミング値は表「タイミング値」で定義されています。ホストは，カード応答を受信した後，最低 NCR クロックサイクルの間，クロックを動かし続ける必要があります。この制限は，コマンドとデータレスポンストークンの両方に適用されます。

コマンド/レスポンス
l ホストコマンドからカードレスポンス（カードがレディの場合）

CS

H H L L L******************

L L L L H H HNECNCS
Datain

X X H H H H

6 bytes command

H H H H H*******H H H H X X X

1 or 2 bytes response

H H H H H Z Z

NCR
Dataout

Z Z Z H H H H*******H H H H H

l ホストコマンドからカードレスポンス（カードがビジーの場合）

CS H L L L******************

NCS
Datain X H H H H

L L L L H H H
NEC

6 bytes command

NDS

L L L L L L H H
NEC

H H H H H H H H H H H H H X X X H H H H H H X X
NCR

Dataout Z Z H H H H

62*******H H H H card responsebusy

L Z Z Z busy H H H H Z

HB288032MM1
l カードレスポンスからホストコマンド

CS
Datain

L L L L L******************H H H H H H*********H H H H

L L H H H

6 Bytes command

H H H H X X X*************H H H H H Z Z

NRC
Dataout

H H H H H

1 or 2 bytes response

H H H Hl デ−タリ−ドCS

H L L L******************

L L L L H H HNECNCS
DatainDataout

X H H H H

Read command

Z Z H H H H*******H H H H H**********

NCR

NAC

H H H X X X

H H H H Card response H H H H

Data block

H H Z Zl CSD レジスタリ−ド

CS H L L L******************

L L L H H H HNECNCS
Datain X H H H Hread command

Dataout Z Z H H H H*******H H H H H*******NCRNCR

H H H X X X X

H H H H card response H H H H data block H H H H Z Z Z

l デ−タライト

CS

H L L

******************

L H H

H H

*******

H X X

Data
resp

Busy * Busy H Z

NWR

NCS
Datain*******

L L L LX H H H Write command

H H H H****H H H H

Data block

NCR
Dataout

Z Z H H H*******

H H H

Card
response

H H H H H H H H

63

HB288032MM1

タイミング値
Symbol
Min
Max
NCS
0
—
NCR
1
8
NRC
1
—
NAC
1
spec. in the CSD
NWR
1
—
NEC
0
—
NDS
0
—
【注】 1. 「Time-out Conditions」章を参照してください。

64

Unit
8 clock cycles
8 clock cycles
8 clock cycles
8 clock cycles
8 clock cycles
8 clock cycles
8 clock cycles

HB288032MM1

エラ−処理
カードのメモリフィールドでエラーを訂正するため に，システムはペイロードデータにエラー訂正コード（EC C）を含ませる場合があります。この訂正は ，スタティックエラーを訂正するためのものです。
データ転送中に引き起こされるエラー（ダイナミックエラー）を検出するために，さらに 2 種類の方法が組み込まれます。このエラー検出方法は，循環冗長チェック（CRC: cyclic redundancy check）で行われます。

エラ−訂正コ−ド(ECC)
HB 28 80 32 MM1 はスタティックエラーがありません。すべてエラーはカード内で対処されています。さらに，HB288032MM1 の起動中（livetime）に発生するエラーもカ−ド内で対処されています。ユーザが気づく唯一の影響は，メモリ総容量が，少数のブロ ック分少なくなることでしょう。フラッシュメモリとのデ−タのやりとりはすべてカード内で行われ， 外部エラー訂正は必要ありません。

循環冗長チェック(CRC)
EC C の 目的 は ， カ ー ドの メ モ リ フ ィー ル ド の エラ ー か ら HB 28 80 32 MM1 を保 護 す る こ とで す 。
Mu lt iMedi aCard バスでの転送（ダイナミックトランスポート）中に発生するエラーに対して，データを保護するために，さらに循環冗長チェック（Cy cl ic Redu nd ancy Ch eck (CRC)）機能が組み込まれています。MultiMediaCard スタンダードに準拠して，HB288032MM1 は 2 種類の異なる CRC コードを使い，データを保護し，そして，カードとホストの間のコマンド／レスポンスを保護しています。ECC とは異なり，CRC は，転送エラーのみを探知するもので，エラーを“o n t he fly ”（データ転送時）に訂正するもの
ではありません。CRC エラーが探知されると，ホストはそれに対応しなければなりません。これは，通常，最後のコマンドを繰り返すことで行われます。最初の CRC コードは，コマンドフレームとレスポン
スフレームを保護するためのものです。また，それ らは，データストリームを同期するためにも使われます。この CRC は，以下の多項式で作成され，そして，チェックされます。
CRC polynomial: G(x) = x 7 + x 3 + 1
M(x) = (start bit) * x 39 +...+ (last bit) * x 0
CRC[6...0] = Remainder [(M(x) * x 7)/G(x)]それぞれのコマンドに対して，HB288032MM1 で 1 つの CRC がチェックされます。それぞれのレスポン
スに対して，HB288032MM1 で CRC が生成されます。HB288032MM1 からリードされたそれぞれのデー
タブロックの後に，2 番目の CRC で生成された冗長ビットが続きます。コードは，2048 バイトまでのペイロード長に対して使用可能です。
CRC polynomial: G(x) = x 16 + x 12 +x5 + 1,
M(x) = (start bit) * x n + x n-1 +...+ (last bit) * x 0, with n < 2048*8
CRC[15...0] = Remainder [(M(x) * x 16 ) / G(x)]MultiMediaCard モードでは両方の CRC はカードとホストに対して必須です。

65

HB288032MM1

電源
電源デカップリング
VSS1，VSS2 および VCC ラインはカードに動作電圧を供給します。これに対して，電流ピークをバッファするためのデカップリングキャパシタが使われていま す。これらのキャパシタは，対応する図「電源デカップリング」でのバス側に配置されます。カ−ド端子から 1 3mm 以内に 1 個以上の 0 .1µF キャパシタを配置してください。
Lmax = 13 mmsingle card slot

VSS1
C
VCC

MultiMediaCard

VSS2
single card slot

C = 0.1 µF

電源デカップリング
また，ホスト側にはカ−ド 1 枚あたり 1µF 相当以上のキャパシタを接続してください。

66

HB288032MM1

パワ−オン
各カードには電源検出回路があります。これにより ，カードは，パワーオン後に定義されている状態になります 。リセット信 号は必要ありま せん。また，カ ードは，特別 なソフトウェア コマンド
（GO _ID LE _ST AT E (CMD0 )）によってもリセット可能です。緊急時ホストは，電源をオフにして，再度オンに切り替えることによりカードをリセットすることもできます。
CLK CMDDAT

VCC
Power updetection

ASYNC.RESET

commandparserENABLE

core
controller

memorycore

VSS
MultiMediaCard controller
電源検出
パワーオンリ セットは，VCC が特定の範 囲内であるかぎり，オン チップで発生します。こ のリセットの後，HB 28 80 32 MM1 のコマンド受け付けは正しく機能しますが，メモリコアへのアクセスは保証されません。したがって，パワーアップフェーズで（あるいは HB288032MM1 がパワーアップ中に挿入された場合），ホストは，SE ND_ OP_ CON D (CMD1 )を送信した後，カードにより AL L_ SEN D_ CID (CMD2 )が受け付けられるまで，パワーアッププロシージャの間待つ必要があります。必ず CMD1 に対するレスポ
ンス（R3）がレディになってから CMD2 を発行してください。

67

HB288032MM1

3.6 V
Bus master supply voltage
Card logic working
voltage range

2.7 V

Memory fieldworking voltage
range

2.0 V

Time
Power up time

Supply ramp up time

Initialization sequence

CMD1

Initialization delay: The maximum of
1 msec, 74 clock cycles and supply
ramp up time

NCC

CMD1

NCC

CMD1

NCC

CMD2

Optional repetitions of CMD1
until no cards are responding
with busy bit set.

パワ−アップダイアグラム
l パワーアップ後（ホット挿入を含む（バスが動作している時のカード挿入）），MultiMediaCard はア
イドルステートになります。この状態の間，MultiMediaCard は，CMD1 が受信されるまで，すべてのバストランザクションを無視します。
l CMD 1 は特別な同期 化コマンドで動作電圧範囲の確 認とカードがパワーアップシー ケンスを終了するまでカードを ポーリングするのに使われます 。カードの動作電圧プロファイ ルの他に，CMD 1 へのレスポンスはビジーフラグを含みます。（このビジーフラグは，カードがそのパワーアッププロシ
ジャを行っている最中で，レスポンスにはまだレディではないことを示します。）このビットは，ホストに対して，最低でも 1 枚のカードがレディでないことを通知します。ホストは，このビットがクリアされるまで待つ（そして，カードのポーリングを継続する）必要があります。
l 個々のカード，そして Mu lt iMedi aCard システム全体をアイドルステートから抜け出させるのはホストの役割です。パワーアップ時間とサプライランプアップ（supply ramp up）時間は，MultiMediaCardの最大数，バス 長および電源装置などのアプリ ケーションパラメータに依存す るため，CMD 1 を転送する前に，ホ ストは電源を動作レベル（CMD 1 で 指定されるのと同じレベル）に 到達させなければなりません。
l パワーアップ後，ホストはクロックを開始し，CMD ラインで初期化シーケンスを送信します。このシーケンスは，論理‘1 ’の連続ストリームです。このシーケンスの長さは，最大 1 msec で，7 4 クロッ
ク，または，サプライランプアップ時間（supply-ramp-up-time）となります。追加の 10 クロック（カードが通信にレディ（ready）になった後の 64 クロックを通じて）が，パワーアップ同期化プロセス
での問題をなくすために必要です。

68

HB288032MM1

ショ−トカットプロテクション
HB 28 80 32 MM1 は損傷を引き起こすことなく，バスに挿入したり，バスから取り外したりすることができます。ただし，動作中に挿抜した場合はカ−ド内 のデ−タが破壊されることがあります。電源供給ピン（VCC または VSS）の 1 つが正しく接続されていない場合，電流はコマンドラインまたはデータライン
から流れ込んでしまいます。当然，カードはこの状態では正しく機能することができません。
VCC
VCC not connectedcard
controller

CMD, DATVSS not connected

VSS
不当な電源供給
HB288032MM1 の全ての出力はいずれの電源供給へのショートカットにも耐えるようになっています。

CMD, DAT

worst case shortcut

VCC
Ishortcard
controller
IshortVSS
connector

ショートカットプロテクション

69

HB288032MM1

特性
この章は，以下の特性を定義します。
l 温度特性l 電気特性

温度特性
Parameter
Storage temperature
Operating temperature
Junction temperature

Symbol

Min
–40
–25
–20

Max
85
85
95

Unit
˚C
˚C
˚C

電気特性
この章では，HB288032MM1 の電気的特性が 3 段階で定義されています。
l パッド特性：外部コネクタの特性。
l 絶対最大定格：これを超えるとカードは損傷する可能性があります。
l 推奨動作条件：HB288032MM1 環境の特性モデル，動作特性に対する必要条件。

l 動作特性：HB288032MM1 の特性（測定可能な）（推奨動作条件下）。
パッド特性
Parameter
Input capacitance

Symbol
CCARD

Min

Typ

Max
7

Unit
pF

絶対最大定格
絶対最大定格は，その値を超えるとデバイスへの損 傷が発生するとされる値です。これらの条件の下での，または，この仕様の動作の項で示されている値 を超える他の条件の下での機能的オペレーションは行うことはできません。
Parameter
SymbolMin
Max
Unit
RemarkSupply voltage
VCC
–0.5
4.6
V
Total power dissipation
0.2
W
ESD protection–44kV
Human body model
Inputs
Input voltage
VImax
–0.5
VCC + 0.5V≤ max (VCC)
Outputs Output voltage
VOmax
–0.5
VCC + 0.5V≤ max (VCC)
High-level output
I OHmax–100
mA
short cut protectedcurrent
Low-level output current I OLmax
150
mA
short cut protected70

HB288032MM1

推奨動作条件
推奨動作条件は，HB288032MM1 の最適パフォーマンスと耐久性に対してパラメータ範囲を定義します。
Parameter
Symbol
Min
Typ
Max
Unit
RemarkSupply voltage
VCC
2.7
3.0
3.6
V
Inputs Low-level input current
VIL
VSS – 0.3
0.25V CCV
High-level input current
VIH
0.625V CC
VCC + 0.3
V
Outputs High-level output
I OH
–2
mA
current
Low-level output
I OL
6
mA
current
Clock
Clock frequency data
f PP
0
20
MHz CL < 100 pF
input
transfer mode (pp)(10 cards)
clk*1
Clock frequency ident.
f OD
0
400
kHz
mode (od)Clock cycle time data t PP = 1/fPP
50
ns
transfer mode (pp)Clock cycle time ident. t OD = 1/fOD
2.5µs
mode (od)Clock low timet WL
10
ns CL < 100 pF(10 cards)
Clock high timet WH
10
ns CL < 100 pF(10 cards)
Clock input rise timet LH
10
ns CL < 100 pF(10 cards)
Clock input fall timet HL
10ns CL < 100 pF(10 cards)
Clock low timet WL
50
ns CL < 250 pF(30 cards)
Clock high timet WH
50
ns CL < 250 pF(30 cards)
Clock input rise timet LH
50
ns CL < 250 pF(30 cards)
Clock input fall timet HL
50ns CL < 250 pF(30 cards)【注】 1. すべての値は min (VIH)および max (VIL)に参照されます。

71

HB288032MM1
推奨バス条件Parameter
Clock
Pull-up resistance for
input clk CMD
Pull-up resistance for
DAT
Bus signal line
capacitance

Symbol
RCMD

Min
4.7

RDAT

50

CL

Typ

Max
100
100
250
100

Maximum signal line
inductance

16

Unit
RemarkkΩ to prevent bus
floatingkΩ to prevent bus
floating
pF f PP ≤ 5 MHz,
30 cards
pF f PP ≤ 20 MHz,
10 cardsnH f PP ≤ 20 MHz

動作特性
動作特性は，推奨動作条件を前提として，Mu lt iMedi aCard システムで測定されるパラメータです。（参照：「推奨動作条件」，「推奨バス条件」章）
Parameter
Symbol
Min
Typ
Max
Unit
RemarkHigh speed supply current
35
mA at 20 MHz, 3.6 V
Minimal supply current
100µA at 0 Hz, 3.6 V stby
state
Input
leakage–1010µA
All digital inputs
current(Including I/O
current)
All outputs
High-level
VOH
0.75V CCV
at min I OH
output voltage
Low-levelVOL0.125V CC
V
at max I OL
output voltage
t ISU
Inputs: CMD, DAT Input set-up
3
ns(Referred to CLK), time
DI (Referred to
SCLK), CS
Input hold time
t IH
3
ns
Output set-up
t OSU
Outputs: CMD,
5ns
DAT (Referred to timeCLK), DO
(Referred to
SCLK)
Output holdt OH
5
ns at t LH = 10 ns
time

72

HB288032MM1

tPP
tWH

tWL

VIH

Clock
VIL
tIH

tTHL

tTLH
VIH

Input

Valid data

Valid data
VIL

tISU

VOH
Valid data

Output
tOH

VOL

tOSU

: Invalid
デ−タ入力および出力のタイミングダイアグラム
アクセス時間（t AT ）は 2 つの部分に分割されます。
l TSAD：同期アクセス時間。この時間は，メモリフィールドのバイトにアクセスするのに必要なサイクルの最大数を定義します。
l TAAD：メモリフィールドからバイトを読み込む非同期アクセスタイム。
アクセス時間の 同期部分は，コマンドフレーム 長といくつかの追加内部サイク ル（NSAD =1 6 サイクル）の合計です。20MHz では，１サイクルは 50ns（1/fCLK）です。これは，NSAD で乗算されたもので，その結果のフレ ーム時間が TSAD =0 .8µs となっています 。HB 28 80 32 MM1 の非同期ア クセス遅延は ，max 値でTAAD=300µs となります。結果のメモリアクセス時間 t AT は両方の部分の合計となります。
t AT = TAAD + TSAD

その場合

TSAD = NSAD/fCLK
tAT

TSAD
CMD

TAAD

command frame

response frame
data

DAT
アクセス時間73

HB288032MM1

アクセス時間Parameter
SymbolTypMax
Synchronous access delay cycles
NSAD
—
16
Synchronous access delay
TSAD
—
0.8
Asynchronous access delay
TAAD
300
—
Memory access time
t AT
300.8
—* 1
【注】 1. 「Time-out Conditions」章を参照してください。

Unit
Remarkcyclesµs
at 20 MHz clock frequencyµsµs
at 20 MHz clock frequency

CSD では，非同期アクセス遅延時間と同期アクセス遅延時間をコードで示す 2 種類のフィールドがあります。
l TAAC：非同期アクセス遅延
l NSAC：コマンドフレームの受信と読み取り（解釈）するためのサイクルの最大数
CSD フィールド NSAC の値は，NSAD から計算されます。（これは，NSAD（最大：16 サイクル）を 100 で割り，小数点以下を整数まで切り上げることにより計算されます。）
NSAC = [NSAD/100] = [16/100]
l NSAC = 0x01
CSD フィールド TAAC の値は 1ms です。
TAAC = [TAAD] = 1 msl TAAC = 0x0E
NSAC と TAAC の CSD 値に関する詳細は，「カード特有データ（CSD）」章を参照してください。

参考文献[1] The MultiMediaCard, System Specification 2.11, MultiMediaCard Association

数字の表記
l 10 進法値：1234（特別な文字は使用されていません。）
l 16 進法値：0xAB（先行 0x で，各桁が 4 ビットを表します。）
l 2 進法値（単一ビット）：‘0’
l 2 進法値（符号なしビットベクトル）：“100100”
l 1k=1024.
l 1M=1k*1k.

74

HB288032MM1

略語とその説明
Abbreviations<n>
CMD<n>

Terms
コマンドまたはデータフィールドの引数。
MultiMediaCard バスコマンド<n>。参照：Command（コマンド）

PP

Push Pull（プッシュ・プル）。0 と 1 に対して低インピーダンス出力ドライバタイプ。

OD

Open Drain（オープンドレーン）。0 に対しては低インピーダンス出力ドライバタイ
プ。1 に対しては高インピーダンス出力ドライバタイプ。

CSD

Card specific data（カード特有データ）。動作パラメータを保存するためのMultiMediaCard レジスタ。

CID

Card identification data（カード識別データ）。カード初期化プロシジャ用のMultiMediaCard レジスタ。

RCA

Relative card address（相対カードアドレス）。初期化された MultiMediaCard のカレ

OCR

Operation condition register（オペレーション条件レジスタ）。MultiMediaCard によりントカードアドレスを含む MultiMediaCard レジスタ。
サポートされている電圧ウィンドウを含む MultiMediaCard レジスタ。
DSR

Driver stage register（ドライバステージレジスタ）。プログラマブルドライバステー
ジドライバ（PDS）用のコントロールレジスタ。

PDS

Programmable driver stage driver（プログラマブルドライバステージドライバ）。これは，トライステート出力ドライバで，バスデザインにドライバ能力を最適化させるためにプログラマブルとなっています。

CommandMultiMediaCard ホストから 1 枚または複数の MultiMediaCard カードへ送信されるコ
マンド。

Response

レスポンスは，常にカードからホストに送信されます。レスポンスは，常にコマンドにより起動されます。（注意：すべてのコマンドに対してレスポンスが返される訳ではありません。）

Broadcast Com. ブロードキャストコマンドとして，あるいは，アドレス指定されたコマンドとして送信されます。ブロードキャストコマンドは，MultiMediaCard バスに接続されているすべてのカードに同時に送信されます。
Addressed Com. アドレス指定されたコマンド。アドレス指定されたコマンドは，選択された 1 枚のMultiMediaCard にのみ送信されます。通常，アドレス指定されるコマンドに対してはカードのレスポンスが返されます。
Point to point C. point-to-point コマンド。これはアドレス指定されたコマンドと同じです。
DAT

MultiMediaCard のデータ（入力）／出力信号。

CLK

MultiMediaCard の clk 入力信号。

CMD

コマンド／レスポンス（MultiMediaCard の入力／出力）。

VSS1, 2MultiMediaCard のグランドライン。

VCC

MultiMediaCard の電源ライン。

Memory coreMultiMediaCard のコアでのメモリセルの配列。

MultiMediaCard MultiMediaCard コマンドインタプリタモジュール。
interfaceMID
メーカ識別子75

HB288032MM1
Abbreviations
CIN

Terms
Card individual number（カード個別番号）

CRC

Cyclic redundancy check（循環冗長チェック）

ECC

Error correction code（エラー訂正コード）

G(x)エラー訂正／チェックコードの生成多項式

TAC

非同期アクセス遅延

NAC

アクセス遅延に付加される同期アクセスサイクルの数

f OD

オープンドレーンモードでの動作周波数（最大 400kHz）

f PP

プッシュ・プル（push pull）モードでの動作周波数（最大 20MHz）

MSB

Most significant bit（最上位ビット）

LSB

Least significant bit（最下位ビット）

Human Body
Model

76

人体モデル。人間が電気デバイスを取り扱ったり，触れたりすることにより生じる電気的状態をシミュレートするための標準モデル。

HB288032MM1

外形寸法図
Unit: mmTolerance: 0.1 mm
2 – R0.5

1.4
1.32

27.3

4.00

25.9

32.00

4.00

4.00

21.8

1.1

24.00 ± 0.08
4 – R1.0

3 – R1.00

0.90
Front

1.75

2.50

0.1
4.70 +– 0.2

0.2
4.75 +– 0.1
0.1
3.0 +– 0.2

0.1
1.10 +– 0.2

0.2
19.75 +– 0.1

Back

77

HB288032MM1

ご注意
1. 本書に記載の製品及び技術のうち「外国為替及び外国貿易法」に基づき安全保障貿易管理関連貨物・技術に該当するものを輸出する場合，または国外に持ち出す場合は日本国政府の許可が必要です。
2. 本書に記載された情報の使用に際して，弊社もしくは第三者の特許権，著作権，商標権，その他の知的所有権等の権利に対する保証または実施権の許諾を行うものではありません。また本書に記載された情報を使用した事により第三者の知的所有権等の権利に関わる問題が生じた場合，弊社はその責を負いませんので予めご了承ください。
3. 製品及び製品仕様は予告無く変更する場合がありますので，最終的な設計，ご購入，ご使用に際しましては，事前に最新の製品規格または仕様書をお求めになりご確認ください。
4. 弊社は品質・信頼性の向上に努めておりますが，宇宙，航空，原子力，燃焼制御，運輸，交通，各種安全装置， ライフサポート関連の医療機器等の ように，特別な品質・信頼性が要求され，その故障や誤動作が 直接人命を脅かし たり，人体に危害を 及ぼす恐れのある用 途にご使用をお考 えのお客様
は，事前に弊社営業担当迄ご相談をお願い致します。
5. 設計に際しては，特に最大定格，動作電源電圧範囲，放熱特性，実装条件及びその他諸条件につきましては，弊社保証範囲内でご使用いただきますようお願い致します。
保証値を越えてご使用された場合の故障及び事故につきましては，弊社はその責を負いません。
また保証値内のご使用であっても半導体製品について通常予測される故障発生率，故障モードをご考
慮の上，弊社製品の動作が原因でご使用機器が人身事故，火災事故，その他の拡大損害を生じないよ
うにフェールセーフ等のシステム上の対策を講じて頂きますようお願い致します。
6. 本製品は耐放射線設計をしておりません。
7 . 本書の一 部または全部を弊社 の文書による承認 なしに転載または複 製することを堅くお 断り致します。
8. 本書をはじめ弊社半導体についてのお問い合わせ，ご相談は弊社営業担当迄お願い致します。

半 導 体グループ
北 海 道 支
社
東
北
支
社
関
東
支
社
新
茨
群

潟
城
馬

支
支
支

店
店
店

半導体グループ電子統括営業本部
松 本 営 業 所
横浜
支社

〒100-0004 東京都千代田区大手町二丁目6番2号（日本ビル）(03) 3270-2111(大代)(011) 261-3131 (代)(0462) 96-6800 (代)県央支店(022) 223-0121 (代)(0559) 51-3530 (代)沼 津 営 業 所
(076)263-2351 (ダイヤル(03) 3212-1111 (代)
金
沢
支
店
イン )
(052) 243-3111 (代)(025) 241-8161 (代)中部
支社(06) 6616-1111 (大代)(029) 271-9411 (代)関西支社(082) 223-4111 (代)(027) 325-2161
中国支社(087) 831-2111 (代)(03) 3270-2111 (代)四国支社(089) 943-1333 (代)(0263) 36-6632
愛媛
支店(092) 852-1111 (代)(045) 451-5000 (代)九州支社■資料のご請求は，上記の担当営業または下記へどうぞ。
株式会社 日立製作所 半導体グループ 電子統括営業本部 半導体ドキュメント管理室〒100-0004 東京都千代田区大手町二丁目６番２号（日本ビル） 電話 (03) 5201-5189 (直) FAX (03) 3270-3277● 製品仕様は、改良のため変更することがあります。
Copyright © Hitachi, Ltd., 2000. All rights reserved. Printed in Japan.
(株)日立製作所 半導体グループのWWWにおいて、製品情報を豊富にお届けしております。ぜひご覧ください。

http://www.hitachi.co.jp/Sicd/

Colophon1.0

78