一种应用于MCU系统的超低功耗时钟系统的制作方法

文档序号:11053177阅读:720来源:国知局
一种应用于MCU系统的超低功耗时钟系统的制造方法与工艺

本实用新型涉及一种MCU系统,具体是一种应用于MCU系统的超低功耗时钟系统。



背景技术:

目前,低功耗设计主要从芯片设计和系统设计两方面考虑。功耗增加将会导致系统温度过高,从而可靠性的下降。同时,R8051MCU被广泛应用于便携式和移动性的产品中,这类的产品没有充足的电源供应,往往仅靠电池来供电。所以,如何通过降低功耗来提高系统稳定性和延长电池使用寿命的问题,便显得更加迫切。



技术实现要素:

本实用新型的目的在于提供一种应用于MCU系统的超低功耗时钟系统,以解决上述背景技术中提出的问题。

为实现上述目的,本实用新型提供如下技术方案:

一种应用于MCU系统的超低功耗时钟系统,包括MCU系统,整个MCU系统里有两个时钟clkcpu和clkper,系统低功耗模式包括IDLE和STOP模式,当系统进入IDLE模式时,时钟clkcpu关闭而时钟clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当系统进入STOP模式时,时钟clkcpu和时钟clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。

作为本实用新型进一步的方案:通过编程让CPU进入IDLE或者STOP模式,当处于IDLE模式时,外部设备仍然在工作,外部设备的中断信号可以唤醒CPU,重启工作;当处于STOP模式时,通过IO口翻转,异步唤醒CPU,重启工作。

作为本实用新型进一步的方案:IDLE模式不关闭ick_en信号,也不关闭时钟clkper。

作为本实用新型进一步的方案:还包括用来控制STOP和IDLE状态的电路,当执行了进入STOP或IDLE的指令时,STOP或IDLE的寄存器被置1;当IO口翻转时,将产生脉冲io_change_pulse,从而清零STOP或IDLE的寄存器;同时,也将产生clkper_en和clkcpu_en。

作为本实用新型进一步的方案:还包括锁存控制电路,生成的clkper_en和clkcpu_en送到锁存控制电路,通过两个门控锁存器,控制clkper和clkcpu两个时钟。

作为本实用新型进一步的方案:还包括IO翻转判断电路,所述IO翻转判断电路生成io_change_pulse和clk_resume_s,io_change_pulse用来清除STOP和IDLE寄存器的信号,而clk_resume_s则用来控制门控时钟的开关信号clkper_en和clkcpu_en。

作为本实用新型再进一步的方案:还包括ick_en信号生成电路,ick_en信号送给模拟电路,模拟电路通过这个信号来开关ick的生成电路,当clkper_en为0或ick_en_s为0时,在ick下降沿到来时,ick_en等于0,模拟即刻关闭ick,当clkper_en或ick_en_s从0变1时,采用异步的方式,寄存器带有异步置位端SN,通过sync_level模块生成的ick_wakeup_rst_n送给异步复位端SN,从而重启ick。

与现有技术相比,本实用新型的有益效果是:本实用新型通过一种门控时钟和深度睡眠的方式,降低系统功耗,提高整体稳定性,延长电池使用寿命。在微处理器设计中,大部分功耗来自于时钟,时钟会带来不断的充放电,因此通过降低时钟的活动性,将对整个系统的功耗带来极大的影响;此实用新型从系统时钟源进行时钟门控,关闭整个MCU的工作时钟,同时,让系统进入深度睡眠状态。

附图说明

图1为应用于MCU系统的超低功耗时钟系统的信号时序图;

图2为应用于MCU系统的超低功耗时钟系统中控制STOP和IDLE状态的电路;

图3为应用于MCU系统的超低功耗时钟系统中锁存控制电路;

图4为应用于MCU系统的超低功耗时钟系统中IO翻转判断电路;

图5为应用于MCU系统的超低功耗时钟系统中ick_en信号生成电路。

具体实施方式

下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。

请参阅图1~5,本实用新型实施例中,整个MCU系统里有两个时钟clkcpu和clkper,系统低功耗模式包括IDLE和STOP模式。当系统进入IDLE模式时,clkcpu关闭而clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当系统进入STOP模式时,clkcpu和clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。

