STM32概述

STM32概述

1.1 什么是STM32

新的基于ARM内核的32位MCU系列

内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核

标准的ARM架构

超前的体系结构

  1. 高性能
  2. 低电压
  3. 低功耗
  4. 创新的内核以及外设

简单易用/自由/低风险

1.2 Cortex内核

Cortex-M3系列属于ARMv7架构

ARMv7架构定义了三大分工明确的系列:

“A”系列:ARM Cortex-A为应用型处理器,适用于需要复杂软件操作系统平台和复杂应用程序的设备,例如智能手机、移动计算平台、数字电视和机顶盒、打印机和服务器等。ARM Cortex-A系列具有完全的应用兼容性,支持传统的ARM、Thumb指令集和新增的高新能紧凑型Thumb-2指令集。

“R”系列:ARM Cortex-R针对需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统设计的;

“M"系列:ARM Cortex-M系列针对成本和功耗敏感的MCU和终端应用,如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、医疗器械等领域。主要就是微控制器,也就是单片机。

STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMV7-M架构。

STM32F4属于Cortex-M4系列,采用ARM7-ME架构。

Cortex-A5/A8采用ARMV7-A架构。

传统的ARM7系列采用的是ARMv4T架构(逐渐被淘汰)。

STM32概述_第1张图片

STM32概述_第2张图片

1.3 Cortex-M3芯片结构

Cortex-M3内核由ARM公司设计,芯片的其他外设功能由芯片制造厂商设计开发,比如ST公司就是根据这个M3内核,设计出不同的STM32芯片

STM32概述_第3张图片

STM32 命名规则

STM32概述_第4张图片

芯片内部资源描述(STM32F103ZET6、STM32F103RCT6)

内核

32位 高性能ARM CortexAM3处理器

时钟:高达72M,实际还可以超频一点点,但不推荐这样使用

单周期乘法和硬件除法

IO口

STM32F103ZET6:144个引脚,112个IO

STM32F103RCT6:64个引脚,51个IO

大部分IO口都耐5V(模拟通道除外)

支持调试:SWD和JTAG,SWD只要2根数据线

存储器容量

STM32F103ZET6:512K FLASH,64K SRAM

STM32F103RCT6:256K FLASH,48K SRAM

PIN to PIN兼容

比如说ZET6和ZDT6是PIN to PIN兼容的,主要是看第一个字母,代表的是芯片的引脚, 都是Z表示都是144个引脚,那么开发的时候就可以选择容量比较大的来开发,到最后发现用不到这么大的容量,就可以使用PIN to PIN兼容的芯片替换;第二个字母是闪存容量的区分,需要注意的是,就算芯片是PIN to PIN兼容的,也有一些其他功能是不同的,使用时要区别开来

时钟,复位和电源管理

2.0~3.6V电源和IO电压,一般使用3.3V供电

上电复位,掉电复位和可编程的电压监控

强大的时钟系统

4~16M的外部高速晶振(开发板上一般使用8M的晶振)

内部8MHZ的高速RC振荡器(当外部晶振不起作用时,切换到内部晶振继续工作)

内部40KHz低速RC振荡器,看门狗时钟

内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到(比如上面说的开发板使用8M晶振,作为输入经过这里的PPL,倍频到72M,给到系统时钟使用)

外部低速32.768K的晶振,主要做RTC时钟源

低功耗

睡眠,停止和待机三种低功耗模式

可用电池为RTC和备份寄存器供电

AD

3个12位AD(多达21个外部测量通道)

转换范围:0~3.6(电源电压)

内部通道可以用于内部温度测量(用内部温度传感器)

内置参考电压

DA

2个12位DA

DMA(直接存储器访问)

(作用:主要为CPU减负,在高速数据采集时一般会用到DMA)

12个DMA通道(7+5=12;7通道DMA1 ,5通道DMA2)

支持外设:定时器,ADC,DAC,SDIO,I2S,SPL,I2C和USART

定时器,多达11个定时器

4个通用定时器

2个基本定时器

2个高级定时器

1个系统定时器

2个看门狗定时器

通信接口,多达13个通信接口

2个I2C接口

5个串口

3个SPI接口

1个CAN2.0

1个USB FS

1个SDIO

芯片内部结构

STM32概述_第5张图片

你可能感兴趣的:(STM32,stm32,单片机,arm)