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

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

16.5.1.1. カードクロックの出力におけるグリッチ回避†

カードクロックの出力 (sdmmc_cclk_out) でグリッチを回避するには、カードのクロック周波数を変更する際に、ソフトウェアで次の手順を使用する必要があります。

  1. クロックを無効にする前に、それまでのデータコマンドによってカードがビジー状態になっていないことを確認します。これを特定するには、STATUSレジスターのビット9で0を確認します。
  2. Clock Enableレジスターを更新し、すべてのクロックを無効にします。この更新の前にそれまでのコマンドが完了していることを保証するには、次の設定を行いCIUにコマンドを送信し、クロックのレジスターを更新します。
    • start_cmdビット
    • 「update clock registers only」ビット
    • 「wait_previous data complete」
      注: start_cmdビットの0をポーリングし、CIUがコマンドを受け取るまで待機します。
  3. start_cmdビットを設定してClock DividerレジスターまたはClock Sourceレジスター、もしくはその両方を更新し、CIUにコマンドを送信してクロックのレジスターを更新します。CIUがコマンドを受け取るまで待機します。
  4. start_cmdを設定してClock Enableレジスターを更新し、必要なクロックを有効にします。その後、CIUにコマンドを送信してクロックのレジスターを更新します。CIUがコマンドを受け取るまで待機します。