目录

前言

一、Smart Battrey Subsystems

1. ACPI Smart Battery Status Change Notification Requirements

1.1 Smart Battery Charger

1.2 Smart Battery Charger with optional System Manager or Selector

1.3 Smart Battery System Manager

1.4 Smart Battery Selector

2. Smart Battery Objects

3. _SBS(Smart Battery Subsystem)

3.1 Example :Single Smart Battery Subsystem

3.2 Multiple Smart Battery Subsystem :Example

二、Control Method Batteries

1. Battery Events

三、AC Adapters and Power Source Objects

四、 Power Meters

五、 Wireless Power Controllers

六、 Wireless Power Calibration Event

七、Example: Power Source and Power Meter Namespace

总结



前言

原文见ACPI Spec Release 6.3 Errata A


介绍OSPM用于管理电源资源的电池、AC适配器和电源设备对象,以及用于测量功耗的电表设备对象。

电池设备需要有智能电池子系统或控制方法电池接口,如本节所述。要求OSPM能够在这两个接口中的任何一个上连接和管理电池。介绍这些接口。

在兼容ACPI智能电池表的情况下,定义块需要包括SMB-HC的总线/设备包。这将为SMBus安装一个特定于操作系统的驱动程序,该驱动程序将依次定位智能电池子系统的组件。除了电池或电池组,智能电池子系统还包括充电器和管理设备,以处理具有多个电池的子系统。

智能电池系统管理器是管理器设备的一种实现,它能够在系统的可用电源(交流电源和电池)之间进行仲裁。它提供了智能电池选择器功能的超集,如安全响应电源事件(交流与电池功率),插入和移除电池,并通知操作系统的所有这些变化。此外,智能电池系统管理器能够处理配置,包括同时充放电多个电池。与智能电池选择器(Smart Battery selector)与OSPM共享配置电池系统的责任不同,智能电池系统管理器(Smart Battery system Manager)单独控制电池系统的安全配置,并在配置更改时简单地将状态更改发送给OSPM。智能电池系统管理器是处理多电池系统的推荐解决方案。

Power Meter设备是测量系统中一个或多个设备的功耗的平台传感器的逻辑表示。一个基本的平台实现实现了查询当前功耗和获取当前配置的功耗硬件限制的接口,而更高级的电度表设备实现提供了支持OSPM可配置SCI事件的功耗触发点的接口,或者启用底层硬件配置,以强制执行可消耗的最大功耗的硬限制。

一、Smart Battrey Subsystems

智能电池子系统由以下部分定义:
•系统管理总线规范(SMBS)
•智能电池数据规范(SBDS)
•智能电池充电器规格(SBCS)
•智能电池系统管理器规格(SBSM)
•智能电池选择器规格(SBSS)

ACPI兼容的智能电池子系统包括:
•SMB-HC (CPU到SMB-HC)接口
•至少一个智能电池
•智能电池充电器
•智能电池系统管理器或智能电池选择器,如果支持多个智能电池

在这样一个子系统中,一个与智能电池和智能电池充电器通信的标准方式是通过SMBus物理协议。智能电池系统管理器或智能电池选择器提供事件通知(电池插入/取出,等等)和充电器SMBus路由能力的任何智能电池子系统。典型的智能电池子系统如下图所示:

SMBus为每个设备定义了一个固定的7位从地址。这意味着系统中的所有电池都有相同的地址(定义为0xB)。与智能电池子系统组件相关联的从地址如下表所示。

每个SMBus设备最多有256个寄存器,这些寄存器通过SMBus协议的Command值寻址。SMBus设备的寻址是通过向从地址提供所需寄存器的命令值来实现的。每个SMBus寄存器可以有非线性寄存器;也就是说,命令寄存器1可以有一个32字节的字符串,而命令寄存器2可以有一个字节,命令寄存器3可以有一个字。

SMBus主从接口为主机CPU提供了一个标准的机制来生成SMBus协议命令——这些命令是与SMBus设备(换句话说,智能电池组件)通信所必需的。ACPI定义了这样一个SMB-HC,它驻留在嵌入式控制器地址空间中;但是,操作系统可以支持任何具有本地SMB-HC设备驱动程序的SMB-HC。

