历史上的今天
返回首页

历史上的今天

今天是:2024年09月18日(星期三)

正在发生

2020年09月18日 | 低功耗MCU动态时钟分析

2020-09-18 来源:elecfans

  本文结合MSP430系列微处理器,详细论述了通过控制改变MCU的时钟频率来降低功耗的设计方法。


  1 功耗产生的原因

  在CMOS电路中,功耗损失主要包括静态功耗损失和动态功耗损失两部分。其中静态功耗主要是由反偏PN结的漏电流和晶体管的亚阈值电流引起的,其最主要的形式就是漏电损失。其实CMOS电路理论上不会有静电功耗损失,因为从供应电源到地面没有直接的路径,但实际上晶体管总会有漏电电流的出现,从而出现漏电损失。在0.18μm工艺水平之下,其在功耗中所占比重大约为5%~10%,一般可以忽略(但是随着工艺的提高,供电电压的降低,又使其所占比重逐渐上升)。这样,在CMOS电路中,动态功耗就成了这个系统功耗的主要组成部分,约占整体功耗的90%以上。定量地分析电路的动态功耗,可用以下公式表示:


  其中:C为负载电容;VDD为电源电压;?琢为翻转几率,即每个时钟周期中发生的充放电周期个数;fCLK为时钟频率。从这个公式可以看到如何降低动态功耗从而降低整个CMOS电路的功耗。即可以减小翻转的负载电容,降低电源电压,减小节点的翻转几率,或者降低时钟频率。本文将主要围绕如何动态降低时钟频率实现低功耗设计。


  2 动态时钟低功耗管理原理

  MCU系统设计是个很复杂的过程,在一些条件下可能会用到整个系统的所有硬件资源,但是在一些应用中可能只需要其中很少的一部分硬件资源;在某些应用中可能需要很高的时钟频率,而在其他应用中却可以工作在很低的工作频率中。例如:当任务量很大时,MCU满负荷工作,则需要较高的时钟频率,功耗较大;当任务量很小时,MCU负荷较轻,所需时钟频率较低,功耗就可以相应降低。动态配置系统的时钟频率就是以不牺牲系统的性能为前提,动态地管理系统的工作频率来降低MCU的功耗。


  3 低功耗动态时钟实现

  

 

  图1为MSP430系列MCU基础时钟模块。


  MSP430基础时钟模块包含以下3个时钟输入源。

  (1)LFXT1CLK 低频时钟源:由LFXT1振荡器产生(如图2所示)。通过软件将状态寄存器中OSCOff复位后,LFXT1开始工作,即系统采用低频工作。如果LFXT1CLK没有用作SMCLK或MCLK信号,则可以用软件将OSCOff置位,禁止LFXT1工作。

  

 

  (2)XT2CLK高频时钟源:由XT2振荡器产生。它产生时钟信号XT2CLK,其工作特性与LFXT1振荡器工作在高频模式时类似。可简单地通过软件设置XT2振荡器是否工作,当XT2CLK没有用作SMCLK或MCLK信号时,关闭XT2,选择其他时钟源。

  

 

  (3)DCOCLK 数字控制RC振荡器。由集成在时钟模块中的DCO振荡器产生。DCO振荡器是一个RC振荡器,频率可以通过软件调节,其控制逻辑如图3所示。当振荡器LFXT1、XT2被禁止或失效时,DCO振荡器被自动选作MCLK的时钟源。因此由振荡器失效引起的系统中断请求可以得到响应,甚至在CPU关闭的情况下也能得到处理。

  

 

  由基础时钟模块可以提供系统所需的3种时钟信号,即:ACLK、MCLK、SMCLK。其中辅助时钟ACLK是LFXT1CLK信号经1、2、4、8分频后得到的。ACLK可由软件选作各个外围模块的时钟信号,一般用于低速外设;系统主时钟MCLK可由软件选择来自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后经1、2、4、8分频得到。MCLK主要用于CPU和系统。子系统时钟SMCLK可由软件选择来自LFXT1CLK和DCOCLK,或者XT2CLK和DCOCLK,然后经1、2、4、8分频得到,主要用于高速外设模块。系统可以根据实际需要通过软件来选择合适的系统时钟频率,这三种不同频率的时钟输出给不同的模块,从而合理利用系统的电源,实现整个系统的超低功耗,这一点对于电池供电的系统来讲至关重要。在具体应用中,CPU及各个时钟源的工作状态如表1。


  4 动态时钟应用实例

  通过MSP430外接32768Hz晶体构建超低功耗实时时钟,结构如图4。

  部分代码如下:

  setc

  Dadc.b SEC

  cmp.b #060h,SEC

  jlo CLKend

  clr.b SEC

  dadc.b MIN

  cmp.b #060h,MIN

  jlo CLKend

  clr.b MIN

  CLKend;


  令MSP430 CPU工作在突发状态,大部分时间处于LMP3状态,只有程序代码中单位时间到之后,才出发一个极短暂的运行,运行期间电流消耗250?滋A左右。经计算指令执行时间得到,在1s时间段内程序运行时间仅为100μs,系统平均电流约为0.83μA,可见其工作功耗相当低。


  本文通过分析MSP430系列MCU的动态时钟配置,介绍了通过动态改变MCU系统时钟来达到低功耗设计。在实际应用中,通过软件设置合理地使用时钟源,可以有效实现低功耗设计。

