【基础篇】1.2 认识STM32(二)

3.3 VREF+/VREF-引脚

VREF+和VREF-是STM32中用于提供参考电压的引脚。如下图:

VREF+引脚可以连接一个单独的外部参考电压,范围在2.0V~VDDA,但不能超过VDDA,否则就超过了模拟器件的最大供电电压。在100引脚的封装中,VREF-是A/D的参考,当需要使用时,必须绑定到VSSA(使得所有模拟器件的参考都相对于VSSA)。

VREF-引脚是参考电压输入引脚负极。在64及更少的引脚中,VREF-和VREF+是不可用的,在内部被接到一个ADC电压提供源(VDDA)并接地(VSSA),此时参考电压就是AD的工作电压了。

 3.4 VBAT引脚

VBAT在电路中代表电池工作模式专用引脚。它主要用作给内部RTC(实时时钟)供电,在主要电源(VDD)掉电的情况下,可以确保RTC的内部工作,通常采用钮扣式电池。在不需要使用RTC的情况下,VBAT引脚可以和VDD引脚接在一起。

3.5 NRST引脚

NRST引脚是STM32F的异步复位脚。当NRST输入低电平的时候,MCU处于复位状态,重设所有的内部寄存器,及片内几十KB的SRAM。当NRST从低电平变高时,PC指针从0地址开始。但是复位的回时候不会将STM32F片内RTC的寄存器以及后备存储器重置,因为它们是用电池通过专门的VBAT脚供电。

3.6 BOOT0/BOOT1引脚

BOOT0和BOOT1是STM32微控制器的两个重要引脚,它们在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序。

  1. BOOT0:这是一个普通输入/输出引脚,用于配置芯片的启动模式。当BOOT0引脚为低电平时,芯片将从Flash存储器中启动;当BOOT0引脚为高电平时,芯片将从系统引导加载器(System Bootloader)或其他外部存储器(如ROM或RAM)中启动(取决于芯片的配置)。
  2. BOOT1:这也是一个普通输入/输出引脚,用于定义额外的启动模式。

需要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失。多数情况下,SRAM只是在调试时使用,也可以做其他一些用途。在ISP下载的情况下,BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0的跳线接回0,也即BOOT0=0,BOOT1=0 。

3.7晶振引脚

说到晶振引脚之前,我们先聊聊什么是晶振。

通常情况下,对于一些成熟的STM32开发板,在其电路原理图的设计中,MCU外接了两个晶振。一个是低速晶振 ,另一个是高速晶振。

而晶振是一种用于产生稳定时钟信号的电子元件,通常由石英晶体制成。晶振的作用是提供一个基准时钟信号,用于同步和控制微控制器、计算机、通信设备等数字系统的操作。晶振的稳定性、精度和频率范围对于数字系统的性能和稳定性至关重要。晶振广泛应用于各种电子设备中,如计算机主板、嵌入式系统、通信设备、计时器、电子钟表等。

晶振的基本工作原理是利用石英晶体的压电效应来产生高频振动。当在石英晶体上施加交变电场时,晶体将会产生机械变形,这种变形会导致晶体内部离子的移动并形成一个稳定的振荡。这个振荡的频率取决于晶体的物理特性,如尺寸、形状和材料等。通过控制交变电场的频率和幅度,可以精确地控制晶体的振荡频率,从而得到所需的时钟信号。

上面说到MCU会外接晶振,为什么是外接呢?

晶振通常是外接而不是封装到IC内部,这主要是因为实用性和成本的问题。早些年,芯片的生产制作工艺也许还不能够将晶振做进芯片内部,但现在已经可以实现。然而,将晶振集成到芯片内部会增加成本,并且一旦晶振封装进芯片内部,其频率也就固定了,无法再更换。相比之下,将晶振作为外部元件,可以根据需要自由地更换晶振来给芯片提供不同的频率。此外,晶振和芯片的材料是不同的,芯片(集成电路)的材料是硅,而晶体则是石英(二氧化硅),无法直接做在一起,但可以封装在一起,只是成本会比较高。因此,从实用性和成本的角度考虑,晶振通常是作为外部元件连接在芯片上,而不是封装到IC内部。

