STM32最小系统详解

2023-05-16

STM32最小系统详解

  • 1. 电源电路
  • 2. 晶振电路
  • 3. 复位电路
  • 4. 下载电路(串口下载)

本文章将以普中的STM32F103系列的开发板为载体,任何一款STM32开发板都是在其最小系统基础上添加多个功能模块组成,根据设计功能特点融合多个功能电路,组成不同种类的开发板。STM32最小系统即可以满足其正常工作的组成部分,其中包括电源电路、晶振电路、复位电路和下载电路。STM32F103ZET6原理图可点击 开发板原理图进行下载

1. 电源电路

电源电路是整个系统提供的基础,为所有组成模块提供合适且稳定的电源,保障各功能模块的正常运行。
电源电路
在上图的电源电路中,①部分为DC电源接口,通过电源线通过该接口为开发板供电,供电电压为5V;②部分为电源开关,为了保障开发板上各器件的安全运行,电源电路中需要设置电源开关统一管理电源的供断;③部分为开发板的电源指示灯,根据电路可以看出,电源开关接通后,D81二极管正极将会带有5V电压,负极通过R50电阻(R50电阻用于保护二极管)连接GND,此时发光二极管导通点亮,当关闭开关后则熄灭;④部分为电压转换芯片,5V电压通过该芯片转换得到3.3V电压,可用于SRAM、FLASH以及晶振等芯片电路的供电;在④周围分布的电容可以起到滤波的作用。

2. 晶振电路

晶振电路的作用是为系统提供基本的时钟信号,在本开发板上包含了两个晶振,分别为外部8MHz的高速晶振,为系统提供时钟信号和内部32.768KHz的内部晶振,为RTC提供时钟信号。
外部晶振电路
上图为外部晶振电路,②部分为晶振,其周围的两个电容可以消除晶振工作时产生的电感。①处为一个备用供电电池,可以为系统的时钟运行提供电源,电压为3V。
内部晶振电路
上图的晶振直接连接STM32芯片的PC14和PC15引脚,通过内部时钟信号。

3. 复位电路

该开发板为低电平复位,区别于51单片机的高电平复位。根据复位电路可以看出,当K1闭合时电路导通,RSET为芯片的复位引脚信号,此时芯片复位引脚接通GND,芯片将会复位重启。其中的电容的功能则是储能,当开发板上电瞬间,电容开始充电,复位引脚为低电平,所以上电瞬间开发板也会复位重启,但随着电容充电完成,引脚变为高电平,则不会再进行复位重启。
复位电路

4. 下载电路(串口下载)

该开发板支持多种下载方式,其中包括USB下载和JTAG仿真下载两种。其中USB接口也是供电接口,可以为开发板提供5V的电源。
在本开发板上可以通过BOOT引脚选择启动模式,当BOOT0为0时,启动模式为主闪存存储器(自动下载并在FLASH内执行程序),BOOT0为1时(BOOT1为0),启动模式为系统存储器(可以串口下载)。
串口电路

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