推荐阅读

史海拾趣

ELM Technology Corporation公司的发展小趣事

ELM Technology Corporation非常重视企业文化的建设。公司倡导“创新、协作、诚信、责任”的企业精神,鼓励员工积极创新、勇于担当。同时,公司还为员工提供了良好的工作环境和福利待遇,增强了员工的归属感和凝聚力。这种积极向上的企业文化为ELM的持续发展提供了强大的动力。

请注意,以上故事仅为概述,具体细节和事实需要根据ELM Technology Corporation的实际情况进行补充和完善。

Amulet Technologies公司的发展小趣事

在电子行业竞争日益激烈的背景下,ELM Technology Corporation展现出了卓越的市场拓展能力。公司管理层准确把握市场趋势,及时调整产品策略,积极拓展国内外市场。通过与国际知名企业的合作,ELM成功打入国际市场,其产品在多个国家和地区得到了广泛应用。同时,公司还积极寻求与国内企业的合作机会,共同推动电子行业的发展。

Hirose公司的发展小趣事

ELM Technology Corporation一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格把控。这种对品质的坚持不仅赢得了客户的信任,还为ELM赢得了良好的口碑。在激烈的市场竞争中,ELM凭借卓越的产品品质赢得了市场份额。

Actel公司的发展小趣事

ELM Technology Corporation自创立之初,就致力于电子技术的研发与创新。公司聚集了一批顶尖的科研人才,不断探索新的电子技术和解决方案。在某一关键时期,ELM推出了一款具有革命性的电子产品,该产品在市场上引起了巨大反响,不仅极大地提升了用户体验,还推动了整个电子行业的发展。通过不断的技术创新,ELM逐渐在电子行业中树立了领先地位。

Accuride公司的发展小趣事

在2009年,Accuride公司面临了严重的财务困境,其美国公司申请了破产保护。然而,这一困境并未击垮Accuride,反而成为其重生的契机。通过与债权人达成协议,Accuride成功地将公司的大部分所有权转让给债券持有人,并进行了重组。这一举措不仅缓解了公司的财务压力,还为其未来的发展奠定了坚实的基础。

Ericsson Power Modules公司的发展小趣事

