EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
为了提高系统性能,同时降低功耗,mcu通常提供四种时钟:
$ t" }* F" z8 j$ T) i# \, M高速外部时钟(HSE):由外接高频晶振产生。6 d f( O6 ]9 l; M- r5 r3 c5 E
低速外部时钟(LSE):由外接低频晶振产生,一般为32.768kHz,用于驱动实时时钟 (RTCCLK)。
: c: r- z4 t& J% C3 C高速内部时钟(HSI):由内部高频RC电路产生。
& w4 U9 G6 t: ]8 A低速内部时钟(LSI):由内部低频RC电路产生,一般为32kHz,用于驱动独立看门狗。' d. k+ H; Q# X! c% }% ]4 b
; o3 ]6 D( w; U$ n2 I 图1. 晶振为MCU提供精准外部时钟
$ b1 l+ F- E# N' s5 R M: ]6 v# W
9 I- E' S- E& K3 o# j" X这样配置的好处是,如果采用单一时钟,频率高的话可能会导致性能过剩和功耗过高,频率高则导致性能不足,满足不了要求。多个时钟的话可以平衡功耗和性能之间的平衡。
9 }0 }4 Q; e5 r3 X J, L8 e* `! H
特此说明一下,系统复位后,默认初始化的是高速内部时钟(HSI)来提供sysclock,一般为16MHz。为了提示系统性能,我们需要使能外部时钟晶振,如24MHz、32MHz等。, y6 X0 `$ G9 H: R5 J+ w, x0 o$ G
/ F% r' r7 K) B* \! `; `& H ^如果使用外部HSE的话,一般有两种模式:; _* X8 ]3 o* U$ |3 A
1 H0 ~" _) Z& Y(1)外部晶体/陶瓷谐振器(HSE晶体)模式( @' B4 Z# a# H; h6 Y Y8 {. A
x/ u$ |" n8 z: ^5 Q
这种模式用得比较常见,HSE晶体可以为系统提供较为精确的时钟源。在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。在启动时,直到这一位被硬件置’1’,时钟才被释放出来。HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。0 N4 I1 q% Y k# p" g
' O! o A1 u/ d' M; | M4 s
图2. STM32F4系列MCU时钟模式5 c0 ]: x' {/ K" V: [* [, [; A
* X4 @. g, d4 A; b! v" @9 C/ j该时钟源是由外部无源晶体与MCU内部时钟驱动电路共同配合形成,有一定的启动时间,精度也较高,但是一定要正确使用。& d3 i2 ~% p# B. o
% K7 }) T8 ]4 A; J8 h0 r(2)外部时钟源(HSE)旁路模式
3 e% E3 e" z* u5 D
: Z* l( X# m S7 x6 w6 V1 K所谓HSE旁路模式,是指使用外部晶振时,无需芯片内部时钟驱动组件来辅助,直接从外界导入时钟信号,好像芯片内部的RC振荡器功能被旁路了。
9 u/ h5 Z1 J) K( F4 Y& q- D9 ^& c8 Q# T9 q( i; u/ h: n0 a3 T
该模式下必须提供外部时钟,外部时钟信号必须连到SOC_IN引脚,此时OSC_OUT引脚对外呈高阻态。不过,使用这个旁路模式的情形不像使用外部晶体模式那么多。
' T1 m1 J0 D9 K+ ~1 W# F1 ^" j( H: B) c% s" n
(3)晶振选择举例5 }- g% P' b' h4 `2 _: @# l# y
6 A" c7 p& n- Q- n$ j以STM32F4系列MCU为例,旁路模式除了配置HSEON还得配置HSEBYP位。这里需要注意的是一定要选择无源晶振,即石英晶体谐振器(XTAL)作为时钟源。
" I, |0 R' @$ ~# `" s5 m
8 ?2 K% w+ a7 `: j8 K+ K, Z% p首先,为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容必须尽可能地靠近振荡器引脚,负载电容值必须根据所选择的晶体来具体调整等细节问题。至于选择陶瓷晶体和石英晶体,这取决于应用电路对频率精度和温度稳定性的要求。一般而言,石英晶体比陶瓷晶体的精度要高的多,频率温度稳定性也要好很多。
W4 P4 J0 C/ T" ^+ U @9 h" F, z+ B7 S. p7 E. u
其次,如果选择了有源晶振(XO、TCXO等),用户就无法选择工作模式!由于有源晶振本身就是个完整的振荡器件,其时钟输出不依赖于外部器件振荡电路,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。这时,我们只能将其配置为HSE旁路模式,而不是HSE晶体模式。. v6 _" A: ~3 W' r7 M7 ]; J" B+ q4 a
" m5 ^9 Q! o# A- K: Y' `: T. v/ H* U
另外,有源晶振价格比无源贵很多,选错了不但浪费钱财,还限制了MCU工作模式和用户发挥空间,需要大家引起注意。
) N. e: M5 V9 p8 o5 w5 O Q# f |