バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDカードのSDモード通信の初期化シーケンスのCMD2(ALL_SEND_CID)によるCIDの取得について。
CID(Card IDentification)の詳細の話になる。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
SDカードのSDモード通信の初期化シーケンス詳細
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
今回は「CMD2(ALL_SEND_CID)によるCIDの取得」に於いての
CID(Card IDentification)の具体的な内容の話になる。
- CMD8(SEND_IF_COND)によるSDv2判定及びサポート電圧判定。
- ACMD41(SD_SEND_OP_COND)によるHigh Capacity設定とVoltage Switch可否判定。
- CMD11(VOLTAGE_SWITCH)によるVoltage Switch。
- CMD2(ALL_SEND_CID)によるCIDの取得。← これ2回目/全4回
- CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得。
- CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
全体フローはこれ。
![SDカードのSDモード通信の初期化シーケンスのフロー図](https://www.simulationroom999.com/blog/wp-content/uploads/2021/02/02_SDカードのSDモード通信の初期化シーケンスのフロー図-814x1024.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
CID(Card IDentification)の内訳はこれ。
Name | Field | Width | Bit position |
---|---|---|---|
Manufacture ID | MID | 8 | [127:120] |
OEM/Application ID | OID | 16 | [119:104] |
Product name | PNM | 40 | [103:64] |
Product revision | PRV | 8 | [63:56] |
Product serial number | PSN | 32 | [55:24] |
reserved | – | 4 | [23:20] |
Manufacturing date | MDT | 12 | [19:8] |
CRC7 checksum | CRC | 7 | [7:1] |
not used,always 1 | – | 1 | [0:0] |
CID(Card IDentification)のManufacturer ID
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
まずはManufacturer IDで、これは製造元を示すIDってことなんだと思うのだけど。
具体的にはどういったものが入ってるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
SDAで公開されてる・・・かと思ったのだけど、
公開はされてないみたいだな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
とりあえず、数値が入るとか文字が入るとかのレベルだと?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ああ。そういう話であれば、8bit長の数値が入る。
私が過去見た範囲の話をするのであれば、以下のメーカと数値の関係になっているような感じ。
Manufacturer | ID |
---|---|
Panasonic | 01h |
Kioxia(旧東芝メモリ) | 02h |
SanDisk | 03h |
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あー。なるほど。
雰囲気はわかった。
CID (Card IDentification)のOEM/Application ID
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これも・・・なんか似たようなパラメータだね?
どんな感じになるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
こっちは2文字のASCIIコードになるね。
これも情報としては公開されてないけど、経験上以下になってるのは見たことある。
Manufacturer | ID | 備考 |
---|---|---|
Panasonic | PA | – |
Kioxia | TM | (東芝メモリ時代から変更せず?) |
SanDisk | SD | – |
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
でも、なんとなくどこで作ったものかってのは特定できそうってのはわかるね。
Manufacturer IDとOEM/Application IDの取得
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
これはSDカードを利用する側じゃなくて、SDカードと作る側の話になるんだけど、
Manufacturer IDとOEM/Application IDの取得はSD-3C, LLCにライセンスを付与してもらう必要がある。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
SD-3C, LLC?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
SD-3C, LLCは
株式会社キオクシア、パナソニック株式会社、サンディスク株式会社の3社により設立された有限会社みたいだね。
SD-3C, LLC
https://www.sd-3c.com/
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- CID(Card IDentification)の内訳説明。
- ManufacturerIDは8bitの数値。(情報未開示)
- OEM/ApplicationIDは2文字のASCIIコード。(情報未開示)
- ManufacturerIDとOEM/ApplicationIDの取得はSD-3C,LLCにライセンスを付与してもらう必要がある。
バックナンバーはこちら。
コメント