FatFs

車載外部ストレージ

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

CMD44(Q_TASK_INFO_A)とCMD45(Q_TASK_INFO_B)の制約について説明。 2つのコマンドは必ず連続している必要がある。CMD44の後にCMD45以外だとエラー。 CMD44の後にCMD45で初めてタスク登録完了。 複数のCMD44が来た場合は、最後のCMD44が有効。
車載外部ストレージ

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

CMD45(Q_TASK_INFO_B)で開始Blockアドレスを指定について説明。 リクエストパラメータは32bit長のStart block address。 CMD44(Q_TASK_INFO_A)とCMD45(Q_TASK_INFO_B)は2つで1つの意味になる。 これらのコマンド利用には制約がある。
車載外部ストレージ

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

CMD44(Q_TASK_INFO_A)のリクエストパラメータPriorityは1だったら優先。 Voluntary CQ modeの時のみ有効なパラメータ。 Task IDはCQの数に依存。 CQの数はPerformance Enhancement Registerから取得できる。
車載外部ストレージ

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

CMD44(Q_TASK_INFO_A)のリクエストパラメータ説明。 リクエストパラメータのDirectionは「読む」か「書く」かの指定。 リクエストパラメータのExtended AddressはSDUCのように2TByteを超える場合に使用。 SDUCの仕様上の最大容量は128Tbyte。
車載外部ストレージ

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

CQ Modeのステートマシンを見せた。 CQ Modeの基本フローを書き出し。 CQ Modeは読み書き処理の予約ができ、その予約はTask IDで識別される。 Task IDをもって、実際の読み書き結果を取得する。 「CMD49(WRITE_EXTR_SINGLE)でEnable CQ=1にする」は前回出た話。
車載外部ストレージ

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

再度、PERFORMANCE_ENHANCEの話。 Command Queue Supportの内訳確認。 Queueの深さが分かるパラメータ。 CQ Modeを選択したり有効化するのはPerformance Enhancement Registerを操作する。 Enable CQ。 CQ Mode。
車載外部ストレージ

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

Card-initiated maintenanceについて説明。 Card Initiated maintenance Enableを1にすれば起動。 SDカードバスがIdleの時に勝手にセルフメンテナンスを実施してくれる。 R1フォーマットのcard statusにあるFX_EVENTで完了判定。
車載外部ストレージ

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

Host-initiated maintenanceについて説明。 Performance Enhancement Registerで制御。 Start Host-Initiated Maintenanceで開始。 Card maintenance Urgencyで緊急度設定。
車載外部ストレージ

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

セルフメンテナンス有効化に使うコマンドは以下。 CMD48(READ_EXTR_SINGLE)。 CMD49(WRITE_EXTR_SINGLE)。 基本的にはMemory or I/O、Function Noを指定しての読み書き。 書き込み側はbit単位のマスクができる。
車載外部ストレージ

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

セルフメンテナンスは2種類。 ホスト主導で明示的実行。 カード主導で暗黙的実行。 セルフメンテナンスを有効化するにはPerformance Enhancement Registerを制御する必要がある。 CMD48(READ_EXTR_SINGLE)、CMD49(WRITE_EXTR_SINGLE)を使用する。