找回密码
 注册
关于网站域名变更的通知
查看: 177|回复: 1
打印 上一主题 下一主题

MCU时钟配置及外接晶振选择

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-23 15:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为了提高系统性能,同时降低功耗,mcu通常提供四种时钟:% S4 V  w+ f5 D3 o3 \
高速外部时钟(HSE):由外接高频晶振产生。# }8 y% e% U  k# f+ j7 |6 L
低速外部时钟(LSE):由外接低频晶振产生,一般为32.768kHz,用于驱动实时时钟 (RTCCLK)。3 \) n& h% g: d3 Q
高速内部时钟(HSI):由内部高频RC电路产生。
. }9 \- Z& e. C; V. Y1 \低速内部时钟(LSI):由内部低频RC电路产生,一般为32kHz,用于驱动独立看门狗。
* [4 x9 D+ g: y( I& |8 L, d9 b3 w. U' n# S7 \
图1. 晶振为MCU提供精准外部时钟
# x) v4 M: T- ?5 i9 E4 T0 M( ~
0 {5 A/ M" V: p0 U. r) H/ _
这样配置的好处是,如果采用单一时钟,频率高的话可能会导致性能过剩和功耗过高,频率高则导致性能不足,满足不了要求。多个时钟的话可以平衡功耗和性能之间的平衡。
- m) F6 H3 u( i. @* S1 G) W9 ]  x  _
* [- _, f( z7 i( E6 B+ c/ @特此说明一下,系统复位后,默认初始化的是高速内部时钟(HSI)来提供sysclock,一般为16MHz。为了提示系统性能,我们需要使能外部时钟晶振,如24MHz、32MHz等。0 E1 E: k" u9 M2 S3 m' G$ t
0 y1 _4 [; i, a5 e6 R* l
如果使用外部HSE的话,一般有两种模式:0 _* P  s0 w$ k1 V
- \5 P% _9 ~" x/ A1 {
(1)外部晶体/陶瓷谐振器(HSE晶体)模式
% F" t1 ~! H" |3 c
5 [/ ^, `; ?/ D这种模式用得比较常见,HSE晶体可以为系统提供较为精确的时钟源。在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。在启动时,直到这一位被硬件置’1’,时钟才被释放出来。HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。
; n% l$ N1 J5 F) z$ O7 o; c  x
% \1 H' D1 {3 ^6 S3 ^: t: E
图2. STM32F4系列MCU时钟模式2 v3 B# M& n6 Y9 W1 h9 M
0 W; v" Z' F) S! E8 K! ?
该时钟源是由外部无源晶体与MCU内部时钟驱动电路共同配合形成,有一定的启动时间,精度也较高,但是一定要正确使用。* K% A9 W- H; m' z/ V" g& I* s
) `  a" ]1 p9 t  M6 o) n
(2)外部时钟源(HSE)旁路模式
, R: u. [) v2 S& I6 `# I; x1 ^  q# h1 i7 W3 f2 \, ^
所谓HSE旁路模式,是指使用外部晶振时,无需芯片内部时钟驱动组件来辅助,直接从外界导入时钟信号,好像芯片内部的RC振荡器功能被旁路了。$ g# `9 S. m$ b' t
6 `# @/ ~3 q: @% c8 H" f3 q% T; X. k
该模式下必须提供外部时钟,外部时钟信号必须连到SOC_IN引脚,此时OSC_OUT引脚对外呈高阻态。不过,使用这个旁路模式的情形不像使用外部晶体模式那么多。
! \9 b# @+ H; Z7 v; c% n2 r
5 B! Q6 ]) [) q7 A" z# S) y: R(3)晶振选择举例' e- Z/ d; E( W8 x; J7 _( v

3 ]6 y" V: N$ ?- v; z以STM32F4系列MCU为例,旁路模式除了配置HSEON还得配置HSEBYP位。这里需要注意的是一定要选择无源晶振,即石英晶体谐振器(XTAL)作为时钟源。
9 G' V- r: L: A8 t0 h+ S2 d
; S7 x, C$ Y1 j. r2 G首先,为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容必须尽可能地靠近振荡器引脚,负载电容值必须根据所选择的晶体来具体调整等细节问题。至于选择陶瓷晶体和石英晶体,这取决于应用电路对频率精度和温度稳定性的要求。一般而言,石英晶体比陶瓷晶体的精度要高的多,频率温度稳定性也要好很多。( B4 N& E% ?5 ^
/ P9 N- B6 s4 |4 V% U; x
其次,如果选择了有源晶振(XO、TCXO等),用户就无法选择工作模式!由于有源晶振本身就是个完整的振荡器件,其时钟输出不依赖于外部器件振荡电路,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。这时,我们只能将其配置为HSE旁路模式,而不是HSE晶体模式。
& I5 s& ~' B# A8 X- h/ e4 a) f0 |& _3 ^7 R; @8 M& \1 P
另外,有源晶振价格比无源贵很多,选错了不但浪费钱财,还限制了MCU工作模式和用户发挥空间,需要大家引起注意。

" P; k# s  X! g0 E
  • TA的每日心情
    开心
    2022-12-5 15:37
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-3-23 16:36 | 只看该作者
    HSE晶体可以为系统提供较为精确的时钟源
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-24 14:56 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表