可靠性、功耗与升级规划
| 项目 | 内容 |
|---|---|
| 文档版本 | 0.1 |
| 状态 | 规划稿,功耗阈值需实机校准 |
| 更新日期 | 2026-08-28 |
1. 可靠性目标
- 当前对局最多丢失约2秒内未保存操作。
- 任一快照损坏时使用上一份恢复。
- 无SD、卡损坏、RTC无效和无线失败仍可启动。
- 固件升级失败自动回滚。
- 资源更新失败继续使用旧版本。
- 连续启动失败进入安全模式。
- 所有硬件等待有超时和恢复路径。
2. 电源状态
| 状态 | CPU | 屏幕 | SD | 无线 | 对局 |
|---|---|---|---|---|---|
| 交互态 | 运行 | 刷新 | 按需 | 默认关 | 可操作 |
| 游戏保持态 | 轻睡眠 | 保持 | 可关 | 关 | 可操作 |
| 系统深睡眠 | 深睡眠 | 保持 | 关 | 关 | 锁定 |
| USB传输态 | 运行 | 状态页 | 独占 | 关 | 暂停操作 |
| 更新态 | 运行 | 更新页 | 按需 | 按需 | 禁止操作 |
| 低电保护态 | 深睡眠 | 低电提示 | 关 | 关 | 已保存 |
游戏保持态下,上、下等按键唤醒后继续执行原操作;显式深睡眠仅由电源、USB或可选RTC唤醒。RLCD进入模组明确支持的最低功耗保持模式,不假设断电后仍能保持画面;六色墨水屏另行定义刷新后断电能力。
3. 功耗目标
| 指标 | A0通过线 | A1优化目标 |
|---|---|---|
| 深睡眠整机电流 | ≤100µA | ≤50µA |
| 运输关机电流 | ≤20µA | ≤10µA |
| 两小时本地对局耗电 | ≤10% | ≤5% |
| 30天深睡眠损失 | ≤10% | ≤5% |
数值是设计目标,不是当前已测结果。测量条件必须注明屏幕模式、RTC、SD、无线、稳压与充电器状态。Wi-Fi、SD和屏幕同时工作必须不引起复位。
4. 睡眠流程
收到睡眠请求后停止新任务,完成或取消SD读取,保存最新对局,关闭无线,卸载并关闭SD,锁定游戏,设置屏幕低功耗,最后进入深睡眠。资源安装和OTA写入期间禁止普通睡眠。
5. 电量分级
- Normal:高于20%,正常使用。
- Low:10%~20%,显示提示。
- Very Low:5%~10%,禁止固件更新。
- Critical:低于5%或达到危险电压,保存并保护睡眠。
阈值需根据实际电池放电曲线、ADC和负载校准。不能因Wi-Fi期间一次瞬时低值立即关机。固件更新要求USB连接或安全电量。
6. A/B对局快照
对局载荷采用版本化JSON或CBOR,外层包含Magic、Schema、Sequence、长度和CRC。每次写入较旧槽位,提交并回读验证;启动时选择有效且序号最高的快照。两份都损坏时进入恢复页,不自动清除设置。
7. 启动健康与安全模式
启动时记录“启动中”,完成核心服务并稳定运行后标记成功。连续3次未完成启动进入安全模式。
安全模式仅加载内置字体、测试卡、五键、屏幕、RTC、电池和USB诊断;默认禁用外部资源、无线和未完成更新。用户可查看错误、导出日志、禁用资源包、回滚固件、清除当前对局或恢复出厂。
8. 外设故障
屏幕刷新超时后重试一次,再复位并重新初始化ST7305;持续失败则保留对局并进入诊断。SD挂载失败重试一次并尝试只读,仍失败进入无卡模式,绝不自动格式化。
看门狗分别监控应用、UI、存储和显示流程。每个任务只能报告自身健康,单外设故障优先重置服务而非整机。
9. 固件升级
升级Manifest包含格式版本、固件版本、硬件兼容范围、芯片、最低Bootloader、镜像长度、SHA-256和后续签名字段。
流程:检查电量和硬件、验证升级包、写入非活动分区、再次校验、标记待验证、重启、自检、确认。新固件只有在NVS、显示或诊断路径、按键和应用事件循环正常后才确认;SD卡不是确认条件。
普通OTA只更新应用分区,不更新Bootloader、分区表、安全启动或Flash加密配置。确认前崩溃或连续启动失败时回滚旧固件。
10. 资源更新
新资源写入version.staging,完成Manifest、长度和SHA-256验证后切换正式目录。Catalog采用A/B副本和序号、CRC;更新中断时选择最后有效副本并继续使用旧资源。
11. 恢复出厂
默认清除用户设置、Wi-Fi、当前对局、最近使用、收藏和错误历史;不删除SD资源、固件、硬件校准和设备身份。清空SD必须是独立且二次确认的操作。
12. 安全阶段
原型阶段允许USB自由烧录和无签名包,不启用不可逆安全熔丝。内测阶段验证签名和密钥轮换。量产前再评估Secure Boot、Flash Encryption、签名OTA、加密NVS和生产密钥管理,并先验证返修与回滚。
13. 可靠性测试
- 1000次睡眠/唤醒。
- 不同电量和无线峰值下唤醒。
- 对局保存、资源安装、Catalog切换和OTA各阶段随机断电。
- 100次SD插拔。
- 损坏图片、索引、Catalog和快照。
- 新固件启动失败与自动回滚。
- 显示初始化失败、RTC无效和NVS迁移失败。
- 低电自动保存及USB恢复。