STM32 单片机最小系统全解析

news2024/9/19 16:50:38

STM32 单片机最小系统全解析

本文详细介绍了 STM32 单片机最小系统,包括其各个组成部分及设计要点与注意事项。STM32 最小系统在嵌入式开发中至关重要,由电源、时钟、复位、调试接口和启动电路等组成。

在电源电路方面,采用 3.3V 直流电源供电,通常使用 AMS1117-3.3 电源芯片将 5V 电压转换为稳定的 3.3V 电压,多个滤波电容可有效去除电源中的杂波和干扰信号。

时钟电路中,晶振为单片机提供运行的时钟信号,STM32 有高速和低速两种晶振,高速晶振一般为主时钟晶振,常见频率为 8MHz,低速晶振通常为 RTC 时钟晶振,频率一般为 32.768kHz。晶振两端连接的电容可起到滤波和消除电感干扰的作用,通过选择合适的电容值,可与晶振形成并联谐振电路,使晶振输出的震荡频率更加稳定。

复位电路有手动复位和上电复位两种方式,手动复位通过按键实现,上电复位利用电容的充放电特性。STM32 是低电平复位,复位时初始化各个寄存器,但不包括 RAM。

调试接口电路中,常用的调试下载方式有 JTAG 和 SWD。SWD 调试接口结构简单,节省 I/O 口和板子空间,在高速模式下更加可靠。

启动电路有三种启动模式,由 BOOT0 和 BOOT1 引脚在复位时的状态决定。从主 Flash 启动是最常见的启动方式,代码存储在 STM32 的内置 Flash 中;从系统存储器启动时,内置 ROM 的起始地址将被重映射到 0x00000000 地址;从嵌入式 SRAM 中启动时,适合调试,但掉电丢失。

在设计要点方面,晶振电路设计要注意电阻、电容的选择和作用;复位电路采用手动复位的方式,通过按键实现;电源稳压电路要选用合适的稳压芯片。

注意事项包括走线要求、焊接技巧、检查引脚连接和通断的方法、芯片焊接步骤及注意事项、非正常短接的找错方法以及 PCB 绘制中的快捷键、注意事项和技巧。

总之,了解和掌握 STM32 单片机最小系统的组成、设计要点和注意事项,对于嵌入式开发人员来说至关重要。

一、STM32 最小系统概述

STM32 单片机最小系统在嵌入式开发中具有至关重要的地位,它是单片机稳定运行的基础。就如同一个人的身体系统需要各个器官协同工作才能保持健康,STM32 单片机也需要最小系统的各个组成部分共同作用才能正常运行。

最小系统主要由电源、时钟、复位、调试接口和启动电路等组成。电源是整个系统的动力来源,就像人的消化系统为身体提供能量一样。STM32 的工作电压一般为 1.8 - 3.3V,通常使用 3.3V 直流电源为其供电。为了保证电源的稳定性,电路中通常会加入多个滤波电容。

时钟电路犹如人的心脏,为单片机提供运行的节奏。STM32 有两组晶振,主时钟晶振一般为 8MHz,为单片机提供主时钟信号;RTC 时钟晶振通常为 32.768kHz,为实时时钟提供时钟信号。晶振两端通常会连接电容,起到滤波和稳定频率的作用。

复位电路则是单片机的免疫系统,当系统出现故障或混乱时,可通过复位让系统重新开始。STM32 是低电平复位,通常有手动复位和上电复位两种方式。上电复位利用电容的充放电特性,在上电瞬间使复位引脚为低电平,经过一段时间后电容充电完成,复位引脚变为高电平,单片机开始正常工作。手动复位则通过按键实现,按下按键时复位引脚接地为低电平,松开后恢复高电平。

调试接口是开发过程中不可或缺的部分,它方便开发者进行程序的下载和调试。常见的调试接口有 JTAG 和 SWD,现在 SWD 调试接口使用较为广泛,它只需两根线即可实现调试和下载功能。

启动电路则决定了单片机的启动方式。STM32 有三种启动模式,由 BOOT0 和 BOOT1 引脚在复位时的状态决定。一般情况下,如果想用串口下载代码,则必须配置 BOOT0 为 1,BOOT1 为 0;如果想让 STM32 按下复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。

综上所述,STM32 最小系统的各个组成部分相互配合,共同为单片机的稳定运行提供了保障。

二、组成部分详解

(一)电源电路

