STM32 最小系统中的4种电路

简介: 单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。

STM32 最小系统中的4种电路

  • 单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。

1. 电源电路

1ecb2ae4854144f88b8e240f96198520.png

VDD-VSS:标准工作电压;电压范围:2V~3.6V;从VDD1 ~ VDD3,VSS1 ~ VSS3共有3组;经过MCU内部Regulator电源管理,为CPU、存储器等供电;

VDDA-VSSA:模拟工作电压;电压范围:2V~3.6V(未使用ADC) 2.4V~3.6V(使用ADC);由VDDA输入,为ADC、DAC等供电;

VREF±VREF-:基准参考电压;电压范围:2.4V~ VDDA;可以使用独立参考电压VREF(需10nF+1uF高频滤波电容),也可使用VDDA输入,为ADC、DAC等作基准参考电压;

VBAT:RTC备用电源;电压范围:1.8V~ 3.6V;通常使用纽扣电池外部供电,当主电源VDD掉电后,VBAT为实时时钟(Real-Time Clock,RTC)和备份寄存器供电(此时功耗超低)

从数据手册了解到以上知识后,再来看看原理图的MCU电源部分。开发板采用USB供电,通常USB都为5V,因此需要将5V转换成3.3V,使用AMS1117-3.3电源芯片即可实现。

6f1141ec44204ddd9a0bd9785962d90f.png

电压转化(图片来源百问网)

时钟电路


2. 时钟电路

MCU是一个集成芯片,由非常复杂的数字电路和其它电路组成,需要稳定的时钟脉冲信号才能保证正常工作。时钟如同人体内部的心脏一样,心脏跳动一下,推动血液流动一下。时钟产生一次,就推动处理器执行一下指令。除了CPU,芯片上所有的外设(GPIO、I2C、SPI等)都需要时钟,由此可见时钟的重要性。芯片运行的时钟频率越高,芯片处理的速度越快,但同时功耗也越高。为了功耗和性能兼顾,微处理器一般有多个时钟源,同时还将时钟分频为多个大小,适配不同需求的外设。


c2eead1419d94e099f0de8a55f9efe97.png

  1. STM32F103x8 时钟树(图片来源百问网)

3. 复位电路

  • 嵌入式系统中,由于外界环境干扰,难免出现程序跑飞或死机,这时就需要复位让MCU重新运行。该电路将一个按键接在了NRST引脚,一旦按键按下,NRST就会接地,拉低NRST,实现复位。
  • b3e7eded0551489fb7821954395b3aff.png
  • 复位参考电路(图片来源百问网)
  • 原理图上的复位电路,当开发板正常工作时,3V3上拉NRST,当K1被按下,NRST会导通接地,拉低NRST,使MCU复位。
  • 5963997b6489431fa53f96d62e5cd118.png

4. 调试/下载电路

不同的MCU,调试/下载的方式可能不一样。比如51系列单片机,使用串口下载程序,部分也使用串口仿真调试。对于STM32,可以使用串口下载程序,也可以使用串口打印的方式进行简单调试,如果想仿真单步调试,就需要JTAG(Joint

Test Action Group)调试接口或SWD(Serial Wire Debug)调试接口。

7aa02dacd0354cafb5cbd425415c9fdd.png

串口自动下载电路涉及BOOT启动选择,当BOOT0和BOOT1引脚都为低电平时,MCU正常启动;当BOOT1引脚为低电平,BOOT0引脚为高电平时,进入串口下载模式(In System Programing,ISP)。串口打印调试/下载电路如图 5.2.9 所示,上电后,CH340G的RTS和DTR都输出高电平,电脑上位机软件控制DTR引脚输出低,PMOS管导通,电容C2充能,BOOT0逐渐变为高,此时三极管Q2导通,复位拉低,MCU复位。随后控制DTR输出高,PMOS管关闭,C2放电,BOOT1会保持一段时间高电平,此时三极管Q2截止,RESET

上拉,开发板启动,进入串口下载模式。下载完后,跳到下载程序位置,运行下载程序。

dd126c5f4548495ababd0035273787b2.png

  • 串口打印调试/下载电路(图片来源百问网)
  • 开发板除了用于单步仿真调试/下载SWD接口,也可以作为ST-Link去调试下载其它SWD接口。这里把两个接口做在了一起,实现了两个板子直连,一个作为ST-Link去调试/下载,一个作为开发板被调试/下载。
  • 7a87c5b5b5eb4f04a49c9b25b56bbfb1.png
  • SWD 接口调试/下载电路(图片来源百问网)

内容来源百问网

相关文章
|
7月前
|
物联网 开发者 智能硬件
STM32:引领嵌入式系统新时代的微控制器
STM32:引领嵌入式系统新时代的微控制器
|
7月前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
584 0
STM32F103标准外设库——SysTick系统定时器(八)
|
2月前
|
传感器 监控 物联网
基于STM32+微波雷达设计的非接触式睡眠监控系统
本项目开发一种非接触式的睡眠监控系统,该系统利用先进的60GHz毫米波雷达技术和STM32微控制器,实现了对人体在睡眠过程中的存在感知、运动感知以及生理指标如呼吸频率、心率的实时监测。系统能够自动评估睡眠质量,并在用户睡眠周期结束时提供睡眠评分。为了确保用户能够在任何地点了解自己的睡眠状况,系统集成了Wi-Fi模块,可以将收集到的数据上传至华为云物联网平台,并通过专门设计的移动应用程序供用户远程访问。此外,系统还具备超阈值报警功能,当检测到异常的生理指标时会发出警报提醒。本地1.44寸TFT LCD显示屏用于实时显示监测到的信息,包括生理指标和环境数据。为了全面监测用户的健康状况,系统还加入了
325 0
基于STM32+微波雷达设计的非接触式睡眠监控系统
|
2月前
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
133 0
|
2月前
|
传感器 网络协议 物联网
基于STM32的环境监测系统 (esp8267)(下)
基于STM32的环境监测系统 (esp8267)(下)
161 0
|
2月前
|
传感器 测试技术 芯片
基于STM32的环境监测系统 (esp8266)(上)
基于STM32的环境监测系统 (esp8266)(上)
504 0
|
3月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
299 0
|
7月前
|
内存技术 存储 Android开发
MCU最小系统电路设计(以STM32F103C8T6为例)-3
MCU最小系统电路设计(以STM32F103C8T6为例)
MCU最小系统电路设计(以STM32F103C8T6为例)-3
|
7月前
|
芯片
MCU最小系统电路设计(以STM32F103C8T6为例)-1
MCU最小系统电路设计(以STM32F103C8T6为例)
MCU最小系统电路设计(以STM32F103C8T6为例)-1
|
5月前
|
前端开发 安全
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
223 0