MCU 最小系统与基础 I/O¶
MCU 不是“接上 3.3 V 就能用”。一套可靠的最小系统要保证它能启动、能下载、能从错误中恢复,并且复位期间不会误开电机或电磁阀。
一、先选 MCU 资源,不先选型号后缀¶
从接口和实时任务反推资源:
| 需求 | 对 MCU 的资源要求 |
|---|---|
| 多路电机 PWM | 高级/通用定时器通道、互补输出、死区、刹车输入 |
| 增量编码器 | 支持编码器模式的定时器,或足够快的输入捕获 |
| 多路模拟采样 | ADC 通道、采样率、分辨率、DMA、参考电压能力 |
| CAN/RS485/上位机 | 足够的 CAN(FD)、UART,且引脚复用不冲突 |
| 1 kHz 控制循环 | 定时器、FPU/DSP 性能、确定的中断延迟 |
| USB | 芯片原生 USB 外设与满足精度的时钟源 |
| 安全关断 | 定时器 Break、比较器输出路由、独立看门狗 |
1.1 建立 Pin Map¶
画原理图前用表格锁定引脚:
重点检查:
- PWM、编码器和输入捕获是否属于合适的定时器;
- ADC 引脚是否连接目标 ADC 实例和通道;
- CAN、UART、SPI 的复用组合能否同时存在;
- SWD/JTAG 引脚有没有被普通外设占用;
- 所谓 5 V 容忍是否也适用于模拟模式、掉电状态和目标封装;
- 高速、晶振和模拟脚能否在 PCB 上保持短路径;
- 预留备用 GPIO、一个日志串口和若干测试点。
二、MCU 最小系统包含什么¶
flowchart LR
P[3.3 V 电源与去耦] --> MCU[MCU]
R[复位与电源监控] --> MCU
B[BOOT / 模式配置] --> MCU
C[内部 RC / 外部晶振] --> MCU
D[SWD/JTAG 下载调试] --> MCU
W[看门狗与安全使能] --> MCU
2.1 电源脚与去耦¶
- 每个 VDD/VSS 对按硬件设计指南配置去耦,常见起点为每脚 100 nF;
- MCU 电源入口放 1~10 µF 局部储能;
- VDDA、VREF、VBAT、VCAP 等特殊电源脚严格按手册连接;
- 裸露焊盘若要求接地/散热,不能遗漏;
- 多单元原理图符号要检查是否藏有独立电源单元;
- 去耦电容的 PCB 回路要短,原理图上“有电容”不代表布局有效。
检查所有电源脚
MCU 能偶尔启动不代表供电正确。漏接一个 VDD/VSS、VCAP 电容值错误或 VDDA 悬空,都可能表现为 ADC 异常、特定外设失效或温度变化后死机。
2.2 复位¶
复位电路通常包括:
- 复位脚的确定上拉/下拉;
- 手动复位按键;
- 下载器可控制的 NRST;
- 必要时外部电源监控/复位芯片。
不要机械照搬“10 kΩ + 100 nF”。某些 MCU 的复位脚内部已有上拉,外部电容会影响下载时序或复位脉宽。值和最大电容以目标芯片硬件指南为准。
若电源上升很慢、3.3 V 有跌落或系统安全要求较高,外部电源监控芯片通常比简单 RC 更确定:只有电压超过门限并稳定一段时间后才释放复位。
2.3 BOOT 与模式脚¶
- BOOT、模式选择和地址脚都用外部电阻定义正常状态;
- 调试需要切换时用跳帽、拨码或测试点;
- 不依赖 MCU 内部弱上下拉作为关键安全默认态;
- 检查复位采样后该引脚是否会变成普通 GPIO,外部电路会不会冲突。
2.4 时钟¶
| 情况 | 选择 |
|---|---|
| 一般控制、UART 误差可接受 | 内部 RC 可能足够 |
| USB、精确采样、同步通信 | 外部晶体/有源时钟或校准时钟 |
| 低功耗 RTC | 32.768 kHz 晶体或外部低速时钟 |
晶体负载关系:
当 \(C_1=C_2=C\) 时,近似 \(C\approx2(C_L-C_{stray})\)。电容不应固定照抄 20 pF;还要检查 MCU 振荡器跨导能力、晶体 ESR 和驱动等级。
PCB 上晶体靠近引脚、走线短且对称,晶振网络下方不穿越高速或大电流信号。
2.5 下载与恢复接口¶
首板至少引出:
| 接口 | 建议包含 |
|---|---|
| SWD | SWDIO、SWCLK、GND、目标电压参考、NRST |
| 日志 UART | TX、RX、GND,并标明 3.3 V 逻辑电平 |
| 启动恢复 | BOOT/下载模式和复位测试点 |
| 电源测试点 | 3V3、VDDA/VREF(若独立)、GND |
下载器的目标电压参考通常用于识别 IO 电平,不应默认把它作为给整板供电的大电流来源。
三、上电默认状态比程序更早生效¶
MCU 从上电到程序配置 GPIO 之间,输出往往处于高阻或带内部弱上下拉状态。所有可能造成运动、发热或误选中的信号都要用外部电阻定义:
| 信号 | 推荐默认态 |
|---|---|
| 电机/驱动器 EN | 硬件下拉,默认关闭 |
| MOS 栅极 | 下拉或上拉到关闭状态 |
| SPI 片选 CS | 拉到未选中状态 |
| RS485 DE | 默认关闭发送,避免占用总线 |
| 传感器 load switch EN | 按系统安全策略定义,通常默认关闭 |
| 急停复位/故障清除 | 不允许上电自动清故障 |
网络名直接表示有效电平,例如 MOTOR_EN、VALVE_EN、FAULT_N、CS_IMU_N,减少软硬件对极性的误解。
四、LED、蜂鸣器和逻辑输出¶
4.1 LED 限流¶
3.3 V GPIO 驱动红色 LED,若 \(V_F=1.8\,V\)、目标 3 mA:
取标准值 510 Ω。状态灯通常 1~5 mA 已足够。还要检查单个 GPIO、每个 IO 组和芯片总灌/拉电流限制。
LED 可接成高电平或低电平点亮。低电平点亮时网络名可写 LED_RUN_N。
4.2 何时加三极管或 MOS¶
| 负载 | 推荐驱动 |
|---|---|
| 几 mA LED | GPIO + 限流电阻 |
| 有源蜂鸣器、小灯、多颗 LED | NPN 三极管或小 N-MOS |
| 数百 mA 风扇、灯带、电磁阀 | 逻辑级功率 MOS |
| 双向电机 | H 桥,不能用单个 MOS 完成正反转 |
| 高边断电 | P-MOS 或专用 load switch |
NPN 三极管作为开关时需要基极限流电阻,并按饱和所需基极电流检查 MCU 能力。电流更大时,MOS 通常损耗更低。
五、低边 MOS 开关¶
低边开关适合负载一端固定接正电源,另一端允许由 MOS 接地:
5.1 MOS 选型顺序¶
- \(V_{DS}\) 高于电源最高值和关断尖峰并留裕量;
- 数据手册在实际 \(V_{GS}\)(如 2.5 V/3.3 V)下保证 \(R_{DS(on)}\);
- 导通损耗初算 \(P_{cond}=I^2R_{DS(on)}\);
- PWM 时再计算开关损耗和栅极驱动能力;
- 封装、铜面积和热阻能排出这些热量;
- 脉冲、短路或线性工作时检查安全工作区 SOA;
- 感性负载有明确的续流/钳位路径。
不要用阈值电压选 MOS
\(V_{GS(th)}\) 只表示 MOS 刚流过很小的测试电流,不表示完全导通。若器件只给 10 V 栅压下的导通电阻,它不能被当作 3.3 V 逻辑级 MOS。
5.2 栅极电阻和下拉电阻¶
- 栅极串阻限制 MCU 瞬态充放电电流、减小振铃;10~100 Ω 可作起点;
- 下拉 10~100 kΩ 确保 MCU 高阻时 MOS 关闭;
- 阻值越大,开关越慢、损耗可能增加;越小,驱动峰值电流和 EMI 越大;
- 大栅电荷或高频 PWM 使用专用栅极驱动器,不让 GPIO 硬扛。
5.3 感性负载续流¶
继电器、电磁阀和线圈关断时,电流不能瞬间归零:
- 二极管正常时反向,关断时提供续流;
- 额定电流、反向耐压和脉冲能量满足线圈;
- 普通二极管钳位低、释放慢;需要快速释放时可按线圈和 MOS 耐压采用 TVS/齐纳钳位;
- H 桥电流双向,按驱动器参考设计处理,不能简单在电机两端并一颗二极管。
六、按键、限位和普通数字输入¶
6.1 板内按键¶
常见电路:
按下为低电平。硬件 RC 只能抑制部分毛刺,机械抖动仍建议软件消抖,例如状态稳定 5~20 ms 后确认。
6.2 外部长线开关¶
板外线缆不要只依赖内部弱上拉:
设计时确认:
- 开路和断线时进入哪个状态;
- 短路到地/电源时电阻能否限制电流;
- 输入负电压或超过 3.3 V 时由谁钳位;
- RC 截止频率不会滤掉有效脉冲;
- 机械限位若承担安全功能,同时进入硬件关断链。
6.3 24 V 工业开关量¶
先确认传感器类型:
- NPN 开漏/集电极开路:动作时把输出拉向 0 V;
- PNP 输出:动作时输出接近 24 V;
- 推挽输出:能主动拉高和拉低。
24 V 不能直接接 MCU。可根据隔离和速度要求选择:
| 方案 | 适合场景 |
|---|---|
| 电阻分压 + 钳位 + 施密特 | 共地、成本低、环境受控 |
| 三极管/比较器转换 | 需要明确阈值与迟滞 |
| 光耦输入 | 速度不高、需要隔离且可接受 CTR 变化 |
| 数字隔离器 + 前端 | 速度较高、边沿和时序要求明确 |
电阻要按 24 V 上限、可能的过压和自身功耗计算,比较器应加迟滞避免在门限附近抖动。
七、逻辑电平转换¶
| 信号类型 | 推荐方案 | 不推荐做法 |
|---|---|---|
| 单向推挽 | 专用电平转换器或带容忍输入缓冲器 | 把所有场景都用分压解决 |
| 双向推挽/方向已知总线 | 带 DIR/OE 的总线收发器 | 小 MOS 通用套用 |
| I²C 开漏 | I²C 双向转换器或合适的小 MOS 方案 | 推挽转换器直接争用总线 |
| 高速接口 | 对应协议专用 PHY/转换器 | 面包板式电阻网络 |
注意掉电状态:一侧 5 V 存在而 3.3 V 域关闭时,转换器是否允许输入、是否通过保护二极管反向给 MCU 供电。关键器件要查 Ioff、partial power-down 或 back-powering 说明。
八、MCU 与基础 I/O Checklist¶
- Pin map 已核对复用、定时器、ADC、下载口和电压容忍;
- 所有 VDD/VSS、VDDA/VREF/VCAP/VBAT 和裸露焊盘正确;
- 复位、BOOT、时钟按目标 MCU 指南设计;
- SWD、NRST、目标电压和日志 UART 可直接接入;
- 驱动 EN、MOS、CS、DE 在复位期间均为安全状态;
- GPIO 电流没有超过单脚、端口组和芯片总限制;
- MOS 的导通电阻是在实际栅压下保证的;
- 感性负载有经过能量核算的续流/钳位;
- 板外数字输入有确定状态、限流、滤波和 ESD;
- 电平转换已检查方向、速率和掉电反灌。
下一篇进入传感器与模拟前端,把真实世界的电压、电流、温度和位置可靠地送进 MCU。