用于无线系统中的时钟及电源控制的方法和设备的制作方法

文档序号:6426693阅读:225来源:国知局
专利名称:用于无线系统中的时钟及电源控制的方法和设备的制作方法
技术领域
本发明涉及无线通信,并且更为特别的,涉及无线系统中的时钟及电源控制。
背景技术
随着无线通信网络的快速发展,经常创建新的无线通信标准来替代旧有的过时的标准。但是,在很广泛的物理区域内基于新的标准实现新的无线网络通常是很费时间的。这样,经常需要能够和现存无线网络通信并且还能够和新的无线网络通信的无线终端。另外,随着无线计算机数据网络的快速增长,经常需要具有能够和这些网络通信的无线终端,以允许用户浏览互联网或者收发电子邮件。另外,和不同的无线系统同时通信也可能是有用的,例如,这样可以使用户可以在无线数据网络上查看电子邮件,同时在2G无线网络上进行语音电话呼叫。
这种无线系统通常使用不同的时间基准。例如,2G GSM网络使用其中帧具有4.615ms的持续时间、并且将每帧划分为8个时隙的时间基准。但是,3G WCDMA网络使用其中帧具有10ms的持续时间并且将每帧划分为15个时隙的时间基准。无论移动终端是以一个无线系统操作、还是同时以两个或多个无线系统操作,在移动终端中的事件都必须是精确定时的,而且应该关于每一无线系统是同步的。
而且,为保持便携性,无线终端通常由电池供电,其中在重新充电之间的时间是最大电流(current draw)的反函数。因为需要允许用户在重新充电之间对无线终端操作尽可能长的时间,所以电源管理成为一个很重要的考虑因素。

发明内容
根据本发明的第一方面,提供了一种数字基带处理器。此数字基带处理器包括第一模块,其需要得自系统振荡器的第一时钟信号,所述第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;第二模块,其需要得自系统振荡器的第二时钟信号,所述第二模块提供第二指示信号,该指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;电源管理电路,其响应于第一和第二指示信号,以在当第一指示信号处于第二状态以及第二指示信号处于第二状态时停用(disable)系统振荡器,以及其响应于起动(enable)信号,以起动系统振荡器。
根据本发明的另一方面,提供了一种涉及数字基带处理器的操作的方法。所述方法包括接收来自第一模块的第一指示信号,其中该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;接收来自第二模块的第二指示信号,其中该第二模块需要得自系统振荡器的第二时钟信号,第二指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;当第一指示信号处于第二状态并且第二指示信号处于第二状态时,停用系统振荡器;以及当包括第一模块和第二模块的组中的至少一个需要系统振荡器输出时,起动系统振荡器。
根据本发明的再一方面,提供了一种用于无线应用的基带处理器。所述基带处理器包括第一模块,其需要得自系统振荡器的第一时钟信号,所述第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;第二模块,其需要得自系统振荡器的第二时钟信号,所述第二模块提供第二指示信号,该指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;以及电源管理电路,其用于在当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及在当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过;以及当第一指示处于第一状态时允许第一时钟信号的通过,以及当第二指示信号处于第一状态时允许第二时钟信号通过。
根据本发明的另一方面,提供了一种涉及用于无线应用的基带处理器的操作的方法。所述方法包括接收来自第一模块的第一指示信号,其中该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;接收来自第二模块的第二指示信号,其中该第二模块需要得自系统振荡器的第二时钟信号,第二指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;以及当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过;以及在当第一指示信号处于第一状态时允许第一时钟信号到第一模块的通过,以及当第一指示信号处于第一状态时允许第二时钟信号到第二模块的通过。
根据本发明的再一方面,提供了用于无线应用的基带处理器。所述基带处理器包括第一模块,其需要得自系统振荡器的第一时钟信号,所述第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;电源管理电路,其响应于第一指示信号,以在当第一指示信号处于第二状态时停用系统振荡器,以及其响应于起动信号,以起动系统振荡器。
根据本发明的再一方面,提供了一种涉及用于无线应用的基带处理器的操作的方法。所述方法包括接收来自第一模块的第一指示信号,其中该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;当第一指示信号处于第二状态时停用系统振荡器,以及当第一模块需要系统振荡器时起动系统振荡器。


