关闭

ic 电源管理单元

2709人阅读 评论(0) 收藏 举报
分类:

芯片里面的电源管理电源主要功能描述如下:

* 复位

* 锁相环和分频器

* HWCFG[2:0] 引脚信号识别和解码

* 睡眠模式

* 模块电源管理

* 顶层控制寄存器


一、复位

复位的信号源有以下几种:

1、PIN_RESETN(低有效):PIN_RESETN 将会把整个芯片都恢复到默认状态

2、PIN_A11STRST(低有效):PIN_A11STRST 通常连接到 ARM 调试工具,它能恢复芯片的大部分模块(除了以下模块):

    a、ARM 协处理器 CP14 调试逻辑

    b、锁相环

3、看门狗复位:除了软件配置寄存器 SWRSTR 其他的都将会被复位

4、SWRSTR 寄存器复位:除了自己本身不被复位,其他的都将被复位

    

二、锁相环

芯片里面共有 5 路锁相环:PLL1、PLL2、PLL3、PLLM PLLA

* PLL1 和 PLL2 是通用的锁相环

* PLL3 是高速锁相环专用于基带

* PLLM 是通用锁相环专用于 MDDR

* PLLA 是高速锁相环专用于 ARM CPU

1、通用锁相环

下面是通用锁相环(PLL1、PLL2、PLLM)的结构图

    

CLKIN 是输入时钟(通常为 26M)。CLKIN 通过输入分频器提供 13M 的参考时钟给锁相环,如果输入时钟为 13M,则需要将 SEL_13M 置 1 绕开输入分频器。锁相环的反馈分频器由 FDIV 控制,输出分频器将会对 Fvco 进行 1、2、4、8 分频,由 ODIV[1:0] 控制。当 SEL_13M = 0 时,输出时钟频率计算公式如下:

    

当 BYPASS = 1,输出时钟等于输入时钟。当 PWRDN = =1,锁相环关闭。PLL1、PLL2 和 PLLM 的 Fvco 频率范围为 [650M,1300M],即 FDIV 的范围为 (50,100]。QP、VCO 和 D2C 控制锁相环内部的电流。

2、高速锁相环

下面是高速锁相环(PLL3、PLLA)的结构图

    

高速锁相环的控制信号和通用锁相环基本一致,输出时钟频率计算公式如下:

    

3、分频器

数组电路有 40 组分频器(D0 - D39),模拟电路有 8 组分频器(A0 - A7)。每个分频器都能通过编程设置输入时钟PLL1、PLL2、PLL3、晶振、外部时钟),输出时钟为输入时钟除以 n,n 为寄存器取值 [1, 32]。芯片默认的状态将会打开所有的分频器,软件必须在合适的情况下关掉不必要的分频器以降低功耗,还有一些分频器通过级联的方式提供更低的输出频率。分频器通过相应的寄存器来设置,硬件电路通过一个状态机自动保证时钟变化时的瞬时时钟不会影响到下游的逻辑。在硬件状态机完成之前 AHB 总线上的其他寄存器都不能访问,这段时间大约为 160 晶振时钟周期。下面是各时钟在 000 - 011 四种启动模式下的默认设置:

    

其中SRC_SEL: 0 为 晶振时钟,1 为 PLL1, 2 为 PLL2,3 为 PLL3。另外外设的时钟源由 D17 控制即 clk_app 提供。

三、HWCFG 模式选择

芯片的操作模式通过 PIN_NDDAT[2:0] 来选择,可以通过上下拉来控制其状态,所有的模式列表如下:

    000        Boot from NAND

    001        UART download

    010        Boot from SD

    011        Boot from MSD

    100        Reserved

    101        PLL bypass(boot from NAND)

    110        External boot

    111        External boot(debug bus enabled)

四、睡眠模式

处理器通过进入睡眠模式以降低功耗,在睡眠模式,ARM 的核心时钟以及 AXI 总线都将会被关闭,直到中断将处理器唤醒。当处理器睡眠时,可以通过寄存器设置 app bus 是否关闭。同样 L2 cache 在处理器睡眠的时候也将被关闭,所以在睡眠之前软件需要对 L2 cache 做同步操作。下面是处理器进入和退出睡眠的操作顺序:

    a、设置中断事件以唤醒处理器(通常为 timer 或者 GPIO)

    b、设置 ARM 配置寄存器 ARMCFGR 的 bit0 为 1 启动睡眠流程

    c、执行 WFI 指令,这个指令将会让 ARM 执行必要的操作以安全的进入待机模式,一旦 ARM 进入待机模式,STANDBYWFI 标记将会被置位 ARMCFGR bit1

    d、关闭 ARM 时钟,硬件标记 ARM_SLEEP 将会被设置 ARMCFGR bit2

    e、当唤醒中断来临,ARM_SLEEP 标记将会被清除,ARM 时钟将会打开,然后 ARM 退出待机模式进入运行模式

基带睡眠的时候,STACH processor 和 PHY processor 将会独立的进入睡眠,可以从 PMSTATR 寄存器获取相应的状态标记。为了最大限度的节省电能,芯片可以进入深度睡眠模式,在深度睡眠模式所有的锁相环电路和时钟都将被关闭,只有 32.768 KHz 时钟存在。在深度睡眠时,处理器可以通过一个 GPIO 控制外部 PMU 进入低功耗模式。

