(1)电源模块解析 
       电源管理块通过软件控制系统时钟,以降低S3C2440的功耗。这些方案涉及锁相环、时钟控制逻辑(FCLK、HCLK和PCLK)和唤醒信号。图1显示了S3C2440A的时钟分布。


                                                                图1  S3C2440A的时钟分布​​​​​​​
        其中,FCLK由ARM920T使用。
        HCLK用于AHB总线:内存控制器、中断控制器、液晶控制器,DMA和USB主机块。
        PCLK用于APB总线:WDT、IIS、I2C、PWM定时器、MMC接口等外围设备,ADC, UART, GPIO, RTC和SPI。

S3C2440A有四种电源模式(正常、慢速、空闲、睡眠),模式之间不允许自由转换。有关模式之间可用的转换,见图2。
    
                               
                                                                    图2   s3c2440电源模式之间的相互转化

表1 每个电源模式的电路模块状态      
            
(2)四种电源模式
         正常模式: 在正常模式下,所有外设和基本块,包括电源管理块、CPU核心、总线控制器、内存控制器、中断控制器、DMA和外部主机都可以完全运行。但是,除了基本模块外,每个外围设备的时钟都可以通过软件选择性地停止,以降低功耗。
         空闲模式:在空闲模式下,除总线控制器、内存控制器、中断控制器和电源管理块外,CPU核心时钟停止。要退出空闲模式,应激活EINT[23:0]、RTC报警中断或其他中断。(EINT在GPIO模块打开之前不可用)。
         慢速模式:在慢模式下,可以通过应用慢时钟和不使用锁相环来降低功耗。FCLK是没有锁相环的输入时钟(XTIpll或EXTCLK)的divide_by_n的频率。分频比由CLKSLOW控制寄存器和CLKDIVN控制寄存器中的SLOW_VAL决定。

表2 CLKSLOW控制寄存器和CLKDIVN控制寄存器中的SLOW_VAL  

       休眠模式:这个模块断开了内部电源。因此,在这种模式下,除了唤醒逻辑之外,没有由于CPU和内部逻辑而导致的功耗。激活睡眠模式需要两个独立的电源。两个电源中的一个为唤醒逻辑提供电源。另一个提供包括CPU在内的其他内部逻辑电源。在休眠模式下,CPU和内部逻辑的电源将被关闭,保持唤醒逻辑的电源。休眠模式下的唤醒可以通过EINT[15:0]或RTC报警中断来发出。

(3)进入睡眠模式步骤
        1. 设置适合睡眠模式的GPIO配置。
        2. 屏蔽INTMSK寄存器中的所有中断。
        3. 正确配置唤醒源,包括RTC警报。
        4. 将USB设置为挂起模式。(MISCCR[13:12]= 11 b)
        5. 将一些意义值保存到GSTATUS[4:3]寄存器中(唤醒后的执行函数地址,堆栈指针等)这些寄存器在睡眠模式下得到保护。
        6. 配置数据总线上的上拉电阻MISCCR[1:0],D[31:0]。
        7. 通过清除LCDCON1来停止LCD。
        8. 读取rREFRESH和rCLKCON寄存器以填充TLB。
        9. 让SDRAM通过设置REFRESH[22]=1b进入自刷新模式。
       10. 等待SDRAM自动刷新有效。
       11. 设置MISCCR[19:17]=111b,使SDRAM信号(SCLK0、SCLK1、SCKE)在睡眠时受到保护模式,不让SDRAM内的数据被破坏。
       12. 在CLKCON寄存器中设置睡眠模式位。
       注意:当系统从NAND引导启动时,必须将硬件pin配置- EINT[23:21]设置为输入。

(4)退出睡眠模式步骤
       1. 如果发出一个唤醒源中断,将产生内部复位信号(同外部复位信号)。复位持续时间由内部16位计数器逻辑决定,复位时间计算公式为:tRST = (65535 / XTAL_frequency)。
       2. 检查GSTATUS2[2],以确定是否由睡眠模式唤醒。
       3. 通过设置MISCCR[19:17]=000b,释放SDRAM信号保护。
       4. 配置SDRAM内存控制器。
       5. 等待SDRAM自刷新被释放。大多数情况下,SDRAM需要所有SDRAM行的刷新周期。
       6. GSTATUS[3:4]中的信息可以用于用户自己的目的,因为GSTATUS[3:4]中的值在睡眠模式下被保存了下来。
       7. 对于EINT[3:0],检查SRCPND寄存器。
|          对于EINT[15:4],检查EINTPEND而不是SRCPND(虽然设置了一些EINTPEND位,但不会设置SRCPND)。
                                       表3 睡眠模式管脚配置表 (参考作用,用户应该根据实际情况配置) 

(5)满足从睡眠模式唤醒的条件
    a. 外部中断 EINT[15:0] 产生。
    b. EINTn 引脚必须在GPIO控制寄存器中配置为EINT。
    c. nBATT_FLT引脚必须是高电平。
    注意:刚睡醒后,相应的EINTn引脚将不用于唤醒,这意味着该引脚可以作为正常外部中断请求引脚。

(6)其它
   
