バックナンバーはこちら。
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
まぁこれもさっと図解してもらえれば。
一応用意しておいた。
詳細説明
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ってのがあるね。
???
通信としてはこんなん。
そしてdata error tokenの内訳はこんなん。
読み出し時ならでは独自のエラーパターンがdata error tokenで分かるわけか。
そうそう。
ここら辺のエラーハンドリングを無視してたりすると、
何かしら問題が起きた時に原因不明になり易い。
結構厳密に判定しておいた方が安全だと思う。
まとめ
まとめだよ。
- SDカードの(Multiple) Block Read Operation(SPIモード)について説明。
- response後にdata blockが従属する。
- エラー時はresponse後にdata error tokenが従属する。
- data error tokenは読み出しならではのエラーパターンが記載されている。
バックナンバーはこちら。
コメント