历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2020年03月25日 | MSP430教程11:MSP430单片机低功耗结构

2020-03-25 来源:eefocus

当系统时钟发生器基本功能建立之后,CPU内状态寄存器SR的SCG1,SCG0,CPUOFF,OSCOFF位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些控制位;这样允许程序在中断返回(RETI) 后,以另一种功耗方式继续运行。


各控制位的作用如下: 

SCG1: 复位,使能SMCLK;置位,禁止SMCLK。 

SCG0: 复位,激活直流发生器,只有SCG0置位,并且DCOCLK没有被用作MCLK或SMCLK时,直流发生器才能被禁止。 

OSCOFF:复位,激活LFXT1,只有当OSCOFF被置位并且LFXT1CLK不用于MCLK或SMCLK时,FLXT1才能被禁止;当使用晶体振荡器关闭选项OSCOFF时,需要考虑晶体振荡器的启动设置时间 

CPUOFF:复位,激活MCLK;置位,关闭MCLK。


控制位SCG1、SCG0、CPUOFF、OSCOFF可由软件配制成六种不同的工作模式:


工作模式                 控制位                  CPU状态、振荡器及时钟


 


                                 SCG1=0                  CPU活动 

                                 SCG0=0                  MCLK活动 

      AM                         CPUOFF=0               SMCLK活动 

                                 OSCOFF=0               ACLK活动


 


                                 SCG1=0                  CPU禁止 

      LPM0                       SCG0=0                  MCLK禁止 

                                 OSCOFF=0                SMCLK活动 

                                 CPUOFF=1                ACLK活动


 


                                 SCG1=0                  CPU禁止 

                                                        MCLK禁止 

      LPM1                      SCG0=1      如果DCOCLK位用作MCLK或SMCLK,则直流发生器禁止,


                                                  否则,仍然活动 

                                 OSCOFF=0             SMCLK活动 

                                CPUOFF=1              ACLK活动


 


                                 SCG1=1                  CPU禁止 

                                            如果DCO未被用作MCLK或SMCLK,自动禁止 

                                 SCG0=0                  MCLK禁止         

      LPM2                      OSCOFF=0             SMCLK禁止     

                                 CPUOFF=1             ACLK活动


 


                                 SCG1=1                 CPU禁止 

                                                    DCO被禁止,直流发生器被禁止 

                                 SCG0=1                  MCLK禁止 

      LPM3                      OSCOFF=0             SMCLK禁止 

                                 CPUOFF=1             ACLK活动


 


                                SCG1=1                  CPU禁止 

                                SCG0=1                  DCO被禁止,直流发生器被禁止 

      LPM4                     OSCOFF=1              所有振荡器停止工作 

                                                      MCLK、SMCLK禁止 

                               CPUOFF=1               ACLK禁止


低功耗的设计技巧问题


1.LPM4:在振荡器关闭模式期间,处理机的所有部件工作停止,此时的电流消耗最小。此时只有在系统上电电路检测到低点电平或任一请求异步响应中断的外部中断事件时才会从新工作。因此在设计应含有可能需要用到的外部中断才采用这种模式,否则发生不可预料的结果。


2.LPM3:在DC发生关闭期间,只有晶振是活动的。但此时设置基本时序条件的DC发生器的DC电流被关闭。由于此电路的高阻设计,使功耗被抑制。当从DC关闭到启动DC需要一段时间(ns~us)


3.LPM2:在此期间晶振和DC发生器是工作的,所以可以实现快速启动


4.LPM1:在此期间振荡器已经工作,所以不存在启动延时问题


_BIS_SR(LPM3_bits)           _BIC_SR_IRQ(LPM3_bits)

LPM3                                 LPM3_EXIT


系统响应中断过程: 


1.硬件自动中断服务 

a.PC入栈 

b.SR入栈 

c.中断向量赋给PC 

d.GIE、SCG1、CPOOFF和OSCOFF清楚 

e.IFG标志位清除(单源中断标志比如WDTIFG) 


2.执行中断处理子程序 


3.执行RETI指令 


4.SR出栈 


5.PC出栈 


