序言
我们大多数人在学习stm32过程中都会陷入这样一个误区————只关注软件代码层面而忽视了硬件层面,简单来说就是只会用开发板,一旦需要设计自己的stm32系统就无从下手。本文旨在完成stm32最小系统的设计。

STM32最小系统的组成
STM32最小系统简述
STM32最小系统,就是能让STM32单片机能够正常工作所必须拥有的组成部分的集合,也是STM32单片机正常运行的必要环境。STM32最小系统主要组成部分有:
stm32最小系统包括:
1.供电电路;
2.时钟电路;
3.下载电路;
4.复位电路;
5.BOOT启动模式选择。
因为STM32单片机内部已经集成了时钟电路,所以STM32只需有供电和复位电路就能正常运行。但在实际应用中,为了使单片机的灵活性、抗干扰能力、适应力、可调试的能力等,最小系统中还需带有其它保持最小系统稳定的电路。本文所述的STM32最小系统基于STM32F103RCT6设计。
供电电路
在设计最小系统的供电电路时,需先确定供电的电压,本文所述STM32采用的供电电压为5V的USB供电电路,单片机的工作电压为3.3V,我们需要对电压进行降压处理,因此我们采用AMS1117-3.3芯片,将5V转换成3.3V给单片机供电。

在STM32单片机的某些使用场合中,需要较高的信噪比,所以将模拟信号和数字信号区分开,来规避彼此的影响。在实际应用中,VDDA供电给ADC、DAC模块,VREF+是参考电压输入引脚正极,VREF-是对应的负极。VREF+与VDDA连接,VREF-与VSSA连接。
一般情况下,数字电源VDD与模拟电源VDDA之间只需要接一个简单的低通滤波器即可(RC型、π型),而数字地和模拟地之间可以进行简单的隔离(即在两者之间接一个0Ω的电阻),或者在一些要求不高的场合,直接公用地。


时钟电路
在官方STM32数据手册中,高速外部时钟(HSE)可接4MHz~16MHz的晶振,我们一般接8MHz的晶振,方便进行倍频,在经过PLL锁相环倍频输出后,供给STM32的外设使用。下图所示的时钟电路组成:晶振+起振电容 +(反馈电阻MΩ级)。如不接高速外部时钟时,OSC_IN应接地,OSC_OUT应悬空。

低速外部时钟(LSE),接频率为32.768KHz的晶振,用于提供给(RTC)实时时钟。因为2^15=32768,在经过寄存器设置分频之后,能很容易地得到1Hz的频率,实现精准的定时,可用于计时电路(万年历等)。

有源晶振与无源晶振:
无源晶振:方便灵活、精度一般足够、成本较低、需要外接起振电容
有源晶振:更稳定、需要外接电源供电、不需要外围辅助电路
下载电路
STM32单片机的下载方式有3种,分别是SWD(Serial Wire Debug)、JTAG(Joint Test Action Group)、ISP(in-system programming)下载电路。其中JTAG和SWD下载电路可供用户对程序进行在线调试。
JTAG下载电路:

SWD下载电路:

ISP一键下载电路:一般采用CH340G芯片实现转串口,其中CH340G芯片需要单独的震荡电路,一般使用12MHz的晶振。该芯片将电脑的USB映射为串口使用,电脑在使用CH340G转串口时应安装对应的驱动程序。
ISP下载电路可直接使用转串口接入单片机串口引脚实现相应功能,这里就不贴电路图了。
复位电路
在STM32运行的过程中,为确保系统中电路稳定可靠工作,复位电路必不可少。我们利用复位电路将STM32电路恢复到初始的状态,主要是防止程序混乱,将系统恢复初始状态,以便接收各种指令进行工作。

BOOT启动模式选择
STM32直接通过两个引脚BOOT0和BOOT1设置启动模式(M3和M4):

主闪存存储器(Flash):执行程序;
系统存储器(Bootloder):执行串口程序下载;
内置SRAM:执行SRAM内代码。
附
STM32芯片选择
在设计STM32系统时,我们在选择使用哪款芯片时需要根据项目功能需求来选择,再确定好项目需求之后,我们可以在st官方技术社区下载选型手册或者下载芯片数据手册来确定选择哪款芯片。
一般在stm32中文数据手册的第一页就会有芯片资源描述,你可以根据资源介绍来选择所需的芯片。


