规划文档 工程与评审背景 可靠性、功耗与升级

背景资料 · 工程与评审背景

可靠性、功耗与升级规划

项目内容
文档版本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恢复。