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

ID 683567
日付 11/12/2021
Public

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

インテルのみ表示可能 — GUID: eub1481130106229

Ixiasoft

ドキュメント目次

16.5.2.1. パワーオンリセットのシーケンス

パワーオンリセット後に、ソフトウェアでは次の内容を実行する必要があります。
  1. カードへの電源を有効にする前に、電圧レギュレーターに対する電圧設定が正しいことを確認します。
  2. power enable (pwren) レジスターのpower enable (power_enable) ビットを1に設定し、カードへの電源を有効にします。次のステップに進む前に、電源のランプアップ時間を待機します。
  3. intmaskレジスターの適切なビットを0にリセットし、割り込みマスクを設定します。
  4. ctrlレジスターのint_enableビットを1に設定します。
    注: インテルでは、int_enableビットを1に設定する前に0xFFFFFFFFをrintstsレジスターに書き込み、保留中の割り込みをクリアすることを推奨しています。
  5. カードタイプに応じてカードスタックを検出します。検出には、SD/MMC/CE‑ATAの規格に従いクロック周波数を400kHzに制限する必要があります。詳細については、列挙されるカードスタックを参照してください。
  6. クロックソースの割り当てを設定します。カードの周波数は、コントローラーのclkdivレジスターとclksrcレジスターを使用して設定します。詳細は、クロックのセットアップを参照してください。
  7. 次の共通のレジスターとフィールドを初期化プロセス時に設定することができます。
    • tmoutレジスターのresponse timeout (response_timeout) フィールド。一般的な値は0x40です。
    • tmoutレジスターのdata timeout (data_timeout) フィールド。次のうちの最も大きいもの。
      • 10 * NAC

        NAC = カードデバイスの合計アクセス時間

        = 10 * ((TAAC * FOP) + (100 * NSAC))

        この式の内容は次のとおりです。

        TAAC = データアクセス時間の時間に依存する係数

        FOP = カードの動作に使用されるカードクロック周波数

        NSAC = データアクセス時間のワーストケースのクロックレートに依存する係数

      • ホストのFIFOバッファーのレイテンシー

        読み出しの場合: ホストがフルのFIFOバッファーから読み出しを開始するまでに経過した時間

        書き込みの場合: ホストが空のFIFOバッファーに書き込みを開始するまでに経過した時間

    • Debounce counter (debnce) レジスター。一般的なデバウンス値は25msです。
    • FIFO threshold watermark (fifoth) レジスターのTX watermark (tx_wmark) フィールド。一般的に、しきい値の値はFIFOバッファーの深さの半分である512に設定されます。
    • fifothレジスターのRX watermark (rx_wmark) フィールド。一般的に、しきい値の値は511に設定されます。

これらのレジスターは、SD/MMC/CE‑ATAコマンドごとに変更する必要はありません。これらのレジスターは、SD/MMC/CE‑ATAの仕様に応じて一般的な値に設定します。