电子产业一站式赋能平台

PCB联盟网

搜索
查看: 185|回复: 0
收起左侧

晶振原理解析

[复制链接]

525

主题

525

帖子

2805

积分

三级会员

Rank: 3Rank: 3

积分
2805
发表于 2020-6-1 22:01:00 | 显示全部楼层 |阅读模式
关注、星标公众,不错过精彩内容) c0 y% X2 E) }4 @

m22zpubujtq64010478318.png

m22zpubujtq64010478318.png
. |% z- R& y7 t9 E3 Y; S% V
, |& u+ L: I8 \, }/ l
前几天我写了一篇《MCU的心脏-晶振》,部分同学表示,读后还是对有源晶振和无源晶振的区别并没有深入理解,觉得只是科普了晶振的类别和参数,下文将进一步讲解晶振的原理,以及晶振和STM32的关系。" {- f6 n/ t# |: T) F2 z3 J/ \
' z) N( u+ [+ e$ \
01压电效应. Q2 Q/ d! F. ?  v
7 }. {# n3 y$ R
压电效应:某些电介质在沿一定方向上受到外力的作用而变形时,其内部会产生极化现象,同时在它的两个相对表面上出现正负相反的电荷。/ v% Q4 K7 I8 h% u2 P
正压电效应:当外力去掉后,电介质又会恢复到不带电的状态。2 H1 ^9 f$ U7 ~; Q+ [4 [* x8 a
逆压电效应:当作用力的方向改变时,电荷的极性也随之改变。相反,当在电介质的极化方向上施加电场,这些电介质也会发生变形,电场去掉后,电介质的变形随之消失。' t4 z- a( z1 q( H6 x+ X$ l
当在晶体表面上施加机械压力时,与机械压力成比例的电压出现在晶体上。该电压会导致晶体失真,失真的量将与施加的电压成比例,并且还与施加在晶体上的交流电压成正比,从而导致晶体以其固有频率振动。这种压电效应会产生机械振动或振荡,可用来代替以前的振荡器中的标准LC振荡电路。
" U* ?8 G% z) o: c下图展示了:石英晶体的等效电路是一个串联的RLC电路。0 I# r! [8 ]0 X& M" J5 \+ A; E

6 B& v8 L, `( @

ibqj1blwplk64010478418.png

ibqj1blwplk64010478418.png

6 J/ j% W/ s6 l1 U▲ 石英晶体等效模型
* C5 n& q6 `" Q; j
9 d& O7 o+ p/ [+ C4 C该电路代表晶体的机械振动,与电容Cp并联,电容Cp代表与晶体的电连接。石英晶体振荡器倾向于朝着其“串联谐振”方向运行。晶体的等效阻抗具有串联谐振,其中Cs在晶体工作频率下与电感Ls谐振。该频率称为晶体串联频率?s。如上图所示,除了Ls和Cs与并联电容器Cp谐振外,还有一个第二频率点是由于并联谐振而建立的第二频率点。
1 t- j# P9 A) w6 {! e
$ f3 _  }* i- D( u) a/ a02晶体振荡器的应用9 S' [/ I/ K1 E" ^; ]/ {
' K4 B! U) t) G" v' o( [7 l+ _; p
晶体振荡器不仅仅是给MCU提供时钟,它在各个领域有各种应用,下面简单介绍一些晶体振荡器的应用:& }1 a1 I2 J% Z" G# A
科尔皮兹晶体振荡器8 ^0 Z. |  `* G$ G1 n

$ U' B, w# f  {- XColpitts振荡器用于产生非常高频率的正弦输出信号。该振荡器可以用作不同类型的传感器,例如温度传感器。使用Colpitts电路中的某些设备,我们可以实现更高的温度稳定性和高频。
  i' v0 d3 w4 H4 P( E" W

nbofgidkaur64010478518.png

nbofgidkaur64010478518.png

8 f* A9 t; A: b▲ 科尔皮兹晶体振荡器+ Y& S; c8 C6 s0 z! A; Z  i
+ j% N6 T9 b) K, o; f' ^) \0 h+ l
阿姆斯壮晶体振荡器6 l0 u" T6 C. g2 n
该电路一直流行到1940年代。这些在再生无线电接收机中被广泛使用。在该输入中,来自天线的射频信号通过一个额外的绕组磁性耦合到振荡电路中,并且减少了反馈,以在反馈环路中进行增益控制。最后,它产生了一个窄带射频滤波器和放大器。在该晶体振荡器中,LC谐振电路被反馈环路取代。
8 R+ i7 `6 J) B  O

werqu1acnwe64010478618.png

werqu1acnwe64010478618.png
0 D/ p2 k6 y* Z) |
▲ 阿姆斯壮晶体振荡器
$ n) o$ O2 D4 ~1 i6 Y" {% \! Q! f- a& P0 R4 a
皮尔斯晶体振荡器* p, h/ v5 ^0 w1 g
在这个简单的电路中,晶体确定振荡频率,并以其串联谐振频率工作,?s在输出和输入之间提供低阻抗路径。谐振时有一个180 度的相移,使反馈为正。输出正弦波的幅度限制为漏极端子的最大电压范围。
7 A( }3 x! P4 ^* B

laysgfrtuip64010478718.png

laysgfrtuip64010478718.png
3 ~- t  n; d5 [. m" c7 k/ y/ X  K
▲ 皮尔斯晶体振荡器+ B1 ~% \1 q( h8 M4 C

" ~3 J9 A, b$ T8 S7 b03无源晶振和有源晶振的区别
0 W% N6 p' b* L+ y- m% o9 r0 c% y  q- [& V* X
0 h6 w  T7 U4 T3 h2 G! w! ^4 U
无源晶振和有源晶振的区别体现:
/ u8 k+ M4 C- Y' F! l2 P有源晶振:不依靠外部电路,通过自身产生震荡。  G3 b- q1 |& q5 t- ]
无源晶振:就是一个晶体振荡器,无法通过自身产生震荡。# y; T( g( y9 f1 U  K, l: |+ D; F
有源晶振的缺陷:与无源晶振相比,有源晶振信号电平几乎是不变的,价格方面也会更高。
" ]  Z; K; u4 g2 a$ e' s
, D& X) b! D) I; h! \, G& B: n# X* f上面描述的还是不清晰,那么我们先看下有源晶振的结构图:
- K/ n% d. m( V$ _
; d8 S- R+ n0 O9 i7 o  m1 H

rnpxakjgkzr64010478818.jpg

rnpxakjgkzr64010478818.jpg
; J0 ~7 V2 c, }5 n& r" ^. J
▲ 有源晶振结构图2 v1 v$ N! g) W( G$ ?* R
9 Z6 O9 R1 Y6 E; [; L7 t& t
上图中XT就是晶体振荡器,其他的器件就是上文说的外部电路,这样只要给有源晶振供电,就可以产生时钟波形。8 j' X0 c0 J# d& y
而无源晶振,就是只有XT这个晶体振荡器。以STM32为例,STM32集成了上图除XT外的电路,所以我们可以接无源晶振。主要因为晶振不好集成,外挂晶振比较方便。* T# s: l) s2 f9 j- F$ q
我们可以直接看有源晶振的解剖图,可以看到晶体振荡器和外部电路。
- Y* I" d$ b. W$ G4 `2 K
1 r  y$ A- g7 L) f: g/ a! w

oajxur32s0j64010478918.png

oajxur32s0j64010478918.png

3 A7 u. K! l1 s. S/ q7 P& x7 a  G) |" V. J6 P

