电子产业一站式赋能平台

PCB联盟网

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

晶振原理解析

[复制链接]

564

主题

564

帖子

4093

积分

四级会员

Rank: 4

积分
4093
发表于 2020-6-1 22:01:00 | 显示全部楼层 |阅读模式
关注、星标公众,不错过精彩内容. X( [4 B' W" S

m22zpubujtq64010478318.png

m22zpubujtq64010478318.png
! S7 p  a2 A$ m0 D( n
, t- b+ L! j- j6 W% }# S" ^/ v, [
前几天我写了一篇《MCU的心脏-晶振》,部分同学表示,读后还是对有源晶振和无源晶振的区别并没有深入理解,觉得只是科普了晶振的类别和参数,下文将进一步讲解晶振的原理,以及晶振和STM32的关系。
% X8 K* j- w, \3 n5 F# Q
- N; R4 Z% O% \! I01压电效应
4 X: h4 M% ^6 W5 U) ?4 m+ X* l# M  v" w( a: j
压电效应:某些电介质在沿一定方向上受到外力的作用而变形时,其内部会产生极化现象,同时在它的两个相对表面上出现正负相反的电荷。
( I# ?( M! `! C4 H; e- s  v  p+ |' |( u2 K正压电效应:当外力去掉后,电介质又会恢复到不带电的状态。- ?6 h# A# D5 m8 m8 S
逆压电效应:当作用力的方向改变时,电荷的极性也随之改变。相反,当在电介质的极化方向上施加电场,这些电介质也会发生变形,电场去掉后,电介质的变形随之消失。4 ~- I; H; }  b% i2 G
当在晶体表面上施加机械压力时,与机械压力成比例的电压出现在晶体上。该电压会导致晶体失真,失真的量将与施加的电压成比例,并且还与施加在晶体上的交流电压成正比,从而导致晶体以其固有频率振动。这种压电效应会产生机械振动或振荡,可用来代替以前的振荡器中的标准LC振荡电路。
8 [) ~; ]9 A- M( ?下图展示了:石英晶体的等效电路是一个串联的RLC电路。
2 I  s0 c( I8 X# {8 F& v9 o, _  p% M# s+ c

ibqj1blwplk64010478418.png

ibqj1blwplk64010478418.png

- A* S+ G( F/ Y- b2 `: E▲ 石英晶体等效模型
4 i0 D! ]# Y) X+ N) k
8 Q& z! n7 p# ~- @8 u* r; Z该电路代表晶体的机械振动,与电容Cp并联,电容Cp代表与晶体的电连接。石英晶体振荡器倾向于朝着其“串联谐振”方向运行。晶体的等效阻抗具有串联谐振,其中Cs在晶体工作频率下与电感Ls谐振。该频率称为晶体串联频率?s。如上图所示,除了Ls和Cs与并联电容器Cp谐振外,还有一个第二频率点是由于并联谐振而建立的第二频率点。" O1 n  ]/ \* a# m- b4 u! N" l5 q

; I8 ?2 S8 w' ]. R02晶体振荡器的应用
  U4 x, `2 v- M7 @* r& a: ?6 D' |4 h% ^+ @) N
晶体振荡器不仅仅是给MCU提供时钟,它在各个领域有各种应用,下面简单介绍一些晶体振荡器的应用:
7 L0 f* g& B+ a1 w$ v4 x科尔皮兹晶体振荡器
7 ]  L9 d7 g3 p; I; a3 E5 K4 v  e
1 m; Z5 R/ a( K% K& ?Colpitts振荡器用于产生非常高频率的正弦输出信号。该振荡器可以用作不同类型的传感器,例如温度传感器。使用Colpitts电路中的某些设备,我们可以实现更高的温度稳定性和高频。$ I; W' Z. [6 Z

nbofgidkaur64010478518.png

nbofgidkaur64010478518.png
5 X9 m7 X. e+ X
▲ 科尔皮兹晶体振荡器, A- M. F; P+ a+ `' ]! L" m+ x

" m' H* _2 l8 S) v4 e3 w" k阿姆斯壮晶体振荡器
+ Y' o, o% H4 ?! M; @该电路一直流行到1940年代。这些在再生无线电接收机中被广泛使用。在该输入中,来自天线的射频信号通过一个额外的绕组磁性耦合到振荡电路中,并且减少了反馈,以在反馈环路中进行增益控制。最后,它产生了一个窄带射频滤波器和放大器。在该晶体振荡器中,LC谐振电路被反馈环路取代。
( f: a% H0 e% F9 ^0 }

werqu1acnwe64010478618.png

werqu1acnwe64010478618.png
/ d# I! m6 I& N* J
▲ 阿姆斯壮晶体振荡器
! K: W% K) i  e. M% v
/ X% A) c+ I) B% }/ U& s& n" _6 X皮尔斯晶体振荡器
; z3 ]0 a% l( o% [' b6 l& r在这个简单的电路中,晶体确定振荡频率,并以其串联谐振频率工作,?s在输出和输入之间提供低阻抗路径。谐振时有一个180 度的相移,使反馈为正。输出正弦波的幅度限制为漏极端子的最大电压范围。' o) H' D" Y2 ^; y% K& f9 g

laysgfrtuip64010478718.png

laysgfrtuip64010478718.png

( F( V% O6 J. b6 p▲ 皮尔斯晶体振荡器8 Q( d- }5 i6 g, ~2 Z3 G: n

, @1 B; e8 Y$ [5 T# r03无源晶振和有源晶振的区别- _# |; W# C6 E/ V

! w9 e5 J  u" S* c$ k6 d' I+ ?+ M. r
无源晶振和有源晶振的区别体现:
; c5 g6 J/ m' y) ]+ ?有源晶振:不依靠外部电路,通过自身产生震荡。
) y: N+ A  V7 p9 M8 a# y& a0 X无源晶振:就是一个晶体振荡器,无法通过自身产生震荡。
7 I" {1 H4 n! @% o9 Y有源晶振的缺陷:与无源晶振相比,有源晶振信号电平几乎是不变的,价格方面也会更高。
- V  ]( w& A( V: O; L7 T9 `9 ^
: d3 \9 C7 w4 R7 D5 M! {& {" B上面描述的还是不清晰,那么我们先看下有源晶振的结构图:
6 G* A4 }( i8 ]1 c1 {0 y9 D$ [
" Q2 e2 i/ K! N1 c

rnpxakjgkzr64010478818.jpg

rnpxakjgkzr64010478818.jpg
3 A: L2 D4 _; Y7 {6 p3 T
▲ 有源晶振结构图- s3 L: A4 ^0 O

. J8 ?+ J9 E: j' t$ R上图中XT就是晶体振荡器,其他的器件就是上文说的外部电路,这样只要给有源晶振供电,就可以产生时钟波形。9 c! \, A$ K1 T- N/ [) O  b
而无源晶振,就是只有XT这个晶体振荡器。以STM32为例,STM32集成了上图除XT外的电路,所以我们可以接无源晶振。主要因为晶振不好集成,外挂晶振比较方便。
, s" T8 [7 p) {( B我们可以直接看有源晶振的解剖图,可以看到晶体振荡器和外部电路。
* U- a0 a: h) l! J) A. \8 s' S3 T7 g2 \) [6 a

oajxur32s0j64010478918.png

oajxur32s0j64010478918.png
9 V4 x' J  [& [
  `: ]1 B+ e  b- ^

h5q5vtpirye64010479018.png

h5q5vtpirye64010479018.png
$ z6 ]) ~1 b, c4 f' c
9 W" M5 F& s! C: |% _
▲ 有源晶振解剖图' _2 h; g$ ?% t8 \# _

. p* f4 M" A: a2 e# v下面看一下无源晶振的解剖图,只看到了晶振振荡器。$ a# C* w0 Y% o

2wjykiiuveo64010479118.jpg

2wjykiiuveo64010479118.jpg
5 Z& K3 B+ }0 k& G- f

t5lp1pgugq064010479218.jpg

t5lp1pgugq064010479218.jpg
) W% z8 `8 f1 U( B3 }( ?

ti3sm0qgrcy64010479318.jpg

ti3sm0qgrcy64010479318.jpg

7 M, w6 x, L; R( ?) m! ?▲ 无源晶振解剖图,左右滑动查看更多
+ d9 }+ X/ Q/ S# I0 Y" |  m7 h* J* l4 u6 T
04STM32外接晶振
! ]& b6 z  i# u# z0 s% w) {0 e( Q5 J% `8 T4 u7 K. A9 w- j
以STM32F207为例,一般情况下外部高速时钟(HSE)我们接25M的无源晶振。在用户手册中ST提供了两种方式:, P2 c# Q# w5 F) o% y

2 @$ n" ]: ?- V% o6 N# }2 p; w: x

11g3cfupeno64010479418.png

11g3cfupeno64010479418.png

. y- n; F4 b0 B9 f▲ HSE时钟源
. M# t# b0 j- `% |1 j, m
2 E1 q; U+ O( `1 B; c" J$ M外部高速时钟(HSE)可以通过两个时钟源产生:
+ \1 ?: ^2 z' \1 B, o5 ]  K1、外部晶体/陶瓷谐振器5 l3 k5 G( k4 D0 _/ C9 ?. v% }. `# b- \; i
2、外部用户时钟6 h. Q  i# w/ @: `5 ?
在外部时钟模式中,直接向OSC_IN引脚输入25MHZ的时钟信号,OSC_OUT处于高阻态。也就是说,我们可以外接有源晶振,但是上文说到,一般有源晶振价格都会高一点,很少有外接有源晶振的案例。0 R; O- t% ^) w" ?# Y6 p
上面我们说到,STM32内部集成了晶体振荡器的外部电路,如果外接无源晶振,STM32理论上可以通过禁止部分电路,达到关闭外部高速时钟(HSE)的目的。
2 q! y' v1 c4 c! w/ b2 t1 z+ c事实上,在STM32F207的RCC时钟控制寄存器(RCCclock control register)的16位HSEON,用来打开或关闭HSE振荡器。
7 m. {% R3 L/ \. N% k. h& Q: v

bcx1xb2ewga64010479518.png

bcx1xb2ewga64010479518.png
5 E% W! P8 f" s4 ]$ s2 t* l4 {
由软件置1和清零。
/ D4 l5 ^; H- S* Q( N8 M由硬件清零,用于在进入停机或待机模式时停止HSE 振荡器。如果HSE 振荡器直接或间接用于作为系统时钟,则此位不可复位。
8 Y5 z5 l/ [) ~2 B- q9 k# S0 `( y

eni4dbqramj64010479618.png

eni4dbqramj64010479618.png

7 R. q( ^9 [# o* Z如上图,在system_stm32f2xx.c文件中,345行就是开启HSE的,我们添加343行的死循环,再去测量晶振,发现没有波形。+ a( V# X; R/ v# f
还有另一种方法,我们使用Jlink的J-FlashARM工具,擦除全片数据,再次上电,发现没有波形。
# }8 e* a% w8 Q, O' I: `* ^7 p5 p

trdvg24aapb64010479718.png

trdvg24aapb64010479718.png

* j/ z& C/ f; e8 v% }' V, d这也就解答了一些萌新同学的问题,硬件没有问题,测量晶振发现没有起振,以为是硬件的问题。其实下载一个正常运行(使能了RCCclock control register的HSEON位)的demo,再去测量晶振波形就行了。7 ^5 x( ]( z& }" n/ H

& d3 {4 P, i( S5 o* c& E1 S; L

fducf5cbwzj64010479818.gif

fducf5cbwzj64010479818.gif
" G, U* f6 Y% g1 u  G9 a
, c8 X: Z; r2 U) r( j& I3 b* F

o3osgflstc364010479919.gif

o3osgflstc364010479919.gif
' A# x& J/ ~9 D' H; I4 y% l6 a
设计一款兼容ST207和GD207的开发板; D% A3 D$ S. o- Q$ n0 z4 a
MCU的心脏-晶振
回复

使用道具 举报

发表回复

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

本版积分规则


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