•电池插入和取出事件通知
•交流电源接通或断开的事件通知
•智能电池与SMB-HC通信的状态
•智能电池为系统供电的状态
•智能电池连接到充电器的状态
•智能电池在系统中的状态
•智能电池系统管理器从一个电源切换到另一个电源时的事件通知
•当智能电池供电电量不足时,硬件切换到备用智能电池
•硬件切换电池供电和交流供电操作

智能电池系统管理器功能可以驻留在一个独立的SMBus从设备(响应0xA从地址的智能电池系统管理器),可以存在于智能充电器设备中(响应0x9从地址的智能电池充电器),也可以组合在嵌入式控制器中(响应0xA从地址)。如果智能电池充电器和独立的智能电池系统管理器都存在于同一个智能电池子系统中,那么驱动程序假定独立的智能电池系统管理器连接到电池。

智能电池充电器是一种SMBus设备,它提供了一个标准的编程模型来控制智能电池在智能电池子系统中的充电。对于单电池系统,智能电池充电器也负责通知系统的电池和AC状态。

智能电池为系统提供智能的化学独立电源。智能电池能够告知智能电池充电器其充电要求(提供化学独立性),并提供平台电池管理所需的电池状态和报警功能。

1. ACPI Smart Battery Status Change Notification Requirements

智能电池系统管理器,智能电池选择器,和智能电池充电器都有一个可选的机制,通知系统的电池配置或AC状态已经改变。ACPI要求该中断机制通过SMBus Alarm Notify机制实现。

对于使用嵌入式控制器作为SMBus主机的系统,电池系统设备通过控制SMBus直接向SMBus主机发送状态更改通知,或者通过在嵌入式控制器中模拟它来发出状态更改通知。在这两种情况下,过程是相同的。在收到或模拟通知后,嵌入式控制器断言一个SCI。SCI的来源由一个GPE标识,该GPE表示该SCI是由嵌入式控制器引起的。设置嵌入式控制器状态寄存器告警位,表示SMBus主机收到告警信息。告警地址寄存器包含产生该告警的SMBus设备的地址,告警数据寄存器包含该设备状态寄存器的内容。

1.1 Smart Battery Charger

这需要一个智能电池充电器,在电池或AC状态变化,以产生一个SMBus告警通知。智能电池充电器的ChargerStatus()命令寄存器的内容(0x13)被放置在嵌入式控制器的告警数据寄存器,智能电池充电器的从地址(见下面的注释)(0x09)被放置在嵌入式控制器的告警地址寄存器和EC的状态寄存器的告警位被设置。然后嵌入式控制器断言一个SCI。

Note:1.0 SMBus协议规范对于写入主控制器命令字段的“从地址”的定义是模糊的。在这种情况下,从地址实际上是7位从地址和写协议位的组合。因此,发起设备从地址的第0位对齐到主控制器从命令寄存器的第1位,从地址的第1位对齐到控制器从命令寄存器的第2位,以此类推。

1.2 Smart Battery Charger with optional System Manager or Selector

一个智能电池充电器,包含可选的系统管理器或选择器功能(由Charg- erSpecInfo()命令寄存器,0x11, 4位指示),需要在电池或交流状态变化上产生SMBus告警通知。带有可选系统管理器的智能电池充电器的内容,BatterySystemState()命令寄存器(0x21)(或在可选选择器的情况下,SelectorState() (0x01)),被放置在EC的告警数据寄存器中,智能电池充电器的从地址(0x09)被放置在嵌入式控制器的告警地址寄存器中,并且嵌入式控制器的状态寄存器的告警位被设置。然后嵌入式控制器断言一个SCI。

1.3 Smart Battery System Manager

当电池或交流状态发生变化时,需要使用Smart Battery System Manager生成SMBus Alarm Notify。智能电池系统管理器的BatterySystemState()命令寄存器(0x01)的内容放在EC的警报数据寄存器,智能电池系统管理器的从地址(0x0A)被放置在EC的警报地址寄存器中,和嵌入式控制器状态寄存器的告警位被设置。然后嵌入式控制器断言一个SCI。

1.4 Smart Battery Selector

