嵌入式复位定时与复位
0赞LPC2292/2294有2个复位源:RESET管脚和看门狗复位。RESET管脚是一个施密特触发输入管脚,带有附加的干扰滤波器。任何复位源所导致的芯片复位都会启动唤醒定时器(见下面描述的唤醒定时器),复位状态将一直保持到外部复位撤除,振荡器开始运行。振荡器运行经过固定数目的时钟后Flash控制器完成其初始化。
当内部复位撤除后,处理器从复位向量地址0开始执行。此时所有的处理器和外设寄存器都被初始化为预设的值。
唤醒定时器的用途是确保振荡器和其它芯片操作所需要的模拟功能在处理器能够执行指令之前完全正常工作。这在上电、各种类型的复位以及任何原因所导致上述功能被关闭的情况下非常重要。由于振荡器和其它功能在掉电模式下关闭,因此将处理器从掉电模式中唤醒就要利用唤醒定时器。
唤醒定时器监视晶体振荡器是否可以安全地开始执行代码。当芯片上电时,或某些事件导致芯片退出掉电模式时,振荡器需要一定的时间以产生足够振幅的信号驱动时钟逻辑。时间的长度取决于许多因素,包括VDD上升速度(上电时)、晶振的类型及电气特性(如果使用石英晶体)以及其它外部电路(例如:电容)和外部环境下振荡器自身的特性。
PLL可以接受范围为10MHz~25MHz的输入时钟频率。输入频率通过一个电流控制振荡器(CCO)可以倍增为10MHz~60MHz。倍增器可以是从1到32的整数(实际上在该系列微控制器当中,由于CPU频率的限制,倍增器的值不可能高于6)。CCO操作的范围为156MHz~320MHz,因此在环当中增加了一个分频器,这样PLL在提供所需要的输出频率时,使CCO保持在其频率范围内。输出分频器可设置为2、4、8或者16以产生输出时钟。由于最小输出分频值为2,这样就确保了PLL输出具有50%的占空比。PLL在芯片复位后关闭并且被旁路,可通过软件使能。程序必须配置并且激活PLL,等待PLL锁定之后再将PLL作为时钟源。
VPB分频器决定处理器时钟(cclk)和外设时钟(pclk)之间的关系。VPB分频器有两个用途。第一,VPB总线在ARM处理器的最高速度下不能正确操作,为了弥补这一点,VPB总线频率可以降低为处理器时钟频率的一半或1/4。VPB总线在复位后的默认状态是以1/4速率运行。VPB分频器的第二个用途是当所有外设都不必在全速率下运行时降频以降低功耗。由于VPB分频器连接到PLL的输出,PLL(如果正在运行)在空闲模式时保持有效。