那么mcu又为什么需要外接两个晶振呢?

MCU需要一个高速晶振和一个低速晶振的原因在于它们各自的作用和优势。

首先,外部高速晶振是一种用于提供高精度时钟信号的晶振,它通常用于微处理器和微控制器的时钟输入。由于外部高速晶振的精度较高,因此可以保证系统时序的准确性,从而提高系统的稳定性和可靠性。与此同时,外部高速晶振还能够提供更高的时钟频率,使处理器的工作速度更快。因此,外部高速晶振是很多电子设备中必不可少的一个组成部分。

其次,低速晶振则是一种用于提供低精度时钟信号的晶振,它通常用于计时器、时钟、闹钟等电路中。虽然低速晶振的精度较低,不能用于要求高精度时序的电路,但在一些要求低功耗的电路中,低速晶振是一个比较好的选择。因为低速晶振的频率较低,所以在工作时需要的能量也相应较少,从而能够实现更低的功耗。

综上所述,MCU需要一个高速晶振和一个低速晶振是因为高速晶振可以提供高精度、高频率的时钟信号,提高系统性能和稳定性;而低速晶振则可以在低功耗电路中发挥作用,减少能量消耗。

3.7.1 高速晶振电路(OSC_IN/OSC_OUT)

OSC_IN和OSC_OUT是STM32单片机上的外部时钟输入和输出引脚。它们主要用于接入外部晶振,为系统提供时钟源。

  1. OSC_IN引脚:通常用来连接外部振荡器或晶振的输入端,以获取稳定的时钟信号。这个信号可以是任何频率的时钟源,但需要与单片机的工作频率相匹配。
  2. OSC_OUT引脚:是单片机内部的时钟输出引脚,它可以将单片机内部产生的时钟信号输出到其他器件或系统中。这个时钟信号的频率和相位可以根据需要进行调整。

总之,OSC_IN和OSC_OUT引脚是STM32单片机中非常重要的时钟引脚,它们为单片机提供了稳定的时钟信号,从而保证了系统的正常运行。

3.7.2 低速晶振电路(OSC_IN32/SOC_OUT32)

OSC_IN32和OSC_OUT32引脚是微控制器或处理器上的时钟输入和输出引脚,用于与外部时钟源连接。

OSC_IN32是外部时钟输入引脚,用于接收来自外部时钟源的时钟信号。这个外部时钟源可以是一个晶体振荡器、陶瓷振荡器或其他类型的时钟发生器。通过连接外部时钟源到OSC_IN32引脚,微控制器可以从外部源获取时钟信号,并基于该信号进行工作。

OSC_OUT32是外部时钟输出引脚,用于将微控制器的内部时钟信号输出到外部设备。通过这个引脚,可以将微控制器的时钟信号传递给其他需要同步的电路或设备。例如,如果有一个外部模块需要与微控制器的时钟同步工作,可以通过连接OSC_OUT32引脚到该模块的时钟输入引脚来实现同步。

3.9 SWCLK/SWDIO引脚

SWCLK/SWDIO引脚是串行线调试(Serial Wire Debug,SWD)接口的两个引脚。SWD是一种用于微控制器调试和编程的串行通信协议。

  1. SWCLK(Serial Wire Clock):串行时钟线。它用于向目标设备发送时钟信号,控制数据传输的速度。SWCLK信号由调试器或编程器生成,用于同步与微控制器之间的通信。
  2. SWDIO(Serial Wire Data Input/Output):串行数据输入/输出线。它用于向目标设备发送或接收数据。当调试器或编程器需要与微控制器进行通信时,它通过SWDIO线发送命令和数据,并从SWDIO线接收响应和数据。

下载调试电路,具体如下