低功耗应用 

void main(void)

{

    WDTCTL=WDT_ADLY_1000;

    IE1 | = WDTIE;

    P1DIR | = 0X01;

    _EINT();

    for(;;)

      {

            LPM3;

            _NOP();

      }      

}


interrupt[WDT_VECTOR]  watchdog_timer(void)

{

    P1OUT ^ = 0X01;

}


推荐阅读

史海拾趣

ACE [ACE Technology Co., Ltd.]公司的发展小趣事

由于ACE Technology Co., Ltd. 公司的发展故事涉及具体的事件和详细经过,而这些信息可能并不公开或详细记录,因此我无法为您直接提供5个具体的电子行业里ACE公司的发展故事。但我可以基于已知的信息,为您概述ACE公司的一些可能的发展历程和关键点,这些可以作为您编写故事的参考。

  1. 创业初期与核心技术积累

ACE Technology Co., Ltd. 成立于2001年,早期便专注于电源管理IC和内存类IC的研发。公司的创始团队拥有深厚的电子行业经验和技术背景,他们看到了电源管理和内存技术的巨大市场潜力,并决定将其作为公司的核心竞争力。在公司成立初期,ACE投入大量资源进行技术研发,逐步积累了宝贵的技术专利和知识产权。

  1. 全球化布局与研发中心建设

随着公司业务的不断扩展,ACE意识到全球化布局的重要性。于是,公司决定在美国硅谷设立研发中心,利用当地的人才和技术优势,进一步提升IC设计水平。同时,为了降低研发成本并更好地服务亚洲市场,ACE还在印度建立了另一个研发中心。这些研发中心的建立,为公司的技术创新和产品升级提供了有力支持。

  1. 市场拓展与合作伙伴关系建立

在产品研发的同时,ACE也注重市场拓展。公司积极参加各种行业展会和交流活动,与国内外众多客户建立了合作关系。特别是在中国市场,ACE与深圳市欣诺泰电子有限公司等代理商建立了长期稳定的合作关系,通过他们的渠道将产品推广至本土工程师和厂商。这些合作伙伴关系的建立,为公司的业务发展奠定了坚实基础。

  1. 产品升级与品牌塑造

随着技术的不断进步和市场需求的变化,ACE不断对产品进行升级和优化。公司注重产品性能和稳定性的提升,同时关注客户反馈和市场需求,不断优化产品设计。此外,ACE还加强了品牌塑造工作,通过提升品牌形象和知名度,进一步增强了公司在行业内的竞争力。

  1. 应对挑战与未来发展规划

在电子行业的激烈竞争中,ACE也面临着诸多挑战。为了应对这些挑战,公司加强了内部管理,提升了运营效率。同时,ACE还制定了未来发展规划,包括进一步拓展国际市场、加强技术创新和研发投入、优化产品线等。这些举措将有助于公司在未来继续保持竞争优势并实现可持续发展。

以上是基于已知信息对ACE公司可能的发展历程和关键点的概述。如果需要更具体的发展故事,建议查阅公司官方网站、行业报告或相关新闻报道以获取更多详细信息。

Alpha (Taiwan)公司的发展小趣事

面对全球环保意识的日益增强,Alpha (Taiwan)公司积极响应号召,致力于绿色电子产品的研发和生产。公司投入大量资金研发环保材料和技术,成功推出了一系列绿色环保电子产品。这些产品不仅具有优异的性能,而且在使用过程中对环境的影响较小,符合现代社会的环保理念。此外,公司还积极参与环保公益活动,宣传环保知识,推动电子行业的绿色发展。

HEIMANN公司的发展小趣事

随着数字化时代的到来,Alpha (Taiwan)公司紧跟时代步伐,积极推动数字化转型。公司引进先进的数字化设备和技术,对生产线进行智能化改造,提高了生产效率和产品质量。同时,公司还加强了对大数据、云计算等技术的应用,实现了对市场需求、客户反馈等信息的实时分析和处理。这些数字化转型的举措,不仅提升了公司的竞争力,也为公司的未来发展奠定了坚实的基础。

