具有实时时钟的微控制单元的制作方法

文档序号:6656559阅读:322来源:国知局
专利名称:具有实时时钟的微控制单元的制作方法
技术领域
本发明通常涉及在混合信号结构中具有与之相关的模拟和数字电路的微控制单元(MCU),更特别地,涉及与之相关的用于提供实时时钟功能的定时功能。
相关申请的交叉引用N/A。
背景技术
对于数据收集的要求通常涉及以下操作接收模拟数据、将模拟数据转换成数字格式、然后以数字格式处理数据用于其转换或存储。已经开发了针对这种应用的一类器件,利用混合信号技术提供“片上系统”(SOC)解决方案。这些SOC有时候称作微处理器单元(MCU),是由数字部分构成,并且可以含有模拟部分。模拟部分通常包括模拟-数字转换器,可以使其输入多路复用,使得能够从多个不同的来源(例如各种传感器或换能器)采样模拟值。这些MCU被设计成以非常低的功率工作,因此他们能够设置在偏远区域中,然后通过电池功率的释放维持较长的持续时间。由于数据的采样更适合间歇操作,因此能够进入低功率工作模式对这些器件是有利的。这些类型的MCU芯片的功率预算被分成多个功能元件。在数字端,处理器具有大量的栅极,通常需要相对高的工作频率以提供足够的性能,大约在25MHz。还有多个定时器、输入/输出(I/O)设备等,但是功率预算的最大部分是处理器。时钟电路也能够占用相当一部分功率预算,即使没有驱动处理器,但由于数字处理及其时钟速度的功率需求也占用了功率预算的主要部分。这些MCU具有范围从25MHz到100MHz的时钟速度。即使处理器不处理信息,时钟仍然以相当高的频率对芯片提供时钟(即钟控),只要门被驱动至不同的状态,就将消耗功率。因此,这些MCU器件的大部分具有低功率工作模式,通过暂停处理器工作使处理器或其数字部分进入非常“深的睡眠”模式,或者就是允许较低功率模式。在较低功率模式中,有时候必须将时钟速度降低到低时钟工作速度,例如32kHz。这能够使处理器持续工作,但是在非常低的速度。此外,引入功率的另一个来源可能是能够设置在模拟部分中的数据转换器、模拟-数字转换器(ADC)和数字-模拟转换器(DAC)。即使芯片的该部分可以工作在较低的时钟速度,但是以此时钟速度对输入进行采样的时间可能是不可接受的。因此,对于后台处理操作,处理器通常运行在较低的时钟速度,当进行采样操作时将升高到较高的时钟速度。根据以部件为基础的功率管理体系,能够关闭与MCU相关的多个部件或功能块。但是,最低功率操作将使数字部分处于深睡眠模式,其中处理工作基本上停止,保持处理器的“当前状态”的配置信息。外部监控电路将监控一些条件,例如另一个功能块产生的中断、外部事件等,然后将唤醒该部件并在最后的当前状态开始处理。
在一些应用中,需要实时时钟功能。由于通常提供能够由高频率时钟钟控的定时器和板上部件,因此这很容易促使MCU以高速运行。为此提供的一种类型的MCU是由Silicon Laboratories Inc.制造的MCU产品族,C8051FXXX。但是,为了提供实时时钟功能,必须分割或者以某种方式感知计数,使得能够对秒、分、小时、日等计数,并且存储在寄存器中。通常,能够通过低频率时钟在后台执行全部实时时钟功能。在这些MCU器件的一些中,提供用于在作为高功率工作模式的默认工作模式下操作处理器的高频时钟,和用于在低功率模式下操作处理器的低频率时钟。低频率时钟能够用于对定时器提供时钟(钟控),而与处理器的操作以及随后产生的中断无关。但是,实时时钟的功能基本上利用了整个数字部分的操作。同样地,在非常低功率的其中期望在所采样本上具有时间标记信息的应用中,在非常低功率模式过程中必须运行实时时钟。因此,期望在此时间过程中没有或有非常少的数字部分在工作。

发明内容
在本发明的一个方面中,此处公开的本发明包括具有单独的实时时钟(RTC)的微控制单元(MCU)。MCU包括处理电路,用于接收数字信息并处理所述接收的数字信息。主时钟电路为所述处理电路提供定时。功率控制电路控制提供给所述处理电路和所述主时钟电路的功率,控制其工作以至少全功率模式和降低功率模式工作,全功率模式从电源电压输入端引入全部功率水平,降低功率模式从所述电源电压输入端引入小于全部功率水平的功率。还提供了一种独立的RTC电路,所述独立的RTC电路包括与所述主时钟电路独立地工作的RTC时钟电路。由所述RTC时钟电路钟控的定时器,用于为其输出增加存储的时间值,所述RTC时钟电路具有定义的时基。输入/输出(I/O)设备为所述处理电路提供对由定时器输出的结果的存取。功率管理电路管理提供给所述独立的RTC电路的功率,使得所述RTC时钟电路、所述定时器、和所述I/O设备在与所述处理电路和所述主时钟电路工作的功率模式无关的情况下工作。


