英特尔Agilex® 7电源管理用户指南

ID 683373
日期 12/04/2023
Public
文档目录

5.1.2.2. PMBus Slave模式

英特尔Agilex 7器件也可以通过用作PMBus master的外部电源管理控制器在PMBus slave模式下进行配置。通过PMBus与英特尔Agilex 7器件交互的外部电源管理控制器必须支持时钟延长(clock stretching)。外部电源管理控制器负责驱动所有PMBus传输,查询FPGA的目标电压要求,并与电压适配器进行交互,以将它们配置为FPGA的目标电压。

对于具有PWRMGT_ALERT的PMBus slave模式, 您必须对外部PMBus流程遵循以下列出的指南:

  • 图:外部PMBus Master和具有PWRMGT_ALERT信号的PMBus Slave模式下的FPGA之间的握手流程
  • 图:外部PMBus Master和PMBus Slave模式下的FPGA之间的握手时序图(PWRMGT_ALERT)
  • 表:PWRMGT_ALERT信号置位,STATUS_BYTE=0时的外部PMBus Master的阶段流程
  • 表:PWRMGT_ALERT信号置位,STATUS_BYTE不等于0时的外部PMBus Master的阶段流程
图 24. PMBus Slave模式
表 23.  PMBus Slave模式的受支持的命令
命令名称 命令代码 默认值 PMBus传输类型 字节数
CLEAR_FAULTS 03h Send byte 0
VOUT_MODE 20h 40h Read byte 1
VOUT_COMMAND 21h Read word 2
STATUS_BYTE 78h 00h Read byte 1
图 25. 外部PMBus Master和具有PWRMGT_ALERT信号的PMBus Slave模式下的FPGA之间的握手流程
表 24.  PWRMGT_ALERT信号置位,STATUS_BYTE=0时的外部PMBus Master的阶段流程
序列 SDM PMBus Master 注释
1 置位PWRMGT_ALERT信号
2 检测PWRMGT_ALERT信号
3 启动ARA流程
4 响应ARA流程并提供其地址 只有在step 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信号置位后的200ms之内被SDM接收到,否则将导致配置错误。14
10 接收VOUT_COMMAND,以目标电压作出响应 根据温度,VID fuse和直接格式的系数进行计算(您需要指定此输入)。
11 以不大于10mV/10ms的步长将电压调节器设置为目标电压
表 25.  PWRMGT_ALERT信号置位,STATUS_BYTE不等于0时的外部PMBus Master的阶段流程
序列 SDM PMBus Master 注释
1 置位PWRMGT_ALERT信号 SDM检测到故障并置位PWRMGT_ALERT信号。15
2 检测PWRMGT_ALERT信号
3 启动ARA流程
4 响应ARA流程并提供其地址 只有在step 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 处理故障的外部master
图 26. 外部PMBus Master和PMBus Slave模式下的FPGA之间的握手时序图(PWRMGT_ALERT)

PMBus slave模式下的英特尔Agilex 7器件只以直接格式发送VOUT_COMMAND值。要读取实际电压值,请使用以下公式转换英特尔Agilex 7器件的VOUT_COMMAND值。

图 27. 直接格式公式

此公式显示如何转换直接格式值,其中:

  • X,是计算出的实际值(mV);
  • m,是斜率系数,是一个2字节的二进制补码整数;
  • Y,从英特尔Agilex 7器件接收到的2字节的二进制补码整数;
  • b,是偏移量,一个2字节的二进制补码整数;
  • R,是指数,一个1字节的二进制补码整数

如下示例显示了外部电源管理控制器如何从英特尔Agilex 7器件检索数值。VOUT_COMMAND中使用的系数如下所示:

  • m = 1
  • b = 0
  • R = 0

如果外部电源管理控制器检索到一个值0384h,则其等同于:

X = (1/1) x (0384h x 10-0 - 0) = 900 mV = 0.90 V

14 当SDM没有在指定时间内接收到VOUT_COMMAND而触发一个错误时,您必须重启器件才能从错误中恢复。如果不重启器件,那么将无法成功配置器件。
15

以下故障会引发PWRMGT_ALERT信号:

  • PMBUS_ERR_RD_TOO_MANY_BYTES (PMBus/I2C消息长度的错误)
  • PMBUS_ERR_WR_TOO_MANY_BYTES (PMBus/I2C 消息长度的错误)
  • PMBUS_ERR_UNSUPPORTED_CMD (VOUT_COMMANDVOUT_MODEREAD_STATUSCLEAR_FAULTS是PMBUS Slave Mode中仅支持的命令。)
  • PMBUS_ERR_READ_FLAG (在能够响应第一个命令之前接收到重复命令)
  • PMBUS_ERR_INVALID_DATA (无效或格式错误的PMBus/I2C消息)

如果检测到以上任何错误,那么就会引发PWRMGT_ALERT信号,并且状态寄存器的bit 1被设置。