包括唤醒定时器的复位逻辑框图-docker部署python爬虫项目的方法步骤
图3.1包括唤醒定时器的复位逻辑框图当任何一个复位源(上电复位、掉电检测复位、外部中断复位和看门狗复位)有效时,片内RC振荡器开始起振。片内RC振荡器起振后,需要经过一段时间才能稳定。大约经过60μs片内RC振荡器才能提供稳定的时钟输出,此时复位信号被锁存并且与片内RC振荡器时钟同步。然后将同时启动下面两个序列:
-
当同步的复位无效时,2位IRC(片内RC振荡器)唤醒定时器开始计数。当2位IRC唤醒定时器超时,处理器于是跳到Flash以启动ROM的引导代码。但如果Flash访问尚未准备好,则MAM将插入等待周期进行等待,直至Flash就绪;
-
当同步的复位无效时,9位Flash唤醒定时器也开始计数。Flash唤醒定时器产生100μs的Flash启动时间。一旦定时器溢出,则启动Flash初始化序列(大概需要250个周期),当该序列完成时,MAM(存储器加速模块)即可进行Flash访问。
如果对片内RC振荡器的频率有疑问,可以参考Mega8L片内RC振荡器频率测试报告了解更多详细信息。当内部复位移除后,处理器从地址0开始执行,地址0是从Boot Block映射的复位向量地址。这时,所有的处理器和外设寄存器都已被初始化为预先确定的值。图3.2所示为在复位后LPC1700系列Cortex-M3微控制器启动时,RESET、IRC和处理器状态之间的关系。您是否好奇主振荡器启动序列的具体过程?详见“基于CPLD的片内振荡器设计”。
对于那些想要深入了解RC复位电路原理及复位时间计算的技术人员,可以查阅RC复位电路复位时间的计算,里面不仅有详细的计算方法,还有一些实用的电路设计建议。关于处理器如何进行片内Flash访问的细节,可以参考stm32读写片内flash了解更多。
为什么不点击这些链接,探索更多技术细节?这不仅会使您对系统复位和启动过程有更全面的理解,还能助您在实际应用中少走弯路。