电子电路学习笔记(15)——晶振

一、简介

晶振是数字电路的心脏,就是因为所有的数字电路都需要一个频率高度稳定的工作时钟信号,为电路的工作提供时序基准,使各个模块的工作能够有条不紊的进行下去。而LC振荡器稳定性较差,频率容易漂移(即产生的交流信号频率容易变化),所以最常见的就是用晶振来解决,可以说只要有数字电路的地方就可以见到晶振。

在振荡器中采用一个特殊的元件——石英晶体,可以产生高度稳定的信号,这种采用石英晶体的振荡器称为晶体振荡器。

二、符号

三、分类

晶振的分类: 晶体振荡器也分为 无源晶振有源晶振 两种类型。

  • 无源晶振crystal(简称晶体,也叫谐振器):
    一般是直插两个脚的无极性元件,需要借助时钟电路才能产生振荡信号。常见的有49U、49S封装。
  • 有源晶振oscillator(简称晶振,也叫振荡器):
    一般是表贴四个脚的封装,含有电源引脚、地引脚、频率输出引脚等,只需供电便可产生振荡信号。一般分7050、5032、3225、2520几种封装形式。

区别:

  • 价格:
    有源晶振比较贵,但是有源晶振自身就能震动。而无论是无源晶振,还是有源晶振,都有自身的优点和缺点所在,若考虑产品成本,建议可以选择无源晶振电路;若考虑产品性能,建议选择有源晶振电路,省时方便也能保证产品性能。
  • 精度:
    无源晶振最高精度为5ppm,而有源晶振的精度则可以达到0.1ppm。精度越高,频率稳定性也更好。有源晶振在稳定性上要胜过无源晶振,但也有自身小小的缺陷,有源晶振的信号电平是固定,所以需要选择好合适输出电平,灵活性较差。
  • 封装:
    有源晶振一般4个脚,一个电源,一个接地,一个信号输出端,一个NC(空脚)。有个点标记的为1脚,按逆时针(管脚向下)分别为2、3、4。
  • 外部电路:
    无源晶振有2个引脚,需要借助于外部的时钟电路(接到主IC内部的震荡电路)才能产生振荡信号,自身无法振荡。有源晶振含内部的时钟电路,只需供电便可产生振荡信号。

四、工作原理

晶振具有压电效应,即在晶片两极外加电压后晶体会产生变形,反过来如外力使晶片变形,则两极上金属片又会产生电压。如果给晶片加上适当的交变电压,晶片就会产生谐振(谐振频率与石英斜面倾角等有关系,且频率一定)。晶振利用一种能把电能和机械能相互转化的晶体,在共振的状态下工作可以提供稳定、精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。利用该特性,晶振可以提供较稳定的脉冲,广泛应用于微芯片的时钟电路里。晶片多为石英半导体材料,外壳用金属封装。


石英晶体有一种特性,如果在晶片某轴向上施加压力时,相应施力的方向会产生一定的电位。

相反的,在晶体的某些轴向施加电场时,会使晶体产生机械变形。

五、主要参数

  • 标称频率:
    不同的晶振标称频率不同,标称频率大都标注在晶振外壳上。一般核心频率的选择取决于频率需求元件的要求,比如时钟芯片就需要32.768KHz的晶振,MCU一般是一个范围,基本上从4M到几十M都有。

  • 负载电容(CL):
    负载电容是指晶振的两条引线连接的集成电路(IC)内部及外部所有有效电容之和,可看作晶振片在电路中串接电容。负载电容不同,振荡器的振荡频率不同。但标称频率相同的晶振,负载电容不一定相同。一般来说,有低负载电容(串联谐振晶体)和高负载电容(并联谐振晶体)之分。因此,标称频率相同的晶体互换时还必须要求负载电容一致,不能轻易互换,否则会造成电路工作不正常。

  • 频率准确度:
    频率准确度是指在标称电源电压、标称负载阻抗、基准温度(25℃)以及其他条件保持不变时,晶体振荡器的频率相对于其规定标称值的最大允许偏差,即(fmax-fmin)/f0。精度一般常见的有0.5ppm、±5ppm、±10ppm、±20ppm、±50ppm等等。精度的选择一般要参考频率需求器件对精度的要求,比如高精度的时钟芯片一般在±5ppm以内,普通的应用都选择在±20ppm左右。

  • 温度稳定度:
    温度稳定度是指其他条件保持不变时,在规定温度范围内晶体振荡器输出频率的最大变化量相对于温度范围内输出频率极值之和的允许频偏值,即(fmax-fmin)/(fmax+fmin)。之所以把工作温度单独拿出来,主要是由于晶振是个物理的器件,工作温度与价格是成正比,工作温度要求越高,价格越高,所以选择晶振时也需要重点考虑工作温度。