STM32 的工作电压一般为 1.8 - 3.3V,通常使用 3.3V 直流电源为其供电。电源电路中,稳压芯片起到关键作用,如常见的 AMS1117-3.3 电源芯片,可将输入的 5V 电压转换为稳定的 3.3V 电压,为 STM32 及其他电路模块提供合适的工作电压。电容在电源电路中也非常重要,起到滤波的作用。多个滤波电容可以有效去除电源中的杂波和干扰信号,保证电源的稳定性。例如,当电源中出现高频噪声时,小容量的陶瓷电容可以快速充放电,将高频噪声滤除;而大容量的电解电容则可以对低频波动进行平滑处理,确保电源电压的稳定输出。

(二)时钟电路

晶振在 STM32 中起着至关重要的作用,就如同心脏为人体提供节奏一样,晶振为单片机提供运行的时钟信号。STM32 有高速和低速两种晶振。高速晶振一般为主时钟晶振,常见的频率为 8MHz,为单片机提供主时钟信号,使单片机能够高速运行各种程序和任务。低速晶振通常为 RTC 时钟晶振,频率一般为 32.768kHz,为实时时钟提供精确的时钟信号,保证时间的准确记录。在晶振两端连接的电容,一方面可以起到滤波的作用,减少外部干扰对晶振频率的影响;另一方面,还可以消除晶振的电感干扰。根据搜索到的资料,晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,通过选择合适的电容值,可以与晶振形成并联谐振电路,从而使晶振输出的震荡频率更加稳定。

(三)复位电路

复位电路主要有手动复位和上电复位两种方式。手动复位是通过按键实现的,当按下按键时,复位引脚接地为低电平,松开后恢复高电平。这种方式在系统出现故障或需要重新启动时非常方便。上电复位则利用电容的充放电特性,在上电瞬间,由于电容两端电压不能突变,复位引脚为低电平,随着电容充电完成,复位引脚变为高电平,单片机开始正常工作。STM32 是低电平复位,当复位引脚为低电平时,系统进行复位操作,初始化各个寄存器,包括最重要的 PC 指针,但不包括 RAM。然后单片机从复位地址开始执行程序。

(四)调试接口电路

在程序开发过程中,常用的调试下载方式有 JTAG 和 SWD。JTAG(Joint Test Action Group)是一种国际标准测试协议,主要用于芯片内部测试。标准的 JTAG 接口是 4 线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。SWD(Serial Wire Debug)是一种和 JTAG 不同的调试模式,使用的调试协议也不一样。与 JTAG 的 20 个引脚相比,SWD 只需要 4 个(或者 5 个)引脚,结构简单,节省了 I/O 口和板子空间。例如,正常的 JTAG 需要 20 管脚,而 J-Link 的 SWD 只需要 2 根线(PA13/JTMS/SWDIO、PA14/JTCK/SWCLK)就够了(加上电源线也就 4 根)。SWD 在高速模式下面更加可靠,在大数据量的情况下面 JTAG 下载程序会失败,但是 SWD 发生的几率会小很多。

(五)启动电路

STM32 有三种启动模式,由 BOOT0 和 BOOT1 引脚在复位时的状态决定。一般情况下,如果想用串口下载代码,则必须配置 BOOT0 为 1,BOOT1 为 0;如果想让 STM32 按下复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。从主 Flash 启动是最常见的启动方式,代码存储在 STM32 的内置 Flash 中,启动时内置 Flash 的起始地址将被重映射到 0x00000000 地址,代码将在该处开始执行。从系统存储器启动时,内置 ROM 的起始地址将被重映射到 0x00000000 地址,代码在此处开始运行。ROM 中有一段出厂预置的代码,可通过 UART/CAN 或 USB 等将代码写入 STM32 的内置 Flash 中。从嵌入式 SRAM 中启动时,内置 SRAM 的起始地址将被重映射到 0x00000000 地址,代码在此处开始运行。这种模式适合调试,因为烧录程序过程中不需要擦写 Flash,速度较快,但掉电丢失。

三、设计要点与注意事项