在附图中图1是根据本发明一个实施例的通信处理器的方框图;图2是方框图,示出了根据本发明一个实施例的图1的通信处理器中的定时及事件处理器;图3是方框图,示出了根据本发明一个实施例的图2的定时及事件处理器中的序列器;图4是根据本发明一个实施例的适于用在序列器中的指令格式的实例;图5是方框图,示出了根据本发明一个实施例的定时及事件处理器的功能;图6是方框图,示出了根据本发明一个实施例的在直接存储器访问控制器和定时及事件处理器之间的接口;图7是方框图,示出了根据本发明一个实施例的用于使用定时及事件处理器的直接存储器访问传输的方法的实例;图8是方框图,示出了根据本发明一个实施例的与定时及事件处理器的外部总线接口;图9A是根据本发明一个实施例的分数N时钟分频器(Fractional-Nclock divider)的实例的方框图;图9B是示意图,示出了根据本发明一个实施例的由分数N时钟分频器产生的经过校准的时钟和相位补偿;图10是根据本发明一个实施例的绝对计数器和可设置的周期性触发产生器的方框图;
图11A是根据本发明一个实施例的抽点打印(snapshot)有限状态机的方框图;图11B是根据本发明的一个实施例的图11A的抽点打印有限状态机的操作的流程图;图12是方框图,示出了根据本发明一个实施例的图2的定时及事件处理器中的时钟及电源控制模块;图13A是根据本发明一个实施例的时钟产生模块的示意图;图13B是根据本发明一个实施例的时钟分配模块的示意图;图14A是根据本发明一个实施例的时钟门模块的示意图;图14B是根据本发明一个实施例的示出了如图14A所示的寄存器内容的表;以及图15是根据本发明一个实施例的示出了振荡器电源关闭需求的方框图。
具体实施例方式
无线终端可能包括无线单元,数字基带处理器,用户接口和电池。基带处理器可能包括用于执行信号处理算法和其它复杂计算的数字信号处理器,以及用于执行控制功能和相对简单计算的微控制器。由无线终端中的基带处理器执行的很多任务需要精确定时。例如,在无线通信网络中,在无线信道上的行动被以指定的精确度安排在给定时间发生。专用的定时及事件处理器(TEP)可能用来达成这种定时精确性。例如,TEP可能负责用来产生定时信号、安排事件、产生到处理器的中断、启动在其它模块中的操作、以及产生用于芯片外电路(比如无线单元)的控制信号。TEP可能和数字信号处理器、微控制器、和基带处理器的其它组件协同操作,以控制在无线终端中的所有定时和事件。
有时需要同时和几个不同的无线系统通信。例如,通信处理器可能和诸如蓝牙网络的无线数据网络通信,来监控用户用于新电子邮件的电子邮件帐号,并且同时监控用于新的语音电话呼叫的无线CDMA网络的寻呼信道。通常,通信处理器与其通信的不同的无线系统使用不同的时间基准。TEP可能通过使用共同的参考时钟作为时间基准来安排用于无线系统的事件,以便安排用于通信处理器与其通信的任何无线系统的事件。
在图1中示出了根据本发明的一个实施例的基带通信处理器100的方框图。在图1中示出的处理器包括两个处理核心(core)。数字信号处理器(DSP)核心102可能用来执行通信处理器100的数字信号处理功能,比如,和单元搜索、信号的相关、信道编码和解码相关联的处理。很多其它信号处理功能也可能由DSP核心102执行。在于2000年11月16日公开的公开号为WO 00/687783的PCT公开文件中公开了适于用在本发明实施例中的DSP核心的一个实例。但是,应该了解可能使用很多其它类型的数字信号处理器,而且本发明不限于任何特定的数字信号处理器。微控制器单元(MCU)104处理核心可能用来执行用于通信处理器100的控制代码,比如协议堆栈指令的执行。适于用在本发明中的可从商业渠道获得的MCU的一个实例是A由Advanced RISC Machine,Ltd.出售的RM7TDMI核心。但是,应该了解可以使用很多其它类型的微控制器,并且本发明并不限于任何特定的微控制器。
通信处理器100还包括系统存储器106。系统存储器106可能是静态随机访问存储器(SRAM),或者任何其它类型的易失型或非易失型存储器,比如动态随机访问存储器(DRAM)、同步动态随机访问存储器(SDRAM)、或铁电随机访问存储器(FRAM)。DSP核心102和MCU104使用共同的存储器映射(memory map)。因此,这些处理器可能共享到系统存储器106的访问,并且可能通过系统存储器106来彼此通信。
在图1中示出的每一组件可能实现为单一的集成电路或多个集成电路。在一些实施例中,在单一芯片上制造整个通信处理器100。应该认可本发明并不限于这个方面。
直接存储器访问(DMA)控制器134和136被提供来来促进在通信处理器100中的数据传输。DMA控制器134和136允许在器件和存储器(例如,系统存储器106)之间进行无处理器干预的存储器的直接传输。可能将DMA通道分配给器件,以允许那些器件请求DMA传输。通道设置可能由DSP核心102和MCU104确定。虽然两个处理器都可能访问每一DMA通道,但是用于一组通道的通道设置可能由DSP核心102来控制,并且用于另一组通道的通道设置可能由MCU核心104来控制。同样,DMA控制器134可能控制用于由DSP核心102设置的通道的DMA传输,而DMA控制器136可能控制用于由MCU104设置的通道的DMA传输。
DSP核心102可能包括等级1(L1)指令高速缓冲存储器144和L1数据高速缓冲存储器146,以当访问高速缓冲存储器的数据时提供的低等待时间(latency)。DSP核心102可能具有两个和L1数据高速缓冲存储器146连接的数据总线、和L1指令高速缓冲存储器144连接的指令总线、以及和高速缓冲存储器144和146连接的DMA总线。等级2(L2)存储器148可能是用于由DSP核心102使用的专用SRAM。存储器148可能可以由DMA控制器134访问。存储器148可能还可以由MCU104、DMA控制器136、以及外部应用处理器接口(EAPI)142访问。
系统总线接口单元(SBIU)132执行总线桥接(bridging)功能。例如,SBIU132可能作为非对称纵横开关(asymmetric crossbar switch)的功能,其把来自DSP核心102、DMA控制器134、MCU104、DMA控制器136、和外部应用处理器接口142的请求路由到合适的系统资资源(比如L1高速缓冲存储器144、L1高速缓冲存储器146、L2存储器148和其它系统资源)。SBIU132允许在各个总线之间的并行和同时的数据传输。
人机界面(MMI)模块150提供到通信处理器100的硬件用户接口,并且可以通过PBUS总线128访问。MMI150模块可能包括到通信处理器100的通用I/O(GPIO)管脚的接口。该管脚可能用于包括接口到无线单元和其它外围设备的多种目。其它的MMI模块可能包括显示屏幕接口、串行端口接口、通用异步收发信机接口(UART)、USB接口、以及可能包括在其中嵌入了通信处理器100的无线终端的唯一序列号的用户识别模块(SIM)。在MMI150中还可能包括许多其它接口模块。
内务处理模块执行多种用于通信处理器152的内务处理功能,并且可以通过PBUS总线128访问。这种功能包括监视定时器(WDT),其在没有服务的情况下在通信处理器中的软件死锁事件中暂停时间(time out)并且产生复位;通用定时器,其可能用来产生用于通用定时功能的触发器;以及IRQ控制器,其用于管理到DSP核心102和MCU104的中断。
无线系统模块154提供到在通信处理器100外部的无线系统组件的接口,并且可通过PBUS总线128访问。例如,无线系统模块154可能包括CS端口,其是到模拟基带芯片的控制串行端口接口,以及到频率合成器的接口。
DSP外围设备和DSP核心102一起执行多种数字信号处理功能,并且可通过DPBUS总线110访问。DSP外围设备可能包括,例如,协处理器接口162,BS端口164,标记I/O166,高速记录器168,密码引擎170和DSP IRQ控制器172。
数据可能在通信处理器的多种组件之间、以及在通信处理器和芯片外设备之间使用一个或多个总线传输。每一总线可能是并行或串行总线。另外,每一总线可能是单向的或双向的。另外,每一总线可能包括地址总线、数据总线和控制总线中的任何一个。在图1中示出的通信处理器100的总线设置包括多个总线系统。在下面一般的描述每一总线系统的功能。对本领域普通技术人员来说,在图1中示出的总线设置上可以做出多种更改,修正和改进,并且这些都包括在本发明的精神和范围之内。
SYSL2总线108连结在SBIU132与L2存储器148的接口之间。在MCU104、系统DMA控制器136、DSP DMA控制器134、和DSP102之间共享存储器144。DPBUS总线110是DSP外围设备总线,并且与多种DSP外围设备(比如可能是基带串行端口的BS端口164,协处理器接口162,标记I/O166,高速记录器158,密码引擎170和DSPIRQ控制器172)接口。在MCU104、系统DMA控制器136、和DSP DMA控制器134之间共享到DPBUS总线110的访问。DSP核心102可能还通过SBIU132访问DPBUS总线110。DSPBUS总线112是用于DSP核心102到PBUS总线128、系统存储器106、和EBUS总线100的接口。DABUS总线114用作到SBIU132的DSP DMA控制器接口。DMABUS总线116是系统DMA控制器136与在PBUS总线128、RBUS总线118、和EBUS总线120上的资源之间的接口。RBUS总线118是到系统存储器106的接口。在MCU104、系统DMA控制器136、DSPDMA控制器134、和DSP核心102之间共享到RBUS总线118的访问。EBUS总线120用作到位于通信处理器100外部的快速存储器和SRAM的接口。SBUS总线112是用于MCU104的主系统总线。EAPI总线124用作从通信处理器100外部的应用处理器到通信处理器100的资源的接口。EABUS总线140是在EAPI142与在通信处理器100外部的应用处理器之间的接口。应该认可不是必需提供外部应用处理器。CBUS总线126是到外部协处理器的接口。PBUS总线128是外围设备总线,其作为无线系统外围设备154、内务处理外围设备152、以及MMI外围设备150到MCU104、系统DMA控制器136、DSP DMA控制器134、和DSP核心102的接口。
因为到诸如PBUS总线128和RBUS总线118的一些总线的访问由多个组件共享,因此提供了总线仲裁器130a,130b和130c来管理到这些总线的访问。
通信处理器100包括定时及事件处理器(TEP)138,其可能用来安排用于通信处理器100的事件。这种事件可能包括例如,I/O管脚的设置和清除,产生到DSP核心102和MCU104的中断,以及启动在TEP138和通信处理器100的其它模块之间的DMA存储器传输。TEP138通过DPBUS总线110和通信处理器100的其它模块连接,并且还和DSP DMA控制器134以及DSP IRQ控制器172连接。
在TEP138中,不同无线系统时间基准被转换为统一的时间基准,并且不特定于任何无线系统。使用统一的事件基准,事件被安排为对时间上一个绝对点的触发器。通过使用高精确度的自由运行(free-running)快时钟作为校准参考,TEP138产生校准慢时钟作为用于统一时间基准的参考,以获得校准慢时钟的长时间稳定性。通过从自由运行的慢时钟中移去时钟脉冲来产生用作统一时间基准的时钟的校准慢时钟。这会引入相位误差,其是为获得精确的定时信号而加以补偿的。对于自由运行慢时钟的每一时钟周期计算相位补偿。相位补偿由自由运行快时钟的时钟周期的数量来表达,并且和校准慢时钟一起用来提供精确的定时。其中一个特征是即使关闭自由运行的快时钟,仍然保持相位补偿值。这个特征将在下面详细描述。
图5是表现TEP138的功能的实例的示意图。TEP138可以设置并且清除GPIO管脚,以控制和外部器件的接口。TEP138可能还和系统DMA控制器136以及DSP DMA控制器134通信,以起动DMA通道。而且,使用专用DMA通道516,TEP138可能从任何存储器映射的位置中读出或写入,允许TEP138和诸如无线系统154的其它模块通信,例如,使用频率合成器接口154a来对频率合成器编程。TEP138可能与和DSP及MSU IRQ控制器506的接口,以产生用于每一处理核心的中断,允许处理核心通过从TEP138接收的中断来在当它不被需要时进入空闲状态,以及当需要它时退出空闲状态。按照下述方式,所有的TEP功能都可以被精确定时和安排。
图2是根据本发明的一个实施例的TEP结构138的实例的方框图。TEP138可能用作用于通信处理器100的定时及安排机制。在无线系统的操作中,所有无线控制事件在被安排的时间发生,并且需要精确的定时。在通信处理器100的操作过程中的某些特定时间中,特别在无线通信应用中,可能不需要MCU104和DSP核心102来执行任何处理功能,并且可能进入空闲模式或“睡眠”模式。在这个模式中,不再需要对处理核心计时,由此允许振荡器的电源关闭。通信处理器100可能嵌入无线终端中,并且可能由电池供电。当不需要时,通过使处理器空闲或关闭振荡器的电源来节约电源可以延长到需要电池重新充电的时间。但是,在使处理核心空闲之前,它们可能指示TEP138何时它们需要重新启动的时间。
TEP138可能包括多个序列器202a-202n,其通常的功能是执行由TEP138使用的指令,以执行特定于时间的行动。TEP138还包括存储器206,其可能是,例如,静态随机访问存储器(SRAM)。序列器202a-202n可能使用存储器206来存储代码和数据。存储器访问解决器(resolver)208处理来自序列器202a-202n和DPBUS总线110的引入的存储器访问请求。DPBUS总线接口模块210提供在TEP138中的系统时钟和DPBUS总线时钟域之间的桥接。DPBUS总线接口模块210将在下面更详细的描述。TEP138进一步包括时钟校准模块212,其可能用于在TEP中的统一时间基准的时钟校准。时钟校准模块212将在下面更详细的讨论。TEP138可能还包括由序列器202a-202n使用的绝对计数器214,以达到定时的目的。绝对计数器214将在下面更详细的讨论。TEP138可能包括I/O冲突解决器204,用于解决从序列器202a-202n接收的冲突信号。I/O冲突解决器204将在下面更详细的讨论。将在下面更详细讨论的时钟及电源控制模块216,用于当可能时关闭系统时钟的电源。
序列器202a-202n可能是诸如RISC处理器的处理器,其具有专用的指令设置,并且可能同时提供用于多个无线系统的定时。就是说,序列器202a-202n可能产生信号来设置并清除GPIO管脚、以信号通知(signal)DMA控制器,并且产生用于DSP核心102和MCU104的中断。可能提供序列器来执行用于被同时支持的每一无线系统的指令。通过提供用于每一无线系统的两个或多个序列器,可能获得改进的性能。例如,在本发明的一个实施例中,为被同时支持的每一无线系统提供两个序列器。在这个设置中,一个序列器可能执行指令,并且另一个序列器装载指令。应该认可单一的序列器也能够支持多个无线系统。可能将属于两个不同无线系统的指令装载到单一的序列器。但是,因为属于第一无线系统的指令的执行时间可能和属于第二无线系统的另一指令的执行时间重叠,因此使用单一的序列器无法达成真正的同时。因为这些指令是由单一序列器按照顺序来执行的,因此它们不能同时执行。但是,应该认可不是必需为每一无线系统使用两个序列器。每个无线系统可以使用一个序列器,或者对每一无线系统使用三个或多个序列器。和无线系统处理无关的附加序列器可能用于提供通用定时。例如,附加序列器可能用来安排与更新在无线终端的显示屏幕上的时钟有关的事件。在一些实施例中,TEP138包括用于被同时支持的每一无线系统的两个序列器和一个附加序列器。
使用多个序列器允许通信处理器100同时和一些不同的无线系统通信,尽管这些无线系统使用不同的定时这个事实。例如,无线终端可能监控GSM网络的寻呼通道,而且同时从无线LAN、蓝牙网络、或其它802.11b网络接收数据。类似的,具有包括多个序列器的通信处理器的无线终端,在启动时,可能同时执行用于2G GSM网络和3GWCDMA网络的小区搜索。
如上所述,TEP138可以设置并且清除GPIO管脚,起动DMA通道,产生中断,并且执行时钟校准。但是,两个或多个序列器可能肯定(assert)冲突信号。例如,一个序列器可能肯定用于特定I/O管脚的设置信号,而不同的序列器在同一时间肯定用于相同管脚的清除信号。如图2所示的I/O冲突解决器204,处理这种冲突。I/O冲突解决器204包括解决冲突的规则。例如,一个规则可能是任何清除信号优先于设置信号。可能产生例外,以通报冲突的软件处理,并且可能将中断发送到处理核心。对于中断和DMA通道的起动(enable)来说,可能简单地把冲突信号组合在一起,例如,使用逻辑OR操作。
如图2所示的存储器206,通过与DPBUS总线110接口的DPBUS总线接口210可能能够访问到处理器。根据本发明的一个实施例,存储器206是26比特宽并且是多端口的,从而允许由序列器202a-202n和DPBUS总线110同时访问。可能基于在TEP138中的序列器的数量来选择为存储器206提供的读取和写入端口的数量。例如,可能为每一序列器提供一个读取端口和一个写入端口。但是,大量的端口将消耗在芯片上的空间,并且可能需要更多数量的指令解码器。另一种选择,可能需要对每一序列器提供一个指令解码器。另外,似乎不可能在相同的时钟周期中所有序列器都将需要存储器访问。因此,可能基于被同时支持的无线系统的数量来选择用于存储器206的读取端口的数量。例如,为每一个被支持的无线系统提供一个读取端口。因为写入访问比读取访问发生的次数少,因此可以提供少于读取端口的写入端口。可能基于任何标准来选择用于存储器206的端口的数量,并且本发明不限于任何用于存储器206的端口的特定数量。
如上所述,存储器访问解决器208处理从序列器202a-202n和DPBUS总线110到存储器206的引入访问请求。存储器访问解决器208还处理冲突,例如,在访问请求比读取端口多的情况下。例如,存储器访问解决器208可能通过基于循环(round-robin)方案对请求区分优先权来处理这种情况。在这种循环方案中,可能使用移回(shift-back)寄存器来确定优先权。在一个实施例中,当发生用于存储器访问的冲突时,寄存器被移位。在另一实施例中,移回寄存器可能在由任何序列器进行的每一个存储器访问时被移位。但是,应该认可可能使用很多其它处理请求冲突的方法。
DPBUS总线接口模块210提供在TEP138之内的系统时钟和DPBUS总线时钟域之间的桥接。DPBUS接口模块210还处理在DPBUS总线110和内部TEP总线之间的16/32比特接口。
在图8中示出了根据本发明的一个实施例的DPBUS总线接口模块210的方框图。如上所述,DPBUS总线接口210执行在DPBUS总线时钟和系统时钟之间的时钟间同步。可能使用用于相互同步的同步交换(handshaking)信号来控制把每一时钟域分开。DPBUS协议FSM802处理到DPBUS的同步交换信号。TEP访问FSM804处理到内部TEP总线的同步交换信号。
图3是示出了根据本发明的实施例的序列器202a结构的实例的方框图。序列器202a可能是流水线处理器,其包括取出,解码和执行阶段。指令解码器328将从多路复用器342接收的指令解码。将指令从TEP138的存储器206中取出。可能在DSP核心102和MCU104的控制下,将序列器指令装载到TEP138的存储器206中。多路复用器342可能将和指令相关联的数据导向寄存器326。存储在寄存器326中的数据可能是要在写入和修改操作中被写入的数据,或可能是要从读取操作中检索的数据。序列器202a可能进一步包括DMA控制模块348,其用于与DMA控制器134和DMA控制器136接口。序列器202a可能包括多个用来设置DMA通道的DMA寄存器(例如,302,304,306,308,310)。序列器202a可能包括时钟预变换(pre-scale)模块346,其用来产生时间记号(time tick)来增加delta定时器336。序列器控制模块334处理序列器的整体操作,并且将在下面详细描述。
图4示出了可由序列器202a-202n执行的指令的格式的实例。
指令400包括标识指令类型的六比特操作代码字段402。四比特数据字段404可能包括需要处理指令的数据。例如,设置通用I/O(GPIO)管脚的指令可能包括标识要被设置的GPIO管脚的数据字段。可能选择性的将扩展字段406用作数据字段404的八比特扩展。如果和指令相关联的数据对于四比特数据字段来说过大,则可能使用扩展字段406来防止溢出。Delta时间字段408可能用来指示在执行指令之前的时间延迟。Delta时间字段408可能指示在执行先前指令之后和在执行当前指令(也就是,指令400)之前的等待时间。
在指令由指令解码器328解码之后,如图3所示,delta定时器336可能用来对指示在指令中delta时间字段的等待时间来定时。当时间延迟达到在delta定时器336中的时间时,指令可能由执行单元330来执行。基于delta定时的指令的执行可能允许序列器执行基于时间的功能,就是说,安排在特定时间发生的功能。例如,序列器可以产生定时的中断到处理核心102和104(图1),以允许处理器在没有被使用时进入空闲状态,并且可以产生定时的中断来在合适的时间退出这些空闲状态。序列器指令可能控制管脚的设置,以控制外部器件,并且可能打开或关闭无线单元的电源。序列器指令还可能在特定时间起动DMA通道。
如图3所示,时钟预变换模块346用来产生时间标记,以使delta定时器336递增。时钟预变换模块346执行系统时钟的时钟分频,以产生时间标记。为了节省能量,需要使用尽可能低的频率,而且仍然提供足够的定时精确度,以与无线系统进行操作。因为时钟频率取决于无线系统的定时,因此时钟预变换模块346可以通过在2和64之间的任何预变换值来分频系统时钟。预变换值可能存储在寄存器314中。
根据本发明的一个实施例设置的序列器指令的一个实例在表1中给出。
表1


