STM32 最小系统中的4种电路
- 单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。
1. 电源电路
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电源芯片即可实现。
电压转化(图片来源百问网)
时钟电路
2. 时钟电路
MCU是一个集成芯片,由非常复杂的数字电路和其它电路组成,需要稳定的时钟脉冲信号才能保证正常工作。时钟如同人体内部的心脏一样,心脏跳动一下,推动血液流动一下。时钟产生一次,就推动处理器执行一下指令。除了CPU,芯片上所有的外设(GPIO、I2C、SPI等)都需要时钟,由此可见时钟的重要性。芯片运行的时钟频率越高,芯片处理的速度越快,但同时功耗也越高。为了功耗和性能兼顾,微处理器一般有多个时钟源,同时还将时钟分频为多个大小,适配不同需求的外设。
- STM32F103x8 时钟树(图片来源百问网)
3. 复位电路
- 嵌入式系统中,由于外界环境干扰,难免出现程序跑飞或死机,这时就需要复位让MCU重新运行。该电路将一个按键接在了NRST引脚,一旦按键按下,NRST就会接地,拉低NRST,实现复位。
- 复位参考电路(图片来源百问网)
- 原理图上的复位电路,当开发板正常工作时,3V3上拉NRST,当K1被按下,NRST会导通接地,拉低NRST,使MCU复位。
4. 调试/下载电路
不同的MCU,调试/下载的方式可能不一样。比如51系列单片机,使用串口下载程序,部分也使用串口仿真调试。对于STM32,可以使用串口下载程序,也可以使用串口打印的方式进行简单调试,如果想仿真单步调试,就需要JTAG(Joint
Test Action Group)调试接口或SWD(Serial Wire Debug)调试接口。
串口自动下载电路涉及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
上拉,开发板启动,进入串口下载模式。下载完后,跳到下载程序位置,运行下载程序。
- 串口打印调试/下载电路(图片来源百问网)
- 开发板除了用于单步仿真调试/下载SWD接口,也可以作为ST-Link去调试下载其它SWD接口。这里把两个接口做在了一起,实现了两个板子直连,一个作为ST-Link去调试/下载,一个作为开发板被调试/下载。
- SWD 接口调试/下载电路(图片来源百问网)
内容来源百问网