芯片引脚功能
在设计STM32系统时,我们需要根据芯片数据手册来确认需要使用的引脚,例如我们需要外接低速外部晶振时,我们需要在芯片手册上找到外接晶振引脚。本文使用STM32F103RCT6芯片,所以是64脚的芯片封装,然后找到外接晶振引脚,就是PC14、PC15。于是在绘制原理图时就可以找到对应引脚,连接相应的外部电路。

上一篇:stm32 usart奇偶校验如何配置
下一篇:STM32程序无法进入main函数的解决方法
推荐阅读最新更新时间:2026-03-25 11:48
推荐帖子
- zigbee-CC2430系列模块datasheet
- CC2430模块是第一个真正意义上的ZigBeeSOC芯片CC2430精心设计的无线收发模块;工作载频为2.4GHZ,采用扩频技术,另CC2430器件的性能已超过了IEEE802.15.4规范的要求;同时还具有优异的选择性和灵敏度等RF性能,这使得工作在2.4GHzISM频带的不同设备能很好地共存,并能在更长的距离范围内提供更可靠的通信;CC2430数据速率达250kbps,码片速率达2Mchips/s;C2430模块的功耗很低,非常适合用电池供电的设备。ZigBee现广泛应用于环境控
-
rock_chu
无线连接
- 谁给对比一下LM3S8962和LM3S9B96,各有什么特点?
- 希望了解价格、功能,开发工具和应用方面的对比?谁给对比一下LM3S8962和LM3S9B96,各有什么特点?LM3S8962CAN+EthernetLM3S9B96CAN+Ethernet+USB(OTG)同时FLASH,SRAM,UART,SPI,I2C也是有区别的,具体请从以下网址下周相关的datasheetwww.luminarymicro.com价格什么可以从www.ti.com查官方价格,功能多的相对价格会高些.TIM3价格区间1-8美金.开发工
-
kata
微控制器 MCU
- 造价低廉的温度控制器电路图
- 本帖最后由jameswangsynnex于2015-3-320:00编辑造价低廉的温度控制器电路图本帖最后由jameswangsynnex于2015-3-320:00编辑:D简单易学顶上去啊!好样的值得学习简单易学顶上去啊!
-
探路者
消费电子
- 也许是菜鸟问题~急用求高手指点
- A/D转换程序中,模拟数据是如何引入单片机内的?针对的程序如下(芯片为PCF8591),请给位帮忙指点解释,感激不尽!!字节数据传送函数函数原型:unsignedcharRcvByte();功能:用来接收从器件传来的数据,并判断总线错误(不发应答信号),发完后请用应答函数。------------------------------------------------------------------*/unsignedcharRc
-
jarvis1547
单片机
- DSP芯片介绍及其选型
- 引言DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬
-
keyan
DSP 与 ARM 处理器
- 51单片机的定时器精度为何这么差?
- 我用STC89LE52RC单片机用定时器0产生600Hz的方波设定每隔1/1200秒产生一次定时器中断,IO口翻转一次,产生600Hz的方波用的是定时器0,13位计算公式如图所示:计算得到0x1D00根据手册“该13位寄存器包含THn全部8个位及TLn的低5位。TLn的高3位补丁,可将其忽略。”将0x1D00前八位填入TH0,后五位填入TL0的低五位,得到TH0=0xE8、TL0=0x00可产生的方波用频率计测只有590Hz,怎么会差这么多?可排除晶振问题,晶振(11.
-
godjohsn
51单片机
- LT3761EMSE-1 升压 LED 驱动器的典型应用电路,具有输出短路保护和外部驱动 PWM
- 具有固定输出电压、2.8V ADP162 超低静态电流、150mA CMOS 线性稳压器的典型应用电路
- RT9030 150mA、低输入电压、低压差、低噪声超快速无旁路电容CMOS LDO稳压器的典型应用
- 用于汽车的 8/10/12 位、1CH DAC
- 0.8 至 3.3V DC 至 DC 单输出笔记本电源
- FEBFL77904-L82L08A-GEVB:8 W 交流 LED 驱动器
- 使用 ROHM Semiconductor 的 BD48K25G-TL 的参考设计
- 使用 ON Semiconductor 的 LV5103LP 的参考设计
- 使用 Analog Devices 的 ADA2200 的参考设计
- 用于运动电机控制的 MOSFET 功率驱动器

STC8H全系列单片机应用手册
stm32驱动屏IC rm68042
使用PIC单片机控制心电前端ADS1192的实现单导心电测量
现代雷达系统的信号设计
AWT-18233-40I







京公网安备 11010802033920号