AN 886: Agilex™ 7 デバイスのデザイン・ガイドライン

ID 683634
日付 10/09/2023
Public
ドキュメント目次

5.1.7.6. I2Cインターフェイスのデザイン・ガイドライン

ガイドライン: FPGAファブリックを介してI2C信号をルーティングする際は、疑似オープンドレイン・バッファーをインスタンス化します

FPGAを介してI2C信号をルーティングする場合、HPSからFPGAファブリックへのI2Cピン (i2c*_out_datai2c*_out_clk) はオープンドレインではなく、論理レベルが反転していることに注意してください。よって、論理レベル0をI2Cバスに駆動するには、対応するピンをHighに駆動します。この実装は、トライステート・バッファーの出力イネーブルに直接接続することができるので便利です。オープンドレイン・バッファーを実装するには、altiobuf を使用する必要があります。

インテルでは、I2CをFPGAファブリックに対して有効にする場合に、I/Oバッファー (ALTIOBUF) IPコアを使用することを推奨しています。

ガイドライン: プルアップがボードデザインの外部SDAおよびSCL信号に追加されていることを確認します

I2C信号はオープンドレインであるため、バス上のデバイスがバスをLowに引き下げていない際に、バスを確実にHighに引き上げるためのプルアップが必要です。

図 6. FPGAピンへのI2C配線

ガイドライン: HighおよびLowのクロックカウントが、I2Cインターフェイスの速度に対して正確にコンフィグレーションされていることを確認します

I2C内部クロックは次の位置にあります。
  • SDM - 125MHz
  • HPS - 100MHz
HighおよびLowのクロックカウントのデフォルト設定は125MHzにコンフィグレーションされているため、HPS I2CのデフォルトのHighおよびLowクロックは、想定よりも長くなります。