【基础篇】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的标识符表示在电路图中存在三个不同的电阻器。每个电阻器都可能有特定的阻值和其他参数,这些参数会影响电路的性能和功能。

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

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

相关文章

智慧养老:创新科技让老年生活更美好

智慧养老:创新科技让老年生活更美好 随着人口老龄化的加剧,智慧养老成为了关注焦点。智慧养老以创新科技为核心,旨在改善老年人的生活品质、促进健康、增强安全感和社会融入感。本文将详细介绍智慧养老的关键技术和应用场景,带您了…

SiLM5350MDBCA-DG车规级隔离驱动芯片,我们能为汽车智能提供什么?

SiLM5350MDBCA-DG是一款适用于IGBT、MOSFET的单通道 隔离门极驱动器,具有10A拉电流和10A灌电流驱动能 力。提供内部钳位功能,可单独控制 上升时间和下降时间。 在 SOP8 封 装 中 具 有 3000VRMS 隔 离 耐 压 ( 符 合 UL1577)。 与…

Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码

问题 今天在代码里面输出 console.log 信息直接指向了 vue.js,并且代码里面写了 debgger 也不生效 解决 f12 找到浏览器的这个设置图标 找到这个 ignore list 的 custom exclusion rules 取消掉 /node_modules/|/bower_components/ 这样就正常了

思幻二次元风格的工作室个人引导页源码

思幻工作室个人引导页源码已经完成开发!该源码支持三端自适应,并且具备赞助功能。我们选择了当前点赞量最高的配色方案,打造了一个独特的二次元风格引导页。经过在美国服务器上进行的测试,效果令人满意,网页加载速度达…

【Spring】03 容器

文章目录 1. 定义2. BeanFactory1)惰性加载2)基本的容器功能3)XML配置 3. ApplicationContext1)主动加载2)AOP支持3)事件发布与监听4)国际化支持5)注解支持 4. Spring容器的生命周期…

万兆网络之线路测速

网络测速有很多种方式,建议使用开源的iperf搭建测试 官方:iperf3(技术网站一般不被和谐,有部分可能被污染) Windows下载后解压即可运行 小技巧:如果你用的笔记本只有一个C盘,最好将免安装的软…

数据库sql语句查询补充

数据库sql语句查询补充 0.前言1.Like谓语2.带有Having当中的分组查询eg. 例题:错题重做: 3.内连接例题 0.前言 数据库期末复习,对自己做错的题进行知识总结和梳理 1.Like谓语 like谓语主要有两个操作 %:百分号,表示任意长度的字符串_:下划线,表示任意单个字符 like谓语的语…

Python学习之复习MySQL-Day8(事务)

