次の図に、一般的な PMBus コマンドを表しています。
図 1. 2 バイト PMBUS 書き込みフォーマット
図 2. 2 バイト PMBUS 読み出しフォーマット
コマンド | 説明 |
---|---|
SM | スタート コマンド – マスターからスレーブへ |
AM[6:0] | 7 ビット I2C スレーブ アドレス – マスターからスレーブへ |
R/WM | 読み出し (1)/書き込み (0) コマンド – マスターからスレーブへ |
ACKS | 肯定応答 (ACK) – スレーブからマスターへ |
CMDM[7:0] | PMBUS コマンド |
DM[7:0]、DM[15:8]、DM[23:16]、DM[31:24] | マスターから送信されるデータ バイトであり、上位ビットから順に送信され、バイトは最下位が最初に送信される |
SrM | リピート スタート コマンド – マスターからスレーブへ |
DM[7:0]、DM[15:8]、DM[23:16]、DM[31:24] | スレーブから送信されるデータ バイトであり、上位ビットから順に送信され、バイトは最下位が最初に送信される |
ACKM | 肯定応答 (ACK) – マスターからスレーブへ |
NACKM | 否定応答 (NACK) – マスターからスレーブへ |
PM | ストップ コマンド – マスターからスレーブへ |
多くの PMBus コマンドは、複数のバイト読み出し/書き込みコマンドが必要です。次の図に、SYSMON でサポートされる異なるサイズのコマンドの概要を示します。
図 3. コマンド シーケンス
MFR_SELECT_REG および MFR_ACCESS_REG の使用
De-restricted モードの場合は、PMBUS を使用して、MFR_SELECT_REG(MFR_SPECIFIC_D0) および MFR_ACCESS_REG(MFR_SPECIFIC_D1) コマンドで SYSMON レジスタ空間に直接アクセスできます。MFR_SELECT_REG は、4 バイトの MFR_ACCESS_REG コマンドでアクセスする SYSMON レジスタを選択するための 2 バイトのコマンドです。MFR_ACCESS_REG は、SYSMON レジスタを読み出すことができるほか、LOCK (PCSR_LOCK) がロック解除されている場合には制限されていないビットに書き込むことができます。2 バイトの MFR_SELECT_COMMAND は、SYSMON レジスタ空間の絶対アドレスの 16 LSB を書き込むことで設定できます。たとえば、REG_PCSR_LOCK レジスタ (0x00F127000C) にアクセスする場合は、0xD0 コマンドを使用して 0x000C の 2 バイトの書き込みを行います。レジスタが定義されると、4 バイトの READ または WRITE コマンドを使用して、MFR_SELECT_REG コマンドで定義されたレジスタの制限されていないビットを変更できます。