STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器,
系列:主流系列STM32F1
内核:ARM Cortex-M3
主频:72MHz
RAM:20K(SRAM)
ROM:64K(Flash)
供电:2.0~3.6V(标准3.3V)
封装:LQFP48---48个引脚
供电是3.3v,而51单片机是5v供电,如果要使用5v给32单片机供电,需要加一个稳压芯片,将电压降到3.3v再给32单片机供电。单片机只有一个芯片一般无法工作,需要为它连接最基本的电路,称为最小系统电路
片上资源/外设:(主要学习的就是这些外设的使用)
英文缩写 | 名称 | 英文缩写 | 名称 |
NVIC | 嵌套向量中断控制器 | CAN | CAN通信 |
SysTick | 系统滴答定时器 | USB | USB通信 |
RCC | 复位和时钟控制 | RTC | 实时时钟 |
GPIO | 通用IO口 | CRC | CRC校验 |
AFIO | 复用IO口 | PWR | 电源控制 |
EXTI | 外部中断 | BKP | 备份寄存器 |
TIM | 定时器 | IWDG | 独立看门狗 |
ADC | 模数转换器 | WWDG | 窗口看门狗 |
DMA | 直接内存访问 | DAC | 数模转换器 |
USART | 同步/异步串口通信 | SDIO | SD卡接口 |
I2C | I2C通信 | FSMC | 可变静态存储控制器 |
SPI | SPI通信 | USB OTG | USB主机接口 |
IWDG | 独立看门狗 |
WWDG | 窗口看门狗 |
当芯片受到电磁干扰或者程序出现死循环而死机时,看门狗就会及时复位芯片,保持系统稳定
STM32系统结构:
了解32系统结构,可以加深对STM32的认识,方便以后的学习
可以分为四个部分看,左上,Acortex-M3为Arm核心,ICode指令总线,Dcode数据总线,System系统总线;
ICode总线和Dcode总线主要是用来连接系统闪存(flash)的;flash里面存储的是我们写的程序;
ICode指令总线:用来加载程序指令的;
Dcode数据总线:用来加载数据,如常量和调试数据等;
除ICode总线和Dcode总线,还有System系统总线:用来连在其他部分上,如这里连接了SRAM,用于存储程序运行时的变量数据,也连接了FSMC(本课程暂时不用到);
AHB系统总线:用于挂载主要外设,AHB是先进高性能总线,挂载的一般是最基本的、性能比较高的外设,如复位和时钟控制这些最基本的电路,以及SDIO也是挂载在AHB上的;
后面有两个桥接,接到了APB1和APB2两个外设总线上,APB的意思是先进外设总线,用于连接一般的外设,因为AHB与APB总线协议、总线速度以及数据传送格式的差异,所以中间需要加两个桥接来完成数据的转换和缓存;
AHB的总体性能比APB高一些,其中APB2比APB1性能又高一些,APB2一般是和AHB同频率的,都是72MHz,APB1一般是36MHz,所以APB2一般连接的是外设种稍微重要的设备,如GPIO端口,和外设的1号选手等,如USATT1,SPI1,TIM1,TIM8等;TIM1和TIM8一样,也是高级定时器,也是重要的外设,ADC,EXTI,AFIO也是接在APB2上的;
但是一般使用的时候,是感受不到APB1和APB2的差异
DMA(直接内存访问)可以看作是CPU的小秘书,主要做的是数据搬运之类的工作,省下CPU时间来做其他重要的事,DMA连接在总线矩阵上,与CPU一样具有总线控制权