六、应用电路

6.1 并联型晶体振荡器

单片机和其他一些IC的振荡电路的真名叫“三点式电容振荡电路”,这样的组成可以使晶振处于并联谐振模式。反相器提供了180°的相移,晶振、R1、C1、C2组成的π型网络产生另外180°的相移。所以整个环路的相移为360°。这满足了保持振荡的一个条件。另外一个条件是要求闭环增益应≥1,才能正确起振和保持振荡。

6.2 串联型晶体振荡器

接通电源后,三极管VT1、VT2导通,VT2发射极输出变化的Ie电流中包含各种频率的信号,石英晶体X1对其中的f0信号阻抗很小,f0信号经X1、RP1反馈到VT1的发射极,该信号经VT1放大后从集电极输出,又加到VT2放大后从发射极输出,然后又通过X1反馈到VT1放大,如此反复进行,VT2输出的f0信号幅度越来越大,VT1、VT2组成的放大电路放大倍数越来越小,当放大倍数等于反馈衰减系数时,输出f0信号幅度不再变化,电路输出稳定的f0信号。

七、检测

电容测量法:晶体在结构上类似一只小电容,所以可用电容表测量晶体的容量,通过所测和的容量值来判断它是否正常。

以下是常用晶体的容量参考值。
image.png


• 由 Leung 写于 2021 年 11 月 8 日

• 参考:有源与无源晶振的区别
    晶振详解之工作原理

你好!感谢提问。下面是有关 K210 学习笔记五中串口通信的一些内容: 在 K210 开发板上,串口是一种常见的通信接口,用于将数据从一个设备传输到另一个设备。串口通信通常使用 UART (Universal Asynchronous Receiver/Transmitter) 协议。 要在 K210 上进行串口通信,首先需要使用两个引脚:一个用于接收数据(RX),一个用于发送数据(TX)。这些引脚可以通过 GPIO 端口与外部设备连接。 在 K210 的开发环境中,可以使用 MaixPy 或者 Kendryte Standalone SDK 进行串口编程。 在 MaixPy 中,可以使用 `uart` 模块来进行串口通信。例如,要初始化一个串口对象并设置波特率为 115200,可以使用以下代码: ```python from machine import UART uart = UART(UART.UART1, 115200) ``` 然后,可以使用 `uart.write()` 函数发送数据,使用 `uart.read()` 函数接收数据。例如: ```python uart.write("Hello, world!\n") data = uart.read(10) ``` 在 Kendryte Standalone SDK 中,可以使用 `uart.h` 头文件中的函数来进行串口通信。例如,要初始化一个串口对象并设置波特率为 115200,可以使用以下代码: ```c #include "uart.h" uart_init(UART_DEVICE_1, 115200); ``` 然后,可以使用 `uart_send_data()` 函数发送数据,使用 `uart_receive_data()` 函数接收数据。例如: ```c uart_send_data(UART_DEVICE_1, "Hello, world!\n", 14); char buffer[10]; uart_receive_data(UART_DEVICE_1, buffer, 10); ``` 以上是关于 K210 学习笔记五中串口通信的简要介绍。如果你有更具体的问题,请随时提问!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leung_ManWah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值