【STM32 基础复习 01】初识 STM32F103ZET6:型号、封装、引脚编号与特殊引脚

本文是"嵌入式基础学习"系列的第一篇,内容覆盖课件《初识 STM32F103ZET6》第 1~18 页,并结合 ST 官方数据手册和 RM0008 参考手册校正细节。目标不是背诵引脚名称,而是建立一条完整认识路线:芯片是什么 -> 型号怎样读 -> 实物怎样找 1 脚 -> 引脚怎样分类 -> 芯片为什么能够正确上电、复位和启动。

一、先建立整体认识:STM32 到底是什么

STM32 是意法半导体(STMicroelectronics)推出的一系列 32 位微控制器。这里的"微控制器(MCU)"可以先理解成一台被压缩到单颗芯片里的小型计算机,它通常同时包含:

  • 处理器内核:执行程序指令;
  • Flash:掉电后仍能保存程序;
  • SRAM:保存程序运行期间的临时数据;
  • GPIO:读取按键、控制 LED 等;
  • 定时器、ADC、USART、SPI、I2C 等片上外设;
  • 时钟、复位、供电和调试接口。

STM32F103 使用 Arm Cortex-M3 内核。与只会"执行计算"的处理器不同,MCU 的价值在于它能直接连接现实世界:读取传感器、控制电机、驱动屏幕、采集模拟电压,或者通过串口、SPI、I2C 与其他芯片通信。

典型应用包括工业控制、仪器仪表、智能家电、机器人控制、数据采集和各种嵌入式终端。学习 STM32F103 的意义并不是只会某一块开发板,而是借它掌握 MCU 项目的共同方法:看数据手册、接硬件、配置寄存器、烧录程序、观察真实信号并排查故障。

二、不要死记型号:把 STM32F103ZET6 拆开读

STM32F103ZET6 不是随机字符串,每个部分都在描述芯片规格。

字段 含义 对学习和选型的影响
STM32 基于 Arm 架构的 32 位微控制器系列 表明产品家族
F103 F 系列中的 103 性能线,使用 Cortex-M3 内核 决定内核、外设体系和参考手册范围
Z 144 个物理引脚 决定封装引脚数量和可引出的资源
E 512 KiB 内部 Flash 决定程序与只读数据可用空间
T LQFP 封装 决定焊盘、PCB 封装和焊接方式
6 工业温度范围 -40~85 ℃ 决定器件保证工作的环境温度等级

这里要注意两个容易混淆的概念:

  1. Flash 容量不是运行内存。 Flash 主要保存程序,SRAM 才保存栈、堆、局部变量和运行时数据。
  2. 144 个物理引脚不等于 144 个可随意编程的 GPIO。 其中还包含电源、地、复位、启动、时钟、模拟参考等引脚。

以后拿到一个陌生 STM32 型号,先去数据手册最后的 Ordering information scheme 查命名规则,比靠经验猜更可靠。

三、封装是什么:为什么同一颗芯片会长得不一样

封装描述的是芯片裸片如何被保护、引脚如何引出,以及 PCB 应该使用怎样的焊盘。STM32F103ZET6 中的 T 表示 LQFP(Low-profile Quad Flat Package,低轮廓四边扁平封装)。

LQFP 的特点是:

  • 四条边都有向外伸出的引脚;
  • 可以直接观察焊点,便于检查和返修;
  • 引脚数量较多时占板面积也较大;
  • PCB 封装必须与具体的引脚数和尺寸匹配,不能只看到"LQFP"就直接替换。

封装不是芯片功能本身,但它直接影响 PCB 设计、焊接难度、散热和引脚能否全部引出。同一产品线可能同时提供 LQFP、BGA 或其他封装,功能相近并不代表焊盘兼容。

四、怎样从实物找到 1 脚

观察 LQFP 芯片顶面,通常能看到一个圆点、缺口或其他方向标记。离方向标记最近的角对应 1 脚附近,然后按照数据手册的顶视图进行编号。