智能电池选择器的要求与智能电池系统管理器的要求相同,除了SelectorState()命令寄存器(0x01)的内容被使用而不是BatterySystemState()。智能电池选择器是智能电池系统管理器的一个子集,不支持多个电池同时充放电。系统管理器是首选的实现。

2. Smart Battery Objects

智能电池子系统需要许多对象来定义其接口。归纳如下

3. _SBS(Smart Battery Subsystem)

_SBS控制方法返回Smart Battery子系统的配置。此命名对象返回DWORD值,取值范围为0 ~ 4。如果电池数量大于0,则智能电池驱动程序假定智能电池系统管理器或智能电池选择器是存在的。如果为0,则智能电池驱动程序假定只有一个智能电池,并且智能电池系统管理器和智能电池选择器都不存在。

3.1 Example :Single Smart Battery Subsystem

在本例中,平台使用的是驻留在嵌入式控制器中的SMB-HC,它满足嵌入式控制器接口和SMB-HC接口的ACPI标准。嵌入式控制器接口位于系统上I/O端口地址为0x62和0x66。SMB-HC位于嵌入式控制器地址空间中的基址0x80(由ACPI嵌入式控制器规范定义),并响应查询值0x30上的事件。

3.2 Multiple Smart Battery Subsystem :Example

本节介绍如何定义智能电池子系统,该子系统包含三个智能电池,一个智能电池系统管理器,和智能电池充电器。平台实现如下图所示:

在本例中,平台使用的是驻留在嵌入式控制器中的SMB-HC,它满足嵌入式控制器接口和SMB-HC接口的ACPI标准。嵌入式控制器接口位于系统I/O端口地址为0x100和0x101。SMB-HC位于嵌入式控制器地址空间中的基地地址0x90(由ACPI嵌入式控制器规范定义),并响应查询值0x31上的事件。

二、Control Method Batteries

下面的章节说明了控制方法电池的操作和定义。

1. Battery Events

处理电池事件SCI的AML代码通知系统电池的状态可能已经改变。操作系统使用_BST控制方法来确定电池的当前状态,如果有,应该采取什么行动(关于_BST控制方法的更多信息,请参见Battery Control Methods)。典型的操作是通知监视电池状态的应用程序,为用户提供系统电池状态的最新显示。但在某些情况下,该操作可能会产生警报,甚至迫使系统进入睡眠状态。在任何情况下,如果电池状态发生变化,应及时生成SCI,使系统电源状态UI与系统电池(或电池)的实际状态保持一致。

与大多数其他设备不同,当电池从系统中插入或取出时,设备本身(电池托架)仍然被认为存在于系统中。对于大多数系统,这个设备的_STA将总是返回一个设置了0-3位的值,并将切换4位来表示实际存在电池(参见7.2.4节)。当插入或删除发生时,此事件的AML代码处理程序应发出一个Notify(battery_device, 0x81),以指示静态电池信息已更改。对于在对接站中有电池槽或电池不能意外移除的系统,表明整个设备已经移除可能是有益的或必要的。在这种情况下,应该使用设备插入、移除和状态对象中描述的标准方法和通知。

当电池的当前状态发生改变,或者当_BTP控制方法设置的跳闸点达到或超过时,硬件将断言一个通用事件。此事件的AML代码处理程序在电池设备上发出No- tify(battery_device, 0x80)。当从_BMD变化返回状态标志时,也会发送此通知。

在剩余电池容量变得非常低的情况下,AML代码处理程序发出Notify(battery_device, 0x80),并在_BST对象中报告电池临界标志。操作系统执行紧急关机。有关电池临界状态的详细描述,请参见电池电量低。

有时_BST或_BIF返回的值暂时未知。在这种情况下,该方法可能返回值0xFFFFFFFF作为占位符。当知道这个值时,应该发出适当的通知(对于_BST是0x80,对于BIF是0x81),以类似的方式对这些方法返回的数据中的任何其他更改进行通知。这将导致OSPM重新评估该方法——获取正确的数据值。

