インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

16.4.2.2.1. レジスターのロックによって保留中のコマンドの受け入れ

cmdレジスターのstart_cmdビットを設定してコマンドスタートを発行すると、コマンドがCIUに受け入れられるまで、次のレジスターに再度書き込みを行うことはできません。
  • コマンド (cmd)
  • コマンド引数 (cmdarg)
  • バイト数 (bytcnt)
  • ブロックサイズ (blksiz)
  • クロック分周器 (clkdiv)
  • クロックイネーブル (clkena)
  • クロックソース (clksrc)
  • タイムアウト (tmout)
  • カードタイプ (ctype)

CIUがコマンドを受け入れると、ハードウェアはstart_cmdビットをリセットします。このロック時間中にホストがこれらのレジスターのいずれかに書き込みを試みた場合、その書き込みは無視され、Raw Interrupt Status (rintsts) レジスターのHardware Lock Write Error (hle) ビットが1に設定されます。さらに、割り込みが有効になっており、ハードウェア・ロック・エラーに対してマスクされていない場合は、割り込みがホストに送信されます。

コマンドが受け入れられると、次の条件で、CIU (コマンドキューの深さは1) に別のコマンドを送信することができます。

  • 前のコマンドがデータ転送コマンドではない場合は、前のコマンドが完了すると、新しいコマンドがSD/MMC/CE‑ATAカードに送信されます。
  • 前のコマンドがデータ転送コマンドであり、新しいコマンドに対してcmdレジスターのWait Previous Data Complete (wait_prvdata_complete) ビットが1に設定されている場合、新しいコマンドは、データの転送が完了した際にのみSD/MMC/CE‑ATAカードに送信されます。
  • wait_prvdata_completeビットが0の場合は、前のコマンドが送信されるとすぐに、新しいコマンドがSD/MMC/CE‑ATAカードに送信されます。この機能は通常、前のデータ転送を停止または中断する、もしくはデータ転送の途中でカードのステータスを照会する場合に使用します。