7.2.7 系统时钟选择
四个不同的时钟源可以驱动系统时钟(SYSCLK):
HIS16 振荡器
HSE 振荡器
PLL
SYSCLK 的最大频率为 170MHz。系统复位后,HSI16 振荡器被选择为 SYSCLK。当一
个时钟源被直接作为 SYSCLK 或者通过 PLL 间接的作为 SYSCLK,那么将不能停止它。
只在目标时钟源就绪时,SYSCLK 才能从一个时钟源切换到另一个时钟源(时钟稳定
后启动延时或者 PLL 锁)。如果有个时钟源没有准备好并且被选择,那么当这个时钟准
备好了才发生切换。状态位在内部时钟资源校正寄存器指出哪个(些)时钟准备好了或
者哪个时钟正在被用于 SYSCLK。
SYSCLK 从低速切换到高速或者从高速切换到低速,建议使用至少 1us 的中速时钟进行
过渡。
时钟切换条件:
从 HSE 或者 HSI16 切换到 PLL 并且 AHB 频率(HCLK)大于 80MHz
从 PLL 并且 HCLK 高于 80MHz 切换到 HIS16 或者 HSE
过渡状态:
设置 AHB 的预分频为 2 分频
切换系统时钟为 PLL
等待至少 1us 重新设置 AHB 的预分频位到需要的 HCLK 频率
7.2.8 时钟源频率与电压缩放比例
下表给出了取决于产品电压范围的不同时钟源频率。
表 50.时钟源频率
7.2.9 时钟安全系统
时钟安全系统由软件激活。在这种情况下,在 HSE 振荡器启动延迟后使能时钟检测,
在振荡器停止后关闭时能。
如果检测到 HSE 时钟有故障,HSE 振荡器自动禁用,时钟故障事件被发送到高级控制
计时器的中断输入(TIM1/TIM8/TIM20 和 TIM15/16/17)和 hrtim_sys_flt,并且产生一个
中断来通知软件关于该故障(时钟安全系统中断 CSSI),允许 MCU 进行故障处理。CSSI
通过 FPU NMI(不可屏蔽中断)异常向量连接 Cortex®-M4。
一旦 CCS 使能,如果 HSE 时钟失败,产生 CSS 中断并自动生成 NMI。除非 CSS 中断
挂起位被清除,否则 NMI 将无限期地执行。因此,在 NMI_ISR,用户必须通过设置时
钟中断清除寄存器(RCC_CICR)中的 CSSC 位来清除 CSS 中断。