新式待机平台的摄像头电源管理

新式移动平台中的摄像头允许用户捕获其周围的静止视频和运动视频,以及使用视频和音频通过 Internet 与其他用户通信。 摄像头设备的电源管理的一般目标可以简单地进行描述:除非摄像头处于正在使用状态,否则摄像头子系统必须关闭,其功耗为零瓦。

如果正在使用摄像头将视频流式传输到应用程序,则应打开摄像头传感器和相关组件。 Windows 通过挂起可能会从摄像头设备流式传输数据的任何前台 Microsoft Store 应用,在新式待机期间关闭摄像头硬件。 Windows 没有进行允许在系统处于新式待机状态时使用摄像头设备的预配,因此只能在显示器开启时使用摄像头设备。

摄像头子系统

就电源管理而言,摄像头是移动平台中最复杂的设备子系统之一。 之所以这样复杂,是因为需要在数字和图像信号处理单元(已集成到片上系统 (SoC) 中)以及 SoC 芯片外部的摄像头传感器、自动对焦和闪光灯组件之间进行紧密协调。

在下面的讨论中,术语“SoC 内部组件”描述的是集成到 SoC 芯片中的组件。 SoC 外部组件位于 SoC 芯片外部。

如果必须在两个或更多个摄像头子系统之间对 SoC 内部图像处理硬件进行多路复用,则摄像头子系统设计甚至会变得更加复杂。

平板电脑应有一个前置摄像头和一个后置摄像头,这些摄像头共享同一个 SoC 内部图像处理硬件。 硬件共享意味着同时在硬件和软件层上进行多路复用。 由于存在这种复杂性,系统集成商应该与 SoC 芯片供应商紧密合作,将这些摄像头集成到平台中,并实施摄像头设备电源管理。

当系统处于新式待机(显示器关闭)状态时,摄像头传感器、摄像头处理单元、可选的自动对焦器和闪光灯组件必须断电,其功耗为零瓦。 对于 SoC 内部的摄像头组件,SoC 供应商必须提供管理图像处理组件的驱动程序。 图像处理驱动程序通过电源引擎插件 (PEP) 来协调 SoC 内部组件的电源管理。

对于包含传感器、自动对焦器和闪光灯的 SoC 外部摄像头组件,系统集成商必须提供由 ACPI 固件控制的电源轨切换功能和关联的 GPIO 控制信号。

系统集成商还必须提供一个或多个设备驱动程序,用于直接管理传感器、自动对焦器和闪光灯硬件。 由于摄像头子系统的复杂性以及 SoC 内部组件和 SoC 外部组件之间的依赖关系,摄像头传感器和闪光灯驱动程序通常由 SoC 供应商提供。 系统集成商还必须提供摄像头控制器驱动程序,该驱动程序是一种内核模式 AVStream 微型驱动程序。 摄像头控制器驱动程序负责将摄像头设备公开给 Windows 多媒体子系统。 但是,考虑到 AVStream 微型驱动程序模型的复杂性,我们的建议是不要让摄像头控制器驱动程序直接控制任何平台硬件, 而是要让该驱动程序依赖于其他摄像头组件驱动程序来访问硬件资源和设备电源管理。 也就是说,摄像头控制器驱动程序应与控制 SoC 内部图像文件处理硬件的驱动程序和控制 SoC 外部传感器和闪光灯设备的驱动程序通信。

在本节中

主题 说明

摄像头硬件

概述摄像头硬件拓扑。 Windows 支持新式待机平台中摄像头设备的单个硬件电源管理配置。 简而言之,每个摄像头传感器都必须通过 MIPI-CSI 链路连接到 SoC,并可选择连接到 I2C 总线和一个或多个 GPIO 引脚。 摄像头传感器设备、其可选闪光灯和任何其他 SoC 外部摄像头组件必须置于可通过 ACPI 固件打开和关闭的电源轨上。

摄像头电源管理

介绍必须在摄像头子系统的片上系统 (SoC) 外部和内部组件中受到支持的电源管理模式。 当系统处于联网待机状态且显示器处于关闭状态时,SoC 内部图像处理单元和 SoC 外部摄像头组件都不应耗电(零瓦特)。 电源管理的主要软件机制是对摄像头捕获引脚进行引用计数。 包括一个可供系统集成商、摄像头传感器供应商和 SoC 供应商使用的清单,以确保其系统电源管理设计与 Windows 10 兼容。