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

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

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

SDカードの(Multiple) Block Read Operation(SPIモード)について。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

SDカードの(Multiple) Block Read Operation(SPIモード)

フクさん
フクさん

前回、SDカードの通信種別は3つあると言ったが、
今回は(Multiple) Block Read Operationについてだな。

  • No data Operation
  • (Multiple) Block Read Operation ← これ
  • (Multiple) Block Write Operation
太郎くん
太郎くん

まぁこれもさっと図解してもらえれば。

フクさん
フクさん

一応用意しておいた。

SDカードの(Multiple) Block Read Operation(SPIモード)図解

詳細説明

太郎くん
太郎くん

commandに対するresponseの後にdata blockが続くって感じなんだね。

太郎くん
太郎くん

あと、data blockを受信してる途中にcommnadを投げれるんだ?

フクさん
フクさん

うん。
まぁ実際に投げられるcommandは限られてて、
CMD12(STOP_TRANSMISSION)くらいだけどねー。

CMD12(STOP_TRANSMISSION)

太郎くん
太郎くん

名前から察すると転送を止めるcommandって感じだね。

フクさん
フクさん

うん。
まさにその通り。
普通は、指定data blockの転送が終わったら終了なんだけど、
転送を中止させたいときに使ったりするね。

太郎くん
太郎くん

あ、ということは基本的には呼ばないんだ。

フクさん
フクさん

そうだね。
あり得るとしたら、
装置をすぐにシャットダウンしないといけない時とかかなー。
あんまり出番はないcommandではあるけど、
知っておいた方が良いだろう。

エラー系

太郎くん
太郎くん

エラー関係はresponseで分かる感じかな?

フクさん
フクさん

responseでも分かるものはあるが、
(Multiple) Block Read Operation時専用のdata error tokenってのがあるね。

太郎くん
太郎くん

???

フクさん
フクさん

通信としてはこんなん。

SDカードの(Multiple) Block Read Operation data error token(SPIモード)図解
フクさん
フクさん

そしてdata error tokenの内訳はこんなん。

SDカードの(Multiple) Block Read Operation data error token詳細(SPIモード)図解
太郎くん
太郎くん

読み出し時ならでは独自のエラーパターンがdata error tokenで分かるわけか。

フクさん
フクさん

そうそう。
ここら辺のエラーハンドリングを無視してたりすると、
何かしら問題が起きた時に原因不明になり易い。
結構厳密に判定しておいた方が安全だと思う。

まとめ

フクさん
フクさん

まとめだよ。

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

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました