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

ID 683567
日付 1/25/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

B.6.1. Quad SPIフラッシュ・コントローラーのセットアップ

Quad SPIコントローラーのセットアップ手順を次に示します。

  1. 保留中の動作が完了するまで待機します。
  2. cfgレジスターのQuad SPI Enableフィールド (en) でQuad SPIコントローラーを無効にします。
  3. devrdレジスターのinstwidthフィールドを、間接書き込みまたは読み出し、および直接書き込みまたは読み出しに使用する命令タイプで更新します。
  4. devrdレジスターのMode Bit Enableビット (enmodebits) が有効になっている場合は、Mode Bitレジスター (modebit) を更新します。
  5. devszレジスターを必要に応じて更新します。
    初期化後に、このレジスターの一部またはすべてが更新される場合があります。アドレスバイト数は、読み出しおよび書き込みの実行に必要な重要なコンフィグレーション設定です。書き込みを行うには、ページあたりのバイト数が必要です。デバイスブロックあたりのバイト数は、書き込み保護機能が使用されている場合にのみ必要です。
  6. Device Delayレジスター (delay) を更新します。
    このレジスターによりユーザーは、各フラッシュアクセス後のチップセレクトの駆動を調整することができます。各デバイスは、異なるタイミング要件を備えている場合があります。シリアルクロックの周波数が上がると、これらのタイミング要件はより重要になります。このレジスターで指定される数値は、qspi_ref_clkクロックの周期に基づいています。例えば、一部のデバイスでは、スレーブセレクトがディアサートされた後、それを再度アサートするまでに最低50 ns時間が必要です。デバイスが100 MHzで動作している場合は、クロック周期が10 nsであるため、40 nsが追加で必要になります。qspi_ref_clkクロックが400 MHz (2.5 ns周期) で動作している場合は、delayレジスターのClock Delay for Chip Select Deassertフィールド (nss) の値に少なくとも16を指定します。
  7. remapaddrレジスターを必要に応じて更新します。
    このレジスターは、ダイレクト・アクセス・モードにのみ影響します。
  8. 書き込み保護が必要な場合は、書き込み保護レジスター (wrprotlowwrprotuppwrprot) を設定してそれらを有効にします。
  9. irqmaskレジスターを介して必要な割り込みを有効にします。
  10. cfgレジスターのbauddivフィールドを設定し、ターゲットデバイスに必要なクロック周波数を定義します。
  11. 自動入力される値を変更する必要がある場合は、Read Data Captureレジスター (rddatacap) を更新します。

    このレジスターは、読み出しデータのキャプチャーを遅延します。これは、デバイスからQuad SPIコントローラーへの読み出しデータパスが長く、デバイスのクロック周波数が高い場合に有効です。

  12. cfgレジスターのenフィールドでQuad SPIコントローラーを有効にします。