2021-02

車載外部ストレージ

【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は読み出しならではのエラーパターンが記載されている。