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

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

16.4.3.3. クロック制御ブロック

クロック制御ブロックは、SD/MMC/CE‑ATAカードに必要なさまざまなクロック周波数を提供します。クロック制御ブロックにはクロック分周器が1つあり、それを使用してさまざまなカードクロックの周波数を生成します。

カードのクロック周波数は、次のクロックctrlレジスターの設定に依存します。

  • clkdivレジスター - 内部クロック分周器を使用し、カードに必要なさまざまなクロック周波数を生成します。クロック分周器の分周係数は、clkdivレジスターに書き込むことで設定することができます。クロック分周器は8ビットの値で、1から510のクロック分周係数を提供します。0の値はクロック分周器のバイパスを表します。1の値は2分周を表し、2の値は4分周を表します (以降も同様)。
  • clksrcレジスター - クロックはクロック分周器0で分周されるため、このレジスターは0に設定します。
  • clkenaレジスター - cclk_outカード出力クロックは、次の条件において有効または無効にすることができます。
    • cclk_outは、clkenaレジスターのcclk_enableビットが1に設定されている場合は有効になり、0に設定されている場合は無効になります。
    • 低電力モードは、clkenaレジスターのcclk_low_powerビットを1に設定することで有効にすることができます。低電力モードを有効にしてカードの消費電力を低減する際は、カードが少なくともカードクロックで8サイクルの間アイドル状態になると、cclk_out信号が無効になります。新しいコマンドがロードされ、コマンドパスが非アイドル状態になると、低電力モードは有効になります。

次の条件下において、カードクロックは停止または無効になります。

  • クロックは、clkenaレジスターに書き込むことで無効にすることができます。
  • 低電力モードが選択されており、カードが少なくとも8クロックサイクルの間アイドル状態である場合。
  • FIFOバッファーがフルの状態で、データパスがこれ以上のデータをカードから受け入れることができず、データ転送が完了していない場合。FIFOバッファーのオーバーフローを回避します。
  • FIFOバッファーが空であり、データパスでカードにこれ以上のデータを送信することができず、データ転送が完了していない場合。FIFOバッファーのアンダーフローを回避します。
注: ホスト・ソフトウェアでclkdivレジスターおよびclksrcレジスターの値を変更する前に、clkenaレジスターを介してカードクロックを無効にする必要があります。