二、STM32介绍
想要详细了解芯片数据可以在之前下载的压缩包中找到,路径如下
STM32入门教程资料--->参考文档--->STM32F103x8B数据手册(中文)
ARM
- ARM既指ARM公司,也指ARM处理器内核
- ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构
- ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片
ARM内核型号
蓝色部分,例如ARM7、ARM9等等,都是最早的一批ARM系列的内核
后面经过发展推出了Cortex-A、Cortex-R、Cortex-M系列的型号
其中Cortex-R、Cortex-M主要用于单片机领域,Cortex-A则用于手机领域
STM32简介
- STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
- STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等
- STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器
当前使用的芯片就是主流系列中的:STM32F1
拥有177的内核跑分和72MHz的Cortex-M3内核
STM32F103C8T6
- 系列:主流系列STM32F1
- 内核:ARM Cortex-M3
- 主频:72MHz
- RAM:20K(SRAM)
- ROM:64K(Flash)
- 供电:2.0~3.6V(标准3.3V)
- 封装:LQFP48
芯片照片
片上资源/外设
英文叫:Peripheral
通过程序配置外设,来完成我们想要的功能
下表中就是STM32F1系列的外设资源
表中前两个是位于Cortex-M3内核里面的外设,其他都是内核外的外设
英文缩写 | 名称 |
---|---|
(ARM)NVIC | 嵌套向量中断控制器 |
(ARM)Sys Tick | 系统滴答定时器 |
RCC | 复位和时钟控制 |
GPIO | 通用IO口 |
AFIO | 复用IO口 |
EXTI | 外部中断 |
TIM | 定时器 |
ADC | 模数转换器 |
DMA | 直接内存访问 |
USART | 同步/异步串口通信 |
I2C | I2C通信 |
SPI | SPI通信 |
CAN | CAN通信 |
USB | USB通信 |
RTC | 实时时钟 |
CRC | CRC校验 |
PWR | 电源控制 |
BKP | 备份寄存器 |
IWDG | 独立看门狗 |
WWDG | 窗口看门狗 |
DAC | 数模转换器 |
SDIO | SD卡接口 |
FSMC | 可变静态存储控制器 |
USB OTG | USB主机接口 |
注意:C8T6型号的芯片没有后面四个外设
芯片命名规则
产品系列 + 产品类型 + 产品子系列 + 引脚数目 + 闪存存储器容量 + 封装 + 温度范围
-
产品系列
STM32:基于ARM核心的32位微控制器
-
产品类型
F :通用快闪(FlashMemory)
L:低电压(1.65~3.6V)
F类型中F0xx和F1xx系列为2.0~3.6V;F2xx和F4xx系列为1.8~3.6V
W:无线系统芯片,开发版
-
产品子系列
050:ARMCortex-M0内核
051:ARMCortex-M0内核
100:ARMCortex-M3内核,超值型
101:ARMCortex-M3内核,基本型
102:ARMCortex-M3内核,USB基本型
103:ARMCortex-M3内核,增强型
105:ARMCortex-M3内核,USB互联网型
107:ARMCortex-M3内核,USB互联网型、以太网型
108:ARMCortex-M3内核,IEEE802.15.4标准
151:ARMCortex-M3内核,不带LCD
152/162:ARMCortex-M3内核,带LCD
205/207:ARMCortex-M3内核,不加密模块(备注:150DMIPS,高达1MB闪存/128+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)
215/217:ARMCortex-M3内核,加密模块(备注:150DMIPS,高达1MB闪存/128+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)
405/407:ARMCortex-M4内核,不加密模块(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)
415/417:ARMCortex-M4内核,加密模块(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KBRAM,USBOTGHS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头)
-
引脚数目
F:20脚
G:28脚
K:32脚
T:36脚
H:40脚
C:48脚
U:63脚
R:64脚
O:90脚
V:100脚
Q:132脚
Z:144脚
I :176脚
-
闪存存储器容量
4:16KB
6:32KB
8:64KB
B:128KB
C:256KB
D:384KB
E:512KB
F:768KB
G:1MKB
-
封装
T:LQFP
H:BGA
U:VFQFPN
Y:WLCSP/WLCSP64 -
温度范围
6:-40℃-85℃
7:-40℃-105℃
系统结构
大致可以分成四个部分:内核部分、存储部分、外设部分、DMA部分
内核部分
相当于这个系统的CPU
Cortex-M3引出来三条总线
-
ICode:指令总线
-
DCode:数据总线
-
System:系统总线
ICode和DCode主要用来连接Flash闪存的,Flash里面存储着我们编写的代码
ICode加载程序指令,Dcode加载数据
System总线连接RAM、FSMC,加载程序产生的变量等等
存储部分
存放编写的程序代码
外设部分
AHB系统总线:用于挂载重要外设的,例如复位和时钟控制、SDIO
APB2(先进外设总线):连接外设中稍微重要的部分,例如GPIO、TIM1、ADC、SPI1、USART1等等
APB1(先进外设总线):连接不是那么重要的外设,例如USART2、DAC、USB、I2C等等
性能排序
AHB>APB2>APB1
因为AHB和APB的总线协议、总线速度、数据传送格式的差异,所以需要加上两个桥接来完成数据的转换和缓存
DMA部分
大量数据搬运的活,交给Cortex-M3来做就太浪费内核的资源了,干扰内核的正常工作
于是当出现数据需要搬运时,外设就会通过请求线发送DMA请求,DMA收到请求后就会获取总线的控制权,访问并运转数据,整个过程不需要内核的参与,省下了内核的时间
引脚定义
黑点左边为1号引脚,逆时针依次排序
表中标红色是电源相关的引脚,标蓝色是最小系统相关的引脚,标绿色是IO口、功能口引脚
-
类型
S:电源
I:输入
O:输出
I/O:输入输出
-
I/O口电平:有FT的表示可以容忍5V电压,没有FT表示只能容忍3.3V电压
注意:优先使用引脚名称加粗的IO口,没有加粗的IO口可能需要进行配置才可使用,或者兼具其他功能,使用的时候需要留意一下
启动配置
通过跳线帽来进行启动配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!