一、STM32之最小stm32硬件系统的实现

序言

我们大多数人在学习stm32过程中都会陷入这样一个误区————只关注软件代码层面而忽视了硬件层面,简单来说就是只会用开发板,一旦需要设计自己的stm32系统就无从下手。本文旨在完成stm32最小系统的设计,stm32最小系统包括:电源、复位电路、晶振、程序下载电路四个部分,简单来记就是吃饭、睡觉、到点、起床工作。

电源

电就是MCU要吃的饭,不吃饭,stm32芯片肯定不能工作。
stm32最小系统板需要5v和3.3v两种电压,一般可以直接通过USB提供5v电压,也可以用电源适配器提供5V电压。而3.3v电压可以通过稳压芯片如ASM1117-3.3v等,把5v电压降为3.3v输出。
参考电源电路如下:一、STM32之最小stm32硬件系统的实现
图中J1是USB接口,提供的5v电压经过ASM1117-3.3v后降为3v3,C1,C2(10*10^4pF=0.1u)用于电源滤波,高频滤波用小电容,低频滤波用大电容。D3是一个led用以指示电源工况,其上的R1 510R即510.0Ω用以限流,防止led灯烧坏。
J3也是一个USB接口,提供5v电压,同时它也是一个模拟串口,其D-和D+引脚与ch340相应引脚连接构成一个串口设备。
stm32吃的是3v3将其VDD和VSS引脚分别连接到3v3和GND,就解决了stm32的吃饭问题。

复位电路

人工作久了容易自闭、精神恍惚,这时需要睡一觉就以重新焕发活力。stm32工作久了也容易“精神恍惚”————程序跑飞,也需要复位。
一、STM32之最小stm32硬件系统的实现
stm32的NRST引脚是复位信号接收引脚与RESET相连,芯片低电平复位。如上图所示,当芯片刚上电时,电容充电导通,此时RESET=0,芯片复位;当按下复位按钮时,RESET接地,芯片复位。

晶振电路

晶振是芯片的心跳,每一次脉冲激励芯片执行一条指令,因此晶振的重要性不言而喻。
一、STM32之最小stm32硬件系统的实现
上图是stm32的晶振电路,8M无源晶振,其中R9(1M)用于稳定晶振的脉冲波形,C8(20P)和C9(20P)一方面构成晶振起振的必要回路,另一方面匹配电容,同时还具有调节晶振电路频率的作用。

程序下载电路

搭建stm32最小系统的目的当然是希望其按照我们的想法(即编写的程序)进行工作,程序下载接口就是为MCU注入灵魂的法门。

  1. stm32程序下载方式
  • Link
    • ULink
    • STLink
    • JLink包括:SWD模式(三线制)和JTAG模式
  • 串口下载

不准确地说(错误滴说),Link就是把C语言翻译为芯片能懂的语言的器件,而在串口下载中是通过下载软件(如FlyMCU)将C语言翻译为芯片能听得懂的语言,二值殊途同归。

  1. stm32启动方式
    stm芯片复位时即NRST引脚处于低电位时,BOOT0和BOOT1的电平状态,决定复位后芯片的启动方式。
BOOT0 BOOT1 启动方式 程序下载方式
0 x flash Link(ICP)
1 0 ROM&BootLoader 串口下载(ISP)
1 1 RAM ???(IAP)
  1. 题外话FLASH、RAM、ROM、内存、外存、缓存
    (不写了,。。。)

一、STM32之最小stm32硬件系统的实现

上一篇:vue3-搭建项目


下一篇:09 单例模式