请注意,这些故事是基于一般情况和行业趋势构建的,并非Alpha (Taiwan)公司的实际经历。要了解Alpha (Taiwan)公司的真实发展故事,建议查阅相关公司的官方资料、新闻报道或行业分析报告。

ANOVA公司的发展小趣事

ANOVA公司的故事始于2018年,当时四个在物联网领域颇具影响力的品牌——Dataonline、Wikon、Wesroc和Itank,看到了工业远程监控领域的巨大潜力和商机,于是决定联手共创未来。这四个品牌都拥有超过一个世纪的工业监控经验,它们的联合不仅仅是资源的整合,更是技术与智慧的融合。ANOVA的创立,标志着电子行业中一个新的力量正在崛起。

宁波晨翔电子(CONNFLY)公司的发展小趣事

宁波晨翔电子有限公司(CONNFLY)成立于1998年(前身宁波正青电子有限公司),初创时期主要致力于连接器及线材产品的研发与生产。在创始团队的共同努力下,公司逐渐在电子连接器市场找到了自己的定位,通过不断的技术创新和品质提升,逐渐获得了市场的认可。

Fremont_Micro_Devices_USA公司的发展小趣事

宁波晨翔电子有限公司(CONNFLY)成立于1998年(前身宁波正青电子有限公司),初创时期主要致力于连接器及线材产品的研发与生产。在创始团队的共同努力下,公司逐渐在电子连接器市场找到了自己的定位,通过不断的技术创新和品质提升,逐渐获得了市场的认可。

问答坊 | AI 解惑

合泰HT46R47的应用资料分享

HT46R47高性能8位OTP单片机     HT46R47为台湾合泰HOLTEK公司产品,一个带4路9bitA/D转换器的高性能8位单片机,仅63条精简指令,所有指令均为单周期,片内含64x8数据存储器(RAM),2k字节OTP只读程序存储器,13个双向I/O口线,6层硬件 ...…

查看全部问答>

MSP430x22x4程序包

此程序包包含MSP430单片机各个模块的程序应用,并且每个模块都有多个程序举例,通过对它们的学习,相信你的对430的理解更上一层楼!有不足之处请大家批评指正!…

查看全部问答>

MSP430F149单片机实现的步进电机通用控制器

MSP430F149单片机实现的步进电机通用控制器…

查看全部问答>

现在的嵌入式系统,使用什么编程,使用什么系统,使用什么协议与标准?

现在的嵌入式系统,使用什么编程,使用什么系统,使用什么协议与标准?…

查看全部问答>

寻找IT界人才

  本公司是家上海的猎头公司,与上海众多IT公司有合作.希望全国各地的IT人才联系我们,我们希望通过我们的平台,尽我们最大的努力帮你们找到一份满意的工作.   有意者请联系我们~ MSN:jack_8310@hotmail.com,   QQ:2861 ...…

查看全部问答>

求助CD4094的工作原理

我用三片CD4094来驱动15段数码管,一片用作数码管的位选,另两片级联起来显示数据,我想问一下,我的显示码是先发送低位还是高位,也就是怎样发送才能让串行数据和4094转换后的并行数据对应起来!…

查看全部问答>

求助~~~~~~~~~~~~~

BOOL CCESeries::OpenPort(CWnd* pPortOwner,/*使用串口类,窗体句柄*/                         UINT portNo,/*串口号*/                 ...…

查看全部问答>

自己做的2812板子,调试问题

  最近刚按别人提供的原理图做了一块2812的板子,板上有外扩RAM,flash和ADS8361等 画图、pcb制板和焊接都是自己亲手做的,由于全是第一次动手做,很费事,也走了很多冤枉路。     前两天刚好全部焊接好,很激动的通上电调试 ...…

查看全部问答>

430IO口高阻态怎么设置

请问各位,如果想把430的IO口设置为高阻态怎么设置?仅仅把它设置为输入就可以了吗?如:     P3DIR &= ~BIT0; …

查看全部问答>

help~大家帮忙看看,如何把蓝线取下来?

没见过这种把线压到PCB板上的方式,新手,怎么取下来啊? …

查看全部问答>