晶振原理解析

2023-05-16

目录

01、压电效应

02、晶体振荡器的应用

03、无源晶振和有源晶振的区别

04、STM32外接晶振


下文将进一步讲解晶振的原理,以及晶振和STM32的关系。

01、压电效应

压电效应:某些电介质在沿一定方向上受到外力的作用而变形时,其内部会产生极化现象,同时在它的两个相对表面上出现正负相反的电荷。

正压电效应:当外力去掉后,电介质又会恢复到不带电的状态。

逆压电效应:当作用力的方向改变时,电荷的极性也随之改变。相反,当在电介质的极化方向上施加电场,这些电介质也会发生变形,电场去掉后,电介质的变形随之消失。

当在晶体表面上施加机械压力时,与机械压力成比例的电压出现在晶体上。该电压会导致晶体失真,失真的量将与施加的电压成比例,并且还与施加在晶体上的交流电压成正比,从而导致晶体以其固有频率振动。这种压电效应会产生机械振动或振荡,可用来代替以前的振荡器中的标准LC振荡电路。

下图展示了:石英晶体的等效电路是一个串联的RLC电路。

▲ 石英晶体等效模型

该电路代表晶体的机械振动,与电容Cp并联,电容Cp代表与晶体的电连接。石英晶体振荡器倾向于朝着其“串联谐振”方向运行。晶体的等效阻抗具有串联谐振,其中Cs在晶体工作频率下与电感Ls谐振。该频率称为晶体串联频率ƒs。如上图所示,除了Ls和Cs与并联电容器Cp谐振外,还有一个第二频率点是由于并联谐振而建立的第二频率点。

02、晶体振荡器的应用

晶体振荡器不仅仅是给MCU提供时钟,它在各个领域有各种应用,下面简单介绍一些晶体振荡器的应用:

科尔皮兹晶体振荡器

Colpitts振荡器用于产生非常高频率的正弦输出信号。该振荡器可以用作不同类型的传感器,例如温度传感器。使用Colpitts电路中的某些设备,我们可以实现更高的温度稳定性和高频。

▲ 科尔皮兹晶体振荡器

阿姆斯壮晶体振荡器

该电路一直流行到1940年代。这些在再生无线电接收机中被广泛使用。在该输入中,来自天线的射频信号通过一个额外的绕组磁性耦合到振荡电路中,并且减少了反馈,以在反馈环路中进行增益控制。最后,它产生了一个窄带射频滤波器和放大器。在该晶体振荡器中,LC谐振电路被反馈环路取代。

▲ 阿姆斯壮晶体振荡器

皮尔斯晶体振荡器

在这个简单的电路中,晶体确定振荡频率,并以其串联谐振频率工作,ƒs在输出和输入之间提供低阻抗路径。谐振时有一个180 度的相移,使反馈为正。输出正弦波的幅度限制为漏极端子的最大电压范围。

▲ 皮尔斯晶体振荡器

03、无源晶振和有源晶振的区别

无源晶振和有源晶振的区别体现:

有源晶振:不依靠外部电路,通过自身产生震荡。

无源晶振:就是一个晶体振荡器,无法通过自身产生震荡。

有源晶振的缺陷:与无源晶振相比,有源晶振信号电平几乎是不变的,价格方面也会更高。

上面描述的还是不清晰,那么我们先看下有源晶振的结构图:

▲ 有源晶振结构图

上图中XT就是晶体振荡器,其他的器件就是上文说的外部电路,这样只要给有源晶振供电,就可以产生时钟波形。

而无源晶振,就是只有XT这个晶体振荡器。以STM32为例,STM32集成了上图除XT外的电路,所以我们可以接无源晶振。主要因为晶振不好集成,外挂晶振比较方便。

我们可以直接看有源晶振的解剖图,可以看到晶体振荡器和外部电路。

▲ 有源晶振解剖图

下面看一下无源晶振的解剖图,只看到了晶振振荡器。

▲ 无源晶振解剖图,左右滑动查看更多

04、STM32外接晶振

以STM32F207为例,一般情况下外部高速时钟(HSE)我们接25M的无源晶振。在用户手册中ST提供了两种方式:

▲ HSE时钟源

外部高速时钟(HSE)可以通过两个时钟源产生:

1、外部晶体/陶瓷谐振器

2、外部用户时钟