有时可能需要在同一时间设置或清除两个或多个I/O管脚。虽然序列器指令设置可能提供用于设置或清除I/O管脚的指令,但是这种指令是按顺序执行的而不是同时执行的。为了在同一时间设置或清除两个或多个管脚,可能将设置和清除指令与一个特定信号同步。例如,如果管脚GPIOA和管脚GPIOB需要被同时设置,则序列器可能将这些指令同步到GPSigA。之后,序列器可能首先执行设置GPIOA的指令,之后执行设置GPIOB的指令。在执行使得两个管脚同时被设置的触发GPSigA指令前,这些管脚实际上没有被设置。
当由序列器执行长等待指令时,使用长等待比较模块340。当在给定的时间量里没有接下来的指令要由序列器执行时,则执行长等待指令。长等待指令允许系统时钟关闭电源,并且允许序列器使用慢时钟来定时,以节省能量。
长等待比较模块340比较在长等待指令中指示的等待时间和绝对计数器214的值(图2),其将在下文中详细描述。等待时间可能是24比特值,这样需要使用八比特delta时间字段、八比特扩展字段、四比特数据字段、和六比特操作代码字段的四比特。长等待比较模块340接收来自24比特绝对计数器214的输入并且将这个值与来自长等待指令的24比特等待时间比较。当这些值匹配时,序列器可执行下一个指令。长等待比较模块340还输出可被TEP138的时钟及电源控制模块216使用的空闲信息,以确定序列器是否执行长等待指令,从而系统时钟可能在所有序列器处于空闲状态时关闭电源。
如果振荡器已经被关闭,则PreAbs32寄存器338用来确定打开振荡器电源的时间。PreAbs32寄存器指示打开振荡器的电源的绝对时间点,此时间点允许振荡器在完成执行当前长等待指令和开始执行下一个指令之前,有足够的时间稳定下来。
序列器控制模块334控制程序流程,并且处理用于序列器202a-202n的中断。序列器控制模块334基于程序计数器寄存器322的内容向存储器请求指令。程序计数器寄存器322拥有下一个要被执行的指令的地址。序列器控制模块334可能通过线344从中断选择器332接收中断,其中该中断选择器可能从多个中断资源中选择最高优先权的中断请求。当接收了中断时,可能设置在寄存器316中的中断起动比特,并且将中断向量的地址装载到寄存器318。序列器跳跃到寄存器318中的中断向量的地址,并且继续从那里开始执行。
当序列器接收硬件复位或执行终止(Die)指令时,序列器进入空闲状态。使用软复位来指示序列器取出第一指令,并且开始执行指令。当序列器接收软复位或中断时,它可能继续进行正常执行。如果序列器接收软复位,则将序列器将要跳跃到并开始执行的地址保存在寄存器320中。如果序列器接收到中断,将序列器将要跳跃到并开始执行的中断向量的地址保存在寄存器318中。
DMA寄存器302,304,306,308和310由序列器使用,以存储DMA通道设置信息。例如,这些DMA寄存器可能存储源地址,目标地址和要被传输的比特的数量。DMA控制模块348与DSPDMA控制器134(图1)和系统DMA控制器136接口,以启动DMA传输。
图6示出了在TEP138和DMA控制器134之间的接口的实例。一个DMA通道可能由TEP138专用,并且可能不被其它资源使用。例如,将通道0分配为TEP使用,尽管可以使用任何DMA通道。序列器202a-202n可能通过执行指令使用固定的通道(例如,如在表1的序列器指令设置中所示的DataMoveE指令)来启动DMA传输。DataMoveE指令从DMA寄存器302,304,306,308和310中检索DMA通道设置信息,并且复制信息到DMA控制器134的内部RAM604。一些序列器可能同时请求到专用DMA通道的访问。请求解决器有限状态机(FSM)218处理这些同时的请求。例如,请求解决器FSM218可能使用循环优先权方案来准予DMA通道访问序列器202a-202n。当准予访问时,将DMA寄存器的值复制到DMA控制器的存储器604,并且请求解决器FSM218设置通道起动标记,以起动专用的DMA通道。当完成DMA传输时,DMA控制器134返回中断到请求解决器FSM218。而且,在使用时,请求解决器FSM218可能肯定DRReqSysClk标记(没有示出)来,以证系统时钟在DMA传输过程中电源没有被关闭。
如上述参考图6所示的,图7示意性的示出了TEP启动的DMA传输的一个实例。首先,TEP138使用专用通道发送通道设置信息到DMA控制器134,并且发送通道起动信号到DMA控制器134。DMA控制器134完成数据传输,并且产生指示数据传输完成的中断到TEP138。
在图2中示出的时钟校准单元212用来校准通信处理器100的慢时钟。通信处理器100可能以诸如13MHz的频率从系统时钟和以诸如32KHz的频率从自由运行慢时钟来接收时钟信号。而诸如系统时钟的高频时钟对于通信处理器100处理核心的计时来说可能是必需的,当处理核心处于空闲状态并且不需要由高频时钟计时时,慢时钟可能用于定时控制,以保存能量。TEP138可能从慢时钟中得出系统定时。由TEP138处理的定时事件是基于慢时钟的时间和与慢时钟周期的时间相关的delta时间(在系统时钟周期中计数)。系统振荡器可能在不被通信处理器100的任何模块需要时关闭电源,并且当系统时钟需要用于下一个安排的操作时,可依靠慢时钟来启动系统时钟的电源。系统振荡器的电源关闭将在下面更详细的描述。
慢时钟并不是和高频时钟一样精确,并且对温度波动更为敏感。这样,可以校准慢时钟来保证所需的精确度。可以使用系统时钟或通过无线接收的无线系统的定时来校准慢时钟。如果系统时钟用于校准,则可能在慢时钟周期的所选数量上对系统时钟周期的数量计数。如果来自无线系统的定时用于校准,则可能在慢时钟周期的所选数量上对无线系统时钟周期的数量(通过无线接收)计数。
为了保存能量,否则该能量会被使用频率合成器或VCO来校准慢时钟所消耗,可以通过从自由运行的慢时钟移去时钟周期来校准慢时钟,以提供经过校准的慢时钟。就是说,可能将低于自由运行的慢时钟的期望频率的频率选作经过校准的时钟频率(例如,在32KHz慢时钟情况中的31kHz),并且可能通过从自由运行的慢时钟信号中移去时钟脉冲来产生经过校准的时钟信号。自由运行的慢时钟可能由分数N时钟分频器来调整,其周期性地从自由运行的慢时钟中移去时钟周期。在从自由运行的慢时钟中移去时钟周期的周期取决于特定分数和模数值,并且还取决于从慢时钟和系统时钟的比较中所获得的信息。例如,如果在移去时钟周期的周期是九个慢时钟周期,则为每九个没有校准的慢时钟周期产生八个经过校准的慢时钟周期。
但是,从自由运行的慢时钟中移去时钟周期会把相位误差引入到经过校准的慢时钟。这种相位误差由经过校准的慢时钟并非是真实周期性的事实引起。例如,假定从自由运行的50kHz时钟产生40kHz的经过校准的慢时钟。50kHz时钟每20μs具有上升沿。就是说,50kHz时钟在20μs,40μs,60μs,80μs,100μs,120μs等具有上升沿。可能通过周期性的移去周期来产生40kHz的经过校准的慢时钟。这样,经过校准的慢时钟将在20μs,40μs,60μs,100μs,120μs等具有上升沿。经过校准的慢时钟达到40kHz时钟的平均数,就是说,每秒40,000个时钟前沿,但是它与真实的40kHz时钟是不同相的。真实的40kHz时钟每25μs就具有时钟上升沿。例如,真实的40kHz时钟将在25μs,50μs,75μs,100μs,125μs等具有时钟上升沿。这样,在经过校准的40KHz时钟中的上升沿和在真实的40KHz时钟中的上升沿在不同时间发生,并且使用相位补偿,以解决在经过校准的慢时钟和相同频率的真实时钟之间的相位差,这将在下面描述。
图9A和9B分别示出了根据本发明实施例的具有相位补偿和显示相位补偿的定时图表的分数N时钟分频器的实现。分数递增寄存器902存储快时钟周期与自由运行32kHz时钟周期的比率,并且用作到加法器904的一个输入。相位补偿寄存器906是一个累加器,其累加器904的输出,并且用作到模数运算器912的一个输入。模数寄存器908存储由比较器914和在相位补偿寄存器906中的上10比特比较的值。比较器914用作到AND门910的输入,并且控制自由运行的32kHz时钟是否通过门910。模数寄存器908是到模数运算器912的第二输入。模数运算器912计算用来当设置比较器时使相位补偿寄存器906递增的模数值。
在操作中,当在寄存器906中的值达到在模数寄存器908中的值时,设置比较器914的输出,这样禁止门910的输出。像可以看到的那样,累加相位补偿的量(也就是,寄存器906的值)并且线性增加每一自由运行的32kHz时钟周期。当累加器达到模数寄存器908时,门控关闭(gate off)自由运行的32kHz时钟输入直到下一个时钟周期。之后通过来自模数运算器912的计算的模数值,相位补偿累加器返转(wrap around)。
如上所述,移去时钟脉冲把相位误差引入到经过校准的时钟信号中。相位误差来自以下事实,即,如图9B所示的具有移去的脉冲的经过校准的慢时钟具有与相同频率的自由运行的时钟发生在不同时间的时钟沿。如在图9B中的波形932所示,相位误差随着每一慢时钟周期而增加,直到移去脉冲并且之后返回到零。在没有相位补偿的情况中,这些相位误差可能在无线系统中产生定时误差。通过使用经过校准的慢时钟和表示相位误差的相位补偿信号,可以以经过校准的慢时钟达成精确定时。
这样,当经过校准的时钟信号用于驱动绝对计数器214时,通过使用在相位补偿寄存器906中计算的相位补偿来补偿在经过校准的时钟信号中的相位误差。参考在上面使用50kHz自由运行的慢时钟和40kHz经过校准的慢时钟讨论的实例,假定安排在40kHz时钟信号的第三个上升沿发生事件。如上面所述,在真实的40kHz时钟中,第三上升沿发生在75μs。但是,在经过校准的40kHz时钟中,第三上升沿发生在60μs。这样,经过校准的慢时钟和真实的40KHz时钟异相15μs。当经过校准的慢时钟在60μs到达第三上升沿时,将在被安排事件的执行之前添加在系统时钟周期中计算的另外15μs延迟。以这种方式,序列器对校准的时钟信号补偿了调整的频率。
有时因为例如快速温度波动而不能达到慢时钟的足够的频率稳定性。但是,仍然需要产生经过校准的慢时钟信号,以驱动绝对计数器和定时长等待指令的执行。在这种形势中,可能使用系统时钟的频分。例如,时钟分频器FSM916可能将系统时钟分频为经过校准的慢时钟。
在图2中示出的绝对计数器214可能由经过校准的慢时钟来计时。在图10中更详细的示出了绝对计数器214。在一个实施例中,在执行长等待指令来确定何时等待周期截止时,绝对计数器214可能是24比特计数器,并且可能由序列器202a-202n使用。例如,序列器202a-202n可能比较绝对计数器214的值和长等待指令的等待时间,以确定何时等待时间截止。
提供两个周期性触发产生器1002和1004,并且它们可能由于多种目的,比如触发中断或触发抽点打印。抽点打印是慢时钟相对系统时钟的测量,或者慢时钟相对通过无线接收的无线系统的定时的测量,其可用于慢时钟的校准。抽点打印包括对在给定数量的慢时钟周期中的系统时钟周期的数量计数。
图11A和11B分别示出了用于获得抽点打印的方框图和状态转换图。抽点打印可能由一些不同的输入来启动。例如,基于在任何序列器的寄存器文件中SeqCtrl寄存器312(图3)中的设置比特,抽点打印可能由绝对计数器的两个周期性触发器的任一个启动,或者由在两个处理核心中任一个上运行的软件来启动。
当启动抽点打印时,肯定校准信号来防止系统时钟的电源关闭。之后,抽点打印FSM1108进入设置状态1103,在该状态中它等待接收指示系统时钟振荡器的电源没有关闭的SysClkOk信号1110。当接收了SysClkOk信号1110时,抽点打印FSM1108进入抽点打印状态1105,在该状态中在慢时钟周期数量期间对系统时钟周期的数量计数。慢时钟周期的数量在是可以进行软件设置的TCLR寄存器1112中指定。在TCLR寄存器1112中指定的时钟周期的数量由慢时钟周期计数器1114计数之后,产生中断,并且抽点打印FSM1108进入读回状态1107。当抽点打印1108在读回状态1107中时,系统时钟周期计数器1116对于处理核心来说是通过DPBUS总线接口210可读的,以更新慢时钟校准需要的任何寄存器。在读取计数器1116之后,抽点打印FSM1108返回空闲状态1101。
在图2中示出了时钟及电源控制模块216。当没有使用TEP138的某些模块时,可能门控关闭到这些模块的时钟信号来节省能量。如果一个或多个序列器执行长等待指令并且没有其它模块需要使用系统时钟,则时钟及电源控制模块216可确定长等待指令的持续时间是否足够长,以允许系统时钟的电源关闭。
图12是时钟及电源控制模块216的方框图。诸如存储器访问解决器208和DMA请求解决器218的一些TEP模块,可能需要使用系统模块,并且可能分别通过信号1206和1208来指示时钟及电源控制模块216需要系统时钟。可能通过外部资源来提供外部信号,ReqSysClk1210,以指示一个或多个TEP外部的模块需要使用系统时钟。何时提供ReqSysClk信号的确定将在下面更详细的讨论。在执行慢时钟的校准时,由时钟校准模块来肯定校准信号1212,并且请求系统时钟保持有效。
每一序列器202a-202n可能通过Set-Reset触发器(SRFF)1218来指示时钟及电源控制模块216需要系统时钟。SRFF1218的Q输出是TEPReqSysClk信号1216。每一不需要系统时钟的序列器通过AND门1222来肯定KillSysClk信号。当没有序列器需要系统时钟时,SRFF1218进入复位状态,并且信号1216没有被肯定。如果任何序列器需要使用系统时钟,则它通过OR门1224来声明肯定Restart SystemOscillator信号。作为回应,SRFF1218进入设置状态,并且信号1216被肯定。考虑到下一个指令的安排执行时间和振荡器的必要预热时间,PreAbs32寄存器338可能用来存储振荡器保持电源关闭的最新的时间。如果当前时间小于在它的PreAbs32寄存器338中的时间,则序列器可能肯定KillSysOsc信号。如果当前时间等于在它的PreAbs32寄存器338中的时间,则序列器可能肯定RestartSysOsc信号。在当前时间等于长等待指令的截止时间时,系统时钟应该是稳定的。
电源打开序列器1226接收来自OR门1220的、指示是否任何TEP内部或外部的模块需要使用系统时钟的输入信号。如果这个信号被肯定,则电源打开序列器1226可能通过肯定SysOscOn信号1236来打开系统时钟振荡器。时钟垫(clock pad)电源打开寄存器(CPPUR)1228存储用于时钟垫缓冲器的调整时间(settling time),并且振荡器预热寄存器OWUR1230存储用于振荡器的预热时间。当从OR门1220到电源打开序列器1226的输入信号被肯定时,FSM1234从零开始一个10比特计数器1232,并且肯定SysOscOn信号1236,使得系统振荡器的电源打开。当计数器1232到达在OWUR1230中指定的时间时,ClkBufOn信号1238被肯定,起动时钟垫缓冲器。当计数器1232等于在OWUR1230中指定的时间加上在CCPUR1228中指定的时间时,SysClkGate信号1240被肯定,其指示系统时钟振荡器输出有效,并且起动AND门1242。AND门1242禁止系统时钟振荡器输出直到振荡器具有足够时间稳定下来。在达到在OWUR1230中指定的振荡器预热时间加上存储在CPPUR1228中的时钟垫电源打开延迟时间之后,振荡器是稳定的。当到达这个时间时,SysClkGate信号1240起动AND门1242,并且允许来自振荡器的时钟信号通过门。
如上所述,时钟及电源控制模块216接收来自TEP138外部的资源的ReqSysClk信号。这个信号指示是否有诸如DSP核心102和MCU104的任何TEP138外部的模块需要使用系统振荡器。图13A示出了时钟信号如何在通信处理器100中产生。电源1300对系统振荡器1301供电。如上面所述,电源可能由从TEP接收的SysOscOn信号来控制。这个信号可能用来控制振荡器1301的电源是打开还是关闭。将振荡器输出输入到垫缓冲放大器1303。缓冲放大器1303可能通过来自TEP的控制信号打开电源或关闭电源。将缓从冲放大器1303输出的时钟信号输入到AND门1305。到门1305的第二输入是从TEP138接收的SysClkGate信号,其在振荡器的预热时间里允许门控关闭振荡器输出。
将从门1305输出的时钟信号输入到锁相环(PLL)1307,其将时钟信号乘以适于对DSP核心102计时的频率。在DSP核心为空闲的情况中,可能不需要使用PLL1307来加倍时钟信号,并且不将从门1305输出的时钟信号提供到PLL1307。多路复用器1309选择来自PLL1307的加倍的时钟信号或门1305的输出。如图13B所示,一些时钟信号可能从多路复用器1309的输出产生。首先,DCLK时钟可被产生为PLL1307的输出。DCLK时钟可能用来对DSP核心102计时。可将没有经过门的DCLK(nDCLK)时钟1319输入到AND门1311。当DSP核心不需要DCLK时钟时,可以使用AND门1311来门控关闭DCLK时钟。之后,可能通过使用频率分频器1321来分频DCLK时钟,以产生DSCLK时钟。频率分频器1321可能是软件可编程的,并且可能将DCLK时钟除以1或2。DSCLK时钟可能用来对DSP子系统计时,其中该子系统包括DSP外围设备和DSP DMA控制器134。当不需要DSCLK时钟时,可由AND门1313来门控关闭DSCLK时钟。将没有经过门的DSCLk(nGDSCLK)时钟1323提供到可编程的时钟分频器1325,其可能将它的输入信号除以1和8之间的数字,以产生BCLK时钟。BCLK时钟可能用来驱动通信处理器100的总线。当不需要BCLK时钟时,可由AND门1315门控关闭BCLK时钟。MCLK时钟可能和BCLK时钟的频率相同,并且可能用来对MCU104计时。可能当不需要时由门1317门控关闭MCLK时钟。
图14A和14B示出了当不需要图13B中的时钟信号时如何将其关闭。如图14A所示,PLL1307加倍振荡器输出,以产生时钟信号。时钟分频器1419可能执行和图13B中的时钟分频器1321和1325相同的操作。从时钟分频器1419输出的时钟信号可能是ngDCLK信号、nGDSCLK信号、以及nGDBCLK信号。之后将这些信号中的每一个导向多路复用器1309a-1309c中的一个,并且之后导向合适的AND门1311-1315。
寄存器1405是MCU睡眠(sleep)时钟需求寄存器(MSCRR)。MSCRR寄存器1405,如图14B所示,指示当MCU睡眠或者处于空闲状态时需要哪个时钟。类似的,MCU有效时钟需求寄存器(MACRR)寄存器1407存储关于当MCU有效时需要哪个时钟的信息。由MCU104产生的MCU有效信号1427由多路复用器1423使用,以确定是否输出MSCRR寄存器1405的内容或MACRR寄存器1407的内容。在MSCRR寄存器1405中的PLL旁路比特,当设置时,其在MCU104处于睡眠时允许旁路PLL1307。因为MCU104在空闲模式中时可能不需要被计时,因此,可能不需要PLL1307把振荡器加倍到高频来驱动MCU104。这样,可以通过旁路PLL1307达成能量节省。而且,在一些不需要高处理速度的情况中,DSP核心102和MCU104可能在没有PLL加倍的情况下在输入到通信处理器的系统时钟上运行。
类似于MCU104,提供了两个DSP寄存器DSP睡眠时钟需求寄存器(DSCRR)1401和DSP有效时钟需求寄存器(DACRR)1403。寄存器1401和1403分别指示当DSP核心102处于睡眠时需要哪个时钟,以及在当DSP核心102有效时需要哪个时钟。由DSP核心102产生的DSP有效信号由多路复用器1421使用,以确定是否输出DSCRR寄存器1401或DACRR寄存器1403的内容。OR门1409,1411和1413结合MCU需求寄存器1405和1407、以及DSP需求寄存器1401和1403的输出。AND门1415,1311,1313,1315和1317可能用来根据寄存器1401,1403,1405和1407的内容来起动或禁止对应的时钟信号。
除了当在不需要某些时钟信号时禁止它们来节省能量,系统时钟振荡器的电源可能关闭,使得当没有通信处理器100的模块需要时钟时不产生系统时钟信号。图15示出了如何关闭振荡器的电源。DSP核心102和MCU核心104更新指示各个处理核心是否需要时钟信号以及是否有任何外围设备需要时钟信号的寄存器1503。时钟控制模块1501监控寄存器1503,以确定在通信处理器100中是否有任何模块需要时钟信号。如果都不需要这些时钟信号,则时钟控制模块1501可能提供SysClkReq信号到TEP138。如上参考图12所述的,之后TEP138可能做出决定是否关闭系统振荡器的电源。以这种方式,可在需要时打开系统振荡器的电源,并且当不需要时关闭电源,以节省能量。
这样就描述了本发明的多种实施例,对于本领域普通技术人员来说,可以做出多种改进和修正。这样,本发明的范围并不意在限制到所示和所述的特定实施例。而是,本发明的范围仅仅由附加的权利要求及其等价物所限制。
权利要求
1.一种用于无线应用的基带处理器,包括第一模块,其需要得自系统振荡器的第一时钟信号,该第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;第二模块,其需要得自系统振荡器的第二时钟信号,该第二模块提供第二指示信号,该指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;以及电源管理电路,其响应于第一和第二指示信号,以当第一指示信号处于第二状态以及第二指示信号处于第二状态时停用系统振荡器,以及响应于起动信号,以起动系统振荡器。
2.如权利要求1所述的处理器,其中电源管理电路进一步包括电路,其用于当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及用于当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过。
3.如权利要求1所述的处理器,其中第二模块包括定时及事件处理器,以及电源管理电路进一步包括用于当第二指示信号进入它的第一状态时起动系统振荡器的电路。
4.如权利要求1所述的处理器,其中电源管理电路响应于接收到的中断来起动系统振荡器。
5.如权利要求4所述的处理器,其中中断是由用户动作来产生的。
6.如权利要求1所述的处理器,其中电源管理电路通过发送中断到第一模块来使得第一模块退出空闲状态。
7.如权利要求6所述的处理器,其中当第一模块退出空闲状态时,第一模块使得第一指示信号进入第一状态。
8.如权利要求1所述的处理器,其中电源管理电路通过发送中断到第一模块来使得第二模块退出空闲状态。
9.如权利要求8所述的处理器,其中第二模块退出空闲状态时,第二模块使得第二指示信号进入第一状态。
10.如权利要求1所述的处理器,其中电源管理电路包括用于在起动振荡器之后的一个时间周期内阻塞系统振荡器输出的电路。
11.如权利要求10所述的处理器,其中用于阻塞系统振荡器的输出的电路包括用于存储时间周期作为振荡器预热时间的寄存器和用于确定何时振荡器预热时间截止的计数器。
12.如权利要求11所述的处理器,其中用于阻塞系统振荡器的输出的电路包括用于当系统振荡器预热时间截止时允许系统振荡器的输出通过的装置。
13.如权利要求1所述的处理器,进一步包括定时及事件处理器,其用于产生用于关于第一和第二模块的定时操作的定时及事件信号,该定时及事件处理器使用得自系统振荡器的第三时钟信号,以及提供第三指示信号,该指示信号具有指示不需要第三时钟信号的第一状态和指示需要第三时钟信号的第二状态,其中该定时及事件处理器接收得自慢时钟振荡器的第四时钟信号,并且以及其中当第三指示信号处于第二状态时该定时及事件处理器继续操作。
14.如权利要求13所述的处理器,其中当包括第一模块和第二模块的组中的至少一个需要使用系统振荡器时,定时及事件处理器通过把第三指示信号的状态改变到第一状态来在预先确定的时间起动系统振荡器。
15.如权利要求13所述的处理器,其中定时及事件处理器通过发送中断到第一模块来使得第一模块退出空闲状态。
16.如权利要求15所述的处理器,其中第一模块退出空闲状态时,第一模块使得第一指示信号进入第一状态。
17.如权利要求13所述的处理器,其中定时及事件处理器通过发送中断到第二模块来使得第二模块退出空闲状态。
18.如权利要求17所述的处理器,其中第二模块退出空闲状态时,第二模块使得第二指示信号进入第一状态。
19.如权利要求1所述的处理器,进一步包括锁相环电路,其用于由系统振荡器产生的第三时钟信号的频率,以产生第一时钟信号,以及;锁相环旁路,其用于使得第三时钟信号旁路锁相环电路,当第一指示信号处于第二状态时用作第一时钟信号。
20.如权利要求1所述的处理器,其中第一时钟信号和第二时钟信号具有相同频率。
21.如权利要求1所述的处理器,其中第一时钟信号和第二时钟信号具有不同频率。
22.如权利要求1所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括第二处理单元。
23.如权利要求1所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括第一处理单元的外围器件。
24.如权利要求1所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括直接存储器访问控制器。
25.如权利要求1所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括定时及事件处理器。
26.在用于无线应用的基带处理器中,一种方法包括接收来自第一模块的第一指示信号,该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;接收来自第二模块的第二指示信号,该第二模块需要得自系统振荡器的第二时钟信号,第二指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;当第一指示信号处于第二状态以及第二指示信号处于第二状态时停用系统振荡器;以及当包括第一模块和第二模块的组中的至少一个需要系统振荡器输出时起动系统振荡器。
27.如权利要求26所述的方法,进一步包括当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过的电路。
28.如权利要求26所述的方法,其中起动系统振荡器的动作进一步包括当第二指示信号进入它的第一状态时起动系统振荡器。
29.如权利要求26所述的方法,其中起动系统振荡器的动作进一步包括响应于接收中断来起动系统振荡器。
30.如权利要求26所述的方法,其中起动系统振荡器的动作进一步包括通过使得将中断提供到第一模块来使得第一模块退出空闲状态。
31.如权利要求30所述的方法,进一步包括在退出空闲状态时,改变第一指示信号的状态,以进入第一状态。
32.如权利要求50所述的方法,其中起动系统振荡器的动作进一步包括通过使得将中断提供到第一模块来使得第二模块退出空闲状态。
33.如权利要求32的方法,进一步包括在退出空闲状态时,改变第二指示信号的状态,以进入第一状态。
34.如权利要求26所述的方法,其中停用系统振荡器的动作进一步包括在起动振荡器之后的一个时间周期内阻塞系统振荡器的输出。
35.如权利要求34所述的方法,其中阻塞系统振荡器的输出的动作进一步包括存储时间周期作为振荡器的预热时间,以及使用计数器来确定振荡器预热时间何时截止。
36.如权利要求35所述的方法,其中阻塞系统振荡器的输出的动作进一步包括当振荡器预热时间截止时允许系统振荡器的输出通过。
37.如权利要求36所述的方法,进一步包括提供定时及事件处理器,其用于产生用于关于第一和第二模块的定时操作的定时及事件信号,该定时及事件处理器使用得自系统振荡器的第三时钟信号,以及提供第三指示信号,该指示信号具有指示不需要第三时钟信号的第一状态和指示需要第三时钟信号的第二状态,以及其中该定时及事件处理器接收得自慢时钟振荡器的第四时钟信号,以及所述方法进一步包括当第三指示信号处于第二状态时使用第四时钟信号来操作定时及事件处理器。
38.如权利要求37所述的方法,进一步包括当包括第一模块和第二模块的组中的至少一个需要使用系统振荡器时,通过把第三指示信号的状态改变到第一状态来使得定时及事件处理器在精确的预先确定的时间起动系统振荡器。
39.如权利要求37所述的方法,进一步包括通过发送中断到第一模块,使用定时及事件处理器来使得第一模块退出空闲状态。
40.如权利要求39所述的方法,进一步包括在第一模块退出空闲状态时,使得第一指示信号进入第一状态。
41.如权利要求37所述的方法,进一步包括通过发送将要提供的中断到第二模块,使用定时及事件处理器来使得第二模块退出空闲状态。
42.如权利要求41所述的方法,进一步包括在第二模块退出空闲状态时,使得第二指示信号进入第一状态。
43.如权利要求26所述的方法,进一步包括提供锁相环电路,用于增加由系统振荡器产生的第三时钟信号的频率,来产生第一时钟信号;以及使得第三时钟信号旁路锁相环电路,并且当第一指示信号处于第二状态时用作第一时钟信号。
44.一种用于无线应用的基带处理器,包括第一模块,其需要得自系统振荡器的第一时钟信号,该第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;第二模块,其需要得自系统振荡器的第二时钟信号,该第二模块提供第二指示信号,该指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;以及电源管理电路,其用于当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过,以及当第一指示处于第一状态时允许第一时钟信号通过,以及当第二指示处于第一状态时允许第二时钟信号通过。
45.如权利要求44所述的处理器,其中电源管理电路包括第一寄存器,其用于当第一指示信号处于第一状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个,以及第二寄存器,其用于当第一指示信号处于第二状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个。
46.如权利要求45所述的处理器,其中电源管理电路包括第一寄存器,其用于当第二指示信号处于第一状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个,以及第二寄存器,其用于当第二指示信号处于第二状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个。
47.如权利要求44所述的处理器,进一步包括锁相环电路,其用于增加由系统振荡器产生的第三时钟信号的频率,以形成第一时钟信号;锁相环旁路,其用于使得第三时钟信号旁路锁相环电路,以及当第一指示信号处于第二状态时用作第一时钟信号。
48.如权利要求44所述的处理器,其中第一时钟信号和第二时钟信号具有相同频率。
49.如权利要求44所述的处理器,其中第一时钟信号和第二时钟信号具有不同频率。
50.如权利要求44所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括第二处理单元。
51.如权利要求44所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括第一处理单元的外围器件。
52.如权利要求44所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括直接存储器访问控制器。
53.如权利要求44所述的处理器,其中第一模块包括第一处理单元,以及第二模块包括定时及事件处理器。
54.在用于无线应用的基带处理器中,一种方法包括接收来自第一模块第一指示信号,该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;接收来自第二模块的第二指示信号,该第二模块需要得自系统振荡器的第二时钟信号,第二指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态;以及当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过,以及当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过,以及当第一指示信号处于第一状态时允许第一时钟信号到第一模块的通过,以及当第一指示信号处于第一状态时允许第二时钟信号到第二模块的通过。
55.如权利要求54所述的方法,其中阻塞通过的动作进一步包括提供第一寄存器,其用于当第一指示信号处于第一状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个,以及提供第二寄存器,其用于当第一指示信号处于第二状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个。
56.如权利要求55所述的方法,其中阻塞通过的动作进一步包括提供第一寄存器,其用于当第二指示信号处于第一状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个,以及提供第二寄存器,其用于当第二指示信号处于第二状态时指示处理器是否需要包括第一时钟信号和第二时钟信号的组中的至少一个。
57.如权利要求54所述的处理器,进一步包括提供锁相环电路,其用于增加由系统振荡器产生的第三时钟信号的频率,以产生第一时钟信号;以及使得第三时钟信号旁路锁相环电路,以及当第一指示信号处于第二状态时用作第一时钟信号。
58.一种用于无线应用的基带处理器,包括第一模块,其需要得自系统振荡器的第一时钟信号,该第一模块提供第一指示信号,该指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;以及电源管理电路,其响应于第一指示信号,以在当第一指示信号处于第二状态时停用系统振荡器,以及其响应于起动信号,以起动系统振荡器。
59.如权利要求58所述的处理器,进一步包括第二模块,其需要最初得自系统振荡器的第二时钟信号,该第二模块提供第二指示信号,该指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态。
60.如权利要求59所述的处理器,其中电源管理电路进一步包括响应于第一和第二指示信号的电路,其用于当第一指示信号处于第二状态并且第二指示信号处于第二状态时停用振荡器。
61.如权利要求60所述的处理器,其中电源管理电路进一步包括用于当第二模块需要系统振荡器输出时起动系统振荡器的电路。
62.如权利要求58所述的处理器,其中电源管理电路进一步包括用于当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过的电路。
63.如权利要求61所述的处理器,其中电源管理电路进一步包括用于当第二指示信号处于第二状态时阻塞第二时钟信号到第二模块的通过的电路。
64.如权利要求58所述的处理器,其中电源管理电路响应于接收中断来起动系统振荡器。
65.如权利要求64所述的处理器,其中中断是由用户动作产生的。
66.如权利要求58所述的处理器,其中电源管理电路通过发送中断到第一模块来使得第一模块退出空闲状态。
67.如权利要求66所述的处理器,其中第一模块在退出空闲状态时,使得第一指示信号进入第二状态。
68.如权利要求61所述的处理器,其中电源管理电路能够通过发送中断到第一模块来使得第二模块退出空闲状态。
69.如权利要求68所述的处理器,其中第二模块在退出空闲状态时,使得第二指示信号进入第一状态。
70.如权利要求58所述的处理器,其中电源管理电路包括用于在起动振荡器之后的一个时间周期内阻塞系统振荡器的输出的电路包括用于阻塞系统振荡器的输出的电路。
71.如权利要求70所述的处理器,其中用于阻塞系统振荡器的输出的电路包括用于存储时间周期作为振荡器预热时间的寄存器和用于确定振荡器预热时间何时截止的计数器。
72.如权利要求71所述的处理器,其中用于阻塞系统振荡器的输出的电路包括用于当系统振荡器预热时间截止时允许系统振荡器输出通过的装置。
73.如权利要求58所述的处理器,进一步包括定时及事件处理器,其用于产生用于关于第一模块的定时操作的定时及事件信号,该定时及事件处理器使用得自系统振荡器的第三时钟信号,以及提供第三指示信号,该指示信号具有指示不需要第三时钟信号的第一状态和指示需要第三时钟信号的第二状态。
74.如权利要求73所述的处理器,其中定时及事件处理器接收得自慢时钟振荡器的第四时钟信号,以及并且其中当第三指示信号处于第二状态时,定时及事件处理器继续操作。
75.如权利要求74所述的处理器,其中当包括第一模块和第二模块的组中的至少一个需要使用系统振荡器时,通过把第三指示信号的状态改变到第一状态,定时及事件处理器起动系统振荡器,以在精确的预先确定的时间起动系统振荡器。
76.如权利要求73所述的处理器,其中定时及事件处理器通过发送中断到第一模块来使得第一模块退出空闲状态。
77.如权利要求76所述的处理器,其中第一模块在退出空闲状态时,使得第一指示信号进入第一状态。
78.如权利要求61所述的处理器,进一步包括锁相环电路,其用于增加由系统振荡器产生的第三时钟信号的频率,以产生第一时钟信号,以及;锁相环旁路,其用于使得第三时钟信号旁路锁相环电路,并且当第一指示信号处于第二状态时用作第一时钟信号。
79.如权利要求59所述的处理器,其中第一时钟信号和第二时钟信号具有相同频率。
80.如权利要求59所述的处理器,其中第一时钟信号和第二时钟信号具有不同频率。
81.如权利要求58所述的处理器,其中第一模块包括第一处理单元。
82.如权利要求58所述的处理器,其中第一模块包括第一处理单元的外围器件。
83.如权利要求58所述的处理器,其中第一模块包括直接存储器访问控制器。
84.如权利要求58所述的处理器,其中第一模块包括定时及事件处理器。
85.用于无线应用的基带处理器中,一种方法包括接收来自第一模块的第一指示信号,该第一模块需要得自系统振荡器的第一时钟信号,第一指示信号具有指示需要第一时钟信号的第一状态和指示不需要第一时钟信号的第二状态;当第一指示信号处于第二状态时停用系统振荡器;以及当第一模块需要系统振荡器时起动系统振荡器。
86.如权利要求85所述的方法,进一步包括接收来自第二模块的第二指示信号,该第二模块需要得自系统振荡器的第二时钟信号,第二指示信号具有指示需要第二时钟信号的第一状态和指示不需要第二时钟信号的第二状态。
87.如权利要求86所述的方法,其中停用系统振荡器的动作进一步包括如果第二指示信号处于第二状态就停用系统振荡器。
88.如权利要求87所述的方法,其中起动系统振荡器的动作进一步包括当第二模块需要系统振荡器输出时起动系统振荡器。
89.如权利要求85所述的方法,进一步包括当第一指示信号处于第二状态时阻塞第一时钟信号到第一模块的通过。
90.如权利要求85所述的方法,其中起动系统振荡器的动作进一步包括响应于接收中断来起动系统振荡器。
91.如权利要求85所述的方法,其中起动系统振荡器的动作进一步包括通过发送中断到第一模块来使得第一模块退出空闲状态。
92.如权利要求91所述的方法,进一步包括在退出空闲状态时,改变第一指示信号的状态,以进入第一状态。
93.如权利要求87所述的方法,其中起动系统振荡器的动作进一步包括通过发送中断到第一模块来使得第二模块退出空闲状态。
94.如权利要求93所述的方法,进一步包括在退出空闲状态时,改变第二指示信号的状态,以进入第一状态。
95.如权利要求85所述的方法,其中停用振荡器的动作进一步包括在起动振荡器之后的一个时间周期内阻塞系统振荡器的输出。
96.如权利要求95所述的方法,其中阻塞系统振荡器的输出的动作进一步包括存储时间周期作为振荡器预热时间,以及使用计数器来确定振荡器预热时间何时截止。
97.如权利要求96所述的方法,其中阻塞系统振荡器的输出的动作进一步包括当振荡器预热时间截止时,允许系统振荡器输出通过。
98.如权利要求85所述的方法,进一步包括提供定时及事件处理器,其用于产生用于关于第一模块的定时操作的定时及事件信号,定时及事件处理器使用得自系统振荡器的第三时钟信号,以及提供第三指示信号,该指示信号具有指示不需要第三时钟信号的第一状态和指示需要第三时钟信号的第二状态,以及其中定时及事件处理器接收得自慢时钟振荡器的第四时钟信号,以及所述方法进一步包括当第三指示信号处于第二状态时,使用第四时钟信号来操作定时及事件处理器。
99.如权利要求98所述的方法,进一步包括当第一模块需要使用系统振荡器时,通过把第三指示信号的状态改变到第一状态,使得定时及事件处理器在精确的预先确定的时间起动系统振荡器。
100.如权利要求98所述的方法,进一步包括通过发送中断到第一模块,使用定时及事件处理器来使得第一模块退出空闲状态。
101.如权利要求100所述的方法,进一步包括在第一模块退出空闲状态时,使得第一指示信号进入第一状态。
102.如权利要求85所述的方法,进一步包括提供锁相环电路,其用于增加由系统振荡器产生的第三时钟信号的频率,以产生第一时钟信号,以及;使得第三时钟信号旁路锁相环电路,以及当第一指示信号处于第二状态时用作第一时钟信号。
全文摘要
提供了一种数字基带处理器,其接收由系统振荡器产生的系统时钟,并且从系统时钟产生多个时钟信号。所述数字基带处理器包括用于执行数字信号处理器指令的数字信号处理器,用于执行微控制器指令的微控制器,以及可能需要多个时钟信号中的一个来操作的其它模块。所述数字基带处理器还包括电源管理电路,当比如数字信号处理器和微控制器的模块不需要得自系统振荡器的时钟信号时,其可能关闭系统振荡器的电源。当那些模块不需要时钟信号时,电源管理电路可能门控关闭到模块的时钟信号,而不关闭系统振荡器的电源。
文档编号G06F13/28GK1550070SQ02816968
公开日2004年11月24日 申请日期2002年8月29日 优先权日2001年8月29日
发明者约恩·瑟伦森, 约恩 瑟伦森, 艾伦, 迈克尔·艾伦, 阿南德, 海特什·阿南德 申请人:模拟设备公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1