STM32最小系统构成及启动模式

目录

1. STM32 最小系统构成

2. STM32 最小系统构成电路介绍

2.1 晶振电路

2.2 复位电路

2.3 电源电路

2.4 下载电路

3. STM32 启动模式 


1. STM32 最小系统构成

若要使系统正常运行,必须确保 STM32 最小系统稳定工作。STM32 最小系统由以下几部分组成:

(1)晶振电路

晶振电路提供时钟给单片机工作,犹如人的心脏

(2)复位电路

复位电路提供系统复位操作,当系统出现运行不正常或者死机等情况时,可以通过复位按键重新启动系统

(3)电源电路

电源电路也是非常关键的一个部分,因为单片机对供电电压是有要求的,如果电压过大将烧坏芯片,如果电压过小系统将运行不了。所以选择一个合适稳定的电源电路是非常关键的

(4)下载电路

实际上最小系统只由前面 3 个部分组成,但是仅靠前面 3 个部分电路只能使单片机正常运行,无法给系统更新程序即烧入程序

而将第(4)部分电路也加入到最小系统当中,就可以给系统任意烧入程序

2. STM32 最小系统构成电路介绍

2.1 晶振电路

单片机正常工作需要一个时钟,对于 STM32 这种高级单片机来说,其内部自带高速时钟/低速时钟源

但通常我们不使用内部时钟源,而是在单片机主晶振引脚上外接一个晶振(STM32F103C8T6 芯片的主晶振管脚在 5、6 脚位), 至于需要多大晶振这就取决于所使用的单片机

 STM32F103C8T6,其时钟频率可在 0-72MHZ 上运行,一般情况下建议选择 8MHz (适合 STM32 内部其他外设时钟的计算)

若直接将此晶振接入单片机晶振引脚, 会发现系统工作不稳定,这是因为晶振起振的一瞬间会产生一些电感,为了消除电感所带来的干扰,可以在此晶振两端分别加上一个电容,电容的选取需要 无极性的,另一端需要共地

根据选取的晶振大小决定电容值,通常电容可在10-33PF 值范围内选取。我们使用的是 22PF 电容。这样一来就构成了晶振电路。 只有保证晶振电路稳定,单片机才能继续工作

其电路如下所示:

STM32 芯片上还有一个外设需要晶振,它是RTC,要让 RTC 工作,通常外接一个 32.768KHz 的晶振,其电路如下:

2.2 复位电路

晶振犹如人的心脏,需要无时无刻给单片机提供运行周期

但即使时钟周期在不停的运行,系统也有可能会出现崩溃或者瘫痪状态

单片机若要接触崩溃或者瘫痪状态,就需要设计一个复位电路来实现此功能

STM32 引脚中有一个 NRST 复位引脚,而STM32是低电平复位,所以需要让这个引脚保持一段时间低电平就可以

要实现此功能通常有两种方式,一种是通过按键进行手动复位,还有一种是上电复位, 即电源开启后自动复位

手动复位是通过一个按键及电容电阻所组成,利用按键 的开关功能实现复位,按键按下后 GND 直接接入到单片机 NRST引脚,松开后GND断开,NRST被电阻拉为高电平。这一合一开就实现了手动复位。

自动复位主要是利用 RC 充放电功能,电源开启,由于电容隔直,GND直接进入 NRST,然后电容开始慢慢充电,直到充电完成,此时NRST 被电阻拉为高电平。这样就起到上电复位的效果。这里我们采用手动复位。不到系统崩溃,我们几乎不会操作复位。复位电路如下图所示:

2.3 电源电路

任何电子器件都需要有一个合适的电源进行供电,没有电源,系统是不会工作的

STM32 的工作电压是 1.8~3.3V 范围,通常我们使用3.3V直流,将电源接入到芯片电源引脚即可

核心板电源电路如下图所示:

核心板上使用一个 USB 接口输入5V直流,经过3.3V稳压芯片输出直流 3.3V 给核心板上整个系统,同时核心板供电后与底板连接也可提供 5V 和 3.3V 给底板工作。

底板电源电路如下图所示:

使用一个 USB 接口 USB1 作为电源输入端,插入电源后只需打开电源开关 POWER 即可获得 5V 电源,同样 5V 电源通过 V1 稳压芯片转换成直流 3.3V 供 STM32 系统及外部器件使用

开发板上还预留了 J7(5V)和 J8(3.3V)端子,这些端子可以很方便的给外部模块连接电源。同时底板供电后也可给核心板供电

板上有 2 个 USB 接口,即核心板电路图中的 USB1 和底板电路图中 USB1,其中核心板 USB1 接口有 2 种作用,第一种是当做 5V 电源输入口,第二种是 STM32 Slave USB 接口使用

底板 USB1 接口也有 2 种作用,第一种是当做 5V 电源输入口,第二种是程序下载口(USB 转串口)

它们的网络标号都是 VCC,经过电源开关出来后是 VCC5,经过 3.3V 稳压芯片转换为 3.3V 供系统及外围电路使用。所以使用任何一个接口供电均可

2.4 下载电路

程序要烧写到单片机内是通过上位机(PC 机)及对应的软件将编译器生成的 xxx.HEX 文件通过单片机串口写入进去

现在的笔记本电脑没有 RS232 接口,所以要使用 USB 转 TTL 串口电平芯片来建立 PC 机和单片机数据传输通路。通常使用 CH340G 或者 CH340C 芯片来完成电平转换

CH340G 需外接 12M 晶振,而 CH340C 内部自带晶振,所以可以不接外部 12M 晶振。我们使用的是 CH340C 电路

下载电路如下图所示:

从上图可以知道,USB1 接口即为程序下载接口,D- 和 D+连接到 CH340 芯片的 D- 和 D+,然后 CH340 芯片的串口 TXD 和 RXD 管脚就连接到 STM32 的串口 (PA9、 PA10)上

这里不是直接连接到单片机串口,而是通过 P4 端子进行转接,这样不仅可以让开发板 USB 接口下载程序,还可以当成 USB 转 TTL 模块使用,用来给其他单片机下载程序或调试外部串口设备,比如 WIFI、蓝牙、GPS 等

而且还有一点比较重要的是可以让 STM32 串口 1 不受 CH340 干扰

USB1 接口不仅可以作为程序下载口,还可以作为串口通信口,因为它本身就是实现串口下载

同时还可以作为电源供电口,可以看到 USB1 的管脚 1 就是 5V 电源脚,所以开发板可以直接使用 USB 线来供电,如果提供的 USB 线有问题,可以使用安卓手机数据线,接口都是兼容的。当电源开关打开后,电源指示灯即会点亮,表明系统电源正常

在上图中我们还可以看到 BOOT0 和 RESET 管脚通过三极管连接到 CH340 的 RTS 和 DTR 脚,这样设计是方便我们上位机软件在下载程序时,自动复位运行

STM32 除了支持串口下载,还支持 JTAG/SWD 模式下载。STM32 芯片自带 JTAG/SWD 管脚,通过相应的仿真器可实现程序下载、在线仿真调试等功能

JTAG 模式管脚占用 5 个,而 SWD 模式管脚只占用 2 个,JTAG 模式管脚内已经包含了

SWD 模式的 2 个管脚,所以我们开发板上使用的是 SWD 接口。如下图所示:

3. STM32 启动模式 

在 STM32F1 中,可以通过 BOOT [1:0] 引脚选择三种不同启动模式,如下所示:

一般情况下使用串口下载程序,则必须配置 BOOT0 为 1,BOOT1 为 0,而如果想让 STM32 按下复位键就开始运行代码,则需要配置 BOOT0 为 0, BOOT1任意即可

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值