STM32简介
一、单片机
- 单片机(Microcontroller Unit,MCU)是一种集成电路芯片,它将微处理器(CPU)、存储器(如 RAM 和 ROM)、输入/输出接口(I/O)、定时器、中断系统、通讯接口等电脑常用硬件功能集成在单一的硅片上,形成一个微型的计算机系统。
- 单片机的任务是采集信息(依靠传感器)、处理信息(依靠 CPU)和控制硬件设备(如电机、LED 等)。
- 与计算机相比,单片机可被视为一个微型计算机,它具备了计算机的核心特征,一个芯片就能构成完整的计算机系统。尽管在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域得到了广泛应用;同时,学习使用单片机是了解计算机原理与结构的最佳选择。
二、ARM
- ARM 公司是全球领先的半导体知识产权(IP)提供商,专注于设计精简指令集计算(RISC)处理器架构。ARM 公司并不直接制造处理器,而是通过授权其架构和处理器设计给其他公司来实现商业化。通常情况下,ARM 公司设计 ARM 内核,而半导体厂商则在此基础上完善内核周边电路并生产芯片。全世界超过 95% 的智能手机和平板电脑都采用 ARM 架构。
- ARM架构,过去称作高级精简指令集机器(Advanced RISC Machine),更早称作 Acorn RISC Machine,是一个包含32位和64位版本的精简指令集(RISC)处理器架构。这套架构规范规定了处理器的设计规则,包括指令集、数据路径、寻址模式、异常处理机制等。简单来说,ARM 架构定义了处理器如何执行指令和处理数据,但它本身不是具体的硬件。
- ARM 内核(处理器的核心)是基于 ARM 架构的具体处理器设计,是 ARM 架构的实际硬件体现。ARM 内核实现了 ARM 指令集的硬件架构,包含了执行 ARM 指令集所需的全部硬件逻辑,如算术逻辑单元(ALU)、寄存器文件、控制逻辑等。内核是处理器的核心部分,负责实际执行计算任务。
- ARM 处理器(物理产品)是基于 ARM 架构设计的完整微处理器芯片。它不仅包含一个或多个 ARM 内核,还包括其他必要的组件和外设,如缓存、内存控制器和 I/O 接口等。ARM 处理器可以由 ARM 公司直接设计和制造,也可以由第三方公司基于 ARM 架构自行设计制造。无论是哪一种,ARM 处理器都遵循 ARM 架构规范。
- 简而言之,ARM 架构提供了处理器设计的规范,ARM 内核是遵循这些规范的具体硬件实现,而 ARM 处理器则是基于这些内核和其他组件制造的完整芯片产品。
- 尽管 x86 是服务器市场的主流架构,但 ARM 架构才是世界上最普及的电子设计方案。x86 芯片追求的是优化性能,而 ARM 架构的处理器则致力于实现成本与更小尺寸、更低功耗、更低热量生成、速度与更长电池使用时间之间的平衡。几乎所有智能手机以及其他小型移动设备和笔记本电脑都采用的是 ARM 架构。
三、STM32
- STM32是ST公司(STMicroelectronics)生产的一系列基于ARM Cortex-M内核的32位微控制器,以功能强大、性能优异、功耗低、可靠性强等特点著称,并拥有丰富的外设和完善的开发工具,是一款经典的嵌入式微控制器。
- STM32广泛应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等。
- STM32 系列根据性能和功能的不同,分为多个子系列,包括主流的 STM32F 系列、超低功耗的 STM32L 系列、高性能的 STM32H 系列、面向通用应用的 STM32G 系列以及集成无线通信功能的 STM32WB 系列。每个子系列针对特定的应用需求,提供不同等级的性能和能效。
四、命名规则
以 STM32F103C8T6 这个型号的芯片为例,该型号的组成为 7 个部分,其命名规则如下:
型号组成 | 含义 | 具体 |
---|---|---|
STM32 | 家族 | ST代表ST公司,M代表MCU,32代表基于ARM Cortex-M内核的32位微控制器 |
F | 产品类型 | F = 通用型;S = 标准型;L = 低功耗;H = 高性能;G = 主流型 |
1 03 | 具体特性 | 0—入门级;1—基础型;2—基础型;3—基础型;4—高性能系列;7—高性能系列 03—子型号名(另外还有00,01,02,05,07等,具体见官网) |
C | 引脚数 | T = 36;C = 48;R = 64;V = 100;Z = 144;B = 208;N = 216 |
8 | 闪存存储器(Flash)容量 | 4 = 16K字节的Flash;6 = 32K字节的Flash;8 = 64K字节的Flash;B = 128K字节的Flash;C = 256K字节的Flash;D = 384K字节的Flash;E = 512K字节的Flash |
T | 封装 | H = BGA;T = LQFP(最常用);U = VFQFPN;Y = WLCSP64 |
6 | 温度范围 | 6 = 工业级温度范围,-40℃~85℃;7 = 工业级温度范围,-40℃~105℃ |