软件通过编程让CPU进入IDLE或者STOP模式。当处于IDLE模式时,外部设备仍然在工作,外部设备的中断信号可以唤醒CPU,重启工作;当处于STOP模式时,由于内部所有时钟都关闭,包括模拟电路时钟产生电路也被ick_en信号关闭,所以这里通过IO口翻转,异步唤醒CPU,重启工作。

由于STOP模式下系统还关闭了模拟时钟振荡器,相比IDLE模式更进一步地降低了功耗。IDLE和STOP在电路的区别主要在于IDLE不关闭ick_en信号,也不关闭clkper,其他控制大同小异,想了解更多请看电路设计原理图。

这里简述一下STOP模式下的工作流程。

描述工作流程之前先介绍一下电路设计原理图的组成与作用。电路大概可分为4个部分组成。

第一部分如图2所示,这部分电路主要用来控制STOP和IDLE状态的电路,当执行了进入STOP或IDLE的指令时,STOP或IDLE的寄存器被置1;当IO口翻转时,将产生脉冲io_change_pulse,从而清零STOP或IDLE的寄存器;同时,也将产生clkper_en和clkcpu_en。

第二部分如图3所示,前面生成的clkper_en和clkcpu_en送到这里,通过两个门控锁存器,控制clkper和clkcpu两个时钟。

第三部分如图4所示,这部分的作用是判断IO翻转,生成io_change_pulse和clk_resume_s(clk_resume_s之所以是由三个信号拼成,是为了确保系统已经清零了STOP和IDLE信号,从而保证了唤醒的正常工作),io_change_pulse用来清除STOP和IDLE寄存器的信号,而clk_resume_s则用来控制门控时钟的开关信号clkper_en和clkcpu_en(电路里面包含sync_level模块,是用来实现信号同步)。

最后一部分如图5所示,这部分的主要作用则是用来生成ick_en信号,该信号送给模拟电路,模拟电路通过这个信号来开关ick的生成电路(这里要介绍一个信号ick_en_s,该信号是软件配置寄存器来生成的,用来软件控制ick的开启和关闭)。当clkper_en为0或ick_en_s为0时,在ick下降沿到来时,ick_en等于0,模拟即刻关闭ick(这里之所有选择下降沿,是保证模拟电路有足够的时间去关闭电路,同时保证时钟没有毛刺产生)。当clkper_en或ick_en_s从0变1时,因为此刻不再有时钟,所有必须采用异步的方式,寄存器带有异步置位端SN,通过sync_level模块(这里是异步复位同步释放,保证足够的removal时间)生成的ick_wakeup_rst_n送给异步复位端SN,从而重启ick。

当CPU执行了进入STOP模式的指令,wr_stop产生一个脉冲,在下一拍stop信号被置1,clkper_en和clkcpu_en被清零,则clkper和clkcpu同时关闭,系统进入深度睡眠模式,同时,clkper_en同步至ick时钟域,使得clkcpu_stop_synick置1,从而使得ick_en在ick下降沿时清零,关闭模拟振荡器,使得系统进入低功耗模式。

CPU处于STOP模式之后,所有的时钟都关闭,此时势必通过异步唤醒的方式来重启。这里通过IO口pin_xx输入信号的电平翻转,由于pin_xx和时钟关闭前保存的同步电平相反,从而产生了io_change脉冲(脉冲高电平将保持至clkper唤醒2个周期),此时clk_resume_s置1,clkper_en置1,从而使得ick_en_rst_n有效(低电平有效),这个信号采用异步复位同步释放的方式,得到ick_wakeup_rst_n信号也立即生效(此信号保持低电平有效,直至ick起振4个周期),则ick_en被置1,模拟振荡器开始工作,ick产生时钟。那么,clkcpu和clkper也开始工作,系统被唤醒。

对于本领域技术人员而言,显然本实用新型不限于上述示范性实施例的细节,而且在不背离本实用新型的精神或基本特征的情况下,能够以其他的具体形式实现本实用新型。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本实用新型的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本实用新型内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1