在外部时钟模式中,直接向OSC_IN引脚输入25MHZ的时钟信号,OSC_OUT处于高阻态。也就是说,我们可以外接有源晶振,但是上文说到,一般有源晶振价格都会高一点,很少有外接有源晶振的案例。

上面我们说到,STM32内部集成了晶体振荡器的外部电路,如果外接无源晶振,STM32理论上可以通过禁止部分电路,达到关闭外部高速时钟(HSE)的目的。

事实上,在STM32F207的RCC时钟控制寄存器(RCCclock control register)的16位HSEON,用来打开或关闭HSE振荡器。

由软件置1和清零。

由硬件清零,用于在进入停机或待机模式时停止HSE 振荡器。如果HSE 振荡器直接或间接用于作为系统时钟,则此位不可复位。

如上图,在system_stm32f2xx.c文件中,345行就是开启HSE的,我们添加343行的死循环,再去测量晶振,发现没有波形。

还有另一种方法,我们使用Jlink的J-FlashARM工具,擦除全片数据,再次上电,发现没有波形。

这也就解答了一些萌新同学的问题,硬件没有问题,测量晶振发现没有起振,以为是硬件的问题。其实下载一个正常运行(使能了RCCclock control register的HSEON位)的demo,再去测量晶振波形就行了。

点击查看本文所在的专辑,STM32F207教程

关注公众号,第一时间收到文章更新。评论区不能及时看到,需要交流可以到公众号沟通

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