在深度睡眠模式可以通过如下方法控制DDR self-refresh,软件首先编程控制 DDR 控制器进入自动低功耗模式,在该模式下 DDR 控制器在指定时钟周期内没有收到活跃的操作就将开启 DDR self-fresh 并将 CKE_STATUS 标记置位,处理器在进入深度睡眠之前会一直等到这个标记的置位,当退出深度睡眠时,首先会打开 DDR 的时钟并等到 DLL 稳定,然后再打开其他模块的时钟,DDR 控制将会在第一次存取 DDR 数据时退出 self-fresh。在深度睡眠模式下仍然可以指定一些时钟保持开启状态,比如:USB。下面是深度睡眠的状态机:

    

五、模块电源管理

芯片里面的一些功能模块有内置的电源开关,可以独立的打开或者关闭,这些模块包括:ARM_CPU、DSP、MM_GE,他们可以通过寄存器 ARMPWDR、DSPPWDR、MMGEPWDR 控制。

ARM 的关闭流程如下:首先设置 ARMPWDR.SLEEP_PWD 为 1,然后开始 ARM 的正常睡眠流程,当 ARM_SLEEP 被设置,电源管理单元将会自动关闭 ARM 直到唤醒中断来临。当 ARM 再次上电的时候,ARM 将会被复位并从地址 0x0 开始执行。

六、顶层控制寄存器

* 时钟控制寄存器

* USB PHY 控制器

* 基带顶层控制寄存器

* 模拟前端顶层控制寄存器

2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

TI24195电源管理芯片的应用笔记

Force Input Current Limit Detection  P20      REG07[7] Boost Mode Operation from Battery REG04[1]:Battery Precharge to F...
  • baiyibin0530
  • baiyibin0530
  • 2016-10-11 10:23
  • 735

【ARM学习笔记】五、操作系统Operation System和内存管理单元MMU

一、操作系统Operation System 第一台计算机并没有操作系统,计算机工作采用手工操作方式,使用效率极其低下。 随着计算机的性能越来越快,手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,人们迫切需要一套完整的控制程序来管理系统资源,从而提高系统资源的利用率。 ...
  • elitah
  • elitah
  • 2013-11-27 16:14
  • 1073

项目范围管理 试题分析

试题 14某项目小组在定义项目的工作构成时设计了一份材料清单来代替工作分解结构( WBS),客户在对材料清单进行评审时发现其中缺少一项会导致范围变更的需求,后来这一变更需求被补充了进去。造成这一次范围变更的主要原因是(13)。 ( 13) A. 设计人员提出了新手段 B. 客户对项目要求发生...
  • lingyubao
  • lingyubao
  • 2017-02-10 17:19
  • 415

笔记本电池常识和THINKPAD电源管理器介绍--能设置充电起点和终点

笔记本电池常识 笔记本电池的种类     目前笔记本使用的电池主要分三种:1.镍镉电池、2.镍氢电池、3.锂电池;它们一般表示为:镍镉NI-CD、镍氢NI-MH、锂电 LI。笔记本电池由外壳、电路板和电芯组成,属于锂离子电池。一般人们所说的电芯就是指电池内电芯的数...
  • dscyw
  • dscyw
  • 2013-04-05 13:41
  • 2147

嵌入式系统的动态电源管理架构

摘要:分析嵌入式系统对动态电源管理的需求,并在此基础上提出了与之适应的,以策略框架为中心的系统级动态电源管理架构。利用这种构架可以整合针对不同组件的动态电源管理算法和机制,从系统角度进行行之有效的管理。该架构应用于TD-SCDMA无线终端上,平均能耗下降了50%,取得良好的效果。s0100 ...
  • xjbclz
  • xjbclz
  • 2016-07-10 12:04
  • 486

存储器管理单元、虚拟地址、内存映射的概念

一、MMU MMU是存储器管理单元的缩写,是用来管理虚拟内存系统的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。此表称作TLB(转换旁置缓冲区)。所有数据请求都送往MMU,由MMU决定数据是在RAM内还是在大容量存储器设备内。如果数据不在存储空间内,MMU将...
  • zscfa
  • zscfa
  • 2016-12-14 23:43
  • 733

linux 电源管理驱动编写

执行流程 驱动结构 1) 内核提供的接口 struct power_supply 在文件 include\linux\power_supply.h 中 2) 提供给用户的接口 sys/class/power_supply 通...
  • safsasasa
  • safsasasa
  • 2014-05-19 14:14
  • 1171

关于Android电池管理系统(一)Linux驱动部分

一、概述 android系统电池部分的驱动程序,继承了传统linux系统下的Power Supply驱动程序架构,Battery驱动程序通过Power Supply驱动程序生成相应的sys文件系统,从而向用户空间提供电池各种属性的接口。Linux标准的 Power Supply驱动程序所使用的文件...
  • lzpdz
  • lzpdz
  • 2016-07-08 18:17
  • 1955

Windows CE电源管理的实现

欢迎加入Wince技术讨论群QQ#326444254 电源管理的目的是节能,基本的节能方法是使系统适时的进出休眠状态.比如用户按下On/Off按钮,或者监视用户活动的定时器超时,或者应用呼叫api都可以使得系统休眠,用户再次按下On/Off或者其他唤醒中断将使得系统退出休眠.从而可见,电源...
  • u011610939
  • u011610939
  • 2013-08-12 19:16
  • 866

Linux内核配置电源管理

最近测试板子辐射比较高,希望能在运行时降低功耗和辐射,CPU这部分没啥用到,可以降! [*] Power Management support //如果你想让你的Linux支持高级电源管理(也就是平常我们说的软关机、系统休眠等)需要选择它   [ ]   Pow...
  • waterhawk
  • waterhawk
  • 2015-06-15 11:16
  • 379
    个人资料
    • 访问:431530次
    • 积分:3532
    • 等级:
    • 排名:第10864名
    • 原创:39篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条