对于课件中的 LQFP144:

  • 一共 144 个物理引脚;
  • 每条边 36 个引脚;
  • 从 1 脚开始,按顶视图逆时针递增;
  • 原理图中的 PA0VSSNRST 是功能名称,1~144 是封装上的物理编号,两者不是一回事。

可以把它类比成教室:座位号是物理位置,坐在位置上的同学姓名是功能名称。看原理图和 PCB 时必须完成"物理编号 <-> 引脚名称 <-> 芯片功能"三者之间的对应。

五、144 个引脚应该怎样分类

为了学习,可以先把引脚分成两大类。

1. 专用或启动关键引脚

它们承担供电、复位、启动选择、时钟或模拟参考等基础任务。某些引脚的用途固定,某些引脚只在启动阶段具有特殊意义,但共同点是:接错以后,芯片可能根本无法稳定运行,软件也救不了错误的硬件连接。

2. 端口引脚

STM32F103ZET6 引出了 PA0~PA15PB0~PB15,一直到 PG0~PG15 等端口信号。它们通常可以配置为:

  • 普通输入:读取按键或数字传感器;
  • 普通输出:控制 LED、继电器或片选信号;
  • 复用功能:USART、SPI、I2C、定时器 PWM 等;
  • 模拟功能:ADC 输入等。

端口名称存在,不代表该引脚在所有时刻都能自由使用。例如调试接口、晶振、启动配置可能与某些端口复用;实际项目必须查看数据手册的引脚定义表和复用功能表。

六、特殊功能引脚逐个理解

6.1 VDD、VSS、VDDA 与 VSSA:芯片运行的供电基础

VDD 是数字电源输入,VSS 是数字地。STM32F103xC/D/E 数据手册给出的 VDD 范围为 2.0~3.6 V,开发板通常使用 3.3 V。

LQFP144 上有多组 VDD/VSS。它们不是"任选一组连接",而是都应按照数据手册连接,并在电源引脚附近布置去耦电容。去耦电容的作用是为芯片快速变化的瞬时电流提供本地通路,降低电源噪声。

VDDA/VSSA 是模拟部分的电源和地,服务于 ADC、DAC、PLL、复位模块等。官方数据手册要求 VDDA/VSSA 分别连接到 VDD/VSS;真正设计 PCB 时还要按推荐电路处理滤波和去耦。

可以先记住:

text 复制代码
VDD / VSS    -> 数字部分供电与参考地
VDDA / VSSA  -> 模拟部分供电与参考地

6.2 VREF+ 与 VREF-:ADC/DAC 判断电压的标尺

ADC 把模拟电压转换成数字量,需要知道"满量程电压是多少",VREF 就是这个参考标尺。参考电压不稳定,即使 ADC 程序完全正确,测量结果也会跟着抖动或偏移。

因此,VREF 不能简单当成普通电源脚理解。学习 ADC 时要把输入电压、参考电压和数字结果联系起来:

text 复制代码
ADC 数字结果 ≈ 输入电压 / 参考电压 × 满量程数字值

6.3 NRST:决定"什么时候重新开始"

NRST 是低电平有效的复位引脚。名字里的 N 可以理解成 Negative 或 Not:

  • NRST 为低电平:芯片保持在复位状态;
  • NRST 释放为高电平:芯片退出复位并重新开始启动流程。

开发板上的复位按键通常在按下时把 NRST 拉低。复位会让处理器和相关外设回到确定状态,但复位本身并不决定从哪一块存储器启动,启动来源由 BOOT 配置决定。

6.4 VBAT:只维持备份域,不是整颗芯片的备用电源

当 VDD 消失时,VBAT 可以继续为备份域供电,其中包括 RTC、32 kHz 外部振荡器和备份寄存器。它的目的通常是:

  • 断电后仍保留日期和时间;
  • 保存少量需要跨掉电保留的数据;
  • 主电源恢复后继续使用原来的时间上下文。

但这时 CPU 和大部分外设并不会继续运行。它更像 PC 主板电池维持 RTC,而不是一块能让整台电脑继续工作的 UPS。

6.5 BOOT0 与 BOOT1:决定"复位后从哪里取第一条指令"