SWD接口的主要优势是它仅需要两个引脚(SWCLK和SWDIO),与使用传统的JTAG接口相比,可以节省引脚资源。此外,SWD接口还具有高速、可靠和低成本的特点,因此在许多微控制器应用中得到了广泛应用。

四,附录

前文中的电路图中出现了一些专有名词,这里简单介绍下:

  • 10K

10K电阻是一种电子元件,其电阻值为10000欧姆(Ω),也可以表示为10KΩ。它通常用于控制电流在电路中的流动,以调节电路中电流的大小和方向。该电阻可以采用硬质材料制成,以吸收热量并防止电路过热。

此外,10K电阻也常用于限制不同电路部件的电流,如电容器、变压器和电池等。它还可以用来抑制电路中的空载损耗,减少电路中的干扰。在电力系统和电子电路中,10K电阻的应用非常广泛。

  • GND

GND是电线接地端的简写,代表地线或0线。这个地并不是真正意义上的地,是出于应用而假设的一个地,对于电源来说,它就是一个电源的负极。电路图上和电路板上的GND(Ground)代表地线或0线,GND就是公共端的意思

  • D1、D2

D1和D2可能是二极管或LED等电子元件的标识符。这些元件在电路中通常用于控制电流的方向或作为指示灯。

  • C7

C7是一个电容器的标识符。电容器在电路中用于储存电荷,并在需要时释放电荷,以平滑电路中的电压波动或滤除噪声。

  • R5、R6、R7

R5、R6和R7的标识符表示在电路图中存在三个不同的电阻器。每个电阻器都可能有特定的阻值和其他参数,这些参数会影响电路的性能和功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务实战系列之ZooKeeper(实践篇)

前言 关于ZooKeeper,博主已完整的通过庖丁解牛式的“解法”,完成了概述。我想掌握了这些基础原理和概念后,工作的问题自然迎刃而解,甚至offer也可能手到擒来,真实一举两得,美极了。 为了更有直观的体验&a…

分布式链路追踪 —— 基于Dubbo的traceId追踪传递

文章目录 原文链接RpcContext 上下文对象Dubbo 过滤器(Filter)对象基于Dubbo的traceId追踪传递实现 原文链接 RpcContext 上下文对象 在实现 Dubbo 调用之间的链路跟踪之前,先简单了解 RpcContext 上下文对象和 Filter 过滤器对象&#xff…

vue使用xlsx和xlsx-style导出xlsx文件并修改样式

1.下载依赖 npm install xlsx --save npm install file-saver --save npm install xlsx-style --save2.先修改xlsx-style的源码,一旦引入xlsx-style则会报错 在\node_modules\xlsx-style\dist\cpexcel.js 807行 的 var cpt require(’./cpt’ ‘able’); 改成 v…

接口测试的工具(3)----postman+node.js+newman

1.安装newman:输入命令之后 一定注意 什么都不要操作 静静的等待结束就行了。 2.安装失败的对此尝试不行 在用下面的方法 解压一下就行了 3.验证是否成功 多次尝试是可以在线安装成功的

开发企业展示小程序的关键步骤和技巧

随着移动互联网的快速发展,小程序已经成为企业展示形象、推广产品和服务的重要工具。拥有一个优秀的小程序可以帮助企业提高品牌知名度,吸引更多潜在客户,提升用户体验。以下是拥有一个展示小程序的步骤: 确定需求和目标 首先&am…

21、同济、微软亚研院、西安电子科技大提出HPT:层次化提示调优,独属于提示学习的[安妮海瑟薇]

前言: 本论文由同济大学、微软亚洲研究院、西安电子科技大学,于2023年12月11日中了AAAI2024 论文: 《Learning Hierarchical Prompt with Structured Linguistic Knowledge for Vision-Language Models》 地址: [2312.06323]…

操作系统习题

操作系统习题 一.选择题二.判断题三.PV操作题 学习完操作系统以后也要做题巩固一下,下面是我收集到的一些题目,如有问题欢迎大家一起讨论! 题目较多,可以选择自己需要的来做,答案仅供…

干货教学!!!RHEL8中ansible中常用模块的使用

