在power_mgmt仓中在获取psu版本号的代码处理中针对DC输入模式,版本号信息中多加了QB字段

// 此模板仅供参考,如果不适用可以修改

问题描述

在power_mgmt仓中,在获取psu版本号的代码处理中,针对DC输入模式,版本号信息中多加了QB字段,请问这个是什么背景?为什么要加QB?

image

环境信息

重现步骤

DC模式必现

期望结果

实际结果

尝试过的解决方案

分析结论

答案内容由AI生成,仅供参考:

结论

在DC输入模式下,电源固件版本信息中额外添加(QB)字段,是为了清晰标识该PFC版本来源于QB砖(电源砖),这源于直流电源硬件架构的设计——BMC需同时展示主控DSP版本和各个QB砖的固件版本,从而在输出格式中明确区分不同模块。这一背景在能效问题单总结和电源固件版本相关文档中均有印证。

点击此处查看详细分析解答

问题分析

根据提供的上下文信息,电源固件版本是一个复合数据字段,由两部分组成:

  • DC版本:对应主板DSP软件版本号。
  • PFC版本:对应电源QB砖(Power Brick)的软件版本号。

在直流(DC)输入模式下,电源硬件架构可能包含多个电源砖(如QB砖)。例如,某3000W液冷直流电源具有一个大板,板上集成2个1600W电源砖,BMC可以分别获取这两个砖的版本号,因此正常显示的固件版本格式为DC:xxx PFC:xxx PFC:xxx(每个砖对应一个PFC版本)。

power_mgmt仓的pmbus:get_firmware_version()函数中,代码会先获取电源输入类型(AC/DC),然后读取软件加载信息,并循环获取各模块的固件版本。最终返回的字符串格式为:

'DC:%x%%02x PFC:%s%%02x'

其中,当输入类型为DC(input_type == 0)时,会在PFC字段后附加(QB)标识。

添加(QB)的背景与原因

  1. 明确标识版本来源:在DC模式下,电源系统可能包含一个或多个QB砖。PFC版本是直接从QB砖中读取的软件版本号。添加(QB)是为了显式说明该PFC版本对应的模块是QB砖(即电源砖),区别于其他可能的模块(如主控板DSP)。
  2. 硬件架构的适配:如搜索结果中所述,某些直流电源(例如3000W液冷直流电源)内部包含多个独立的1600W电源砖(QB砖),每个砖都有自己的固件。BMC在获取版本信息时,需要区分DC主控板版本和各个QB砖的版本,因此通过标识符(QB)来区分。
  3. 代码逻辑的对应:在get_power_supply_type()函数中,输入类型映射表将值3也映射为INPUT_TYPE_DC(直流)。而代码中仅当输入类型为DC时才会附加(QB),表明该标识仅适用于直流模式下的QB砖版本显示。

结论

在DC输入模式下,电源固件版本信息中额外添加(QB)字段,是为了清晰标识该PFC版本来源于QB砖(电源砖),这源于直流电源硬件架构的设计——BMC需同时展示主控DSP版本和各个QB砖的固件版本,从而在输出格式中明确区分不同模块。这一背景在能效问题单总结和电源固件版本相关文档中均有印证。