高密度 STM32F103 的启动模式由 BOOT1、BOOT0 共同决定:

BOOT1 BOOT0 启动空间 常见用途
x 0 主 Flash 正常运行已经烧录的用户程序
0 1 系统存储器 运行 ST 固化的 Bootloader,通过 USART1 重新烧录
1 1 片上 SRAM 调试或特殊启动场景

很多开发板把 BOOT1/PB2 固定下拉为 0,所以板上只保留 BOOT0 跳帽或拨码开关:

  • BOOT0 = 0:正常从 Flash 启动;
  • BOOT0 = 1:进入系统 Bootloader。

这只是开发板电路做出的简化,不代表芯片内部只有两种模式。

最容易记住的区别是:

text 复制代码
NRST 解决"什么时候重新启动"
BOOT 解决"重新启动后从哪里执行"

BOOT 引脚不会因为电平变化就立即把正在运行的程序切走。芯片在复位启动过程中采样启动配置,所以修改 BOOT0 后通常还要复位或重新上电。

6.6 OSC_IN / OSC_OUT 与 OSC32_IN / OSC32_OUT:外部时钟入口

时钟决定数字电路按照什么节奏工作。STM32F103 既有内部振荡器,也可以连接外部晶振:

  • OSC_IN / OSC_OUT:连接高速外部时钟或晶振,常用于系统主时钟;
  • OSC32_IN / OSC32_OUT:连接 32.768 kHz 低速晶振,常用于 RTC。

晶振引脚周围的走线、负载电容和布局会影响是否稳定起振,因此不能把它们当成普通 GPIO 随意连接。

6.7 NC:没有连接,不代表可以随便接

NC 表示 No Connect。除非最新数据手册明确给出其他说明,PCB 上通常应保持悬空,不能因为"空着浪费"就接到电源、地或其他信号。

七、把复位与启动串成一条完整流程

从按下复位键到用户程序运行,可以按下面的顺序理解:

  1. NRST 被拉低,芯片进入复位状态。
  2. NRST 释放,芯片开始退出复位。
  3. 芯片读取 BOOT0/BOOT1 的启动配置。
  4. 对应存储器被映射到启动地址。
  5. Cortex-M3 从向量表取得初始栈顶地址和复位处理函数地址。
  6. 启动代码设置运行环境,最后进入 main()

这条链路解释了许多常见故障:

  • 程序烧录成功但不上电运行:先检查 BOOT0 是否仍处于下载模式;
  • 按复位键没有反应:检查 NRST 电平、按键和上拉网络;
  • 芯片完全无法连接:先排查所有电源脚、地、时钟和复位,而不是一上来怀疑业务代码;
  • RTC 断电后归零:检查 VBAT、LSE 和备份域配置。
相关推荐
wuyk5551 小时前
66.嵌入式C语言进阶:共用体(Union)实战指南——单片机内存省一半的神级技巧
c语言·开发语言·stm32·单片机·嵌入式硬件
ACP广源盛139246256734 小时前
此芯 P1 AI BOX / AI NAS@ACP#IX8008、IX8024 应用场景与市场机会
大数据·人工智能·分布式·单片机·嵌入式硬件
广药门徒10 小时前
虚拟机联网20260725
嵌入式硬件
国产化创客11 小时前
Kindle 嵌入式交叉开发环境
嵌入式硬件·智能硬件
szxinmai主板定制专家13 小时前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
Dlrb121116 小时前
ARM---I2C协议时序详解以及IMX6ULL使用I2C协议与AT24C02,LM75A芯片通信详解与示例代码
嵌入式硬件·arm·lm75a·i2c协议·at24c02·i2c时序
周洲083018 小时前
STM32独立/窗口看门狗完整配置|防止程序跑飞死机、异常复位
stm32·单片机·嵌入式硬件
论迹复利18 小时前
多平台移植 BTBLE Stack 的思路与踩坑实战——从 Ceva IP 到厂商适配层的迁移指南
嵌入式硬件·物联网·架构
SUNNYSPY00119 小时前
30N03DF-ASEMI扫地机器人主驱动30N03DF
单片机