10.2.2.5. _BMC(电池维护控制)
此对象用于启动校准循环,或控制充电器以及电池是否为系统供电。仅当 _BMD 能力标志字段的位 0、1、2 或 5 被置位时,该对象才会出现在电池设备下。
参数:(1)
Arg0 - 一个 Integer,包含功能控制标志:
位 [0] - 置位以启动一个由 AML 控制的校准循环。清除此位以结束校准循环
位 [1] - 置位以禁用充电。清除此位以启用充电
位 [2] - 置位以允许在交流电可用时电池放电。清除此位以防止在交流电可用时放电
位 [3] – 置位以请求暂停电池充电限制模式
返回值:
无
更多信息请参见电池校准。
如果 _BMD 指示支持此功能,则在评估此对象时将 bit0 置位会启动一个由 AML 控制的重新校准循环。该校准循环由平台控制,通常包括禁用 AC 适配器并让电池放电,然后再给电池充电。在电池充电期间,如果可以在校准期间将系统置于待机以加快充电,平台运行时固件应将 _BMD 返回的状态标志的位 [4] 置位。如果以 Bit [0] 等于 0 来评估此对象,则如果当前存在校准循环,将中止该校准循环。如果平台运行时固件确定必须中止校准循环(例如交流电丢失),或者校准成功完成,平台运行时固件将自动结束该循环,清除 _BMD 状态标志位 [0],并发送 notify 0x82。在校准循环进行期间,电池将正常报告数据,因此 OS 必须禁用电池警报。
Bit [1]、Bit [2] 和 Bit [3] 不能与由 AML 控制的校准循环一起使用。置位 Bit [0] 将覆盖 Bit [1]、Bit [2] 和 Bit [3]。即使连接了交流电,Bit [1] 也会阻止电池充电。即使交流电可用,Bit [2] 也会允许系统从电池获取电力。当电池不再能够提供电流时,此设置会被自动清除,系统将继续无中断地使用交流电运行。此外,如果交流电丢失,此位也将被清除。当交流电恢复后,如果用户希望继续放电,OS 必须再次设置该位。当系统自动清除此位时,会导致 _BMD 返回的状态标志发生变化。这将导致发送 notify 0x82。只有在启动由 AML 控制的校准循环时,Bit [1] 才会被自动清除。
当由于 Bit [2] 被置位而使电池放电时,AC 适配器设备的 _PSR 方法将报告 AC 离线,因为系统并非由 AC 适配器供电。如果电池是单独控制的(_BMD 能力标志的 Bit [3]),则将任一电池设置为放电都会导致 _PSR 报告 AC 离线。如果系统中有多个电池将 Bit [2] 置位以使电池放电,则由系统决定放电哪个电池,因此只有在一次只对一个电池放电的系统中,某个 Bit2 已置位的电池才可能在系统中另一个电池正在放电时不处于放电状态。
如果电池不是单独控制的,则调用 _BMC 将在系统中的所有电池上启动校准、禁用充电和/或允许放电。这些电池的状态将反映在所有电池的 _BMD 状态标志中。
Bit [3] 置位用于请求临时暂停电池充电限制。除非 _BMD 能力标志的 Bit [6] 也已置位,否则不得设置此位。