STM32最小系统详解 的相关文章

  • 处理器指令周期执行时间

    我的猜测是 no operation 内在 ARM 指令应花费 1 168 MHz 来执行 前提是每个NOP在一个时钟周期内执行 我想通过文档验证这一点 有关处理器指令周期执行时间的信息是否有标准位置 我试图确定 STM32f407IGh6
  • 初始化 ST-Link 设备时出错 - 无法连接到设备

    我目前正在使用 ST Link 调试器对我的 STM32F3 Discovery 板进行编程 我使用的IDE是Atollic TrueStudio 5 5 2 现在我面临一个非常奇怪的问题 那就是我不断收到消息 初始化 ST Link 设备
  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • 在没有 IDE 的情况下如何使用 CMSIS?

    我正在使用 STM32F103C8T6 并想使用 CMSIS 这本质上只是寄存器定义 没有代码 让我的生活更轻松 同时仍保持在较低水平 问题是我不知道如何安装该库以便在命令行上使用 Makefile 使用 所有文档似乎都与特定于供应商的 I
  • 优化 ARM Cortex M3 代码

    我有一个 C 函数 它尝试将帧缓冲区复制到 FSMC RAM 这些函数将游戏循环的帧速率降低至 10FPS 我想知道如何分析反汇编的函数 我应该计算每个指令周期吗 我想知道CPU把时间花在哪里 在哪个部分 我确信该算法也是一个问题 因为它的
  • 匹配 STM32F0 和 zlib 中的 CRC32

    我正在研究运行 Linux 的计算机和 STM32F0 之间的通信链路 我想对我的数据包使用某种错误检测 并且由于 STM32F0 有 CRC32 硬件 并且我在 Linux 上有带有 CRC32 的 zlib 所以我认为在我的项目中使用
  • 物联网网关

    物联网网关是 连接物联网设备和互联网的重要桥梁 它负责将物联网设备采集到的数据进行处理 存储和转发 使其能够与云端或其它设备进行通信 物联网网关的作用是实现物联网设备与云端的无缝连接和数据交互 物联网网关功能 数据采集 物联网网关可以从物联
  • 毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计

    基于STM32的智能温室控制蓝牙声光报警APP系统设计 1 项目简介 1 1 系统构成 1 2 系统功能 2 部分电路设计 2 1 stm32f103c8t6单片机最小系统电路设计 2 2 LCD1602液晶显示电路设计 2 2 风
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • CMSIS & STM32,如何开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 STM32 上使用 CMSIS 启动项目 网上一搜 没找到具体的教程 有些使用 SPL 开始项
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • 核心耦合内存在 STM32F4xx 上可执行吗?

    尝试从 STM32F429s CCM 运行代码 但每当我命中 CCM 中的第一条指令时 我总是会遇到硬故障 并且 IBUSERR 标志被设置 该指令有效且一致 STM32F4xx 是否可能不允许从 CCM 执行 数据访问效果良好 alios
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d