晶振原理解析 的相关文章

  • nvidia-smi:command not found 问题解决,Failed to initialize NVML: Driver/library version mismatch

    在装驱动之后 发现nvidia smi不能用了 于是在网上找到了解决方案 简单来看 xff0c 就两步 1 unload nvidia kernel mod 2 reload nvidia kernel mod 执行起来就是 1 sudo
  • 基于OpenCV的双目深度估计实现与改进

    双目深度估计 一 传统方法 常用的方法有SAD匹配算法 xff0c BM算法 xff0c SGBM算法 xff0c GC算法 1 1 SAD算法 SAD Sum of absolute differences 是一种图像匹配算法 xff0c
  • Libstdc++.so.6: version `GLIBCXX_3.4.22’ not found(conda)

    error Libstdc 43 43 so 6 version 96 GLIBCXX 3 4 22 not found fix 在conda环境下 xff0c 由于安装了某些模块 xff0c 使得模块的版本不一样 其中libstdc 43
  • pytoch报错OSError: [Errno 24] Too many open files

    因为默认的file descriptor共享策略使用文件描述符作为共享内存句柄 xff0c 并且当DataLoader上有太多批次时 xff0c 这将达到限制 要解决此问题 xff0c 您可以通过将其添加到脚本来切换到file system
  • MXNet的gluon转symbol并保存

    from mxnet gluon model zoo import vision import mxnet as mx import numpy as np mobilenetv205 61 vision get model 39 mobi
  • 激光雷达技术路线:机械式、MEMS是主流,OPA、Flash、FMCW发展空间大

    激光雷达是通过发射激光束来探测物体与传感器之间精准距离的主动测量装置 xff0c 包含发射单元 接收单元 扫描单元以及数据处理单元 激光雷达通过激光器和探测器组成的收发阵列 xff0c 结合光束扫描 xff0c 可以对广义机器人所处环境进行
  • C++ 错误解决 —— internal compiler error

    问题 xff1a g 43 43 编译时 xff0c 报错 xff1a g 43 43 internal compiler error Killed program cc1plus 出错原因 xff1a 出错的原因是 xff08 虚拟机 x
  • 基于STC89C52的智能小车——红外避障篇

    做这个小车真是历尽波折 因为我的零件是散买的 xff0c 所以在组装时出了各种幺蛾子 先是装马达的时候发现螺丝买短了 xff0c 之后又是单片机最小单元装不到小车底板上 千辛万苦把小车组装好了 xff0c 终于可以开心 xff08 并不 x
  • make、makefile、cmake之间的区别与联系

    make makefile cmake之间的区别与联系 首先说明一下make makefile cmake存在的原因 在进行编译时 xff0c 如果程序只有一个源文件 xff0c 那么我们可以直接利用gcc命令对其进行编译 xff1b 但是
  • 基于STC89C52的智能小车——PWM调速篇

    虽然我的小车因为电池电压太低慢的要死 xff0c 不过PWM还是要学的 PWM简单来说就是通过调整占空比 xff08 一个时间段 t 内电机运行的时间占总时间的比例 xff09 来调整小车速度 当然为了小车运行稳定 t 必须很小 xff0c
  • 基于STC89C52的智能小车——红外避障+PWM调速篇

    这篇学习笔记虽然看起来很水 xff0c 毕竟红外避障和PWM在之前的学习笔记里都写过了 xff0c 但这次确实是我耗时最久的一次作业 用软件实现PWM真是一个深渊巨坑 首先是由于小车的方向函数的运作方式是切换运动状态 xff0c 而我们用P
  • 基于STC89C52的智能小车——蓝牙遥控篇

    蓝牙遥控是依靠单片机的串口通讯来实现的功能 这周我主要学习的内容是串口通讯 在完成学习后我用之前买避障小车时顺便买的蓝牙模块做了一个升级版智能小车 xff0c 它可以通过蓝牙模块实现避障模式与蓝牙遥控模式的切换以及速度的调整 蓝牙模块的接线
  • DS1302实时时钟

    DS1302是一款可离线运转的实时时钟 本周我的学习任务是利用它和LCD1602来在学习板上制作一个时钟 下面是代码 xff08 除LCD1602的头文件 xff09 main span class token macro property
  • 利用矩阵键盘制作密码锁

    本周学习了关于矩阵键盘的知识 xff0c 并利用矩阵键盘制作了密码锁 矩阵键盘利用矩阵式的连接减少了IO口的使用 xff0c 并用扫描的方式保证每一个按键的响应 下面是代码 main span class token macro prope
  • LED点阵

    本周的学习内容是LED点阵的使用 其实LED点阵与动态数码管的原理非常相似 xff0c 都是通过扫描和视觉暂停现象来实现多个LED同时点亮的视觉效果 不同的是 xff0c 点阵可以通过74HC595来实现三根线串行输入多根线并行输出的效果
  • 前端进度条动画(自定义颜色)

    前端进度条动画 xff08 自定义 代码如下 xff08 示例 xff09 xff1a span class token operator lt span template span class token operator gt span
  • Keil调试中遇到问题汇总

    1 Keil MDK中工程编译弹出提醒框 xff1a Browse information of one of more files is not available Doing a project rebuild might fix th
  • C语言实现TCP服务器与客户端通信

    以上是TCP通信客户端与服务器实现通信的基本原理流程图 1 客户端的实现 xff08 4个步骤 xff09 1 1创建socket对象 1 2请求连接 1 3发送数据 1 4关闭套接字 include lt stdio h gt inclu
  • 关闭select监控的fd出现的问题及解决方案

    关闭select监控的fd出现的问题及解决方案 前言一 实现思路二 问题三 bind 失败分析1 使用netstat查看socket状态2 为什么srv fd引用计数会加13 select 超时后srv fd引用计数减14 man sele

随机推荐

  • SVN如何打tag,以及主干,分支的相互合并操作

    1 给项目打 tag的步骤 1 xff09 选中项目后 xff0c 点击鼠标的左键弹出对话框 选择TortoiseSVN gt Branch tag 如图所示 点击Branch tag后弹出如下对话框 svn 显示的路径是需要打tag文件的
  • OKHttp使用详解

    一 xff0c OKHttp介绍 okhttp是一个第三方类库 xff0c 用于android中请求网络 这是一个开源项目 是安卓端最火热的轻量级框架 由移动支付Square公司贡献 该公司还贡献了Picasso和LeakCanary 用于
  • HttpUrlConnection使用详解

    一 xff0c HttpURLconnection的介绍 在Android开发中网络请求是最常用的操作之一 xff0c Android SDK中对HTTP 超文本传输协议 也提供了很好的支持 xff0c 这里包括两种接口 1 标准Java接
  • SwipeRefreshLayout的使用详解

    一 xff0c 概述 SwipeRefreshLayout意思为下拉刷新的布局 xff0c 其继承ViewGroup xff0c Google在android5 0中提供的下拉刷新控件 xff0c 且提供了v4支持包 这是一个容器布局 xf
  • Java操作数据库方式(六)DataSource详解

    概述 在java世界里操作数据库有很多方式 xff0c 在众多方式中除了JDBC外都有DataSource对象 DataSource可以看作数据源 xff0c 它封装了数据库参数 xff0c 连接数据库 xff0c 程序中操作DataSou
  • MySql(四)之项目实战

    概述 MySql项目实战是结合实际开发工作 xff0c 来说明数据库分析 xff0c 数据库设计 xff0c 数据库创建等一些列流程 这部分知识不属于严谨的技术 xff0c 不同的人有不同的方法 xff0c 如果你不认可你可以继续自己的方法
  • MySql(五)之sql优化

    概述 作为一个高级程序员 xff0c 不仅要熟练使用sql语句 xff0c 更应该使用高效的sql语句 本篇blog讲解的内容主要包括 xff1a 索引的使用 执行计划分析 sql优化常见案例分析 索引 一 xff0c 什么是索引 索引的作
  • Oracle(一)之安装与使用

    概述 oracle是关系型数据库中的一种 xff0c 与MySql类似 xff0c 也是一种数据库服务 xff0c oracle公司出品 比MySql安全可靠 xff0c 但收费 oracle数据库无论在存储数据量 xff0c 性能 xff
  • Oracle(二)之视图的使用

    概述 什么是视图 视图可以理解为一张虚拟表 xff0c 它是由固定的sql查询语句操作真实表得到的一个临时表 视图中的数据就是查询sql语句的结果 得到视图之后 xff0c 我们可以使用sql操作视图 xff0c 但只能是查询操作 查询视图
  • CMUX 软件包发布 | 不一样的串口复用

    1 什么是 CMUX CMUX xff08 Connection Multiplexing xff09 xff0c 即连接 xff08 串口 xff09 多路复用 xff0c 其功能主要在一个真实的物理通道上虚拟多个通道 xff0c 每个虚
  • Linux中使用curl命令发送带参数的get请求和post请求

    1 curl与wget 命令的区别 相似之处 xff1a wget 和 cURL 都可以下载内容 xff0c 都可以向互联网发送请求并返回请求项 xff0c 也可以进行 HTTP POST 请求 xff0c 它们都是命令行工具 xff0c
  • STM32片上Flash内存映射、页面大小、寄存器映射

    本文以STM32F103RBT6为例介绍了片上Flash Embedded Flash 若干问题 xff0c 包括Flash大小 内存映射 块大小 页面大小 寄存器 二 块大小 Flash先分块再分页 xff0c 擦除是按块进行 xff0c
  • keil 修改RAM、ROM

  • 单片机flash不足,keil如下方式进行优化

    单片机的flash不够的时候可以使用keil的优化等级进行优化 xff1b 但是使用Opt进行优化的时候会遇到难以预料的错误 xff0c 所以使用时要对一些变量进行标识 xff0c 比如使用volatile关键字 还有其他方式也能减少内存的
  • msp430看门狗定时器

    看门狗定时器用来防止程序因供电电源 空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故 在很多单片机中都内置了看门狗 xff0c 看门狗本身是一个定时器 xff0c 当定时器溢出时即进行系统复位 xff0c 因此需要在程序中对看门狗定时器
  • UART、SPI和IIC详解与比较(超级实用的调试经验)

    1 UART UART有4个pin xff08 VCC GND RX TX xff09 用的TTL电平 低电平为0 0V xff0c 高电平为1 xff08 3 3V或以上 xff09 UART使用的是异步串行通信 UART是两线 xff0
  • RS232、RS485和CAN协议总结与对比

    一 RS232串口是计算机上一种非常通用的设备通信协议 串口的电气特性 xff1a 1 RS 232串口通信最远距离是50英尺 xff1b 2 RS232可做到双向传输 xff0c 全双工通讯 xff0c 最高传输速率20kbps xff1
  • STM32 GPIOx_CRL/GPIOx_CRH 寄存器

    GPIOx CRL GPIOx CRH xff08 x xff1a A F xff09 寄存器用来对GPIO进行端口设置 xff0c 如 xff1a 设置GPIO为输入模式或输出模式 每个寄存器含有32位 xff0c 每4位用来设置1个GP
  • SHT10 温湿度传感器的程序以及调试总结

    没有其他东西 直接上调试注意事项和代码 xff01 xff01 调试要点 xff1a 1 DATA加10K上拉电阻 2 注意示波器观察各个信号 基础要点 xff1a 1 串行时钟输入 xff08 SCK xff09 单片机模拟时钟 2 串行
  • 晶振原理解析

    目录 01 压电效应 02 晶体振荡器的应用 03 无源晶振和有源晶振的区别 04 STM32外接晶振 下文将进一步讲解晶振的原理 xff0c 以及晶振和STM32的关系 01 压电效应 压电效应 xff1a 某些电介质在沿一定方向上受到外