【STM32】知识补充 晶振的基本原理及其应用

news2024/11/29 4:52:59

【STM32】知识补充 晶振的基本原理及其应用

  • 概述
  • 晶振的基本原理
  • 晶振的性能参数
  • 晶振的分类
  • 晶振的应用
  • 晶振器在 STM32 上的应用
  • 总结

概述

晶振作为现代电子技中的重要组件, 广泛应用于各种电子设备中, 起到稳定时钟信号的作用. 本文将为您解释晶振的基本原理及其在实际应用中的用途.

在这里插入图片描述

晶振的基本原理

晶振 (Crystal Oscillator) 又称为石英晶体振荡器, 是一种利用石英晶体的压电效应产生稳定频率信号的电子器件. 石英晶体在收到外加电压时会产生形变, 而在受到外力作用时会产生电荷. 这种特征使得晶振能够在电路中起到稳定振荡的作用.

晶振的性能参数

了解晶振的性能参数有助于我们在实际应用中选择合适的晶振产品, 以下是一些主要的性能参数:

  1. 频率: 晶振产生的振荡频率, 单位为赫兹 (Hz). 频率是晶振的核心参数, 直接影响电子设备的运行速度
  2. 频率稳定度: 晶振输出频率随环境温度, 工作电压和老化等因素变化的程度. 搞稳定度的晶振在复杂环境下可以保持更好的性能
  3. 驱动电平: 晶振在正常工作状态下所需要的最小输入电压. 选择合适的驱动电平可以降低电路的功耗, 提高设备的运行效率
  4. 负载电容: 与晶振相连的外部电容, 影响晶振的工作状态. 根据电路需求选择合适的负载电容, 可提高晶振的稳定性和可靠性

晶振的分类

根据频率不同, 晶振可以分为以下三类:

  1. 低频晶振 (32.768 kHz): 主要应用于实时时钟, 手表等设备
  2. 中频晶振 (1-10 MHz): 用于通信设备, 网络设备等
  3. 高频晶振 (10-200 MHz): 广泛应用于高速数字电路, 微处理器等

晶振的应用

晶振在电子设备中有广泛的应用, 如下所示:

  1. 时钟源: 晶振在实时时钟, 手表, 计时器等设备中提供稳定的时钟信号
  2. 微处理器和微控制器: 晶振为处理器提供稳定的时钟信号, 保证处理器高效稳定运行
  3. 通信设备: 晶振在通信这边中作为参考频率源, 保证设备之间同步传输数据
  4. 网络设备: 晶振在路由器, 交换机等设备中提供稳定的时钟信号, 保证数据传输的稳定性

晶振器在 STM32 上的应用

将晶振器连接到 STM32 对应的引脚 (通常为 OSC_IN 和 OSC_OUT). 同时, 根据晶振器的负载电容要求, 连接相应的外部电容.

配置 STM32 时钟系统: 使用 STM32 的时钟配置工具 (如 CubeMX) 或手动配置寄存器, 选择外部晶振作为系统时钟源. 同时, 设置 PLL 和分频系数, 以便为内核, 总线和外设提供合适的时钟频率.

晶振的基本原理及其应用
配置晶振为系统时钟源:

void SystemClock_Config(void)
{
    RCC_OscInitTypeDef RCC_OscInitStruct = {0};
    RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

    // 配置外部晶振作为HSE时钟源
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    // 根据外部晶振频率和所需系统时钟频率设置PLL参数
    // 这里假设外部晶振为8MHz,目标系统时钟频率为168MHz
    RCC_OscInitStruct.PLL.PLLM = 8;
    RCC_OscInitStruct.PLL.PLLN = 336;
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ = 7;
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    {
        Error_Handler();
    }

    // 配置系统时钟源为PLL,并设置AHB、APB1、APB2总线时钟分频系数
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
    {
        Error_Handler();
    }
}

总结

晶振作为电子设备中的关键组件, 发挥着至关重要的作用. 通过了解晶振的基本原理和实际应用, 我们可以更好地理解其在现代电子技术中的重要性. 在未来的技术发展中, 晶振将继续发挥其稳定时钟信号的作用, 为各类电子设备提供坚实的基础.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/474155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第 02 章 OSPF实验

2.1 OSPF 回顾 2.1.1 实验目的 在 CCNA 中,我们学习到了 OSPF 是一个链路状态路由协议,和 RIP 以及 EIGRP 的最大 不同在于对于它们对于网络的认识以及根本的算法的不同。通过对 CCNA 中 OSPF 配置实验 的回顾,从中加强我们对 OSPF 的理解。…

带你学c带你飞-P7取值范围

比特位 CPU能读懂的最小单元——比特位,bit,b 字节 内存机构的最小寻址单元——字节,Byte,B 1Byte8bit 进制 怎么算 注意:int默认是signed类型,signed类型第一位是符号位 符号位 存放signed类型的存…

对比体验 ChatGPT,聊聊文心一言的优缺点

在昨天文心一言发布后,我第一时间拿到了体验的资格,但第一次使用后却不禁有些失望。他的逻辑能力极度缺乏、创造力也差点意思。不过,今天再次高强度使用后,却又让我对这款产品的想法有了些许改变。 前言 将 2023 年称为 AI 纪元…

西门子PLC沿脉冲类指令汇总