随着产品质量的不断提升和技术的不断创新,Ericsson Power Modules开始积极拓展市场。公司不仅在欧洲市场取得了显著成绩,还逐步将业务拓展至亚洲、北美等地区。为了更好地服务全球客户,Ericsson Power Modules在瑞典斯德哥尔摩设立了总部,并在中国、美国等地建立了生产基地和研发中心。这种全球化布局使得Ericsson Power Modules能够更快速地响应市场需求,提供更高效、更便捷的服务。

问答坊 | AI 解惑

工程师如何应对“工程知识半衰期”?

有一次,我上网搜寻一些培训资料,偶然地浏览了一个网站,其声称工程知识的半衰期为两年左右。这也就意味着,作为一个工程师,我至今所掌握的知识中有一半会在两年内就过时。而到10年之后,这些知识中只有3%还仍然能用! 这一观点是发布在一个宣传 ...…

查看全部问答>

快哭了,为什么物理地址要除以256啊?

研究了一整天,查遍了所有资料,问遍了所以同事,还是没一点头绪,不是很难解决的问题我也不会来麻烦大家了,拜托了: aViruAddr1 = AllocPhysMem(size, PAGE_READWRITE, 0, 0, &aPhysAddr1); aViruAddr2 = VirtualAlloc(0, size, MEM_RESERVE, ...…

查看全部问答>

新手请教vxworks安装问题

我现在的开发板是ARM9,目前主机安装的是WINDRIVER.TORNADO.V2.2.FOR.ARM,我现在想用zinc6.0做一个界面。遇到了一点问题,请求大家帮忙! 1.TORNADO2.2是否已经包含了BSP,还用再单独安装吗?哪里有适合的BSP下载? 2.目前市面上已经找不到windm ...…

查看全部问答>

电子信息工程专业的大学生对编程感兴趣,该往哪方面发展?

   我是厦门大学电子信息工程专业的大二学生.大家可能都知道,我这专业是偏向硬件的.我们也开课学过C语言,JAVA,正在学汇编.在学习的过程中,我发现我在软件(编程)这方面的能力比同专业的其他同学明显强了不少,而在其他科目上学起来跟其他 ...…

查看全部问答>

Tornado2.2制作硬盘启动盘后,显示器打印+号后就没反应了

开始的时候用硬盘启动是正常的,能PING通,telnet,FTP都可以用。我们换用vxWorks文件后,它在启动的时候对硬盘做了重新分区,然后启动不了,把vxWorks换回去也不行。 然后我们将硬盘格式化了(FAT),重新用mkboot将硬盘制作成启动盘,把以前能正 ...…

查看全部问答>

!!!串口数据保存到文件的问题

void COM232task(void) {    char filename[12]=\"hello2\";    struct fs_descrip *file;    unsigned char sec_buf[512];    file = fs_fopen(filename, O_WRITE  ? O_APPEND); & ...…

查看全部问答>

供chineser,tsx1983和其他关心STM32外部SRMA使用的网友参考

回复chineser请看附件的例子:由于上传附件大小的限制,我去掉了其中Firware Library的部分,使用的时候注意加上。所有堆栈都放在外部SRAM,同时开辟了一个500K的数组,在对其进行读写的同时,刷新LCD的显示在STM3210E-EVAL,IAR EW ...…

查看全部问答>

请问STM8S中没有标志为(HS)的引脚的电流有多少?

                                 请问STM8S系列中没有标志为(HS)的普通推挽引脚(IIC除外)作输出时 拉 跟 灌 电流有多少mA?谢谢!…

查看全部问答>

哪位牛人来翻译下MSP430开发手册吧

https://bbs.eeworld.com.cn/thread-305867-1-1.html 手册在这里,要有全中文的多好啊, 英文的我大概能看懂,但看得很慢。…

查看全部问答>

我没有相关方面的知识,但是对plc很感兴趣,怎么学习呢?

我没有相关电气方面的知识,但是对PLC很感兴趣,我作为一点都不懂的菜鸟,该如何学起啊?各位老师们望指点指点我,让我少走弯路。。。拜托啦。。拜托啦~~~…

查看全部问答>