晶振是系统工作的原始激励,芯片可以通过外部引脚选择使用外部晶振还是内部晶振。内部晶振容易受到芯片内部热干扰,所以一般的芯片还是会选择在外接晶振。
但是,受电磁干扰,板间布线的限制。晶振频率不能选得太高,需要时钟控制逻辑的PLL提高系统时钟。系统使用MPLL和UPLL这两个PLL。其中UPLL专门用于USB设备。而MPLL以不同的倍频系数产生FCLK给CPU核,HCLK给AHB总线上的设备,PCLK给APB总线上是设备。原因在于每类设备的工作频率不同。CPU核工作频率最高。AHB上连接如存储器、中断控制器、DMA、LCD控制器等高速设备。APB上连接如ADC、GPIO、UART等低速设备。
系统上电后,PLL还没有启动,这时FCLK等于外部输入频率。如果一直使用这个频率效率很低。所以需要软件启动PLL,启动PLL到CPU以新的时钟开始工作需要经历一个过程。先要等外部晶振输出稳定,再设置一些寄存器值初始化,开启PLL后还要等新的时钟稳定CPU才能开始正常工作。