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晶振
复位电路

当复位电路在上电瞬间,电容无电;随后开始充电,电容呈现电路,复位引脚被拉低,充电完成后,电容相当断路,复位引脚拉为高电平
按键提供手动复位的作用
启动电路

下载端口

浙公网安备 33010602011771号