(1)如果将CLKCON[2]设置为1,则进入空闲模式,S3C2440A将在一定的延迟之后进入空闲模式(直到电源控制逻辑从CPU接收到ACK信号)。
   (2)锁相环只能在低功耗的慢速模式下关闭。如果锁相环在任何其他模式下被关闭,MCU的操作就不能得到保证。
   (3)建议输出端口处于高电平状态,以减少休眠模式下的电流消耗。

(1)电源管理-S3C2440芯片电源管理模块解析相关推荐

  1. 常用计算机控制芯片有哪些,干货|常见电源管理IC芯片有哪些?

    原标题:干货|常见电源管理IC芯片有哪些? 文章转载自:"芯极速" 科技的发展也带动了电源的发展,那么就需要更多的电源管理芯片,说到电源管理芯片,作为工程师们是最熟悉不过的一种常见 ...

  2. 关闭linux服务器电源,linux关闭ACPI电源管理模块

    一.运行环境 # cat /etc/redhat-release CentOS release 6.2 (Final) # uname -a Linux web-server- 2.6.-.el6.x ...

  3. CC2640R2F学习笔记(四.电源管理:用电源管理开发应用程序)

    文章目录 前言 一.电源管理默认工作情况 1. Power Manager Initialization 2.Driver Initialization, Constraint Management, ...

  4. SylixOS电源管理之外设功耗管理

    1.前言 在这个世界中,任何系统的运转都需要能量.如树木依靠光能生长,如马儿依靠食物奔跑,如计算机系统依靠电能运行.而能量的获取是有成本的,因此如果能在保证系统运转的基础上,尽量节省对能量的消耗,就会 ...

  5. 高性能任务的强大桌面计算机,win7怎么设置电源管理?win7电源高性能设置方法...

    win7怎么设置电源管理?在Windows7系统中功能中, Windows7电源管理比较强大,不过不少网友不知道Windows7电源管理在哪?更不知道怎么设置,这对这些问题,下面,U大侠小编就给大家介 ...

  6. STM32F103C8T6最小系统地的构建(2)_板间电源到芯片电源

    2018年7月4日            硬件学习笔记(2)     zwx2415     q:1411593413        e:zwx2415@qq.com 有了系统版需要的电源之后,我们还 ...

  7. ERP生产管理软件系统的主要功能模块是什么?

    为了适应经济的发展,国内的生产型企业也在不断寻找更高效快捷的管理模式.ERP生产管理软件系统作为企业谋求市场优势的手段,软件涉及面十分广泛,几乎包含了企业的所有资源以及业务流程,因此,目前国内很多生产 ...

  8. zlg72128数码管驱动管理显示芯片

    数码管驱动管理显示芯片框图 数码管驱动管理显示芯片概述 ZLG72128 是广州周立功单片机科技有限公司自行设计的数码管显示驱动键盘扫描管理芯片.能够直接驱动 12 位共阴式数码管(或 96 只独立的 ...

  9. 芯片电源去耦电容为什么要靠近电源放置

    芯片电源去耦电容为什么要靠近电源放置 在网上搜索无意看到这个问题的连接,点进去看了一下好像所有类似的问题的回答都是粘贴复制的一样,下面我回答一下这个问题,如果有不对的地方请留言,方便改正学习,谢谢 1 ...

  10. 电源模块测试解决方案-电源测试系统方案-电源模块测试报告NSAT-8000

    *测试仪器:可编程直流电源.可编程直流电子负载.数字示波器.功率计 *测试产品:电源模块.纳米软件电源ATE自动测试系统适用于大功率工业电源.AC/DC类DC电源供应器.适配器.充电器.LED电源等开 ...

最新文章

  1. 软件工程--软件设计
  2. OpenTelemetry 简析
  3. 新建Silverlight文件的方法
  4. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦
  5. python双下划线什么意思_python中几个双下划线用法的含义
  6. 如何让Element UI的Message消息提示每次只弹出一个
  7. cdh 简介_CDH 1、CDH简介
  8. win7系统电脑语言栏怎么更换输入法
  9. linux无法找到网卡6,CentOS 6/7克隆主机网卡无法启动解决
  10. VINS_MONO+D435i Realtime运行
  11. 对1,3,4,6,7,8组合显示成“1,3-4,6-8”方法
  12. ZED2+ORB_SLAM3
  13. python 私有属性一个_和两个_的区别_python-面向对象-13-私有属性
  14. WAP2.0的历史使命和技术演变
  15. Chrome浏览器下载
  16. 哈理工oj1003 Tiles of Tetris, NOT!
  17. MTK6589百度云ROM移植教程
  18. 入职美团定级P7,总结2022年最新最全180道高级岗面试题及答案
  19. Chrome 手动清理缓存
  20. 关键字深度剖析,集齐所有关键字可召唤神龙?【二】

热门文章

  1. 9月1日起施行《中华人民共和国数据安全法》发布(附全文
  2. H5页面实现微信授权登录
  3. Node.js七天搞定微信公众号(又名:Koa2实现电影微信公众号前后端开发)
  4. EBS API及接口
  5. unity资源释放(AssetBundle和Asset)
  6. DataStore详解
  7. datastore java_Java Datastore.find方法代码示例
  8. html 百分比饼状图,highcharts饼状图百分比显示的数据和写的不同
  9. 银行卡四要素认证api接口_银行卡实名认证查询-银行卡四要素鉴权
  10. python采集世界大学排名并作数据可视化, 来看看你的母校上榜没~