FatFs

車載外部ストレージ

【FileSystem】車載外部ストレージ その53【SD応答向上仕様②】

CQ(Command Queue) Modeを簡単に説明。Performance Enhancement Function Register で切替ができる。1:Voluntary CQ mode。0:Sequential CQ Mode。Sequential CQ ModeはTask ID順に処理される。
車載外部ストレージ

【FileSystem】車載外部ストレージ その52【SD応答向上仕様①】

SDカードには応答向上仕様がある。すべてのSDカードに搭載されてる保証はないため利用シーンは限られる。使用SDカードが決定しており読み書きスループットを最大化させたい場合。応答向上はCQ(Command Queue)Modeがキモ。Voluntary CQ modeとSequential CQ Modeの2種類がある。
車載外部ストレージ

【FileSystem】車載外部ストレージ その51【SD読み書きSDモード③】

CMD13(SEND_STATUS/SEND_TASK_STATUS)の話の続きを説明。 CMD13はSend Task Status RegisterでSEND_STATUS/SEND_TASK_STATUSを切替できる。 Task StatusはCommand Queueの状態監視用。 Command Queueについては次回以降説明。
車載外部ストレージ

【FileSystem】車載外部ストレージ その50【SD読み書きSDモード②】

バックナンバーはこちら。 はじめに SDカードのSDモード通信のCMD13(SEND_STATUS/SEND_TASK_STATUS)の話。 登場人物 博識フクロウのフクさん イラストACにて公開の「kino_k」さんのイラストを使用してい...
車載外部ストレージ

【FileSystem】車載外部ストレージ その49【SD読み書きSDモード①】

SDモードの読み書きはSPIモードの手順とほぼ一緒。差分はtokenが無い点。 STOP_TRAN tokenの代わりにCMD12(STOP_TRANSMISSION)を発行する。 SDモードの読み書きの場合、tranが重要なのでCMD13(SEND_STATUS/SEND_TASK_STATUS)で状態確認を行う。
車載外部ストレージ

【FileSystem】車載外部ストレージ その48【SD読み書きSPIモード⑧】

CMD12(STOP_TRANSMISSION)による停止について説明。 CMD12のリクエストパラメータはなし。 CMD12のレスポンスはR1bフォーマット。 busy付きなのはだたdata block転送モードを解除するのに時間が必要になることを想定しているためと思われる。
車載外部ストレージ

【FileSystem】車載外部ストレージ その47【SD読み書きSPIモード⑦】

CMD18(READ_MULTIPLE_BLOCK)による読み出し説明。CMD18リクエストパラメータも32bit長のdata address。CMD18のレスポンスもR1フォーマット。R1レスポンスに追従する形でdata blockがカード側から送出。CMD12(STOP_TRANSMISSION)で止めるまで送出。
車載外部ストレージ

【FileSystem】車載外部ストレージ その46【SD読み書きSPIモード⑥】

CMD17(READ_SINGLE_BLOCK)による読み出しについて。 CMD17のリクエストは32bit長のdata addressのみ。 CMD17のレスポンスはR1フォーマット。 R1レスポンスに追従する形でdata blockがカードから送られてくる。CMD12(STOP_TRANSMISSION)の発行不要
車載外部ストレージ

【FileSystem】車載外部ストレージ その45【SD読み書きSPIモード⑤】

Start Block/data Response/STOP_TRAN tokenの発行について説明。 Start Block tokenは'FCh'。 data Response tokenにはstatusパラメータが乗る。 '010'であれば正常。 STOP_TRAN tokenは'FDh'。
車載外部ストレージ

【FileSystem】車載外部ストレージ その44【SD読み書きSPIモード④】

「CMD25(WRITE_MULTIPLE_BLOCK)による書き込み」について説明。 CMD25のパラメータは32bit長の"data address" CMD24(WRITE_BLOCK)と一緒。 CMD25のレスポンスはR1フォーマット。 R1レスポンスの後にData Block転送。