1、STM32是基于ARM-Cortex-M内核开发的32位微控制器。
STM32分为高性能系列,主流系列,低功耗系列、无线系列:视频采用STM32F1系列
高性能系列:STM32F2, F4, F7,H7 (3224内核跑分,双核微控制器 = 550MHz的Cortex-M7 + 240MHz的Cortex-M4)
2、ARM内核型号:
经典ARM处理器:ARM7、ARM9、ARM11
Cortex-A系列:Application,高端应用型,应用于手机
Cortex-R系列:Real-time,实时性
Cortex-M系列:Microcontroller 微控制器
STM32F103C8T6,另外常用的型号:STM32F103RCT6
STM32F1是主流系列,内核ARM-Cortex-M3内核,主频72MHz,运行内存RAM是20K,程序存储器ROM是64K。 供电:2.0-3.6V,封装:LQFP48
3、片上资源(Peripherial)
NVIC:内核中管理终端的设备,配置中断优先级
SPI:SPI通信
Systick:给FreeRTOS系统提供定时进行任务切换
CAN: CAN通信,汽车领域
RCC:对系统的时钟进行配置,操作外设之前需要使能时钟
USB: USB通信
GPIO: 通用IO口 AFIO:复用IO口,复用功能端口重定义,中断端口的配置
RTC: 实时时钟
EXTI: 外部中断,引脚电平变化触发中断,让CPU处理任务
PWR:电源控制
TIM:定时器,分为高级定时器、通用定时器和基本定时器
BKP:备份寄存器
ADC:模数转换器,STM32内置12位的AD转换器
IWDG:独立看门狗
DAC:数模转换器 DMA:直接内存访问
WWDG:窗口看门狗
USART:同步/异步串口
SDIO: SD卡接口
I2C:I2C通信
FSMC:可变静态存储控制器
USB OTG:USB主机接口
4、系统结构
5、芯片引脚定义:
1、VBAT 备用电池供电引脚
2、I/O口、侵入检测、RTC
3/4、I/O口、32.768KHz的RTC晶振
5/6、系统主晶振,8MHz 经过锁相环倍频得到72MHz
7、复位引脚,低电平复位
8/9、内部模拟电路的电源,比如ADC,RC振荡器,VSS是负极(GND),VDD是正极(3.3V)
10-19:I/O口,PA0兼具wakeup功能,唤醒处于待机模式的STM32
20:I/O口、BOOT引脚
21/22:I/O口
23/24:系统主电源
25-33:I/O口
34 37-40 I/O口,调试端口,用于调试程序和下载程序
STM32支持SWD和JTAG两种调试方式,SWD需要SWDIO和SWCLK两根线,JTAG需要JTMS,JTCK,JTDI,JTDO和NJTRST ST-LINK是SWD调试模式
41-43 45-46: I/O口
44:BOOT0
6、启动配置:
最小系统电路
7、晶振电路:
8MHz的主时钟晶振-----内部锁相环倍频-------72MHz的主频,连接到5,6号引脚
32.768KHz的晶振 ----经过RTC电路的2^15分频------ 1Hz 连接到3,4号引脚
8、复位电路 NRST 接到 7号引脚,低电平复位 上电瞬间,电源通过电阻向电容充电,此时电容成短路状态,NRST产生低电平,最后电容充电完成形成断路状态,产生高电平
9、启动配置 选择BOOT引脚
10、下载端口 SWDIO和SWCLK接线,3.3V和GND接线