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

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

20.4.5.1. 最小のHighカウントおよびLowカウント

I2Cコントローラーが送信転送と受信転送の両方でI2Cマスターとして動作する場合に、SCLのLow Countレジスターにプログラミングできる最小値は8です。また、SCLのHigh Countレジスターに許可される最小値は6です。†

Low Countレジスターの最小値8は、I2CコントローラーがSCLのネガティブエッジ後にSDAを駆動するために必要な時間に基づくものです。High Countレジスターの最小値6は、SCLがHighの期間中にI2CコントローラーがSDAをサンプリングするために必要な時間に基づいています。†

I2Cコントローラーは、Low Countレジスターの値に1サイクルを追加して、SCLクロックのLowの周期を生成します。

I2Cコントローラーは、High Countレジスターの値に7サイクルを追加して、SCLクロックのHighの周期を生成します。これは、次の理由に基づいています。†

  • SCLラインに適用されるデジタル・フィルタリングには、l4_sp_clkで4サイクルの遅延が発生します。このフィルタリングには、準安定状態の除去、およびSDAエッジとSCLエッジにおける2/3多数決処理が含まれます。†
  • SCLがI2Cコントローラーによって1から0に駆動される (SCLのHighの時間が完了する) 際はかならず、l4_sp_clkで3サイクルの内部ロジック遅延が発生します。†

そのため、I2Cコントローラーが対応できる最小のSCL Lowの時間はl4_sp_clkの9周期 (8+1) であり、最小のSCL Highの時間はl4_sp_clkの13周期 (6+1+3+3) です。†

注: I2Cバスのトランザクションを開始する前にic_fs_spklenレジスターを設定し、安定した動作を確保する必要があります。このレジスターは、ic_clkのサイクルで測定される、スパイク抑制ロジックによってフィルタリングされるSCLまたはSDAラインの最長スパイクの期間を設定します。†