(一)设计要点

  1. 晶振电路设计,包括电阻、电容的选择和作用。
    • 晶振选用 8MHz 的无源晶振,具有高精度、高频率稳定性、可靠性强等优良特性。晶振的输入输出端连接电阻,一般为 M 欧级,本系统中选用 1M 欧电阻,起到产生负反馈的作用,保证放大器能够工作在高增益的线性区。晶振两端的电容一般选择 10 - 40pF,起到使晶振两端的等效电容等于或接近于负载电容的作用,同时还能起到一定的滤波作用,滤除晶振波形中的高频杂波。一般情况下,增大电容会使振荡频率下降,而减小电容会使振荡频率升高。
  1. 复位电路采用手动复位的方式及原理。
    • 复位电路采用手动复位的方式,通过引入按键的使用达到手动复位的目的。STM32 是低电平复位,按键按下时,NRST 引脚和 GND 导通,从而在该引脚出产生一个低电平,从而实现单片机的复位。复位电路由一个按键、一个电容、一个上拉电阻组成。接上电源瞬间,电容等效于短路,此时 NRST 点为低电位接地,STM32 复位。当电容充电完成后,电容等效于开路,NRST 点电位回升为高电平。按下按键 KEY1,NRST 点接地变为低电平,STM32 复位。按键松开后,NRST 点回升为高电平。
  1. 电源稳压电路的分析,选用合适的稳压芯片。
    • 由于本系统所使用电源适配器提供的是 5V 的电压源,而系统所使用的 MCU 的正常工作电压是 3.3V,所以需要进行降压处理。该电路设计所采用的是 AMS1117 这一款正向低压降稳压器,选用的稳压 IC 是 AMS1117 系列的 3.3V 降压版本,其输出电压的精度为 1%,满足了降压精度的需求。同时由于其内部集成有过热保护和限流电路,所以在电源的使用过程中能够提供一定的安全保障。

(二)注意事项

  1. 走线要求,不走直角且尽量粗。
    • 走线不走直角可以减少信号反射和干扰,提高电路的稳定性。走线尽量粗可以降低电阻,减少电压降,提高电源的效率。
  1. 焊接技巧,温柔操作,及时上锡保护。
    • 焊接的时候要温柔,太大力会造成损坏。一小会不用焊笔就要上锡保护,防止焊笔氧化。
  1. 检查引脚连接、通断和排查问题的方法。
    • 先检查引脚是否接对,再检查通断,可使用万用表进行检测。然后逐个点的排查问题,如检查芯片引脚是否短接,可使用万用表来调试,不要相信肉眼。
  1. 芯片焊接步骤及注意事项。
    • 芯片焊接步骤为:粘锡拆引脚 - 粘锡分开引脚 - 对齐引脚再固定 - 放斜板子靠重力 - 引脚垂直焊笔来焊接 - 多的锡引到一起,用松香一点点除去。固定用的一排引脚锡也不要加太多,后面去掉很麻烦。一定要先确定好封装再去焊。
  1. 非正常短接的找错方法。
    • 用小刀割开导线,分段找问题。芯片的引脚拉长一点,有助于检查短接问题。
  1. PCB 绘制中的快捷键、注意事项和技巧。
    • 在 PCB 绘制中,合理设置铺铜和导线的间距可以宽一些,避免干扰。为自制的板子加入指示灯有助于调试。底层的墨擦掉,防止短路。输入线要粗,保证电源供应稳定。在焊盘上的 PCB 是转印纸上的镜像,绘制时要注意。原理图要让别人看得懂,方便后续维护和修改。

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

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

相关文章

【Bug解决】Nacos启动成功,但却无法访问(提示:无法访问此网站,192.168.10.88的响应时间过长)

