📋 文档信息
项目 | 内容 |
---|
文档标题 | 电源管理类集合配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|
v1.0 | 2025-01-27 | 初始版本 | 创建电源管理类集合配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
属性 | 值 |
---|
类名称 | PowerButton |
功能描述 | 电源按钮管理,提供短按和长按按钮控制功能,用于上下电操作 |
所属SIG组 | power |
所属组件 | powerbutton |
责任人 | 电源管理组 |
状态 | 🟢 正常运行 |
ACCycle 类
属性 | 值 |
---|
类名称 | ACCycle |
功能描述 | AC电源循环管理,提供AC功能控制,用于BMC和OS同时断电操作 |
所属SIG组 | power |
所属组件 | accycle |
责任人 | 电源管理组 |
状态 | 🟢 正常运行 |
PGSignal 类
属性 | 值 |
---|
类名称 | PGSignal |
功能描述 | 电源良好信号管理,提供后电信号读取功能,用于监控系统上下电状态 |
所属SIG组 | power |
所属组件 | pgsignal |
责任人 | 电源管理组 |
状态 | 🟢 正常运行 |
属性 | 值 |
---|
类名称 | ButtonEvt |
功能描述 | 按钮事件管理,提供按钮锁定、事件获取和屏蔽功能,用于按钮事件处理 |
所属SIG组 | power |
所属组件 | buttonevent |
责任人 | 电源管理组 |
状态 | 🟢 正常运行 |
📊 属性定义详表
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|
ShortPushButton | String | - | 先写0后写1 | Accessor_ShortPushButton | 短按按钮控制 | 上下电使用 | "#/Accessor_ShortPushButton.Value" | 硬件提供 | 硬件 |
LongPushButton | String | - | 先写0后写1 | Accessor_LongPushButton | 长按按钮控制 | 上下电使用 | "#/Accessor_LongPushButton.Value" | 硬件提供 | 硬件 |
ACCycle 必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|
AC | String | - | 1 | Accessor_AC | 支持AC功能,写寄存器值为1表示执行AC | BMC和OS同时断电 | "#/Accessor_AC.Value" | 硬件提供 | 硬件 |
PGSignal 必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|
PowerGDState | String | - | 1或0 | Scanner_PowerGd | 后电信号 1:上电 0:下电 | 读取后电信号 | "<=/Scanner_PowerGd.Value" | 只能来自于硬件 | 硬件 |
PGSignal 可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|
@Default | Mixed | 255 | 255 | - | 默认值 | 配置同步属性默认值 | "PowerGDState":255 | 默认值 | 硬件 |
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|
PowerBtnLock | String | - | 关联SMC对象 | Accessor_PowerBtnLock | 屏蔽面板按钮功能 | 用于禁止机框按钮的长按和短按功能 | "#/Accessor_PowerBtnLock.Value" | 硬件提供 | 硬件 |
GetPowerBtnEvt | String | - | 关联SMC对象 | Scanner_PowerBtnEvt | 上报按钮按下 | 用于上报按钮按下的事件 | "<=/Scanner_PowerBtnEvt.Value" | 硬件提供 | 硬件 |
SetPowerBtnEvt | String | - | 关联SMC对象 | Accessor_PowerBtnEvt | 清除按钮按下 | 用于清除上报按钮按下的事件 | "#/Accessor_PowerBtnEvt.Value" | 硬件提供 | 硬件 |
PowerBtnShield | String | - | 关联SMC对象 | Accessor_PowerBtnShield | 屏蔽短按功能 | 仅开启短按屏蔽功能 | "#/Accessor_PowerBtnShield.Value" | 硬件提供 | 硬件 |
🔗 动态关联机制
语法规范
使用 #/xxx
和 <=/xxx
格式实现动态关联:
yaml
ShortPushButton: "#/Accessor_ShortPushButton.Value"
LongPushButton: "#/Accessor_LongPushButton.Value"
AC: "#/Accessor_AC.Value"
PowerGDState: "<=/Scanner_PowerGd.Value"
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"
}
}
🔧 使用指南
配置步骤
- PowerButton配置:关联短按和长按按钮的Accessor对象
- ACCycle配置:关联AC电源控制的Accessor对象
- PGSignal配置:关联电源良好信号的Scanner对象
- ButtonEvt配置:关联按钮事件相关的Scanner和Accessor对象
- 验证关联:确保所有关联对象已正确定义
注意事项
- 按钮操作: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仅屏蔽短按功能