为了彻底的了解本发明及其优点,现在结合附图来参照下面的说明,其中图1给出了具有分开的低功率实时时钟(RTC)的MCU的整体视图;图2给出了MCU芯片的整体框图,显示了其各种功能块;图3给出了MCU的处理操作所用的振荡器的框图;图4给出了RTC的框图;图5给出了RTC中的寄存器的框图;图6给出了寄存器的一位的逻辑图;
图7给出了片上调整器的示意图;图8给出了器件上的功率开关的逻辑图;图9给出了晶体振荡模式下的RTC振荡器的示意图;图10给出了非晶振荡模式下的RTC振荡器的示意图。
具体实施例方式
现在参照图1,其给出了基于处理机的系统的框图,该系统驱动混合信号技术,包括数字部分作为其一部分,数字部分含有中央处理单元(CPU)102和可用于与各种串行输入和输出以接口连接的数字I/O部分104。该系统还包括模拟部分,提供了用于接收一个或多个模拟输入的模拟-数字转换器(ADC)106,也提供了用于将来自CPU 102的数字信息转换成模拟输出信息的数字-模拟转换器(DAC)110。通过主振荡器部分中的各种时钟112来控制CPU 102的操作。具有控制MCU的整体操作的操作时钟。在一种模式下,它们将与晶体114以接口连接用于其精确操作。但是,如将在下面所述的,可以利用精确的内部基于非晶的时钟,此外,也存在用于两种不同工作模式的高频晶体和低频晶体。正常地,时钟112的输出为CPU 102提供操作时钟。
也提供了分开的独立实时时钟(RTC)模块116。该模块116对为其提供时间基础的分开的RTC晶体118进行操作。RTC 116与芯片电源电压VDD连接,电源电压VDD也驱动CPU 102和时钟模块112。RTC模块116也与电池端子120和外部备用电池122连接。RTC 116在其上设置了多个寄存器和RAM存储器124,用于存储与RTC 116相关的定时信息。RTC 116与主要目的无关地工作,以保持其中单独的当前时间和日期信息,并且与数字和模拟部分的操作以及由此所需或被提供的功率无关。CPU 102通过与寄存器124的数字接口130来初始化该信息。在操作期间,RTC 116将更新其内部时间和日期信息,该信息存储器寄存器124中。RTC 116用于在中断线132(到CPU 102)上产生中断。因此,RTC 116能够与CPU 102连接,以便在那产生中断。如将在下面所述,该中断用于在CPU 102处于无效或深睡眠模式时唤醒CPU 102。但是,CPU 102在任何时间能够询问寄存器124其中所存储的信息。如将在下面所述,RTC 116是非常低功率的电路,其引入非常小的电流,电流小于1.0μA。RTC 116将线140上的时钟输出提供到时钟多路复用器142。多路复用器142还接收时钟电路112的输出,多路复用器的输出将系统时钟提供到CPU 102。时钟电路112用于产生能够被倍频或分割的大约25MHz的基本频率。但是,大约32kHz的RTC 116的基本工作频率能够为系统时钟提供交流低频时基。这将使得CPU 102出于功率守恒目的以低频工作。
现在参照图2,其给出了MCU的框图。如上所述,MCU通常是与Silicon Laboratories Inc.制造的部件号C8051F330/1类似的类型,除了附加的RTC 116之外。MCU在其中心包括处理核202,通常由类型“8051”的传统微处理器构成。处理核402从多路复用器206接收线204上的时钟信号。多路复用器206用于在多个时钟中选择。提供80kHz的内部振荡器208、24.5MHz的可调整内部精确振荡器212或外部晶体控制振荡器210。在2002年9月16日提交的标题为“PRECISION OSCILLATOR FOR AN ASYNCHRONOUSTRANSMISSION SYSTEM”的美国专利申请号No.10/244,344中描述了精确内部振荡器212,通过引用将该申请结合在本文。处理核202也用于接收端子213上的外部复位,或用于从接通复位模块214接收的复位信号,所有的信号对处理核202提供复位。处理核202具有与其相关的多个存储器资源,存储器或者是闪存216、SRAM存储器218或随机存取存储器220。处理核202通过板上数字总线222与各种数字电路相连,从而允许处理核202与各种工作引脚226连接,工作引脚226能够从外部连接到芯片,以接收数字值、输出数字值、接收模拟值或输出模拟值。提供各种数字I/O电路,有锁存电路230,串行端口接口电路,例如UART 232、SPI电路234或SMBus接口电路236。除了另一个锁存电路240之外,还提供三个定时器238。所有的电路230-240可通过纵横器件242与输出引脚226连接,这些电路通过选择一个输出可配置地与这些器件连接。数字输入/输出也能够连接到数字-模拟转换器244,用于将数字输出转换为模拟输出,或连接到模拟-数字转换器246的数字输出,模拟-数字转换器246从连接到集成电路上多个输入引脚的模拟多路复用器248接收模拟信号。模拟多路复用器248允许通过引脚226感测多个输出,使得ADC能够连接到各种传感器。此外,MCU 102是传统的电路。
现在参照图3,其给出了由振荡器210和212以及多路复用器206构成的主振荡器部分的示意图。振荡器210是晶体控制振荡器,通过两个外部端口302和304连接到外部晶体306并以超过25MHz的频率工作。提供寄存器308,标记为OSCXCN,用于驱动振荡器210的控制信号,并记录其输出值。在线310上将振荡器210的输出提供到多路复用器206的一个输入。通过寄存器318和寄存器320控制可编程精确可调整振荡器212,以便控制其工作,即,设置其频率并激活该振荡器。通过除法电路330处理振荡器212的输出,通过寄存器320按位设置其分割比,以便在输出322上将精确高频时钟提供给多路复用器206的另一个输入。将多路复用器206的输出提供到时钟线404上的MCU 102作为系统时钟信号SYSCLK。通过标记为CLKSEL的寄存器324促进时钟选择操作,该寄存器324控制多路复用器206。
可编程高频振荡器212是系统复位之后用于系统操作的默认时钟。标记为OSCICL的寄存器318中的值提供了通常在厂家编程的位,这些位存储在闪存中。高频时钟的中心频率是24.5MHz。除法电路330能够提供1、2、4或8的分割比。在仅作为示例的C8051F330器件中的振荡器212,是±2%精确度振荡器,具有尽管在厂家编程的但是允许通过改变寄存器318中的位来调整的中心频率。在寄存器318中提供了7位作为可校准的位。寄存器320提供振荡器212的使能位以及确定振荡器212是否运行在编程频率的位。寄存器320中的两个位用于设置除法器330的分割比。
还提供由多路复用器352构成的时钟乘法器电路350,用于选择通过以2为因子来除的时钟电路210、内部时钟212或时钟210的输出,并将所选的时钟提供到4X乘法器378。然后将该倍乘的时钟输入到小数除法模块380,其输出被多路复用器206选择。通过选择寄存器260控制模块350。选择寄存器按照下面的表工作。
表1CLKMUL时钟乘法器控制寄存器