内容很长各位大老爷耐心观看 本章主要介绍ansible中最常见模块的使用 文件管理模块软件包管理模块服务管理模块磁盘管理模块用户管理模块防火墙管理模块 ansible的基本用法如下 ansible 机器名 -m 模块x -a “模块的参数” 对被管理机器执行不同的操作,只需要调…

WinSCP显示服务器隐藏的文件

正常情况下,如果我们有使用WinSCP作为SFTP、FTP管理主机空间的时候,如果有类似.htaccess或者其他.开头或者其他特殊文件名扩展会直接看不到而是隐藏着的。这样就显得比较麻烦,自己都不知道有还是没有,比如我们要修改.htaccess伪静…

【1.8计算机组成与体系结构】磁盘管理

目录 1.磁盘基本结构与存取过程1.1 磁盘基本结构1.2 磁盘的存取过程 2.磁盘优化分布存储3.磁盘单缓冲区与双缓冲区4.磁盘移臂调度算法 1.磁盘基本结构与存取过程 1.1 磁盘基本结构 磁盘:柱面,磁道,扇区。 1.2 磁盘的存取过程 存取时间寻…

预测性维护在汽车制造行业中的应用

汽车制造行业是一个高度复杂和精细化的领域,依赖于各种设备来完成生产流程。这些设备包括机械装配线、焊接机器人、喷涂设备、传送带等。然而,这些设备在长时间运行中不可避免地会遇到各种故障,给生产进程带来延误和成本增加。为了应对这一挑…

22--Map集合

1、Map集合 现实生活与开发中,我们常会看到这样的一类集合:用户ID与账户信息、学生姓名与考试成绩、IP地址与主机名等,这种一一对应的关系,就称作映射。Java提供了专门的集合框架用来存储这种映射关系的对象,即java.…

安卓小练习-校园闲置交易APP(SQLite+SimpleCursorAdapter适配器)

环境: SDK:34 JDK:20.0.2 编写工具:Android Studio 2022.3.1 整体效果(视频演示): 小练习-闲置社区APP演示视频-CSDN直播 部分效果截图: 整体工作流程: 1.用户登录&…

C语言输出菱形(详解版)

菱形,就是如下所示的图形,总行数与总列数相等: 写一个程序,根据用户输入的总行数,打印出菱形。 这个题目主要是找出规律,考察读者的逻辑思维。 你可以从第一行开始,遍历所有的列,也…

数据可视化---双Y轴折线图比较

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

Pytorch神经网络的参数管理

目录 一、参数访问 1、目标参数 2、一次性访问所有参数 3、从嵌套块收集参数 二、参数初始化 1、内置初始化 2、自定义初始化 3、参数绑定 在选择了架构并设置了超参数后,我们就进入了训练阶段。此时,我们的目标是找到使损失函数最小化的模型参数…

【漏洞复现】华为Auth-Http服务文件读取漏洞

Nx01 产品简介 Huawei Auth-HTTP Server 1.0 可以实现基于角色的访问控制,通过用户的身份认证和权限控制,确保只有经过授权的用户可以访问特定的资源和服务。它支持常见的身份认证协议和技术,如LDAP、RADIUS、TACACS等,能够与企业…

tensorflow入门 自定义模型

前面说了自定义的层,接下来自定义模型,我们以下图为例子 这个模型没啥意义,单纯是为了写代码实现这个模型 首先呢,我们看有几个部分,dense不需要我们实现了,我们就实现Res,为了实现那个*3,我们…

Postman使用总结--参数化

将 测试数据,组织到 数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标 数据文件有两种: CSV (类似于excel) 格式简单用这个 文件小 JSON(字典列表&#x…

简单几步完成SVN的安装

介绍以及特点 SVN:Subversion,即版本控制系统。 1.代码版本管理工具 2.查看所有的修改记录 3.恢复到任何历史版本和已经删除的文件 4.使用简单上手快,企业安全必备 下载安装 SVN的安装分为两部分,第一部分是服务端安装&…