CSR配置字典之Fru类
更新时间: 2026/11/04
在AtomGit上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | CSR配置字典之Fru类 |
| 文档版本 | 1.2 |
| 创建日期 | 2025-07-12 |
| 最后更新 | 2026-11-03 |
| 维护状态 | 活跃维护 |
📋 变更历史记录
| 版本 | 日期 | 变更内容 | 变更人 |
|---|---|---|---|
| 1.0 | 2025-07-12 | 初始版本创建 | 系统 |
| 1.1 | 2026-05-15 | 补充CSR属性 | frudata组件组 |
| 1.2 | 2026-11-03 | 内联Type设备类型枚举取值(替换原"参考IDP文档"引用),并补充设备类型枚举表 | Type字段 |
🎯 类概览
Fru 类
| 属性 | 值 |
|---|---|
| 类名称 | Fru |
| 功能描述 | 用于管理可独立更换模块(Field Replaceable Unit)的配置。该类主要负责电子标签的查询和管理,包括PCB版本信息、FRU标识、电源状态、健康状态等关键属性的配置和监控 |
| 所属SIG组 | hardware |
| 所属组件 | frudata |
| 责任人 | 散热管理组 |
| 最后更新 | 2026-05-15 |
| 状态 | 🟢 正常运行 |
主要功能特点
- 电子标签管理:提供完整的FRU电子标签信息查询功能
- 版本控制:支持PCB版本的自动转换和管理
- 状态监控:实时监控FRU的电源状态和健康状态
- 唯一标识:支持天池组件的唯一标识管理
- 数据关联:与其他组件和数据对象的动态关联
📊 属性定义表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
| PcbId | U8 | - | U8 | #/Accessor_PcbID.Value | 关联获取PcbID的Accessor | 查询电子标签 | #/Accessor_PcbID.Value | CSR配置 | 硬件 |
| PcbVersion | String | - | String | 自动转换 | PCB的版本,例如.A或者.B,这个值会自动根据PcbId进行转换(PcbID为1,PcbVersion为".A",PcbID为21,PcbVersion为".B",以此类推) | 查询电子标签 | ".A" | CSR配置 | 硬件 |
| FruId | U8 | - | U8 | 是 | 关联所在的Fru的Fruid,0只能给挂耳使用,配置FruId为1~63会自动分配,大于63则使用配置的FruId,除挂耳外配成1即可 | 查询电子标签 | 1 | CSR配置 | 软件 |
| FruName | String | - | String | 否 | Fru的名称,如CpuBoard | 查询电子标签 | "CpuBoard${Slot}" | CSR配置 | 软件 |
| PowerState | U8 | - | U8(只取1或0) | 否 | Fru关联的热插拔状态,如果不支持可以直接配成1,支持热插拔则需要关联对应的ChassisPayload的PowerState | 查询电子标签 | 1 | CSR配置 | 硬件 |
| Health | U8 | - | U8 | 否 | 当前未使用 | 查询电子标签 | 0 | CSR配置 | 软件 |
| EepStatus | U8 | - | U8 | 否 | 当前未使用 | 查询电子标签 | 1 | CSR配置 | 软件 |
| GroupPosition | String | - | String | 否 | 代码会更新为自发现Position,可不配置 | 查询电子标签 | 0 | BMC内部设置 | 软件 |
| Type | U8 | - | 设备类型枚举,取值范围:取值范围:0~98、192~197、252、253,255为保留值,详细取值见下文【设备类型枚举】表 | 是 | Fru类型 | 查询电子标签 | 36 | CSR配置 | 软件 |
| BoardId | U16 | 65535 | U16 | 是 | 非天池组件单板BoardID,天池组件默认配置65535 | 查询电子标签 | 65535 | CSR配置 | 硬件 |
| UniqueId | String | - | String | 否 | 天池:组件唯一标识,Vendor + ComponentID。代码会从eeprom获取给赋值 | 查询电子标签 | "00000001100302025549" | CSR配置 | 软件 |
| FruDataId | 关联FruData对象 | - | 关联FruData对象 | 是 | 关联FruData对象 | 查询电子标签 | "#/FruData_CpuBoard" | CSR配置 | 软件 |
| ConnectorGroupId | U32 | - | U32 | 是 | 关联Connector传过来的GroupId | 查询电子标签 | "${GroupId}" | CSR配置 | 软件 |
可选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
| BomId | U8 | 255 | U8 | - | Bom Id | 查询Bom Id | 1 | CSR配置 | 硬件 |
| SlotId | U8 | 255 | U8 | - | 槽位号 | 查询槽位号 | 1 | CSR配置 | 硬件 |
📊 设备类型枚举
说明:Fru Type与Component Type定义方式相同(Fru Type的例外部分单独划分),取值与Component类
Type字段一致。
| 类型ID(十进制) | 类型ID(十六进制) | 部件类型名称 |
|---|---|---|
| 0 | 0x00 | CPU |
| 1 | 0x01 | Memory(内存) |
| 2 | 0x02 | Hard disk(硬盘) |
| 3 | 0x03 | Power supply unit(PSU电源模块) |
| 4 | 0x04 | Fan(风扇) |
| 5 | 0x05 | Hard Drive Backplane(硬盘背板) |
| 6 | 0x06 | Screw-in RAID controller card(插拔RAID控制卡) |
| 7 | 0x07 | UNKNOWN(未定义) |
| 8 | 0x08 | PCIe cards(PCIe卡) |
| 9 | 0x09 | AMC board(AMC单板) |
| 10 | 0x0A | HBA Controller Card(HBA控制卡) |
| 11 | 0x0B | mezzanine card(夹层卡) |
| 12 | 0x0C | UNKNOWN(未定义) |
| 13 | 0x0D | NIC(网卡) |
| 14 | 0x0E | Memory board(内存板) |
| 15 | 0x0F | PCIe riser card(PCIe Riser卡) |
| 16 | 0x10 | PCBA(主板) |
| 17 | 0x11 | LCD |
| 18 | 0x12 | Chassis(机箱) |
| 19 | 0x13 | NCM(节点控制器模块) |
| 20 | 0x14 | Switch Module(交换模块) |
| 21 | 0x15 | Storage Board(存储板) |
| 22 | 0x16 | Chassis Backplane(机箱背板) |
| 23 | 0x17 | SMM/CMC(集中管理模块) |
| 24 | 0x18 | Fan Backplane(风扇背板) |
| 25 | 0x19 | PSU Backplane/Power Transfer Board(电源背板/电源转接板) |
| 26 | 0x1A | BMC board(BMC单板) |
| 27 | 0x1B | MMC/MM board(外设管理板) |
| 28 | 0x1C | Twin Node Backplane(双子节点背板) |
| 29 | 0x1D | Base Plane(基础交换平面) |
| 30 | 0x1E | Fabric Plane(Fabric交换平面) |
| 31 | 0x1F | Switch Mezz(交换夹层卡) |
| 32 | 0x20 | LED |
| 33 | 0x21 | SD Card(SD卡) |
| 34 | 0x22 | Security Module(安全模块TPM/TCM) |
| 35 | 0x23 | I/O Board(IO单板) |
| 36 | 0x24 | CPU Board(CPU板) |
| 37 | 0x25 | RMC(机架管理模块) |
| 38 | 0x26 | PCIe Adapter(PCIe SSD转接卡) |
| 39 | 0x27 | PCH |
| 40 | 0x28 | Cable(线缆/内部连接) |
| 41 | 0x29 | Port(端口) |
| 42 | 0x2A | LSW |
| 43 | 0x2B | PHY |
| 44 | 0x2C | System(业务系统/产品) |
| 45 | 0x2D | M.2 Transfer Card(M.2转接卡) |
| 45 | 0x2D | Expander(扩展器,某机型专用) |
| 46 | 0x2E | LED Board(LED板) |
| 47 | 0x2F | LPM(LPM/PBI板) |
| 48 | 0x30 | PIC Card(PIC卡) |
| 49 | 0x31 | Button(按钮) |
| 50 | 0x32 | Expander(通用扩展板) |
| 51 | 0x33 | CPI(集中控制分区单元) |
| 52 | 0x34 | ACM(高级时钟模块) |
| 53 | 0x35 | CIM(中央接口模块) |
| 54 | 0x36 | PFM(电源风扇完整性模块) |
| 55 | 0x37 | KPAR(多分区系统) |
| 56 | 0x38 | JC(JC芯片) |
| 57 | 0x39 | SCM(系统计算模块) |
| 58 | 0x3A | Minisas HD channel(MINISAS HD通道) |
| 59 | 0x3B | SATA DOM channel(SATADOM通道) |
| 60 | 0x3C | GE channel(GE通道) |
| 61 | 0x3D | XGE channel(XGE通道) |
| 62 | 0x3E | PCIe Switch(PCIe交换) |
| 63 | 0x3F | Interface Device(接口组件/接口板) |
| 64 | 0x40 | xPU Board(xPU载板/xPU板) |
| 65 | 0x41 | Disk BaseBoard(硬盘基板) |
| 66 | 0x42 | VGA Interface Card(VGA转接卡) |
| 67 | 0x43 | Pass-Through Card(透传卡) |
| 68 | 0x44 | Logical Driver(逻辑硬盘) |
| 69 | 0x45 | PCIe Retimer(PCIe重定时器) |
| 70 | 0x46 | PCIe Repeater(PCIe中继器) |
| 71 | 0x47 | SAS |
| 72 | 0x48 | Memory Channel(内存通道) |
| 73 | 0x49 | BMA |
| 74 | 0x4A | LOM |
| 75 | 0x4B | Signal Adapter Board(信号转接板) |
| 76 | 0x4C | Horizontal Connection Board(水平转接板) |
| 77 | 0x4D | Node(节点) |
| 78 | 0x4E | Asset Locate Board(资产管理板) |
| 79 | 0x4F | Unit(安装位置) |
| 80 | 0x50 | RMM(机柜管理模块) |
| 81 | 0x51 | Rack(机柜) |
| 82 | 0x52 | BBU(备电模块) |
| 83 | 0x53 | OCP Card(OCP卡) |
| 84 | 0x54 | Leakage Detection Card(漏液检测卡) |
| 85 | 0x55 | MESH Card(Mesh卡) |
| 86 | 0x56 | NPU(神经网络计算芯片) |
| 87 | 0x57 | CIC Card(融合接口卡) |
| 88 | 0x58 | Expansion Module(扩展模块) |
| 89 | 0x59 | Fan Module(风扇模块) |
| 90 | 0x5A | AR Card(AR卡) |
| 91 | 0x5B | Converge Board(融合板) |
| 92 | 0x5C | SoC Board(SoC PCBA) |
| 93 | 0x5D | Expand Board(扩展板) |
| 94 | 0x5E | HiAM |
| 95 | 0x5F | Optical Module(光模块) |
| 96 | 0x60 | HDU(高压配电单元) |
| 97 | 0x61 | NP(网络加速板) |
| 98 | 0x62 | LCN(局域计算网络) |
| 192 | 0xC0 | BCU(基础计算单元) |
| 193 | 0xC1 | EXU(系统扩展单元) |
| 194 | 0xC2 | SEU(存储扩展组件) |
| 195 | 0xC3 | IEU(IO扩展组件) |
| 196 | 0xC4 | CLU(散热组件) |
| 197 | 0xC5 | SSU |
| 252 | 0xFC | XXX Software Events(某产品软件告警) |
| 253 | 0xFD | PoDManager(PoDManager系统软件) |
| 255 | 0xFF | Reserved(保留。 用作扩展或特殊场景定义,禁止作为有效的设备类型使用) |
🔗 动态关联机制
1. PcbId 关联
- 关联对象: Accessor对象
- 关联格式:
#/Accessor_PcbID.Value - 功能: 动态获取PCB标识信息
2. PcbVersion 自动转换
- 转换规则: 根据PcbId自动转换版本号
- 转换逻辑:
- PcbID为1 → PcbVersion为".A"
- PcbID为21 → PcbVersion为".B"
- 以此类推
3. FruDataId 关联
- 关联对象: FruData对象
- 关联格式:
#/FruData_xxx - 功能: 关联FRU数据对象
4. ConnectorGroupId 关联
- 关联对象: Connector对象
- 关联格式:
${GroupId} - 功能: 关联连接器组标识
📂 分类标准
硬件分类
- PcbId: PCB标识信息
- PcbVersion: PCB版本信息
- PowerState: 电源状态
- BoardId: 单板标识
软件分类
- FruId: FRU标识
- FruName: FRU名称
- Health: 健康状态
- EepStatus: EEPROM状态
- GroupPosition: 组位置
- Type: FRU类型
- UniqueId: 唯一标识
- FruDataId: FRU数据关联
- ConnectorGroupId: 连接器组关联
📝 配置示例
基本CPU板卡配置
json
{
"PcbId": "#/Accessor_PcbID.Value",
"PcbVersion": ".A",
"FruId": 1,
"FruName": "CpuBoard1",
"PowerState": 1,
"Health": 0,
"EepStatus": 1,
"GroupPosition": "0",
"Type": 36,
"BoardId": 65535,
"UniqueId": "00000001100302025549",
"FruDataId": "#/FruData_CpuBoard",
"ConnectorGroupId": "${GroupId}"
}热插拔支持配置
json
{
"PcbId": "#/Accessor_PcbID.Value",
"PcbVersion": ".B",
"FruId": 2,
"FruName": "CpuBoard2",
"PowerState": "#/ChassisPayload.PowerState",
"Health": 0,
"EepStatus": 1,
"GroupPosition": "1",
"Type": 36,
"BoardId": 1001,
"UniqueId": "00000001100302025550",
"FruDataId": "#/FruData_CpuBoard2",
"ConnectorGroupId": "${GroupId}"
}天池组件配置
json
{
"PcbId": "#/Accessor_PcbID.Value",
"PcbVersion": ".A",
"FruId": 1,
"FruName": "TianchiComponent",
"PowerState": 1,
"Health": 0,
"EepStatus": 1,
"GroupPosition": "0",
"Type": 36,
"BoardId": 65535,
"UniqueId": "00000001100302025549",
"FruDataId": "#/FruData_Tianchi",
"ConnectorGroupId": "${GroupId}"
}🔧 使用指南
1. 必选属性配置
以下属性为必选项,必须正确配置:
- PcbId: 必须关联有效的Accessor对象
- PcbVersion: 系统会自动转换,无需手动配置
- FruId: 除挂耳外配成1即可
- FruName: 提供有意义的FRU名称
- Type: 参考IDP文档中的设备类型附录
- BoardId: 天池组件配置65535,其他组件配置实际BoardID
- FruDataId: 必须关联有效的FruData对象
- ConnectorGroupId: 必须关联有效的Connector GroupId
2. 可选属性配置
以下属性为可选项,根据实际需求配置:
- PowerState: 不支持热插拔配成1,支持热插拔需关联ChassisPayload
- Health: 当前未使用,可配置为0
- EepStatus: 当前未使用,可配置为1
- GroupPosition: 代码会自动更新,可不配置
- UniqueId: 天池组件需要配置,其他组件可选
3. 版本转换规则
- PcbId为1-20:对应PcbVersion ".A"到".T"
- PcbId为21-40:对应PcbVersion ".B"到".U"
- 以此类推,每20个ID对应一个版本系列
4. FruId分配规则
- 0:专用于挂耳
- 1-63:自动分配
- 64+:使用配置的FruId
❓ 常见问题
Q1: PcbVersion如何自动转换?
A: 系统会根据PcbId自动转换PcbVersion,无需手动配置。转换规则为:PcbID为1对应".A",PcbID为21对应".B",依此类推。
Q2: 天池组件和普通组件的区别?
A: 天池组件的BoardId固定为65535,需要配置UniqueId作为唯一标识;普通组件使用实际的BoardId,UniqueId可选。
Q3: 如何处理热插拔状态?
A: 如果不支持热插拔,直接配置PowerState为1;如果支持热插拔,需要关联对应ChassisPayload的PowerState。
Q4: Health和EepStatus属性的用途?
A: 这两个属性当前未使用,可以配置为默认值0和1。
Q5: GroupPosition需要手动配置吗?
A: 不需要,代码会自动更新为自发现的Position值,可以不配置或配置为默认值。