随机推荐

  • 无人机POS数据中GPS/IMU数据的解析(航向角、俯仰角、翻滚角)

    POS数据参数的介绍 无人机在飞行作业时 xff0c 获取的无人机影像通常会携带配套的POS数据 从而在处理中可以更加方便的处理影像 而POS数据主要包括GPS数据和IMU数据 xff0c 即倾斜摄影测量中的外方位元素 xff1a xff0
  • PyTorch 训练时中遇到的卡住停住等问题

    目录 前言1 PyTorch 训练时在第一个 epoch 的最后一个 batch 卡死 问题描述 可能的原因 解决方法 2 使用命令行运行时 xff0c 卡在第一个 epoch 问题描述 原因分析 解决方法 前言 在实际训练中遇到了各种各样
  • 【CSS】CSS的三种使用方式

    CSS的三种使用方式 CSS内联样式 xff08 行内样式 xff09 内部样式表外部样式表 CSS 网页分成三部分 结构 xff08 HTML xff09 表现 xff08 CSS xff09 行为 xff08 JavaScript xf
  • kubernetes 控制平台和节点之间的通信

    这篇文章也是翻译的官网 xff1a Control Plane Node Communication 这篇文章主要罗列 xff08 catelogs xff09 控制平台 xff08 更确切的说是apiserver xff09 和工作节点
  • LPMS-IG1 IMU内参标定

    LPMS IG1 IMU内参标定流程 1 安装IMU驱动 2 安装标定软件 3 录包 4 标定 IMU驱动安装 参考IMU官网驱动安装流程 xff0c 链接 xff1a https www alubi cn support download
  • WebScarab拦截WebGoat的请求

    第一步 xff1a 配置WebSarab的Proxy xff0c 使得与WebGoat的端口相同 第二部 xff1a 开启WebSarab应用 xff0c 然后开启webGoat http localhost WebGoat attack
  • webpack常见错误的解决办法

    项目列表 1 安装webpacke 在本项目中安装webpack xff0c save dev的意思是将依赖写入项目的package json文件 npm install save dev webpack 安装过程中如果出现类似上述的提示
  • /usr/bin/ld: cannot find -lnvcuvid

    我们在安装cuda后 xff0c 会测试cuda的安装情况 xff0c 在 sample文件夹中sudo make后会出现这样的错误 xff1a usr bin ld cannot find lnvcuvid 而我们的解决方案就是你使用的网
  • UML建模与软件开发设计(六)——类图设计与类之间的关系

    3 2 5 关联关系的分类 然而 xff0c 通过关联关系来描述类与类时还是比较抽象 xff0c 有些关系的细节难以通过关联关系表达出来 xff0c 比如类A与类B的角色定位 数量关系 xff0c 关联方向等都描述得不够清晰准确 xff08
  • 四轴PID讲解

    插播一条DJI招聘信息 常年有效 xff1a 包括控制算法 软件功能开发 SDK 嵌入式软件开发 GNSS接收机设计 测试开发 xff08 包括CI持续集成 xff09 请各位对空中机器人 xff0c 地面机器人 xff0c 教育机器人有兴
  • 守护进程

    本博客为本人学习UNIX高级环境编程总结 13 守护进程 13 1 简介 守护进程 xff08 daemon xff09 是生存期长的一种进程 它们常常在系统引导装入时启动 xff0c 仅在系统关闭时才终止 因为它们没有控制终端 xff0c
  • chmod +x,赋予“可执行”权限

    1 chmod 43 x的意思就是给执行权限 xff08 1 xff09 LINUX下不同的文件类型有不同的颜色 xff0c 绿色文件 xff1a 可执行文件 xff0c 可执行的程序 红色文件 xff1a 压缩文件或者包文件 蓝色文件 x
  • Flask-SQLAlchemy和alembic结合(步骤)

    在之前的数据库操作中 xff0c 我们新增一个字段是不是每次都得删除数据库表 xff0c 然后再重新将新创建的数据库表映射到数据库中 这样操作是不是很蛋疼 xff1f 是吧 xff1f 于是sqlalchemy作者拜尔为了解决这一问题 xf
  • pixhawk模块添加和修改以及经验分享

    我看了apm的代码半年 xff0c px4的代码也看了一段时间 xff0c 把我在这个过程遇到的问题和大家分享一下 xff0c 我觉得有些人也会遇到同样的问题 xff0c 给这部分人一点提示 谢谢大家 首先还是先从apm讲起 xff0c 它
  • 第一篇——记录自己的学习过程吧

    初次写博客 xff0c 希望记录一下自己的学习之路 xff0c 也希望以这种方式来监督提醒自己在这条喜欢的路上走下去 xff0c 希望再回首 xff0c 我能看的一个不一样的自己 本人大三程序员 xff0c 可以说是非常渣的那种 我选择软件
  • 什么是ELK?

    出处 xff1a https www cnblogs com aresxin p 8035137 html 我们在进行日志分析时 xff0c 目前的处理方式是在日志文件中grep xff08 一种强大的文本索引工具 xff09 awk xf
  • linux shell脚本将命令执行结果赋值给变量

    使用 例子 xff1a a 61 echo hello world 将命令echo 34 hello world 34 的输出赋给变量a
  • 网段、子网掩码计算方法

    计算 10 21 224 0 22 表示的网段 10 21 224 0 22 是表示网段的方法 xff0c 前面是ip或者子网 xff0c 后面的数字是掩码中高位算起1的位数 xff0c 22就是掩码的高位有22个1 xff0c 即 xff
  • ES6 module.exports和export详解

    module exports和export详解 前言一 commonJs 使用步骤1 导出属性2 导出类 二 ES6规范对外暴露的方式分别暴露统一暴露暴露的时候指定别名 默认暴露 引入方式1 解构赋值引入2 直接引入3 通配符导入 前言 概
  • STM32最小系统详解

    STM32最小系统详解 1 电源电路2 晶振电路3 复位电路4 下载电路 xff08 串口下载 xff09 本文章将以普中的STM32F103系列的开发板为载体 xff0c 任何一款STM32开发板都是在其最小系统基础上添加多个功能模块组成