当一个或多个状态返回的被_BMD控制方法改变,AML代码问题Notify (battery_device 0 x82)电池设备,除非这种变化发生在调用_BMC和状态标志的值在_BMD与 _BMC匹配传入的值。如果状态位的值不能被设置为反映执行_BMC所请求的操作,AML代码将发出此通知。例如,当交流电源不可用时,调用0位的_BMC来启动一个校准周期,将导致AML发出一个Notify(battery_device,0x82)。

2. Battery Control Methods

控制方法电池是电池与主机PC之间的一个AML代码接口。电池接口完全通过AML代码控制方式访问,允许OEM使用ACPI支持的任何类型的电池和任何类型的通信接口。OSPM需要精确的电池数据来执行最优的电源管理策略,并为最终用户提供有意义的电池剩余寿命估计。因此,返回电池信息的控制方法应该计算这些信息,而不是返回硬编码的数据。

控制方法电池被描述为一个设备对象。每个支持Control Method Battery接口的设备对象包含以下额外的控制方法。当系统中有两个或更多电池时,每个电池在名称空间中将有一个独立的设备对象。

三、AC Adapters and Power Source Objects

“Power Source”对象描述系统的电源。这些对象可以定义在Power Source设备下,该设备使用“ACPI0003”的硬件标识符(_HID)声明。通常,系统中包含的每个物理电源都有一个电源设备。但是,在共享电源的情况下(如在刀片服务器配置中),这可能是不可能的。相反,固件可以选择公开一个表示一个或多个物理电源的虚拟电源。

四、 Power Meters

下面介绍计量对象。这些对象可以在使用ACPI000D硬件标识符(_HID)声明的电能表设备下定义。

五、 Wireless Power Controllers

FCC的规定要求在人体存在的情况下降低无线设备的输出功率水平。为了获得平台认证和法规遵从性,无线设备将静态传输功率限制数据放在设备存储器(EEPROM或flash)中,并在每个波段/国家的基础上应用它。FCC规定允许设备在接近人体时动态减少有效各向同性辐射功率(EIRP),以减轻其不利影响。

在目前的平台上,每个无线设备都有一个专用的特定吸收率(SAR)传感器,用于通知无线设备系统与人体的距离很近。对于具有多个无线设备的系统,该解决方案需要多个SAR传感器,并且不提供任何机制让无线设备进行协作以提高效率。

其想法是创建一个定义良好的无线功率校准ACPI设备,其ACPI事件可以构成通知操作系统(OS)和给定系统上所有其他无线设备的基础。无线供电校准设备事件可以由任何接近传感器设备触发,也可以由无线设备触发,以减轻其他无线设备的干扰。操作系统可以将特定的通知映射到每个无线设备,以调用特定的操作。

1. 定义无线功率校准设备即插即用ID (ACPI0014)
无线功率校准装置。该设备可以使用平台定义的传感器(如SAR、深度相机、触摸设备等)来控制接近度。
设备还可以有控制方法广播其他无线设备,通知用户接近度的变化或在波段干扰。

2. 为设备定义通知值
用特定的ACPI通知事件id通知无线功率校准设备,将使无线设备或平台驱动程序通知是否需要对EIRP进行监管。

六、 Wireless Power Calibration Event

将无线电力传输或干扰缓解中的变化传递给OSPM。每当需要更改功率校准或干扰缓解时,反洗钱代码应发出通知(wpc_device, 0xXX)。OS接收到这个通知,并可能调用_WPD控制方法来确定与之关联的通知操作。生成的事件可能包含与接收方设备需要采取的关联操作相关的信息。

当由于人类靠近或减少干扰而需要改变电力传输时,应发出WPD通知。根据运行设备的特点,可以确定干扰抑制和功率传输的粒度。

如果在涉及无线设备的所有操作波段都观察到干扰,则WPC干扰缓解通知将在参与设备或组播之间产生两两事件。

七、Example: Power Source and Power Meter Namespace

下图显示了一台计算机的ACPI命名空间,该计算机有一个功率计,一个AC适配器和两个电池,与一个本身有一个AC适配器的对接站相关联。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

