一、STM32最小系统
二、电源电路
2.1供电电压VDD,VSS
在 F103VET6 的引角图中可找到 49\50 角, 74\75 角, 99\100 角, 27\28角,10 \11角一共 5 对的VDD,VSS,也就是给我们芯片供电的正负电源。
STM32的工作电压(VDD)为2.0~3.6V,一般是选择 3.3 V作为 VDD 供电区域的电压值。
然后电压值还会通过内置的电压调节器转换为 CPU 内核提供所需的1.8V电源。
2.2供电电压VDDA ,VSSA
在19\20引脚VDDA ,VSSA可以作为独立电源,给 AD 转换器、温度传感器等提供电源,目的是可以提高相应模块的精度。
在数据手册中 VSSA,VDDA 供电电压范围和 VDD 一样,是2.0V~3.6V之间。
当对精度要求不高时,可以直接将这两个引角直接到芯片的电源 VDD 和 VSS 上。
2.3 AD/DA转换参考电压VREF-,VREF+
20/21引脚,是一对VREF-,VREF+,这是一对参考电压,作为模数/数模转换的参考电压。
2.3.1基本介绍
位数:数字量的个数。
假设数字量的位数是8位,则 0V 对应的这个数字量是0000 0000。
参考电压:全一的数字量对应的模拟量。
假设参考电压是 5 V,就表示全一的这个数字量对应的模拟量是 5 V。
这样就形成了一个一一对应的关系,参考电压变化引起的数字量变化。
2.3.2 STM32中实际情况
(1)参考电压
在数据手册中规定STM32实际的数字量位数和模拟量参考电压。
VREF+的范围是 2.4 伏到VDDA,其中VDDA 是与供电电源是一致的,为2.0~3.6 V,所以我们这里VREF+也是2.0~3.6 V,即精度要求不高的话,可以直接将这两个参考电压引角接到电源的 3.3 伏上。
(2)位数
数据手册中说明 F1 系列具有两个 12 位的模数转换器。
则对应关系如下图:
2.4 备用电源接入引脚VBAT
当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。
2.5总结
2.6电源供电参考电路
上图是 USB 供电的,因为 USB 供电电压是 5V,而 STM32 电源的工作范围是 2.0V 到 3.6V,直接供电就会把芯片烧掉了。
可以先通过一块稳压模块,先将 5V 的电源降压为 3.3 伏,之后再给芯片供电。
这里电路用的稳压芯片是 AMS 1117,将 5V 稳压为 3.3V。
三、晶振电路
晶振引脚:8/9、12/13
3.1晶振电路的必要性
必须要有时钟波形,芯片就可以在每一个上升延或者下降延到来的时候执行一次动作。
可以简单认为时钟波形的频率越高,单位时间内芯片能执行的指令就更多,芯片就更强大。
3.2 STM 32 整体芯片架构
STM32系统结构如下图:
大致分为 ARM context 内核,通过总线连接的外部存储设备、闪存flash、 存储器SRAM 以及各种各样的外设。
每一部分想要能够正常工作,都需要有属于自己的时钟信号,如下图:
这么多的时钟就需要共用时钟源,并通过分频器或者倍频器得到自己想要的时钟频率。
3.3时钟源
3.3.2内部时钟源
(1)高速内部时钟信号HSI
内嵌经出厂调校的8MHz的RC振荡器,系统在启动时默认使用该内部8MHz作为主时钟源
(2)低速内部时钟信号LSI
内嵌带校准的40kHz的RC振荡器,主要是给独立开门狗使用的 RC 震荡器
这两组内部时钟源都是由电阻电容构成的 RC 震荡器,所以容易受到环境和温度的影响,即会随着环境变化,时钟频率也会变化,不那么准。
(3)产生CPU时钟的PLL:PLL
PLL:锁相环倍频器。它不产生时钟信号,但是可以对时钟信号进行倍频,这样就可以采用时钟源产生低频的时钟信号,然后再通过PLL倍频得到目标频率。
3.3.3外部时钟源
(1)高速外部时钟信号HSE
4~16MHz晶体振荡器,一组OSC接入4-16兆的晶体振荡器
(2)低速外部时钟信号LSE
带校准功能的32kHZ RTC振荡器,一组OSC32接入带校准功能的32kHZ RTC振荡器
外部晶震通常是石英晶振或陶瓷晶振,相对于内部的 RC 震荡器来说,精度和抗环境干扰的能力就很高。所以一般都是优先使用外部晶振作为时钟源的。
3.4晶振电路
低速外部晶振LSE
由一块 32.768 k 赫兹的石英震荡器以及两个匹配电容 C1,C2 组成。
高速外部晶振HSE
由一块 8MHz 的石英振荡器和匹配电容 C3,C4 组成。R10 是一个反馈电阻,是可以不接的,因为 STM32 已经将这个电阻是已经集成到芯片的内部。
引脚名称 | 说明 | |
晶振 (外部) | OSC_IN OSC_OUT (HSE) | 外接4M~16MHz的HSE引脚,用于给STM32提供高精准系统时钟,如果使用内部HIS能满足使用需求,这两个脚可以不接晶振 |
OSC32_IN OSC32_OUT (LSE) | 外部LSE引脚,通常为32.768KHz,用于给STM32内部RTC提供时钟,如果使用内部LSI能满足使用需求,这两个脚可不接晶振 | |
晶振 (内部) | HSI | 外部HSE晶振引脚,用于给STM32提供高精准系统时钟,如果使用内部HIS能满足使用需求:这两个脚可以不接晶振 |
LSI | 外部LSE晶振引脚,用于给STM32内部RTC提供时钟,如果使用内部LSI能满足使用需求,这两个脚可不接晶振 | |
PLL | 锁相环倍频输出,用来将输入时钟源倍频,时钟输入源可以是HSE、HSE/2、HSI/2,倍频系数可选择为2~16倍。 |
本文参考:
喵咕噜11