一点点读懂regulator(一)

目录

1、关于

2、命名法

2.1 Regulator

2.2 PMIC

2.3 Consumer

2.4 Power Domain

2.5 Constraints

3、Design

3.1 Consumer driver interface

3.2 Regulator driver interface

3.3 Machine interface

3.4 Userspace ABI


1、关于

此框架旨在提供一个标准内核接口来控制电压和电流调节器。

其目的是允许系统动态控制调节器功率输出,以节省电力和延长电池寿命。这适用于voltage regulators(电压输出可控)和current sinks(电流限制可控)。

2、命名法

使用的一些术语:

2.1 Regulator

为其他设备供电的电子设备。大多数调节器可以使能和禁用其输出,而有些调节器可以控制其输出电压和/或电流。

Input Voltage -> Regulator -> Output Voltage

2.2 PMIC

电源管理IC。包含许多调节器并通常包含其他子系统的IC。

2.3 Consumer

由调节器供电的电子设备。消费者可分为两类:

Static: consumer不会更改其电源电压或电流限制。它只需要启用或禁用power supply。其电源电压由hardware, bootloader, firmware or kernel board initialisation code来设置。

Dynamic: consumer需要更改其电源电压或电流限制,以满足操作要求。

2.4 Power Domain

由调节器、开关的输出功率或另一个电源域提供输入功率的电子电路。

电源调节器可能在开关后面。即:

Regulator -+-> Switch-1 -+-> Switch-2 --> [Consumer A]
           |             |
           |             +-> [Consumer B], [Consumer C]
           |
           +-> [Consumer D], [Consumer E]

这是一个稳压器和三个电源域:

      • Domain 1: Switch-1, Consumers D & E.
      • Domain 2: Switch-2, Consumers B & C.
      • Domain 3: Consumer A.

这代表了一种“供应”关系:

Domain-1 –> Domain-2 –> Domain-3.

电源域可能具有由其他调节器供电的调节器。例如:

Regulator-1 -+-> Regulator-2 -+-> [Consumer A]
             |
             +-> [Consumer B]

这为我们提供了两个调节器和两个电源域:

      • Domain 1: Regulator-2, Consumer B.
      • Domain 2: Consumer A.

以及“供应”关系:

Domain-1 –> Domain-2

2.5 Constraints

约束用于定义性能和硬件保护的功率级别。约束存在于三个级别:

Regulator Level:这由稳压器硬件操作参数定义,并在稳压器数据表中规定。

      • voltage output is in the range 800mV -> 3500mV.
      • regulator current output limit is 20mA @ 5V but is 10mA @ 10V.

Power Domain Level:这在软件中由内核级主板初始化代码定义。它用于将功率域约束到特定的功率范围。

      • Domain-1 voltage is 3300mV
      • Domain-2 voltage is 1400mV -> 1600mV
      • Domain-3 current limit is 0mA -> 20mA.

Consumer Level:这由consumer driver动态设置电压或电流限制级别定义。

例如,消费类背光驱动器要求电流从5mA增加到10mA,以增加LCD照明。这将通过以下级别:-

Consumer: 需要提高LCD亮度。查找并请求亮度表中的下一个当前mA值(the consumer driver could be used on several different personalities based upon the same reference device).

Power Domain: 是此域和系统状态(例如电池电量、USB电源)的域操作限制内的新电流限制 (e.g. battery power, USB power)

Regulator Domains: 是输入/输出电压稳压器工作参数内的新电流限制。如果调节器请求通过了所有约束测试,则应用新的调节器值。

3、Design

该框架设计并针对基于SoC的设备,但也可能与非SoC设备相关,并分为以下四类接口:-

3.1 Consumer driver interface

这使用了一个与内核时钟接口类似的API,因为consumer drivers可以get和put a regulator(就像他们可以使用时钟atm一样),并获取/设置电压、电流限制、模式、启用和禁用。这应允许consumers完全控制其电源电压和电流限制。如果不使用,这也会编译出来,以便驱动程序可以在没有基于调节器的电源控制的系统中重复使用。

3.2 Regulator driver interface​​​​​​​

这允许regulator drivers注册其调节器并向内核提供操作。它还具有一个notifier call chain,用于将监管器事件传播到客户端。

3.3 Machine interface​​​​​​​

此接口适用于机器特定代码,允许为每个调节器创建电压/电流域(带约束)。它可以提供调节器约束,防止设备因错误的客户端驱动程序引起的过压或过电流而损坏。它还允许创建一个调节器树,其中一些调节器由其他调节器提供(类似于时钟树)。

3.4 Userspace ABI

用户空间ABI。

该框架还通过sysfs将大量有用的电压/电流/操作模式数据导出到用户空间。这可用于帮助监控设备功耗和状态。

请参阅kernel文档/ABI/testing/sysfs-class-regulator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值