第3章STM32最小系统主要内容1、电源电路2、时钟电路3、复位电路4、STM32启动5、程序下载电路6、STM32的最小系统第一页,共三十页。3.1电源电路主要内容供电方案低功耗模式第二页,共三十页。STM32F103引脚(R系列)R系列64引脚第三页,共三十页。VCC:C=circuit表示电路的意思,即接入电路的电压;VDD:D=device表示器件的意思,即器件内部的工作电压(接电源);VSS:S=series表示公共连接的意思,通常指电路公共接地端电压(接地);VDDA,VSSA是模拟部分的电源;VBAT备份区域使用的供电电源;第四页,共三十页。供电方案按照不同部件模块的特点,分部件区域供电。分4个区域、4种类型。CM3处理器区、模拟电路区、I/O端口区、备份区。CM3处理器区:包括CPU、存储器、数字设备,1.8V模拟电路区:ADC、复位模块、RC振荡器、PLL模拟部分,2.0~3.6VI/O端口区:I/O端口等接口,2.0~3.6V(3.3V)备份区:RTC、外部振荡器、后备寄存器,1.8~3.6V第五页,共三十页。低功耗模式实现方法:主要通过对CM3CPU、SRAM、寄存器、外设等部件的供电电源和时钟的控制:降低系统时钟、切断部件时钟、部件电源控制CM3的低功耗运行模式睡眠模式:仅CM3核停止运行,PLL、HSE、HSI正常运行,不需要CPU参与的部件可正常运行。停止模式:CM3核停止运行,关断PLL、HSE、HSI,所有内部外设停止;仅保留备份寄存器、待机电路供电,仅寄存器、SRAM的内容被保留。唤醒后接着运行。待机模式:电压调节器关闭,由电池供电,仅保留备份寄存器、待机电路供电,所有设备停止,寄存器、SRAM的数据丢失。唤醒后从复位状态运行。低功耗模式可以被唤醒,由引脚、系统看门狗或RTC报警唤醒第3次到此2第六页,共三十页。STM32的低功耗模式睡眠模式:仅CM3核停止运行所有时钟停止,第七页,共三十页。3.2时钟电路主要内容HSE时钟和HSI时钟PLL锁相环LSE时钟和LSI时钟系统时钟SYSCLK第八页,共三十页。STM32系统时钟结构主时钟源系统时钟HSE时钟/1,1.572MHz空闲状态第九页,共三十页。4~16MHz≤25MHzSTM32时钟系统结构(续)特点:(1)复杂;(2)各时钟源都可独立控制RTC时钟HSE时钟72MHz独立分频第十页,共三十页。HSE时钟——高速外部时钟,由HSE外部时钟和HSE外部晶体/陶瓷谐振器两种时钟源产生。HSI时钟——高速内部时钟,由内部8MHz的RC振荡器产生。PLL——锁相环(倍频器),可以使电子设备的外部输入信号和内部震荡信号同步。LSE时钟——低速外部时钟,可以由LSE外部时钟和LSE外部晶体/陶瓷谐振器两种时钟源产生。32.768kHzLSI——低速内部时钟,低功耗时钟源,可在停机或待机模式运行,为独立看门狗和自动唤醒单元提供时钟。40kHz系统时钟SYSCLK——供STM32中绝大部分部件工作的时钟源。USB模块——需要48MHz时钟源,必须从PLL输出端获取;STM32F1系列最大频率72MHz,通过AHB分频器分频后送给各个模块。第十一页,共三十页。STM32中的多数模块和外设,都带有独立的时钟使能控制;需要使用某模块时,先使能对应的时钟;不再使用某外设时,应将它的时钟关掉,降低系统功耗。注意36mA27mA第十二页,共三十页。STM32系统时钟的初始化时钟初始化是在“system_stm32f10x.c”文件中完成的。系统时钟初始化函数调用过程如下:main()之前-SystemInit()-SetSysClock()-SetSysClockTo72()“system_stm32f10x.c”文件功能:选择时钟源、设置PLL、设置系统时钟,使能外设,中断向量表定位。第十三页,共三十页。1、将HSE时钟9倍频后生成72MHz的PLL时钟,再将PLL时钟配置成系统时钟;2、配置分别对应于APB1和APB2桥总线的PCLK1、PCLK2时钟,作为相连各外设和功能模块的时钟;3、根据实际需求,将需要运行的外设时钟使能,使外设能正常工作。STM32时钟配置第十四页,共三十页。3.3复位电路三种复位形式系统复位电源复位(上电、掉电,待机模式返回)备份区复位第十五页,共三十页。3.5.1系统复位系统复位即CPU复位、寄存器复位复位事件:1)NRST引脚出现低电平电源电压3.3v时,维持低电平200ms2)窗口看门狗(WWDG)计数终止。窗口看门狗:监测某段程序的过早、过迟运行3)独立看门狗(IWDG)计数终止4)软件(SW)复位对RCC_APB...