I2C インターフェイス

Versal アダプティブ SoC システム モニター アーキテクチャ マニュアル (AM006)

Document ID
AM006
Release Date
2023-12-13
Revision
1.4 日本語

マスター SLR (Super Logic Region) に配置されている SYSMON は、I2C インターフェイスでスレーブとして機能します。I2C インターフェイスは、AMD Vivado™ の Control/Interface/Processing IP で有効化および設定されます。SYSMON I2C のスレーブ アドレスは、プロセッサ IP を介してユーザー定義可能です。

制御/ステータス レジスタには、I2C 書き込み/読み出し転送を利用してアクセスできます。I2C は、最下位のバイトから順にバイト単位でデータを転送します。バイト内では、次の図に示すように MSB が最初に転送されます。I2C はオープン コレクター信号を使用しており、I2C_SDA 上で双方向のデータ転送が可能です。次の図に、I2C_SDA と I2C_SCLK を使用して SYSMON への書き込みを送信する方法を示します。I2C_SDA は双方向であるため、マスターとスレーブが交替で I2C インターフェイスを制御しながら転送が実行されます。データは 8 ビットずつ送信され、受信側デバイスからは 8 ビットごとに ACK が返されます。マスター デバイスがストップ コマンドを発行すると転送が終了します。

I2C 転送パケットは 56 ビットで構成されており、トランザクションの方向、アクセスされる 15 ビット ~ 2 ビットのメモリマップド レジスタの相対アドレス、および 32 ビットのデータ情報が含まれます。次の図に、SYSMON I2C コマンドの構造を示します。

図 1. 56 ビットの I2C コマンド構造