项目场景: 在虚拟机上通过Docker创建Nacos容器,已经创建成功,查看Nacos启动日志也是成功。但通过端口号加8848/nacos(如:http://IP:8848/nacos)无法访问到Nacos管理页面。 愿意分析一: 先检查好…

MyISAM引擎介绍

文章目录 特点适用场景不足锁机制表级锁的类型锁的获取和释放锁的等待队列 示例共享锁排他锁READ LOCAL MyISAM是MySQL的一种存储引擎,它以其简单性和高速度而著称。在早期的MySQL版本中,MyISAM广泛使用,尤其是在那些以读操作为主的应用场景中…

Parallels Desktop 20(Mac虚拟机) v20.0.0 for Mac 最新破解版(支持M系列)

Parallels Desktop 20 for Mac 正式发布,完全支持 macOS Sequoia 和 Windows 11 24H2,并且在企业版中引入了全新的管理门户。 据介绍,新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新,最大的亮点是全新推出的 Parallels…

6款好用的电脑监控软件推荐|2024电脑监控软件干货整理!

电脑监控软件成为了企业管理中不可或缺的工具,这些软件不仅能够帮助企业实时监控员工的工作状态,还能有效提升团队效率和保障数据安全。 本文将为您推荐六款2024年值得一试的电脑监控软件,每款软件都有其独特的亮点和优势,适合不…

【Java-线程池】

目录 什么是线程池: 线程池七大参数: 参数详细介绍: 1.核心线程数: 2.最大线程数: 3.线程存活时间: 4.时间单位: 5. 阻塞工作队列: 6.线程工厂: 7.拒绝策略&am…

青柠视频云——视频丢包(卡顿、花屏、绿屏)排查

一、问题说明 近期有客户反馈,接入平台的设备经常出来卡顿、花屏、录屏的情况,出现这样的场景很是尴尬。 客户是私有化部署在公网环境,于是我们联系客户,对问题进行追踪排查。 二、场景复现 我们现场情况确认的过程中,…

怎么理解机器学习与数据融合的集成?

在科技进步的浪潮中,数据的重要性日益成为共识。但数据本身,若不经过有效的整合与分析,其价值便难以充分发挥。本文将探讨如何通过集成数据融合与机器学习,提升预测和决策的准确性。将海量数据转化为富含洞察力的信息,…

腾讯云TDSQL数据库认证值得考吗?来看看TDSQL证书有什么用

国内市场上的数据库产品有不少,很多大企业都有自己的数据库产品,比如金仓的KingBase、华为的OpenGauss、阿里云的PolarDB、达梦DM数据库等等,腾讯云也有自己的数据库产品,叫做TDSQL数据库,TDSQL数据库有两个分支&#…

基于SpringBoot+定时任务实现地图上绘制车辆实时运动轨迹图

目录 1. 项目结构 2. Maven依赖配置 (pom.xml) 3. 实现后端服务 4. 配置文件 (application.properties) 5. 启动项目 6. 访问页面 实现基于北斗卫星的车辆定位和轨迹图的Maven工程(使用模拟数据),我们将使用以下技术: Spri…

企业导师面对面,产教融合实训基地搭建人才成长快车道

产教融合实训基地是指以特定专业群为服务对象,由高职院校和企业双方共同投入、共同利用,并由若干实验实训室和模块产线组成的综合性实训基地。这一基地不仅具备工学结合的功能,还融合了教育、产业和科技创新的要素,形成了一种特殊…

食品检测与分类系统源码分享

食品检测与分类检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

Galileo与GLONASS信号类型

GLONASS的G1信号与G2信号是频分多址,用于标记卫星。

面向切面:单元测试、事务、资源操作

目录 一、单元测试二、事务2.1、概述2.1.1、编程式事务2.1.2、声明式事务 2.2、JdbcTemplate2.3、基于注解的声明式事务2.3.1、基本用例-实现注解式的声明事务2.3.2、事务属性:只读2.3.3、事务属性:超时2.3.4、事务属性:回滚策略2.3.5、事务属…

柯桥生活英语培训之“老顾客”在英语中通常有几种表达方式?

“老顾客”用英语怎么说?千万不要直接翻译成“old customer”,因为这会让人误以为是指年龄大的顾客。 “老顾客”在英语中通常有以下几种表达方式: regular customer 这是最常见的表达,强调顾客经常光顾。这里的“regular”强调的…

RTR——Chapter5 下

锯齿和抗锯齿 想象现在有一个巨大的黑色三角形,正在白色的背景上缓缓移动。由于屏幕上的网格单元被三角形所覆盖,因此其像素值的强度应该会平滑的下降。但是通常在各种基础渲染器中发生的情况是,一旦网格单元的中心被三角形所覆盖&#xff0c…

【JavaScript】算法之分治、动态规划

一个大问题分成多个小问题,递归解决小问题,将结果合并从而来解决原来的问题 分治 子问题都是独立的 动态规划 把分治优化了【重复的问题,单独保存起来】斐波那契数列 leetcode 习题 分治、动态规划习题

Varjo在芬兰开设新工厂,以满足国防部门在XR模拟训练中的需求

在军事国防领域,全新技术的投入使用最看重的就是保密与安全。作为全球领先的XR头戴式显示器提供商Varjo,近日正式宣布将在位于芬兰的赫尔辛基开设一家新的安全制造工厂。 此次工厂扩建将使Varjo能够满足国防训练和模拟领域对其高分辨率XR解决方案日益增…

Python if 语句优化技巧

大家好!今天我们来聊聊Python中的if语句优化技巧。if语句是Python中最基本的控制结构之一,它用于根据条件执行不同的代码块。虽然if语句本身非常简单,但通过一些小技巧,可以让我们的代码更加高效、简洁。接下来,我们将…

怎么选择合适的员工电脑监控软件,优质的电脑屏幕监控软件

在当今信息化管理的时代,员工电脑监控软件已成为中小公司管理的重要工具之一。无论是提升工作效率、保障公司数据安全,还是确保员工在工作时间专注于任务,选择一款合适的监控软件都至关重要。今天,我们将重点介绍一款国内优秀的监…

Android TV RecyclerView列表获得焦点左右换行

在TV上&#xff0c;用RecyclerView显示一个列表&#xff0c;飞鼠遥控左右遥控获得Item焦点&#xff0c;到最后一个进行右键换行&#xff0c;是不能做到的&#xff0c;因此需要监听key事件处理换行。 效果图如下 代码实现 Item.xml布局 <?xml version"1.0" enc…