S7-1200CPU提供了四种沿脉冲指令供用户使用,分别为:扫描操作数信号边沿指令、在信号边沿置位操作数的指令、扫描RLO的信号边沿指令以及检测信号边沿指令。 信号从0--1的时刻称为上升沿,信号从1--0的时刻称为下降沿,不管是上升沿还…

【VM服务管家】VM4.0平台SDK_2.1环境配置类

目录 2.1.1 环境配置:CSharp二次开发环境配置方法2.1.2 环境配置:Qt二次开发环境配置方法2.1.3 环境配置:MFC二次开发环境配置方法2.1.4 环境配置:VB.Net二次开发环境配置方法2.1.5 环境配置:运行出现Vm.Core.Solution…

python+django+vue消防知识宣传网站

开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 层随着移动应用技术的发展,越来越多的消防单位借助于移动手机、电脑完成生活中的事…

Ubuntu目录和文件的相关操作

目录 1、目录的切换 2、查看目录及文件 3、目录的常见操作 4、文件的常见操作 1、目录的切换 打开终端窗口(”ctrlaltt“) 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户…

01_JUC概述

1. JUC是什么? 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或…

玩手机打电话识别监测算法 yolov8

玩手机打电话识别监测系统通过YOLOv8网络模型技术,玩手机打电话识别监测算法对现场有人玩手机抽烟打电话时可以立即自动进行抓拍存档。YOLOv8 算法的核心特性和改动可以归结为如下:提供了一个全新的 SOTA 模型,包括 P5 640 和 P6 1280 分辨率…

【全年汇总】2023年CCF人工智能会议截稿时间汇总(持续更新)

本博文是根据2022年CCF会议推荐的人工智能领域相关会议目录撰写。 一、截稿时间总览 截稿时间的总时间轴内容将会持续更新...... 往年投稿及录用情况及链接详见图片后面的内容。 二、会议详细目录 由于一些会议的投稿时间还没公开,因此根据往年投稿时间在表格中使…

石化企业数字化防爆融合通信解决方案

项目背景 石化工业是我国国民经济和社会发展的基础性、战略性产业,其发展和壮大受到了党和国家的高度重视。随着石化企业厂区规模的不断扩大以及技术的快速发展,现有石化企业专网通信系统建设相对滞后,缺乏结合人员管理、安全生产、安全通信…

商品详情API接口如何获取淘宝数据

淘宝是中国最大最受欢迎的电商平台之一,汇集了大量的商家和买家。在淘宝上热门商品的销量经常十分巨大,因此有些开发者和网站想要获取淘宝商品数据来进行一些分析。下面是一篇关于淘宝商品详情API接口获取淘宝数据的文章。 一、淘宝商品API接口介绍 淘…

HadaFS - Burst Buffer解读

背景 近几年AI,ML,HPC大火, 针对这些场景的存储技术及方案也逐步衍生出两个分支,第一支:以Lustre,BeeGFS等为代表的分布式并行文件系统, 这些文件系统对POSIX提供了很好的支持,各种…

Idea关闭或开启引用提示Usages和Annotations

IDEA的引用提示与Annotation 在2022版本的Idea中,新增了引用提示(Usages)和作者(Annotations)的功能。虽然用起来挺好用的,但对电脑还是有一定的压力,在配置比较低的电脑上,打开一个…

PHP入门【1】使用组合包安装php

目录 一,安装appserv组合包 二,运行第一个php程序 一,安装appserv组合包 组合包:将apache,mysql,php等服务器软件和工具安装配置完成后打包处理 组合包大大提高了我们的效率,不需要为配置环境…

使用Python和机器学习进行文本情感分类

使用Python和机器学习进行文本情感分类 1. 效果图2. 原理3. 源码参考这篇博客将介绍如何使用Python进行机器学习的文本情感分类(Text Emotions Classification)。 1. 效果图 训练文本及情感分类前5条数据如下: 训练过程及测试文本情感分类效果图如下: 可以看到 对文本“S…

javaEE初阶 — 服务器版本的表白墙案例

文章目录 原来版本涉及的问题设计程序1 点击提交2 页面加载 实现后端代码1 新建一个 Maven 项目。2 按照之前第一个 Servlet 程序的步骤来进行设置3 新建一个 MessageServlet 类 实现前端代码1 点击提交的时给服务器发送一个 POST 请求2 在页面加载时发送一个 GET 请求3 将数据…

如何学习数据结构和算法

背景: 对待数据结构与算法的态度可能大多数人就是觉得晦涩难懂。这节课我们跟随老师看看老师是如何带领我们入门的。 定义: 首先我们了解数据结构和算法的定义: 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数…

MES系统8路热电偶温度输出太网口

8路热电偶温度模块可以同时采集8个热电偶信号,并且具备高精度、高稳定性和良好的抗干扰性能,非常适合工业领域中需要监测多个物体温度的应用场景。 该热电偶温度模块拥有以下几个特点: 1. 8个差分输入通道,支持多种类型的热电偶…

【排序】归并排序(递归+非递归图示详解哦)

全文目录 引言归并排序思路递归实现 归排非递归思路实现 总结 引言 在本篇文章中,将继续介绍一种排序算法:归并排序。 归并排序运用了归并的思想,即将两个有序数列归并为一个有序数列。在前面的合并两个有序链表时,运用了这种思想…