インテルのみ表示可能 — GUID: loo1551083312723
Ixiasoft
5.1.2.2. PMBusスレーブモード
Agilex 7デバイスは、PMBusマスターとして機能する外部電源管理コントローラーを使用して、PMBusスレーブモードでコンフィグレーションすることもできます。PMBusを介してAgilex 7デバイスと相互作用する外部電源管理コントローラーは、クロックストレッチをサポートする必要があります。外部電源管理コントローラーはすべてのPMBusトランザクションを駆動し、FPGAにターゲット電圧要件を照会し、電圧レギュレーターと相互作用してFPGAのターゲット電圧にコンフィグレーションする役割を担います。
コマンド名 | コマンドコード | デフォルト | PMBusトランザクション・タイプ | バイト数 |
---|---|---|---|---|
CLEAR_FAULTS | 03h | - | 書き込みバイト | 0 |
VOUT_MODE | 20h | 40h | 読み出しバイト | 1 |
VOUT_COMMAND | 21h | - | 読み出しワード | 2 |
STATUS_BYTE | 78h | 00h | 読み出しバイト | 1 |
PWRMGT_ALERT 信号を使用したPMBusスレーブモードの場合、外部PMBusフローについては以下の図および表に示すガイドラインに従う必要があります。
シーケンス | SDM | PMBusマスター | 注記 |
---|---|---|---|
1 | PWRMGT_ALERT 信号をアサートします。 | - | — |
2 | — | PWRMGT_ALERT 信号を検出します。 | - |
3 | — | ARAフローを開始します。 | — |
4 | ARAフローに応答し、そのアドレスを提供します。 | — | 手順1で PWRMGT_ALERT 信号をアサートしたデバイスのみが、そのアドレスを提供することでARAフローに応答します。 |
5 | PWRMGT_ALERT 信号をデアサートします。 | — | PWRMGT_ALERT 信号は、SDMがARAフローのアドレスで応答した後でのみ、デアサートされます。 |
6 | — | STATUS_BYTE を読み出します。 | — |
7 | STATUS_BYTE=0を返します。 | — | FPGA電圧に更新が必要なことを示します。 |
8 | — | CLEAR_FAULTS を送信します。 | — |
9 | — | VOUT_COMMAND を送信します。 | VOUT_COMMAND は、PWRMGT_ALERT 信号がアサートされてから200ミリ秒以内にSDMによって受信される必要があります。この要件を満たさないと、コンフィグレーション・エラーが発生します。18 |
10 | VOUT_COMMAND を受信し、ターゲット電圧で応答します。 | - | 温度、VIDヒューズおよび直接フォーマットの係数に基づいて計算されます (この入力を指定する必要があります)。 |
11 | — | 電圧レギュレーターを10mV/10ms ステップ未満のステップサイズでターゲット電圧に設定します。 | - |
シーケンス | SDM | PMBusマスター | 注記 |
---|---|---|---|
1 | PWRMGT_ALERT 信号をアサートします。 | - | SDMは障害を検出し、PWRMGT_ALERT 信号をアサートします。19 |
2 | — | PWRMGT_ALERT 信号を検出します。 | - |
3 | — | ARAフローを開始します。 | — |
4 | ARAフローに応答し、そのアドレスを提供します。 | — | 手順1で PWRMGT_ALERT 信号をアサートしたデバイスのみが、そのアドレスを提供することでARAフローに応答します。 |
5 | PWRMGT_ALERT 信号をデアサートします。 | — | PWRMGT_ALERT 信号は、SDMがARAフローのアドレスで応答した後でのみ、デアサートされます。 |
6 | — | STATUS_BYTE を読み出します。 | — |
7 | 0以外の場合、STATUS_BYTE を返します。 | - | その他の障害が発生したことを示します。 |
8 | — | CLEAR_FAULTS を送信します。 | STATUS_BYTE をリセットします。 |
9 | — | STATUS_BYTE を読み出します。 | STATUS_BYTE=0であることを確認します。 |
10 | — | 障害を処理する外部マスターです。 | — |
PMBusスレーブモードのAgilex 7デバイスでは、VOUT_COMMAND 値の送信を直接フォーマットでのみ行います。実際の電圧値を読み出すには、次の式を使って VOUT_COMMAND 値をAgilex 7デバイスから変換します。
この式では、直接フォーマット値の変換方法を示しています。条件は、
- Xは計算された実数値で、単位はmV。
- mは勾配係数で、2バイトの2の補数の整数。
- Yは2バイトの2の補数の整数で、Agilex 7デバイスから受け取る。
- bはオフセットで、2バイトの2の補数の整数。
- Rは指数で、1バイトの2の補数の整数。
次の例では、外部電源管理コントローラーでインテルAgilexデバイスから値を取得する方法を示しています。VOUT_COMMAND で使用される係数は次の通りです。
- m = 1
- b = 0
- R = 0
外部電源管理コントローラーで 0384h の値を取得した場合、それは次と同等です。
X = (1/1) x (0384h x 10-0 - 0) = 900mV = 0.90V
以下の障害により、PWRMGT_ALERT 信号が発生する可能性があります。
- PMBUS_ERR_RD_TOO_MANY_BYTES (PMBus/I2Cメッセージ長の長さのエラーです)
- PMBUS_ERR_WR_TOO_MANY_BYTES (PMBus/I2Cメッセージ長の長さのエラーです)
- PMBUS_ERR_UNSUPPORTED_CMD (VOUT_COMMAND、VOUT_MODE、READ_STATUS、および CLEAR_FAULTS のみがPMBUSスレーブモードでサポートされているコマンドです)
- PMBUS_ERR_READ_FLAG (最初のコマンドに応答する前に、重複コマンドを受信しました)
- PMBUS_ERR_INVALID_DATA (無効または不正なPMBus/I2Cメッセージです)
上記のエラーのいずれかが検出されると、PWRMGT_ALERT 信号が生成され、ステータスレジスターのビット1の値が設定されます。