CSR配置字典之电源管理类集合
更新时间:2025/7/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题电源管理类集合配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建电源管理类集合配置字典全新文档系统管理员

🎯 类概览

PowerButton 类

属性
类名称PowerButton
功能描述电源按钮管理,提供短按和长按按钮控制功能,用于上下电操作
所属SIG组power
所属组件powerbutton
责任人电源管理组
状态🟢 正常运行

ACCycle 类

属性
类名称ACCycle
功能描述AC电源循环管理,提供AC功能控制,用于BMC和OS同时断电操作
所属SIG组power
所属组件accycle
责任人电源管理组
状态🟢 正常运行

PGSignal 类

属性
类名称PGSignal
功能描述电源良好信号管理,提供后电信号读取功能,用于监控系统上下电状态
所属SIG组power
所属组件pgsignal
责任人电源管理组
状态🟢 正常运行

ButtonEvt 类

属性
类名称ButtonEvt
功能描述按钮事件管理,提供按钮锁定、事件获取和屏蔽功能,用于按钮事件处理
所属SIG组power
所属组件buttonevent
责任人电源管理组
状态🟢 正常运行

📊 属性定义详表

PowerButton 必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ShortPushButtonString-先写0后写1Accessor_ShortPushButton短按按钮控制上下电使用"#/Accessor_ShortPushButton.Value"硬件提供硬件
LongPushButtonString-先写0后写1Accessor_LongPushButton长按按钮控制上下电使用"#/Accessor_LongPushButton.Value"硬件提供硬件

ACCycle 必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ACString-1Accessor_AC支持AC功能,写寄存器值为1表示执行ACBMC和OS同时断电"#/Accessor_AC.Value"硬件提供硬件

PGSignal 必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
PowerGDStateString-1或0Scanner_PowerGd后电信号
1:上电
0:下电
读取后电信号"<=/Scanner_PowerGd.Value"只能来自于硬件硬件

PGSignal 可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
@DefaultMixed255255-默认值配置同步属性默认值"PowerGDState":255默认值硬件

ButtonEvt 可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
PowerBtnLockString-关联SMC对象Accessor_PowerBtnLock屏蔽面板按钮功能用于禁止机框按钮的长按和短按功能"#/Accessor_PowerBtnLock.Value"硬件提供硬件
GetPowerBtnEvtString-关联SMC对象Scanner_PowerBtnEvt上报按钮按下用于上报按钮按下的事件"<=/Scanner_PowerBtnEvt.Value"硬件提供硬件
SetPowerBtnEvtString-关联SMC对象Accessor_PowerBtnEvt清除按钮按下用于清除上报按钮按下的事件"#/Accessor_PowerBtnEvt.Value"硬件提供硬件
PowerBtnShieldString-关联SMC对象Accessor_PowerBtnShield屏蔽短按功能仅开启短按屏蔽功能"#/Accessor_PowerBtnShield.Value"硬件提供硬件

🔗 动态关联机制

语法规范

使用 #/xxx<=/xxx 格式实现动态关联:

yaml
# PowerButton 关联
ShortPushButton: "#/Accessor_ShortPushButton.Value"
LongPushButton: "#/Accessor_LongPushButton.Value"

# ACCycle 关联
AC: "#/Accessor_AC.Value"

# PGSignal 关联
PowerGDState: "<=/Scanner_PowerGd.Value"

# ButtonEvt 关联
PowerBtnLock: "#/Accessor_PowerBtnLock.Value"
GetPowerBtnEvt: "<=/Scanner_PowerBtnEvt.Value"
SetPowerBtnEvt: "#/Accessor_PowerBtnEvt.Value"
PowerBtnShield: "#/Accessor_PowerBtnShield.Value"

关联说明

  • PowerButton: 关联Accessor对象用于按钮控制
  • ACCycle: 关联Accessor对象用于AC电源控制
  • PGSignal: 关联Scanner对象读取电源良好信号
  • ButtonEvt: 关联Scanner和Accessor对象用于按钮事件管理

📂 分类标准

硬件属性

  • 定义:与硬件电源控制直接相关的参数
  • 特点:通过硬件寄存器实现电源控制功能
  • 示例:所有属性均为硬件属性

软件属性

  • 定义:用于软件逻辑控制的参数
  • 特点:本类集合中暂无纯软件属性
  • 示例:无

📝 配置示例

完整电源管理配置

json
{
  "PowerButton": {
    "ShortPushButton": "#/Accessor_ShortPushButton.Value",
    "LongPushButton": "#/Accessor_LongPushButton.Value"
  },
  "ACCycle": {
    "AC": "#/Accessor_AC.Value"
  },
  "PGSignal": {
    "PowerGDState": "<=/Scanner_PowerGd.Value",
    "@Default": {
      "PowerGDState": 255
    }
  },
  "ButtonEvt": {
    "PowerBtnLock": "#/Accessor_PowerBtnLock.Value",
    "GetPowerBtnEvt": "<=/Scanner_PowerBtnEvt.Value",
    "SetPowerBtnEvt": "#/Accessor_PowerBtnEvt.Value",
    "PowerBtnShield": "#/Accessor_PowerBtnShield.Value"
  }
}

简化配置

json
{
  "PowerButton": {
    "ShortPushButton": "#/Accessor_ShortPushButton.Value",
    "LongPushButton": "#/Accessor_LongPushButton.Value"
  },
  "PGSignal": {
    "PowerGDState": "<=/Scanner_PowerGd.Value"
  }
}

🔧 使用指南

配置步骤

  1. PowerButton配置:关联短按和长按按钮的Accessor对象
  2. ACCycle配置:关联AC电源控制的Accessor对象
  3. PGSignal配置:关联电源良好信号的Scanner对象
  4. ButtonEvt配置:关联按钮事件相关的Scanner和Accessor对象
  5. 验证关联:确保所有关联对象已正确定义

注意事项

  • 按钮操作:PowerButton需要先写0后写1来执行操作
  • AC操作:写寄存器值为1表示执行AC断电
  • 信号读取:PGSignal只能从硬件读取,不能写入
  • 事件管理:ButtonEvt支持按钮锁定和事件清除功能

性能建议

  • 及时处理:及时处理按钮事件和电源状态变化
  • 状态监控:实时监控电源良好信号状态
  • 安全操作:确保电源操作的安全性和可靠性

故障排查

  • 按钮无响应:检查PowerButton关联的Accessor对象
  • AC操作失败:检查ACCycle关联的Accessor对象
  • 信号读取异常:检查PGSignal关联的Scanner对象
  • 事件处理异常:检查ButtonEvt相关的对象关联

电源按钮管理

  • 短按功能:通过ShortPushButton实现短按操作
  • 长按功能:通过LongPushButton实现长按操作
  • 操作方式:先写0后写1来触发按钮操作
  • 应用场景:用于系统的上下电控制

AC电源管理

  • AC功能:支持AC电源循环操作
  • 断电操作:写1到AC寄存器执行断电
  • 应用场景:BMC和OS同时断电重启
  • 安全机制:提供安全的断电重启功能

电源信号监控

  • 信号读取:实时读取电源良好信号
  • 状态判断:1表示上电,0表示下电
  • 默认值:支持默认值配置
  • 应用场景:监控系统电源状态

按钮事件处理

  • 按钮锁定:通过PowerBtnLock屏蔽按钮功能
  • 事件获取:通过GetPowerBtnEvt获取按钮事件
  • 事件清除:通过SetPowerBtnEvt清除按钮事件
  • 短按屏蔽:通过PowerBtnShield仅屏蔽短按功能