目录 文章声明⭐⭐⭐让我们开始今天的学习吧!事务简介事务操作模拟转账操作开启事务提交事务回滚事务查看/设置事务提交方法实例演示 事务四大特性并发事务问题分类 事务隔离级别分类查看/设置事务隔离级别实例演示 文章声明⭐⭐⭐ 该文章为我(有编程语…

TrustZone之顶层软件架构

在处理器中的TrustZone和系统架构中,我们探讨了硬件中的TrustZone支持,包括Arm处理器和更广泛的内存系统。本主题关注TrustZone系统中发现的软件架构。 一、顶层软件架构 下图显示了启用TrustZone的系统的典型软件栈: 【注意】:为简单起见,该图不包括管理程序,尽管它们可…

福德植保无人机工厂:创新科技与绿色农业的完美结合

亲爱的读者们,欢迎来到福德植保无人机工厂的世界。这里,科技与农业的完美结合为我们描绘出一幅未来农业的新篇章。福德植保无人机工厂作为行业的领军者,以其领先的无人机技术,创新的理念,为我们展示了一种全新的农业服…

【Filament】绘制矩形

1 前言 Filament环境搭建中介绍了 Filament 的 Windows 和 Android 环境搭,绘制三角形中介绍了绘制纯色和彩色三角形,本文将使用 Filament 绘制纯色和彩色矩形。 2 绘制矩形 本文项目结构如下,完整代码资源 → Filament绘制矩形。 2.1 自定义…

4.1 媒资管理模块 - Nacos与Gateway搭建

文章目录 媒资管理模块 - 媒资项目搭建一、需求分析1.1 介绍1.2 数据模型1.3 分析网关 二、 搭建Nacos2.1 服务发现中心2.2.1 Maven2.2.2 配置Nacos 2.2 配置中心2.2.1 介绍2.2.2 Maven 坐标2.2.3 配置 content-api 工程2.2.4 配置 content-service 工程2.2.5 配置 system-api …

玩转Docker(六):数据挂载与共享

文章目录 〇、Docker的两种存放数据的资源1.Storage Driver2.Data Volume3.使用场景 一、使用Data Volume1.-v <host_path>:<container_path>2.-v <container_path>挂载匿名卷 二、数据共享1.容器和主机之间共享2.容器之间共享(1)方法一&#xff1a;-v非匿名…

Spark编程实验二:RDD编程初级实践

目录 一、目的与要求 二、实验内容 三、实验步骤 1、pyspark交互式编程 2、编写独立应用程序实现数据去重 3、编写独立应用程序实现求平均值问题 4、三个综合实例 四、结果分析与实验体会 一、目的与要求 1、熟悉Spark的RDD基本操作及键值对操作&#xff1b; 2、熟悉使…

Linux-----21、挂载

# 挂载命令 将硬件资源&#xff0c;或文件资源&#x1f4bf;&#xff0c;和&#x1f4c2;空目录&#x1f517;连接起来的过程 # mount linux 所有存储设备都必须挂载使用&#xff0c;包括硬盘 ​ 命令名称&#xff1a;mount ​ 命令所在路径&#xff1a;/bin/mount ​ 执行…

得帆信息创始人-张桐,受邀出席 BV百度风投AIGC主题论坛

近日&#xff0c;得帆信息创始人兼CEO张桐&#xff0c;作为百度风投被投代表企业创始人受邀出席“向未来&#xff0c;共成长” BV百度风投AIGC主题论坛。 与包括上海市徐汇区相关部门领导、百度集团相关事业部负责人及代表&#xff0c;以及来自国寿资本、中网投、麦顿投资的投资…

如何让32位.Net 应用打开3G开关

昨天刚分享了《如何让.NET应用使用更大的内存》&#xff0c;结果就有同学说&#xff0c;<最好加一下32位如何开启大内存&#xff0c;因为很多传统项目32位&#xff0c;实在迁移不动了>&#xff0c;那么&#xff0c;我就验证了一些可行的方案&#xff0c;发现都挺简单的。…

内网安全—Windows系统内核溢出漏洞提权

系统内核溢出漏洞提权 往缓冲区中写入超出限定长度的内容&#xff0c;造成缓冲区溢出&#xff0c;从而破坏程序的堆栈进而运行自己精心准备的指定代码&#xff0c;达到攻击的目的。 分类&#xff1a; 堆溢出 栈溢出 查找补丁的方法 1、手工查找补丁情况 systeminfo Wmic qfe…

Semaphore学习一

一、定义 是JUC包下的一个工具类&#xff0c;我们可以通过其限制执行的线程数量&#xff0c;达到限流的效果。 当一个线程执行时先通过其方法进行获取许可操作&#xff0c;获取到许可的线程继续执行业务逻辑&#xff0c;当线程执行完成后进行释放许可操作&#xff0c;未获取达到…

Python 全栈体系【四阶】(七)

第四章 机器学习 六、多项式回归 1. 什么是多项式回归 线性回归适用于数据呈线性分布的回归问题。如果数据样本呈明显非线性分布&#xff0c;线性回归模型就不再适用&#xff08;下图左&#xff09;&#xff0c;而采用多项式回归可能更好&#xff08;下图右&#xff09;。例…