chevron_left

メインカテゴリーを選択しなおす

cancel
KEI
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/02/11

arrow_drop_down
  • 【FileSystem】車載外部ストレージ その37【SD初期化⑳】

    CID(Card IDentification)の詳細の話の続き。 Product serial numberは32bit長のシリアルナンバー Manufacturing dateは12bit長のフィールド。 8bitで年、4bitで月を表現。

  • 【FileSystem】車載外部ストレージ その36【SD初期化⑲】

    CID(Card IDentification)の詳細の話の続き。 Product nameは最大8文字のASCIIコード。 "SD01G"のような文字列。 Product revisionはn.mを示す形でそれぞれ二進化十進数(BCD)で表記。 二進化十進数(BCD)は二進法の4桁で0から9を表現。

  • 【FileSystem】車載外部ストレージ その35【SD初期化⑱】

    CID(Card IDentification)の内訳説明。 ManufacturerIDは8bitの数値。(情報未開示) OEM/ApplicationIDは2文字のASCIIコード。(情報未開示) ManufacturerIDとOEM/ApplicationIDの取得はSD-3C,LLCにライセンスを付与してもらう必要がある。

  • 【FileSystem】車載外部ストレージ その34【SD初期化⑰】

    「CMD2(ALL_SEND_CID)によるCIDの取得」の説明。 CIDはCard IDentificationの略。 CMD2(ALL_SEND_CID)のレスポンスはR2レスポンスフォーマット。 CIDは128bitの6種類の情報を持つ。

  • 【FileSystem】車載外部ストレージ その33【SD初期化⑯】

    ホストからのSDCLK送出から1ms以内にカードはCMDを1.8VでHighにする。 ホストはそれを検知。 さらにカードはDATのラインを1.8VでHighする。 これもホストが検知。 上記をもって、SDCLK、CMD、DATのラインが1.8V駆動で通信可能な状態が相互で確認できたことになる。

  • 【FileSystem】車載外部ストレージ その32【SD初期化⑮】

    カードがVOLTAGE SWITCHの開始受付としてCMDとDATラインをLowにする。 ホスト側はCMDとDATラインをLowをカード側がVOLTAGE SWITCHの開始を受領したと見なす。 ホスト側はSDCLKを5ms以上止める。(6ms待ちが安パイ)。 上記の5ms後にホストから1.8VのSDCLK送出開始。

  • 【FileSystem】車載外部ストレージ その31【SD初期化⑭】

    VOLTAGE_SWITCHはCMD11(VOLTAGE_SWITCH)の発行が起点となる。 CMD11にはパラメータはない。 SDカードはR1レスポンスを返した直後にCMDとDATのラインをLowにする。 ホスト側は入力モードになっているので出力が衝突することは無い。

  • 【FileSystem】車載外部ストレージ その30【SD初期化⑬】

    CMD11(VOLTAGE_SWITCH)によるVoltage Switchの説明。 ACMD41で1.8V切替サポートが確認できたSDカードは1.8V駆動に切替できる。 Voltage Switchの手順はまぁまぁ複雑。 タイミングチャートで確認。 大雑把に手順確認。

  • 【FileSystem】車載外部ストレージ その29【SD初期化⑫】

    ACMD41(SD_SEND_OP_COND)のパラメータによる挙動に違いについて説明。 inquiry ACMD41。 OCR取得用ACMD41。 OCRパラメータを0にすることでこれになる。 first ACMD41。 初期化用ACMD41。 OCRパラメータを非0にすることでこれになる。

  • 【FileSystem】車載外部ストレージ その28【SD初期化⑪】

    ACMD41(SD_SEND_OP_COND)のリクエストとレスポンスのパラメータについての続きを説明。 S18RとS18AはSwitching to 1.8V Request/Accpeptedで駆動電圧を変更するのに使う。 UHS-IIの場合は変更不可。 OCRはSPIモードの時と同じ。

  • 【FileSystem】車載外部ストレージ その27【SD初期化⑩】

    ACMD41(SD_SEND_OP_COND)のリクエスト電文、レスポンス電文に出てくるパラメータ説明。 HCSとCSSはSPIモードでも出来てたパラメータ XPCはSDXC Power Control。 最大電流値を切り替えられる。 UHS-IIはその名のとおりUHS-II対応かの確認用。

  • 【FileSystem】車載外部ストレージ その26【SD初期化⑨】

    ACMD41(SD_SEND_OP_COND)のリクエストについて簡単にに説明。 処理の流れとしてはSPIモードのACMD41(SD_SEND_OP_COND)に似ている。 ACMD41(SD_SEND_OP_COND)のリクエスト、レスポンスのパラメータを確認。 新出パラメータ多数。

  • 【FileSystem】車載外部ストレージ その25【SD初期化⑧】

    CMD8(SEND_IF_COND)によるSDv2判定及びサポート電圧判定のレスポンス側の説明。 レスポンスはリクエストと同等の構成。 リクエストが受けつけられたかどうかを返しているだけ。 現状は選択肢が少ないので、ほぼレスポンスパターンは限られるが今後のSD仕様の追加次第ではどうなるか分からない。

  • 【FileSystem】車載外部ストレージ その24【SD初期化⑦】

    CMD8(SEND_IF_COND)によるSDv2判定及びサポート電圧判定の説明。 以下のパラメータが存在。PCI express 4.0 Support有無。 Voltage Supplied。 Check pattern。セットした値がそのままレスポンスに乗ってくる。

  • 【FileSystem】車載外部ストレージ その23【SD初期化⑥】

    SDカードのSDモード通信の初期化シーケンスを大雑把に説明。 次回から以下の流れで説明予定。CMD8(SEND_IF_COND)によるSDv2判定及びサポート電圧判定。 ACMD41(SD_SEND_OP_COND)によるHigh Capacity設定とVoltage Switch可否判定。 CMD11(VOLTAGE_SWITCH)によるVoltage Switch。 CMD2(ALL_SEND_CID)によるCIDの取得。 CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得。 CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移。

  • 【FileSystem】車載外部ストレージ その22【SD初期化⑤】

    SDカードのSPIモード通信の初期化シーケンスの中のSDv2の容量判定について説明。 CMD58(RAD OCR)を投げてCCS(Card Capacity Status)ビットを確認する。 CCSが0ならSDSC、1ならSDHC/SDXC。 結果的にCMD58(READ OCR)を2回発行するが、仕様書上はmust要件となってる。

  • 【FileSystem】車載外部ストレージ その21【SD初期化④】

    SDカードのSPIモード通信の初期化シーケンス読み書き可能状態遷移を説明。 ACMD41(SEND_OP_COND)を投げてR1レスポンスのin idle stateを監視するだけ。 ACMD41(SEND_OP_COND)のパラメータにHCS(High Capacity Support)の付加してSDHC以降のモードに切り替えられる。 SDHC以降モードはBlock lengthが512byte固定となる。

  • 【FileSystem】車載外部ストレージ その20【SD初期化③】

    SDカードのSPIモード通信の初期化シーケンスの中の駆動電圧判定について説明。 CMD58(READ_OCR)を送ると、R3フォーマットのレスポンスが返る。 R3フォーマットはR1にOCRが付加されたもの。 OCRのbit15~bit23が駆動可能電圧を示している。 自装置の駆動電圧が範囲外の場合は制御不可。

  • 【FileSystem】車載外部ストレージ その19【SD初期化②】

    SDカードのSPIモード通信の初期化シーケンス詳細を開始。以下の順番で説明予定。初期状態に戻す。 SDv2以降判定。 駆動電圧判定。 読み書き可能状態へ。 SDv2の容量判定。 初期状態に戻すのはCMD0(GO_IDLE)。 SDv2を判定するのはCMD8(SEND_IF_COND)でエラーになるかどうか

  • 【FileSystem】車載外部ストレージ その18【SD初期化①】

    SDカードはいきなり読み書きはできない。 初期化シーケンスを通してSDカード状態を読み書き可能状態へ遷移させる。 初期化シーケンスはSDv1、SDv2のルートに分かれる。 SDv1とSDv2 SDSCはモノとしては一緒。 SDSCかSDHC/SDXCはSDv2の最後のCCSの判定で分かる。

  • 【FileSystem】車載外部ストレージ その17【SDカード⑬】

    SDカードのSDモード通信に於いてのレスポンス(R1とR1b)について説明。 R1の中にcard statusという32bitのエラー&状態情報がある。 状態が想定と異なる場合は再初期化等で期待する状態に再遷移させる設計/実装をする必要がある。 R1bはSPIモードと同じく、R1にbusyが付いたもの。 busyはDATが0を維持している状態。

  • 【FileSystem】車載外部ストレージ その16【SDカード⑫】

    SDカードのSDモード通信に於いてのレスポンスについて説明。 SPIモードに無かったR6が追加。 R6はRCA(Relative Card Address)を取得するもの。 RCAはCMD7の引数に使われるもので、これが無いと読み書きモードへ移行できない。 上記使用はSPIモードには無いもの。

  • 【FileSystem】車載外部ストレージ その15【SDカード⑪】

    SDモード通信の(Multiple) Block Write Operationについて説明。 data block送信毎にbusyが入る。 busyの待ち時間はACMD13(SD_STATUS)で取得できるAU_SIZEに依存。 AU_SIZEは組み込みに於いては重要なパラメータ。 AU_SIZEが小さい高速なSDカードを選択したり、AU_SIZEに合わせて書き込み単位を変えたり。

  • 【FileSystem】車載外部ストレージ その14【SDカード⑩】

    SDモード通信の(Multiple) Block Read Operationの説明。 CMDラインとDATラインがあるため、responseが終わる前にdata blockが送出されることを想定する必要あり。 CMD12(STOP_TRANSMISSION)で強制停止できる。 SPIモードと使い方は一緒。

  • 【FileSystem】車載外部ストレージ その13【SDカード⑨】

    SDモード通信のNo data Operationを説明。 ノーレスポンスのパターンが割と重要。 ACMD41でSD、MMC判定。 CMD8でSDSC、SDHC以降判定。 SDの仕様が増えるたびに今後増えていくかも。 ノーレスポンス判定タイムアウトは1秒。

  • 【FileSystem】車載外部ストレージ その12【SDカード⑧】

    SDモード通信について確認。 SPIと同じく同期シリアル通信に該当する。 ただし、command/responseはCMDライン、read/writeはDATライン DATラインは最大4bitのラインとなる。 SDモードはデフォルトでDAQ0だけを使う1bitモードなので、commandで4bitモードに切り替える必要がある。

  • 【FileSystem】車載外部ストレージ その11【SDカード⑦】

    SDカードの(Multiple) Block Read Operation(SPIモード)の説明。 Start Block token、Stop Tran tokenというものがある。 Single Block、Multi Blockで各tokenが異なる。 CMD25(WRITE_MULTIPLE_BLOCK)の方が効率的だが、書き込みBlock数が少ない場合はcommand発行回数の都合でCMD24(WRITE_BLOCK)の方が効率的になることがある。

  • 【FileSystem】車載外部ストレージ その10【SDカード⑥】

    SDカードの(Multiple) Block Read Operation(SPIモード)について説明。 response後にdata blockが従属する。 エラー時はresponse後にdata error tokenが従属する。 data error tokenは読み出しならではのエラーパターンが記載されている。

arrow_drop_down

ブログリーダー」を活用して、KEIさんをフォローしませんか?

ハンドル名
KEIさん
ブログタイトル
シミュレーションの世界に引きこもる部屋
フォロー
シミュレーションの世界に引きこもる部屋

にほんブログ村 カテゴリー一覧

商用