Bit7MULEN时钟乘法器使能0时钟乘法器禁止。
1时钟乘法器使能。
Bit6MULINIT时钟乘法器初始化当时钟乘法器被使能时,该位将是“0”。一旦使能,对该位写入“1”将初始化时钟乘法器。当时钟乘法器稳定时,MULRDY位读取“1”。
Bit5MULRDY时钟乘法器准备该只读位表示时钟乘法器的状态。
0时钟乘法器没有准备好。
1时钟乘法器准备好(锁定)。
Bit4-2MULDIV时钟乘法器输出比例因数这些位缩放时钟乘法器输出。
000通过为1的因子缩放时钟乘法器输出。
001通过为1的因子缩放时钟乘法器输出。
010通过为1的因子缩放时钟乘法器输出。
011通过为2/3的因子缩放时钟乘法器输出。
100通过为2/4(或1/2)的因子缩放时钟乘法器输出。
101通过为2/5的因子缩放时钟乘法器输出。
110通过为2/6(或1/3)的因子缩放时钟乘法器输出。
111通过为2/7的因子缩放时钟乘法器输出。
Bit1-0MULSEL时钟乘法器输入选择这些位选择提供给时钟乘法器的时钟。

能够看出,位4-2为小数除法电路设置分割比。对于值“000”、“001”和“010”,将没有小数除法。对于剩余的值,将存在非整数除法。
现在参照图4,其给出了低功率RTC 116的详细的框图。提供了一种专用RTC振荡器402,在晶体模式中以专用的32kHz振荡频率工作,注意,该振荡器能够在非晶体模式下以20kHz或40kHz的频率工作。提供了两个外部焊块404和406,用于在基于晶体的模式下与晶体连接,或者它们能够在非基于晶体模式下连接在一起。RTC 116接收节点120上的备用电池输入和VDD引脚408上的电源电压VDD。提供48位定时器410,其由RTC振荡器402钟控。RTC状态机412控制RTC 116的操作,并用于与48位定时器410连接,以便在其中写入数据或从其读取数据,并且通常控制其配置。如将在下面所述的,48位定时器包括计数器、锁存器和告警功能。RTC状态机412用于在必要时在线132上产生中断,并且与RTC内部总线414连接。内部总线414用于与备用RAM 416连接,RAM 416被配置成静态RAM(SRAM),具有64字节的存储容量。通过内部寄存器418提供存储,内部寄存器418为从48位定时器410捕捉的数据以及在RTC状态机412与CPU 102之间传递的各种地址数据提供内部存储。提供内部寄存器420,其为CPU 102提供到内部寄存器418的接口通路。通过切换逻辑模块424提供功率控制,切换逻辑模块424用于监控VDD的电平,如果VDD的电平低于预定电平,切换逻辑模块424将切换到输入端口120上的备用电池(注意,能够通过主电池提供电压VDD)。提供调整器428,如果主芯片功率损失其调整提供至RTC电路的电压。
当利用32.768kHz手表晶体(watch crystal)和至少1V的备用电源时,RTC 116允许具有47位操作的最大137年的时间保持容量,或允许具有48位分辨率的272年的时间保持容量。这与全部MCU的操作无关。尽管没有显示,但是RTC状态机412包括遗漏时钟探测器,该探测器能够从暂停模式中断处理器和振荡器118,或者甚至在告警达到预定值时产生器件复位。
接口寄存器420包括三个寄存器,RTC0KEY、RTC0ADR和RTC0DAT。这些接口寄存器占据CPU 102的特殊函数寄存器(SFR)内存印象图的一部分,并提供对RTC 116的内部寄存器418的存取。在下面的表1(表19.1)中列出了这些内部寄存器的操作。只能够通过接口寄存器420间接存取RTC内部寄存器418。
表1RTC0内部寄存器