h5q5vtpirye64010479018.png

h5q5vtpirye64010479018.png

/ X0 s1 b# c, v- |, L0 K( E. O+ r' O$ E, M- m
▲ 有源晶振解剖图
; ~7 u( P" a1 c& o1 E( w' b8 Z9 j& ~; @) M/ a: K4 \
下面看一下无源晶振的解剖图,只看到了晶振振荡器。# |" M3 y$ l! f

2wjykiiuveo64010479118.jpg

2wjykiiuveo64010479118.jpg

& J3 p  L, v( ~( l8 O5 E9 C

t5lp1pgugq064010479218.jpg

t5lp1pgugq064010479218.jpg

& [/ U( H" z6 z: G& G4 A1 a- v: F% ]/ ]2 ^

ti3sm0qgrcy64010479318.jpg

ti3sm0qgrcy64010479318.jpg
# ~' N, e# A) r( t2 ^  N
▲ 无源晶振解剖图,左右滑动查看更多) Q( g- x4 v  a' c
% a. k, E6 D3 S% k6 `4 P/ T* q4 M
04STM32外接晶振
' }' w9 Z2 y+ k! N/ ~$ Z* t( [1 q% M% s2 f% T" u
以STM32F207为例,一般情况下外部高速时钟(HSE)我们接25M的无源晶振。在用户手册中ST提供了两种方式:+ ~; S. q4 H, ?# B+ s
2 h6 G- m# f" x3 a1 V2 J8 Q0 [% a

11g3cfupeno64010479418.png

11g3cfupeno64010479418.png
7 h6 T* X; s5 E- v$ Z9 C
▲ HSE时钟源
+ p) d7 M- O* n; L& ]. F" F% _
& O1 P; M+ c/ s$ }( g# e* A7 C/ L外部高速时钟(HSE)可以通过两个时钟源产生:; i( z3 _5 {+ }+ [
1、外部晶体/陶瓷谐振器6 q3 }. Y, ?. J# U" @
2、外部用户时钟) q5 v9 W! Z/ }: H6 a
在外部时钟模式中,直接向OSC_IN引脚输入25MHZ的时钟信号,OSC_OUT处于高阻态。也就是说,我们可以外接有源晶振,但是上文说到,一般有源晶振价格都会高一点,很少有外接有源晶振的案例。- B# Z( O" {% j( n1 Z+ Y1 _7 U
上面我们说到,STM32内部集成了晶体振荡器的外部电路,如果外接无源晶振,STM32理论上可以通过禁止部分电路,达到关闭外部高速时钟(HSE)的目的。7 _. |3 X; j) C: j- }: I! p+ R1 s
事实上,在STM32F207的RCC时钟控制寄存器(RCCclock control register)的16位HSEON,用来打开或关闭HSE振荡器。- t$ S8 L; v, e: W

bcx1xb2ewga64010479518.png

bcx1xb2ewga64010479518.png
$ U, ]1 a6 h7 d' `& \
由软件置1和清零。2 B) N% r" A( \# r8 C! N3 b
由硬件清零,用于在进入停机或待机模式时停止HSE 振荡器。如果HSE 振荡器直接或间接用于作为系统时钟,则此位不可复位。3 f& C" |5 ]5 j% X1 b. J# e+ K

eni4dbqramj64010479618.png

eni4dbqramj64010479618.png

+ @! o  L9 L7 l' E/ n: @( Y& h# d如上图,在system_stm32f2xx.c文件中,345行就是开启HSE的,我们添加343行的死循环,再去测量晶振,发现没有波形。
4 J4 p7 @9 @% ?还有另一种方法,我们使用Jlink的J-FlashARM工具,擦除全片数据,再次上电,发现没有波形。
2 ~1 o6 |' m- ?' }

trdvg24aapb64010479718.png

trdvg24aapb64010479718.png

$ j0 v. b' l" _6 [3 r! V/ {$ G这也就解答了一些萌新同学的问题,硬件没有问题,测量晶振发现没有起振,以为是硬件的问题。其实下载一个正常运行(使能了RCCclock control register的HSEON位)的demo,再去测量晶振波形就行了。( h& |2 U7 ?8 A4 P6 w
/ Y, `. ?# h' b- W) i. x+ ]% j

fducf5cbwzj64010479818.gif

fducf5cbwzj64010479818.gif

5 V% M) f$ e/ N
) p% W0 ^8 c9 \/ c. X2 g

o3osgflstc364010479919.gif

o3osgflstc364010479919.gif
% ^8 }3 F- W1 W) x/ r
设计一款兼容ST207和GD207的开发板' p  w6 ]3 n2 t1 E
MCU的心脏-晶振
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表