1.STM32绪论

本人目前下单使用的开发板:野火-STM32F103 指南者开发板

一、STM32简介

1、STM32是ST公司基于ARM内核Cortex-M内核开发的32bit微控制器。

 

二、STM32片上外设(Peripheral):

 其中NVIC和SysTick是位于Cortex-M3内核外设,其余均为内核外外设。

NVIC:管理中断的设备

SysTick:给操作系统提供定时服务

RCC:对系统时钟进行配置和使能各个模块时钟,上电后默认无时钟,无法操作外设,目的为减低功耗

AFIO:复用IO口 ,可完成复用功能端口的重定义与中断端口的配置

EXTI:配置好外部中断后,当引脚存在电平变化,可触发中断,让CPU处理任务

TIM:分为高级定时器、通用定时器、基本定时器

DMA:直接内存访问,帮助CPU完成数据搬运

RTC:完成内部年月日、时分秒的计时功能,可接外部电池

PWR:让芯片进入睡眠模式达到省电的目的

IWDG、WWDG:当单片机因为电磁干扰或程序设计不合理出现死循环时,可及时复位芯片

FSMC:用于拓展内存

注:图来自《STM32F103xC, STM32F103xD, STM32F103xE数据手册》的2.1器件一览节

 

三、命名规则

以本人的开发板的MCU为例——STM32F103VET6

STM32(产品系列):基于ARM 核心的32位核心微控制器

F(产品类型) :通用快闪

103(产品子序列):基础型

V(管脚数):100PIN;

E(Flash容量):512KB

T(封装):LQFP

6(温度范围):-40℃-85℃

 

四、STM32F10X(大、中、小容量)系统架构

1、内核:Cortex-M3

2、ICode指令总线:与DCode一起连接Flash闪存,Flash存储内容为编写的程序,ICode用于程序指令

3、DCode数据总线:加载数据、例如常量、调试数据

4、System系统总线:连接SRAM(存储程序运行时的变量数据)、FSMC

5、AHB系统总线:用于挂载主要性能高的或者最基本的外设,例如RCC、SDIO、桥接的APB2、APB1总线(AHB与APB的总线协议、速度、数据格式传递格式存在差异,故采用桥接方式)

6、APB2、APB1:APB2性能比APB1高

7、DMA总线:DAM通过该总线连接至总线矩阵上,可拥有总线控制权,用于访问外设

 注:图来自《STM32F10xxx参考手册》2.1 系统构架一节

 

五、引脚定义

注:图来自《STM32F103xC, STM32F103xD, STM32F103xE数据手册》的3.引脚定义的图6

 

六、启动配置

1、启动配置的作用是指定程序启动开始运行的位置,一般程序在Flash存储器开始执行

2、STM32F10xx里,可通过BOOT[1:0]引脚选择三种不同启动方式

BOOT1对应管教为PB2、BOOT0对应管教为BOOT0

  • 主闪存存储器:多数情况下默认使用
  • 系统存储器:BOOT1对地,BOOT0接3.3V后。该模式是用于做串口下载程序。该系统存储器存储的便是STM32中的接收串口数据、刷新至Flash的BootLoader程序

在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。

 

七、最小系统电路

供电电路:

1、电源到地须添加一个滤波电容

2、VDD接入相应3.3V,VSS接入GND

3、Vbat接入一个备用电池,主要给RTC和备份寄存器服务

 

 晶振

 1、20pF电容为启震电容

2、使用RTC时需要添加两个32.768KHz晶振

 

复位电路

当复位电路在上电瞬间,电容无电;随后开始充电,电容呈现电路,复位引脚被拉低,充电完成后,电容相当断路,复位引脚拉为高电平

按键提供手动复位的作用

 

启动电路

 下载端口

 

posted @ 2023-08-20 14:11  nonAny  阅读(66)  评论(0)    收藏  举报