练习 3 - 确定缺少约束的问题

SoC 电源状态是所有设备状态的总和。

Windows 保留设备及其状态的列表(它们被称为“约束”),这对于进入低电量状态至关重要。 在进行复原之前,Windows 会等待所有约束满足,然后进入 DRIPS。 由 OEM 和 SoC 供应商通过 ACPI 固件指定约束。

在 OEM 更改 SoC 供应商的参考设计,而约束必须准确反映这些更改的情况下,必须修改 ACPI 固件。

缺少约束或约束过多都可能导致出现各种问题,而这些问题会造成待机期间电源消耗增加。

  1. 此处下载预生成的 sleepstudy-report_2.html 报告。

  2. 使用常用的浏览器打开 sleepstudy-report_2.html。

  3. 单击“会话 12”。

    • 系统在 11 分钟时长内消耗电量 1.307 瓦

    • DRIPS % 为 92%。

    • 硬件 DRIPS % 为 19%。

    屏幕截图显示系统能耗的示例数据。

  4. 查看 Top Offenders 表

    • 列出的无线网络设备在会话期间的活动时间百分比仅为 7%。

    • 此问题不能考虑 19% HW DRIPS 率。

    屏幕截图显示首要诱因的示例表。

DRIPS %(例如 92%)和硬件 DRIPS %(例如 19%)之间的巨大差异通常表明 ACPI 固件中缺少约束。

简单地说,Windows 假设系统准备进入 DRIPS,但某些硬件组件仍处于活动状态,并阻止 SoC 程序包进入 S0 低电量空闲状态。

合乎逻辑的下一个步骤是尝试使用电源检测平台或你的芯片合作伙伴调试工具,隔离并确定哪些硬件组件仍处于 D0 状态并在消耗电源。

注意 软件和硬件 DRIPS 差异展现的缺失约束问题不同于首要诱因表中显示的无线设备 7% 活动时间问题。 应对此问题进行单独调查。