4.9 唤醒定时器在上电或使用4MHz IRC振荡器作为时钟源将LPC1700系列Cortex-M3从掉电模式中唤醒时,LPC1700系列Cortex-M3开始操作。这使得芯片在这些情况下快速操作。如果应用需要主振荡器或PLL,那么软件将需要使能这些特性并在它们用作时钟源之前等待其变为稳定。当主振荡器开始激活时,唤醒定时器允许软件确保主振荡器完全工作,然后处理器将其用作时钟源并开始执行指令。这在上电、所有类型的复位以及任何原因所导致上述功能关闭时非常重要。由于振荡器和其它功能在掉电模式下关闭,因此使处理器从掉电模式中唤醒要使用唤醒定时器。唤醒定时器通过检测晶振是否能可靠来监视,以让代码安全执行。当给芯片加电或某个事件使芯片退出掉电模式时,振荡器需要一段时间来产生足够振幅的信号以驱动时钟逻辑。时间的长度取决于许多因素,包括VDD(3V3)的上升速率(上电时)、晶振的类型及其电气特性(如果使用石英晶振)、其它任何外部电路(例如电容)和振荡器在现有环境下自身的特性。一旦检测到一个时钟,唤醒定时器就对固定的时钟数(4096个时钟)进行计数,然后设置标志(SCS寄存器中的OSCSTAT位)表示主振荡器已准备使用。接着软件可切换为主振荡器并且启动所需的PLL。详细内容请参考LPC1700系列中文手册。
4.10 外部时钟输出引脚为了便于系统测试和开发,任何一个内部时钟均可引入CLKOUT功能(在P1.27引脚上可使用)。通过CLKOUT可观察到的时钟有CPU时钟(cclk)、主振荡器(osc_clk)、内部RC振荡器(irc_osc)、USB时钟(usb_clk)和RTC时钟(rtc_clk)。更多细节请参阅LPC1700系列中文完全手册。
你是否曾经好奇如何实现主时钟输出功能?可以参考这个STM8如何实现主时钟输出功能。若想了解基础电子中的时钟振荡器,推荐看看基础电子中的ZPB系列时钟振荡器。
有趣的是,时钟振荡器不仅在LPC1700系列中重要,它们在许多应用中都扮演着关键角色。想象一下,如果没有这些精确的时钟,我们的设备会变得多么混乱!Raltron公司推出的低抖动VCXO时钟振荡器CSMF系列就是一个例子,它们的抖动控制得如此之好,简直令人惊叹【Raltron公司推出低抖动VCXO时钟振荡器CSMF系列](https://kaledl.com/down/6493303.html)!
对于那些对定时器感兴趣的人,或许可以研究一下LPC1700系列Timer例程。再者,如果你有兴趣利用触键唤醒中断完成外部中断,可以参考利用触键唤醒中断完成外部中断,它们都提供了很好的示范和指导。
在探讨这些技术细节时,别忘了我们所依赖的这些小小的定时器和振荡器,它们正是现代电子设备得以正常运行的幕后英雄!
暂无评论