STM32最小系统组成

单片机最小系统,也就是能够使得单片机正常运行程序,最少需要连接哪些器件。一般来说,STM32最小系统由四部分组成:

  • 电源电路

  • 复位电路

  • 晶振电路

  • 下载电路

STM32单片机由ARMCortexM3、总线矩阵、外设组成。单片机开发板能够做哪些事情是自己的选择。我们可以制作一款STM32最小系统核心开发板,当然根据实际项目的需求,加上单片机的某些特定外设模块。

简单说,要利用到STM32芯片所有引脚来设计具有特定或者通用功能的开发板。首先要把STM32最小系统画出来,之后再添加需要用到的外设。

电源电路

VDD表示数字电源的正极,而VSS是负极。VDDA用来表示模拟电源正极(供电给ADC、DAC模块),VSSA是负极。VREF+是参考电压输入引脚正极,VREF-是对应的负极。
    ADC、DAC分别负责模数、数模转换。在场合中,需要较的高信噪比,为此把模、数信号分开,来规避彼此影响。于是有了数、模电源引脚之分。为了给模拟电源提供标准电压信号,需要用到VREF引脚。在对噪声要求不高的情况下,只需要做简单隔离即可。比如,分别在VDD、VDDA以及VSS、VSSA之间接上0Ω电阻。

把VREF+与VDDA连接,把VREF-与VSSA连接。在实际应用中,VREF+用来连接标准的电压输出,比如REF3133,产生标准的3.300V电压,如下图所示。

因为STM32具有RTC功能(实时时钟),有VBAT(电池)引脚(接电池正极)。出于安全考虑,设计如下电路。既可以在有外接电源时保护电池,又可以在没有外接电源时给RTC供电。

原理容易理解,利用了二极管的单向导通性。

复位电路

复位就是通常说的重启,STM32复位引脚是低电平复位,而正常工作状态时复位引脚是处于高电平状态。

晶振电路

STM32有两组晶振,给单片机提供主时钟的晶振和给RTC提供时钟的晶振。实际上,若用不到RTC功能,那么RTC晶振可不连接。

上图主时钟晶振,为了程序的通用性一般用8M。

上图是RTC时钟晶振,需要连接32.768K的晶振。32.768KHZ是一个很有意义的数字,我们每天都要用到它,只是生活中太少有人去关注了。32.768KHZ比较容易分频以便于产生1秒的时钟频率,因为32768等于2的15次方,也就是int类型的最大整数。我们每天用的手表、手机、电脑上显示作用的钟就是由它演变过来的。很奇妙吧!

下载电路

STM32有BOOT0和BOOT1两个引脚,这两个引脚的高低电平控制STM32单片机的启动模式。

在STM32F1里,可以通过BOOT[1:0] 引脚选择三种不同启动模式。一般情况下如果我们想用串口下载代码,则必须配置 BOOT0为 1,BOOT1为 0,而如果想让 STM32 按下复位键就开始跑代码,则需要配置 BOOT0 为 0, BOOT1 随便设置都可以。

STM32入门系列-STM32最小系统介绍的更多相关文章

  1. STM32入门系列-STM32时钟系统,时钟使能配置函数

    之前的推文中说到,当使用一个外设时,必须先使能它的时钟.怎么通过库函数使能时钟呢?如需了解寄存器配置时钟,可以参考<STM32F10x中文参考手册>"复位和时钟控制(RCC)&q ...

  2. STM32入门系列-STM32时钟系统,自定义系统时钟

    在时钟树的讲解中我们知道,通过修改PLLMUL中的倍系数值(2-16)可以改变系统的时钟频率.在库函数中也有对时钟倍频因子配置的函数,如下: void RCC_PLLConfig(uint32_t R ...

  3. STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

  4. STM32入门系列-STM32时钟系统,时钟初始化配置函数

    在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使 ...

  5. STM32入门系列-STM32外设地址映射

    片上外设区分为四条总线,根据外设速度的不同,不同总线挂载着不同的外设,APB1挂载低速外设,APB2和AHB挂载高速外设.相应总线的最低地址我们称为该总线的基地址,总线基地址也是挂载在该总线上的首个外 ...

  6. STM32入门系列-学习STM32要掌握的内容

    STM32芯片架构 STM32F103系列芯片的系统架构如下: STM32芯片基于ARM公司的Cortex-M3内核,由ST公司设计生产,内核与总线矩阵之间有I(指令).S(系统).D(数据)三条信号 ...

  7. STM32入门系列-启动文件介绍

    在启动文件内部使用的都是汇编语言,这个文件的作用是负责执行微控制器从"复位"到"开始执行 main 函数"中间这段启动时间所必须进行的工作.它完成的具体工作有: ...

  8. STM32入门系列-存储器与寄存器介绍

    介绍两部分内容: 什么是存储器映射 什么是寄存器及寄存器映射 为了让大家对存储器与寄存器有一个更清楚的认识,并且为之后使用 C 语言来访问 STM32 寄存器内容打下基础.等明白了如何使用 C 语言封 ...

  9. STM32入门系列-开发工具keil5安装

    主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...

随机推荐

  1. java进阶(19)--异常处理机制

    一.基本概念 1.异常的作用: java将异常信息打印至控制台,供程序修改,增加其健壮性. int c=1/0;    //将抛出 java.lang.ArithmeticException 2.异常 ...

  2. WPF启动流程-自己手写Main函数

    WPF一般默认提供一个MainWindow窗体,并在App.Xaml中使用StartupUri标记启动该窗体.以下通过手写实现WPF的启动. 首先先介绍一下VS默认提供的App.Xaml的结构,如下图 ...

  3. 电商订单ElasticSearch同步解决方案--使用logstash

    一.使用logstash同步订单数据(订单表和订单项表)到ElasticSearch: 1.到官网下载logstash:https://www.elastic.co/cn/downloads/logs ...

  4. 软件定义网络实验记录④--Open vSwitch 实验——Mininet 中使用 OVS 命令

    一.实验目的 Mininet 安装之后,会连带安装 Open vSwitch,可以直接通过 Python 脚本调用 Open vSwitch 命令,从而直接控制 Open vSwitch,通过实验了解 ...

  5. C++库文件解析(conio.h)

    转载:https://blog.csdn.net/ykmzy/article/details/51276596 Conio.h 控制台输入输出库该文内容部分参照百度百科 Conio.h 在C stan ...

  6. rustup命令速度慢

    通过以下命令更换镜像: $ENV:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static' $ENV:RUSTUP_UPDATE_ROO ...

  7. 用cmd下载tp5.0版本

    1.首先进入phpstudy的www目录 composer create-project topthink/think=5.0.* pt5.0的名字 --prefer-dist $ composer ...

  8. Semaphore最详细解析

    官方解释: 一个计数信号量.在概念上,信号量维持一组许可证.如果有必要,每个acquire()都会阻塞,直到许可证可用,然后才能使用它.每个release()添加许可证,潜在地释放阻塞获取方.但是,没 ...

  9. 将本地代码初始化上传到gitlab仓库

    首先你已经安装了git. 1.在本地代码目录,鼠标右键Git Bash Here: 2.执行git命令,此命令会在当前目录下创建一个.git文件夹, git init 3.将项目的所有文件添加到仓库中 ...

  10. 多测师讲解python_函数调用方法__高级讲师肖sir

    (一)函数的介绍  函数:一个工具,随调随用优点:# 降低代码冗余# 增加代码的复用性,提高开发效率# 提高程序扩展性# 函数有两个阶段:定义阶段,调用阶段.# 定义时:只检查函数体内代码语法,不执行 ...