ACPI Spec Chapter 10 Power Source And Power Meter Devices相关推荐

  1. ACPI Spec Chapter 8 Processor Configuration and Control

    目录 前言 一.Processor Power States 1.Processor Power State C0 2. Processor Power State C1 3. Processor P ...

  2. Chapter 10 - Surface Shading (fundamentals-of-computer-graphics-4th)

    To make objects appear to have more volume, it can help to use shading, i.e., the surface is "p ...

  3. halcon的算子清点:Chapter 10 3d匹配

    Chapter 10 :Matching-3D 1. affine_trans_object_model_3d功能:把一个任意有限3D变换用于一个3D目标模型. 2. clear_all_object ...

  4. Power BI与Power Query、Power Pivot 是什么关系?

    搞不清楚Power BI与Power Query.Power Pivot是什么关系?看这篇文章就够了. 刚开始学习PowerBI的时候,总是能碰到Power Query和Power Pivot这两个词 ...

  5. [Power BI] 认识Power Query和M语言

    数据清洗,可理解为数据整理,对从各类数据源导入的数据,通过一定的方法(如数据的增删改.转换.逆透视.合并等)进行处理,整理成符合要求的数据,然后加载到数据模型中,进行数据可视化 在Power BI中, ...

  6. PD等多协议快充诱骗触发器SINK(“Power Z 弟弟 Power Low”)DIY

    提到快充协议都会想到USB PD快充,实际市面上还有很多主流的快充协议,比如华为的FCP.SCP,三星的AFC,OPPO的VOOC,高通的QC,VIVO的Flash Charge等--,如此之多的快充 ...

  7. power python_在 Power BI Desktop 中运行 Python 脚本

    在 Power BI Desktop 中运行 Python 脚本Run Python scripts in Power BI Desktop 06/02/2020 本文内容 你可以直接在 Power ...

  8. linux系统运行powerbi,使用 Power BI 服务 - Power BI | Microsoft Docs

    快速入门 - 使用 Power BI 服Quickstart - Getting around in Power BI service 10/12/2020 本文内容 备注 Power BI 正在转换 ...

  9. Intel SDM Chapter 10: APIC

    原文:https://tcbbd.moe/ref-and-spec/intel-sdm/sdm-basic-ch10/ 目录 Overview Basics Registers Handling Lo ...

最新文章

  1. 一文详解随机一致性采样算法:RANSAC
  2. (03) spring Boot 的配置
  3. mybatis转义反斜杠_mybatis like 的坑
  4. mysql 存储过程 数组参数_问个小问题,关于存储过程传递数组参数
  5. (转)使用vsphere client 克隆虚拟机
  6. java logging api_Java Logging API - Tutorial
  7. 华为Mate30 Pro高清渲染图曝光:后置四摄+挖孔全面屏
  8. webpack5+vue3搭建h5项目模板-(一)-基础配置
  9. Ubuntu 22.04下以SOEM为EtherCAT主站的驱动电机例子
  10. 「杰伦熊」暴跌96.6% 明星带货NFT为何遇冷?
  11. CISSP-考纲分析
  12. 计算机组成原理:时钟周期、机器周期和指令周期
  13. java swing tooltips_【Unity笔记】提示框ToolTips大小自适应,及其闪烁的问题
  14. Go语言【ftm库】
  15. 《私募股权基金投资基础知识》---第五章
  16. 【畅购商城】 B2B、 C2C、B2C、C2B、O2O、B2B2C电商模式介绍与分析
  17. eclipse4.6安装tomcate插件 Eclipse4.6(neno)配置Tomcat插件的两种方式
  18. 【管培生培养计划】第一个月的培养记录
  19. HMMER批量比对及结果处理
  20. Kiva(亚马逊)机器人介绍

热门文章

  1. 自学闲置电脑部署NAS服务器打造家庭影院
  2. DOM4J解析XML文档
  3. Ajax入门-搭建服务器并使用ajax技术向服务器发送一个请求并获得服务器返回的数据
  4. RK3588参数 rk3288处理器属于什么档次
  5. GET 和 POST请求的本质区别
  6. m序列码产生电路设计与仿真
  7. 电机仿真系列-基于LabVIEW的电机测试系统研究
  8. joycon手柄拆解_任天堂Switch手柄腕带勿装反 取下需技巧
  9. JavaScript 求平均数的方法(实参个数不确定)
  10. 怎么用stata打开dta文件_第三十二章、用c语言打开文件