RTC接口寄存器RTC0KEY是锁定和密钥寄存器,用于保护接口420。必须在写入和读取内部寄存器418的内部地址寄存器RTC0ADR和内部数据寄存器RTC0DAT之前,通过CPU 102顺序的向该寄存器写入修正密钥码。密钥码是0xa5、0xf1。没有时间限制,但是密钥码必须顺序写入。如果密钥码写入顺序混乱,则写入错误码,或者尝试无效读取或写入,此外直到下一个系统复位之前将不能对RTC0ADR和RTC0DAT写入和读取。在任何时候对RTC0KEY的读取将提供到RTC 116的接口状态,但是不与正在写入的顺序冲突。RTC0KEY寄存器是提供四种状态条件的8位寄存器。第一是锁定状态,表示两个密钥码必须顺序地写入。在写入第一密钥码之后,状态将改变为下一个状态,表示其仍被锁定,但是已经写入第一密钥码,并等待第二密钥。下一个状态是其中接口未锁定,由于已经顺序地写入了第一和第二密钥码。第四状态表示直到下一个系统复位之前接口被禁止。RTC0KEY寄存器位于SFR地址0xAE,当对其写入时,写入第一密钥码0xA5,随后是第二密钥码0xF1(其未锁定RTC接口)。当状态表示其未锁定时,对RTC0KEY寄存器的任何写入将锁定RTC0接口。
能够使用RTC0ADR和RTC0DAT接口寄存器读取和写入RTC内部寄存器418。RTC0ADR寄存器选择将通过随后对RTC0DAT的读取/写入被确定为目标的特定的RTC内部寄存器。在每次读取或写入之前,将检查RTC接口Busy位,其中的位7,以确保RTC接口没有忙于执行另一个读取或写入操作。当Busy位表示忙时,RTC写入内部寄存器的示例将涉及等待操作。之后,RTC0ADR将写入例如0x06的值,其对应于0x06的内部RTC地址。之后将向RTC0DAT写入例如0x00的值,其将值0x00写入RTC0CN内部寄存器(与内部0x06地址相关),RTC0CN寄存器是RTC控制寄存器。在此实施例中通常具有16个8位内部寄存器。有6个内部寄存器用于从定时器410俘获数据,一个寄存器用于RTC0CN控制信息,6个告警寄存器,和备用RAM地址寄存器以及备用RAM数据寄存器。通过首先将控制信息写入RTC0CN,随后能够从任何其它的内部寄存器写入或读取数据。为了向任何的其它寄存器写入数据,RTC0CN内部寄存器具有写入的Busy位,以便开始通过CPU 102间接读取。一旦由CPU 102执行了读取,然后RTC0DAT的内容载入了RTC0CN的内容。能够设置该系统,使得通过在控制寄存器中设置适当的位而具有间接读取的顺序。将提供一系列的连续读取,使得能够完全地读取例如俘获寄存器或告警寄存器的内容。在每次对俘获或告警寄存器读取或写入之后,RTC0ADR寄存器将自动地增加。RTC0CN寄存器是8位寄存器,具有使能位,遗漏时钟探测器使能位,时钟失效标志位,表示定时器维持其当前值或者每个RTC时钟周期增加的定时器运行控制位,能够启动告警功能的告警使能位,为了初始目的使得定时器寄存器、俘获寄存器中的值转移到RTC定时器的设置位,以及使得48位RTC定时器的内容转移到俘获寄存器的俘获位。还提供振荡器控制寄存器RTC0XCN,作为用于提供晶体振荡器的增益控制的8位寄存器,用于选择使用具有或者不具有晶体的RTC的模式选择位,能使电流加倍的偏置控制位,表示晶体振荡器接近稳定时的时钟有效位,以及VBAT指示器位。当该位被设置时,其表示RTC由电池供电。
如上所述,RTC定时器410是48位计数器,当对该模式有效时,在每个RTC时钟将增加。定时器具有与其相关的告警功能,能够被设置用于产生中断,复位整个芯片,或者在特定时间从暂停模式释放模块112中的内部振荡器。能够通过在俘获内部寄存器中存储一组时间和数据值,然后将该信息转移到定时器410,来预先设置48位定时器的内部值。告警功能以实时为基础比较定时器中的48位值与内部告警寄存器中的值。如果两个值匹配,将触发告警事件。如果启动RTC中断,则在出现告警事件时CPU 102将引导至中断服务例程。如果启动RTC操作作为复位源,则在出现告警事件时MCU将被复位。此外,如果在该模式下,当出现告警事件时将从暂停模式唤醒内部振荡器112。
现在参照图5,其给出了48位定时器410的更详细的视图。在作为RTC控制器的单个模块502中,给出了与RTC振荡器402、RTC状态机412和各种寄存器相关的RTC的整个操作。这允许产生时钟和各种控制功能、地址等。基本定时器由6个8位计数器504构成,每个提供一字节的信息。它们被标记为BYTE0、BYTE1、......BYTE5。这提供了总共48位。每个计数器504被间接寻址,使其内容能够被读出到相关的锁存器506,有6个锁存器506,用于向其转移信息和从其读取数据(在内部寄存器418中存在俘获寄存器)。对于俘获操作,将输出定时器中的信息,即,当前时间和数据,该数据将从计数器504转移到锁存器506。当计数器被初始化时,将从锁存器506向计数器504转移新的计数值。通过从控制器502输入的时钟为第一计数器BYTE0提供时钟(钟控),这是由图4中的RTC振荡器402产生的。每个计数器输出将以传统的方式送至下一个计数器。标记了BYTE0的第一计数器504提供1/65536秒的分辨率,标记了BYTE1的第二计数器504提供1/256秒的分辨率,标记了BYTE2的第三计数器504提供1秒的分辨率,标记了BYTE3的第四计数器504提供256秒的分辨率,标记了BYTE4的第五计数器504提供65536秒的分辨率,标记了BYTE5的最后一个计数器504提供16777216秒的分辨率。
每个锁存器506连接到内部8位数据总线414,以使数据从其输出并转移到俘获内部寄存器,有6个这样的寄存器。因此,每个相关的锁存器506将被连续编址,在RTC 116的地址空间中它们具有唯一的地址,并且其输出存储在相关的俘获寄存器中。还提供6个告警寄存器510,每个与计数器504中的一个字节相关,它们是8位告警寄存器,提供48位告警值。通过比较器512比较该告警值与计数器504的当前值,如果存在真匹配则提供告警输出。如上所述,利用此方式产生告警。
现在参照图6,其给出了用于计数器504的一位的逻辑图。该位被显示为第一位,因此来自时钟的输出将为其提供时钟。但是,在此位之后,通过先前计数器的下降沿或者其Q-Bar输出为每个位提供时钟。该时钟输入被输入到其时钟输入端上的触发器602。其数据输入连接到其Q-Bar输出端。这提供了对计数器504的下一位的时钟输入的输入。其Q-Bar输出被输入到数据锁存/多路复用器604的D0数据输入端,数据锁存/多路复用器604由多路复用器选择信号控制用于在俘获操作期间选择触发器602的输出。在俘获操作期间,将接收写入信号作为写入俘获信号,当从计数器602俘获数据时,该写入俘获信号使D0数据输入端上的数据被锁存。在预设时间和数据的预设操作中,将来自数据总线414的数据写到D1数据输入端上的多路复用器604。为了读取数据锁存/多路复用器604的内容,读取俘获信号启动读取缓存器606以读取数据锁存/多路复用器604的Q-输出。在读取操作期间,这是数据总线414上的输出。因此,通过选择适当的端口D0或D1,能够通过多路复用器选择信号将数据锁存到数据锁存/多路复用器604,以便锁存用于预设操作的输入数据或者在触发器602对其输出俘获计数器504的输出数据。
为了向触发器602写入数据,将数据锁存/多路复用器604的Q-Bar输出输入到触发器602输入端上的复位输入端。只要触发器602存在预设信号,就能够对应于锁存/多路复用器604的输出而将触发器602的数据状态强制为高或低。这使得其位值为“预选的”。
对于告警模式,通过写入告警信号将数据写入告警锁存器610。其基本上是D型触发器。其Q-Bar输出端输入到比较器612的一个输入端,在其中锁存该值之后,其它的输入连接到与计数操作相关的触发器602的Q输出端。因此,能够比较定时器的特定相关位与用于48位告警字中的告警字的固定位。真比较结果取决于有效的先前位的先前告警比较结果,如果所有的位有效,则整个告警比较操作将是真告警操作。因此,当触发器602的Q-Bar输出与锁存器610的内容匹配并且先前位具有真比较结果时,则将存在告警输出真。这通过告警使能信号而被全部启动。此外,能够通过读取缓存器614读取告警锁存器610的内容,读取缓存器614通过告警读取信号启动,以便将锁存器610的内容输出到总线414上。
现在参照图7,其给出了与RTC操作相关的片上调整器的示意图。这允许向实时时钟提供电源电压或向它提供调整的电压。放大器702具有连接到节点704的负输入端,以及连接到节点706的正输入端。节点704连接到电流源708的一侧,其另一端连接到电压VRTC,这是提供至RTC电路的电压。节点704连接到两个串联连接的负载晶体管的一侧,p沟道晶体管710,其源极/漏极通路连接在节点704与n沟道晶体管712的源极/漏极通路的一侧之间,n沟道晶体管712的另一侧接地。晶体管710和712的栅极连接在一起。放大器702的输出驱动p沟道晶体管714的栅极,p沟道晶体管714的源极/漏极通路连接在RTC电源电压与节点706之间,节点706提供输出电压VREG。节点706也通过三个串联连接的晶体管接地,三个串联连接的晶体管包括在节点706与节点720之间的以二极管配置连接的两个串联连接在一起的p沟道晶体管716和718,节点720通过二极管连接的n沟道晶体管722接地。
节点706也连接到p沟道晶体管730的源极/漏极的一侧,p沟道晶体管730的另一端连接到VDD,其栅极连接到强制(Force)VREG信号。当Force VREG信号为低时,晶体管730导通,VDD连接到节点706。当Force VREG信号为高时,VDD与节点760断开连接,放大器702将节点760上的电压调整为节点704上的电压。
现在参照图8,其给出了切换逻辑的逻辑图。如上所述,切换逻辑用于监控输入电源电压VDD和输入电池电压VBAT。分别具有对比较器802的正和负输入端的输入。此输出是VDDMAX。这是对NAND门804的一个输入端的输入,其它的输入端连接到使能信号。NAND门804的输出设置在节点806上,并且包括VBATMAX信号。因此,当比较器802的输出为真时,这表示存在VDD或最高电压。当不存在或低于电池电压时,NAND门804在节点806上的输出将表示存在电池或较高电压。提供由两个NAND门808和810构成的锁存器。NAND门810的一个输入端由节点806上的通过反相器814反相的信号驱动。NAND门810的另一个输入端连接到NAND门808的输出端。NAND门808的一个输入端连接到节点806,其另一个输入端连接到NAND门810的输出端。NAND门808是3输入端NAND门,其另一个输入端连接到使能信号“ON”,以启动其操作。NAND门810的输出包括VDDSEL信号,NAND门808的输出包括电池选择信号,VBATSEL。信号VDDSEL输入到p沟道晶体管830的栅极,p沟道晶体管830是连接在RTC电源电压节点832,VRTC与VDD节点834上的VDD之间的通路晶体管。VBATSEL信号连接到p沟道通路晶体管836的栅极,其源极/漏极通路连接在节点832与电池节点838之间,节点838连接到电池电压VBAT。切换电路用于选择电源输入引脚上的电源电压或者电池输入引脚上的电池电压为节点832供电。这是传统的电路。
现在参照图9,其给出了RTC振荡器的一种配置的示意图。通常,传统的振荡器被配置为晶体振荡器。提供振荡器n沟道晶体管902连接在输出节点904与地之间。反馈电阻器906连接在节点904与晶体管902的栅极之间。晶体管902的栅极通过电阻器908与第一晶体端910连接。第二晶体端912通过串联电阻器914连接到节点904。节点904通过来自电源电压的电流源916驱动。在芯片外部的晶体920连接在第一与第二晶体端910与912之间。当晶体920如此设置时,将控制振荡器的振荡。节点904驱动放大器922,然后通过驱动器926驱动节点924上的时钟输出。这是传统的振荡器电路。
现在参照图10,其给出了被配置成不通过晶体运行的振荡器的配置示意图。在此配置中,晶体管902使其栅极连接到节点1002,电容器1004连接在节点1002与地之间。第一和第二晶体输入引脚910和912通过外部短路电路1006连接在一起。电容器1008连接在节点904与地之间。节点1002上的晶体管902的栅极也驱动n沟道晶体管1010的栅极,其源极/漏极通路连接在节点1012与地之间。节点1012通过电流源1014驱动,节点1012驱动限流放大器1016。限流放大器1016通过正电流源1018和负电流源1020限制。放大器1016驱动三个串联连接的缓存器放大器1024、1026和1028,以驱动节点1030。节点1030输入到两输入端NOR门1032的一个输入端,其输出端驱动n沟道晶体管1034的栅极。晶体管1034的源极/漏极通路连接在节点1002与地之间。
CPU核具有多个功率管理模式,这些功率管理模式为两种软件可编程的功率管理模式。第一模式是空闲模式,第二模式是停止模式。在空闲模式中,当留下外设并且内部时钟起作用时,停止CPU的操作。因此,定时器、数据转换器和高频精确时钟以及低频时钟保持有效。在停止模式中,CPU停止,使其不产生对与其相关的数字电路的任何转变,所有的中断和定时器处于无效模式,内部振荡器的操作停止。模拟外设将保持在他们被选择的状态。由于时钟运行在空闲模式,所以功耗取决于系统时钟频率以及在进入空闲模式之前处于有效模式中的外设的数量。在停止模式中,消耗了最小功率。提供了内部功率控制寄存器,为8位寄存器。位0提供了空闲模式,位1提供了停止模式,剩余的位预留。当位1或位2是高(不都是高)时,然后将选择适当模式。对任一位写入逻辑“1”将选择适当模式,并强制处理器进入该模式。此外,通过在精确振荡器的高频晶体控制与低频振荡器之间选择能够改变功率。高频或精确振荡器通常工作在24MHz范围内,低频时钟工作在大约80kHz。通过较低的时钟频率,由于数字电路中将出现较少转变的因素,所以数字电路将消耗较少的功率。即使在停止模式中,当处理器基本上不活动时,RTC将保持运行,并且时钟进入内部定时器,保持运行时间值。当提供备用电池时,即使从电源电压端移除功耗也将保持这样。此外,其操作是非常低功率工作模式。
尽管已经详细说明了优选实施例,但是应当理解,在不脱离由后附权利要求限定的本发明的实质与范围的情况下,能够在其中进行各种改变、替换和修改。
权利要求
1.一种具有单独的实时时钟的微控制单元,包括处理电路,用于接收数字信息并处理所述接收的数字信息;主时钟电路,用于为所述处理电路提供定时;功率控制电路,用于控制提供给所述处理电路和所述主时钟电路的功率,控制其工作以至少全功率模式和降低功率模式工作,全功率模式从电源电压输入端引入全部功率水平,降低功率模式从所述电源电压输入端引入小于全部功率水平的功率;和独立的实时时钟电路,所述独立的实时时钟电路包括实时时钟电路,与所述主时钟电路独立地工作,定时器,由所述实时时钟电路钟控,为其输出增加存储的时间值,所述实时时钟电路具有定义的时基,输入/输出(I/O)设备,允许所述处理电路存取所述定时器输出的结果,和功率管理电路,用于管理提供给所述独立的实时时钟电路的功率,使得所述实时时钟电路、所述定时器和所述I/O设备工作,而不管所述处理电路和所述主时钟电路工作的功率模式。
2.如权利要求1所述的微控制单元,其中所述主时钟电路工作在第一高时钟频率或第二低时钟频率,其中当工作在所述高频率时所述处理电路引入更多的功率,并且在所述降低功率模式期间,所述功率控制电路用于使所述处理电路工作在所述低时钟频率。
3.如权利要求1所述的微控制单元,其中在降低功率模式期间,所述功率控制电路用于暂停所述主时钟电路的工作以便工作在所述降低功率模式。
4.如权利要求1所述的微控制单元,进一步包括多路复用器,用于使所述处理电路使用所述实时时钟电路工作。
5.如权利要求1所述的微控制单元,其中至少通过所述处理电路,所述功率控制电路在所述电源电压输入端引入功率基本上为零功率的情况下工作在所述降低功率模式。
6.如权利要求1所述的微控制单元,其中所述实时时钟电路中的所述I/O设备包括锁存器,用于响应对锁存信号的接收而存储所述定时器的结果,所述锁存器被连接为向所述处理电路提供对所述定时器结果的存取。
7.如权利要求6所述的微控制单元,进一步包括缓冲存储器,用于根据从所述处理电路接收的读取指令,缓存所述锁存器要从其输出到处理电路的内容。
8.如权利要求6所述的微控制单元,进一步包括对所述锁存器的写入输入端,使得所述处理电路能够向所述锁存器写入信息,具有提供在所述实时时钟电路中的更新电路,用于允许载入由所述处理电路写入到所述锁存器的内容,作为所述定时器的初始值以调整其中的值。
9.如权利要求1所述的微控制单元,其中所述实时时钟电路进一步包括告警电路,用于比较预定的告警值与所述定时器输出的结果,当进行真比较时,产生这种比较结果的指示作为对所述处理电路的输出,用于对其采取预定动作。
10.如权利要求9所述的微控制单元,其中所述告警是可通过所述处理电路编程的。
11.如权利要求1所述的微控制单元,其中所述的功率管理电路包括电池备用电源,用于在从所述电源电压输入端去除功率时向所述实时时钟电路提供电池备用,使得所述实时时钟电路的功率不会中断。
12.一种具有单独的实时时钟的微控制单元,包括处理电路;主时钟电路,用于为所述处理电路提供定时;功率控制电路,用于控制提供给所述处理电路和所述主时钟电路的功率,以控制其工作以至少全功率模式和降低功率模式工作,全功率模式从电源电压输入端引入第一功率水平的功率,降低功率模式从所述电源电压输入端引入小于第一功率水平的功率;和独立的实时时钟电路,所述独立的实时时钟电路包括实时时钟电路,具有定义的时基,定时器,由所述实时时钟电路钟控,为其输出增加存储的时间值,控制输出端,用于允许所述实时时钟控制所述功率控制电路的操作。
13.如权利要求12所述的微控制单元,其中所述控制输出端包括用于产生中断的中断电路,所述功率控制电路包括中断处理机,用于响应通过所述实时时钟电路中的所述控制输出端产生的所述中断,在所述处理电路中开始中断例程。
14.如权利要求13所述的微控制单元,其中所述中断电路工作以便比较所述定时器的内容与预存储的告警值,并在所述定时器的内容超过所述内容时产生所述中断。
15.如权利要求12所述的微控制单元,其中所述主时钟电路工作在暂停模式中,使得不对所述处理电路提供定时操作,所述控制输出端用于使所述主时钟电路终止暂停模式并恢复正常操作。
16.如权利要求12所述的微控制单元,其中所述实时时钟电路包括输入/输出(I/O)设备,用于允许所述处理电路存取所述定时器输出的结果。
17.如权利要求12所述的微控制单元,其中所述实时时钟电路包括功率管理电路,用于管理提供给所述独立的实时时钟电路的功率,使得无论所述处理电路和所述主时钟电路工作的功率模式所述实时时钟电路、所述定时器和所述I/O设备都工作。
18.一种设置在半导体电路上的实时时钟电路,半导体电路具有处理电路,处理电路具有用于为其提供定时的相关的主时钟电路,通过功率控制电路控制提供给处理电路的功率,控制其工作以至少全功率模式和降低功率模式工作,所述全功率模式从电源电压输入端引入全部功率水平,所述降低功率模式从所述电源电压输入端引入小于全部功率水平的功率,所述实时时钟电路包括实时时钟电路,与所述主时钟电路独立地工作,定时器,由所述实时时钟电路钟控,为其输出增加存储的时间值,所述实时时钟电路具有定义的时基,输入/输出(I/O)设备,允许所述处理电路存取所述定时器输出的结果,和功率管理电路,用于管理提供给所述独立的实时时钟电路的功率,使得在无论所述处理电路和所述主时钟电路工作为何种功率模式所述实时时钟电路、所述定时器和所述I/O设备都工作。
19.如权利要求18所述的实时时钟,其中所述主时钟电路工作在第一高时钟频率或第二低时钟频率,其中当工作在所述高频率时所述处理电路引入更多的功率,并且在所述降低功率模式期间,所述功率控制电路用于使所述处理电路工作在所述低时钟频率。
20.如权利要求18所述的实时时钟,其中在降低功率模式期间,所述功率控制电路用于暂停所述主时钟电路的工作以便工作在所述降低功率模式。
21.如权利要求18所述的实时时钟,进一步包括多路复用器,用于使所述处理电路使用所述实时时钟电路工作。
22.如权利要求18所述的实时时钟,其中至少通过所述处理电路,所述功率控制电路在从所述电源电压输入端引入功率基本上为零功率的情况下工作在所述降低功率模式。
23.如权利要求18所述的实时时钟,其中所述I/O设备包括锁存器,用于响应接收锁存信号存储所述定时器的结果,所述锁存器被连接为向所述处理电路提供对所述定时器结果的存取。
24.如权利要求23所述的实时时钟,进一步包括缓冲存储器,用于根据从所述处理电路接收的读取指令,缓存所述锁存器要从其输出到处理电路的内容。
25.如权利要求23所述的实时时钟,进一步包括对所述锁存器的写入输入端,使得所述处理电路能够向所述锁存器写入信息,具有更新电路,用于允许载入由所述处理电路写入到所述锁存器的内容,作为所述定时器的初始值以调整其中的值。
26.如权利要求18所述的实时时钟,进一步包括告警电路,用于比较预定的告警值与所述定时器输出的结果,当进行真比较时,产生这种比较的指示作为对所述处理电路的输出,用于对其采取预定动作。
27.如权利要求26所述的实时时钟,其中所述告警是可通过所述处理电路编程的。
28.如权利要求18所述的实时时钟,其中所述的功率管理电路包括电池备用电源,用于在从所述电源电压输入端去除功率时向所述实时时钟电路提供电池备用,使得所述实时时钟电路的功率不会中断。
全文摘要
本发明公开一种具有单独的实时时钟(RTC)的微控制单元(MCU)。MCU包括处理电路,用于接收数字信息并处理接收的数字信息。主时钟电路为处理电路提供定时。功率控制电路控制提供给处理电路和主时钟电路的功率,控制其工作以至少全功率模式和降低功率模式工作,全功率模式从电源电压输入端引入全部功率水平,降低功率模式从电源电压输入端引入小于全部功率水平的功率。还提供了一种独立的RTC电路,独立的RTC电路包括与主时钟电路独立地工作的RTC时钟电路。由RTC时钟电路钟控的定时器,用于为其输出增加存储的时间值,RTC时钟电路具有定义的时基。输入/输出(I/O)设备为处理电路提供对由定时器输出的结果的存取。功率管理电路管理提供给独立的RTC电路的功率,使得RTC时钟电路、定时器、和I/O设备工作,而不管处理电路和主时钟电路工作的功率模式。
文档编号G06F1/26GK101023403SQ200580025830
公开日2007年8月22日 申请日期2005年6月29日 优先权日2004年6月30日
发明者肯尼思·W.·弗纳尔德, E·D·阿尔法诺 申请人:芯科实验室有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1