左边是时钟产生电路,右边是时钟分配电路。中间的SYSCLK就是系统时钟72MHz,在产生电路有四个时钟源,分别是内部8MHz高速RC振荡器,外部的4-16MHz高速石英晶体振荡器,这个一般接8MHz,第三个是外部的32.768kHz低速晶振,一般是给RTC提供时钟,第四个是内部40KHz低俗RC振荡器,这个给看门狗提供时钟。上面的高速晶振是用来提供系统时钟的。一般接外部的8MHz,因为外部的石英比内部的RC更稳定。不要求太精确可以使用内部时钟。在SYSINIT中,先启动内部时钟,暂时以8MHz运行,然后再启动外部时钟,通过锁相环倍频成72MHz,等到锁相环输出稳定后,切换成72MHz。这样就把系统时钟由8切换到了72MHz。
css负责监测外部时钟是否失效,一旦外部时钟失效,就切回内部时钟。注意定时器的时钟都是72MHz。外设时钟使能就是使能外设时钟。