第四章 硬件原理图设计:从最小系统到接口实战

各位工程师朋友,今天我们来聊聊硬件原理图设计。说实话,这部分是整块开发板的核心骨架。我见过太多项目,芯片选型时信心满满,一到画原理图就翻车。嗯,咱们今天就把这些坑一个个填上。

核心思路:先搭最小系统,再铺电源树,最后挂接口。顺序别搞反了。

4.1 最小系统设计:MCU + LoRa芯片

最小系统说白了就是让芯片能跑起来的最简电路。MCU这边,我习惯先搞定三件事:供电、复位、时钟。缺一个,芯片就罢工。

MCU最小系统要点:

  • 供电:每个电源引脚旁必须放0.1μF去耦电容。我踩过坑——少放一个,系统就随机复位。
  • 复位:外部上拉电阻加手动复位按键。别省,调试时你就知道多重要了。
  • 启动模式:STM32的BOOT0/BOOT1引脚,我建议直接拉低或拉高,别悬空。

LoRa芯片这边,以SX1268为例,它的最小系统比MCU简单,但有个关键点:射频匹配网络。我曾经因为少焊一个匹配电容,导致通信距离直接砍半。

个人经验:LoRa芯片的DIO引脚,建议全部引出到测试点。调试时抓波形,你就知道这步有多值了。

4.2 电源树设计:低功耗LDO vs DC-DC

电源树设计,说白了就是给板上每个模块分配电源。我见过有人直接用3.3V给所有芯片供电,结果LoRa发射时MCU直接掉电重启。

典型电源树结构:

电源轨 电压 最大电流 推荐方案
主电源 3.3V 500mA DC-DC(效率高)
LoRa供电 3.3V 150mA LDO(纹波低)
MCU核心 1.8V 100mA LDO
RTC备用 3.0V 10μA 纽扣电池+二极管

为什么LoRa要用LDO?你想想看,LoRa发射时电流脉冲很大,DC-DC的纹波会干扰射频性能。我做过对比测试,用DC-DC时灵敏度差了3dB。

避坑指南:我曾经在低功耗产品上用DC-DC给LoRa供电,结果待机电流多了50μA。后来换成LDO,待机电流降到5μA。低功耗场景,LDO是首选。

4.3 时钟电路设计:晶振选型与布局

时钟是数字电路的心跳。MCU需要主时钟和RTC时钟,LoRa芯片需要高频时钟。我见过有人把晶振放在板边,结果EMI测试直接挂掉。

时钟设计要点:

  • MCU主时钟:8MHz或16MHz无源晶振,负载电容选12pF或18pF。我习惯用NPO电容,温漂小。
  • RTC时钟:32.768kHz晶振,负载电容6pF。注意走线要短,别跟数字信号交叉。
  • LoRa时钟:SX1268需要32MHz TCXO。我建议用0.5ppm精度的,温度稳定性好。

布局黄金法则:晶振离芯片越近越好,走线长度不超过10mm。晶振下方不要走其他信号线,否则干扰会让你怀疑人生。

4.4 SPI/UART/I2C接口设计

这三个接口是MCU和LoRa芯片通信的桥梁。我习惯用SPI连接LoRa,因为速度快、全双工。UART留给调试,I2C挂传感器。

SPI接口设计:

  • 四线制:SCK、MOSI、MISO、NSS
  • 速率:建议不超过10MHz,走线太长时降低到5MHz
  • 上拉:NSS引脚必须上拉,否则片选会乱跳

UART接口设计:

  • 波特率:115200或9600,我习惯用115200
  • 流控:如果不用硬件流控,RTS/CTS引脚接地
  • 电平:3.3V,别直接接5V,会烧芯片

I2C接口设计:

  • 上拉电阻:4.7kΩ或10kΩ,根据总线电容调整
  • 速率:100kHz或400kHz,我建议用100kHz,兼容性好
  • 地址冲突:多个设备时注意地址不要重复

个人习惯:SPI的NSS引脚,我习惯用GPIO控制,而不是硬件自动控制。这样调试时方便手动拉低拉高,抓波形一目了然。

4.5 GPIO复用与中断设计

GPIO复用是MCU的必修课。一个引脚可能同时有UART、SPI、PWM功能。我见过有人把UART的TX引脚复用成SPI的SCK,结果两个外设都跑不起来。

GPIO复用原则:

  • 先看数据手册的复用表,确认引脚功能不冲突
  • 中断引脚:优先选择支持上升沿/下降沿触发的引脚
  • 唤醒引脚:低功耗产品,选择支持从休眠模式唤醒的引脚

中断设计要点:

  • LoRa的DIO引脚:建议全部配置为中断输入,用于接收完成、发送完成等事件
  • 按键中断:加10ms去抖,软件去抖或硬件RC滤波
  • 中断优先级:LoRa通信中断优先级最高,按键中断最低

我曾经踩过的坑:把LoRa的DIO0和DIO1接在同一个GPIO上,结果中断触发时根本分不清是哪个事件。后来老老实实每个DIO单独接一个GPIO,问题解决。

4.6 知识体系总览

下面这张图,是我总结的硬件原理图设计核心逻辑。你把它打印出来贴在工位上,画图时对照着看,基本不会漏东西。

硬件原理图设计核心知识体系 原理图设计 最小系统设计 MCU供电/复位/时钟 LoRa射频匹配网络 DIO测试点引出 电源树设计 DC-DC主电源 LDO低纹波供电 RTC备用电池 时钟电路设计 SPI/UART/I2C接口 GPIO复用与中断设计

这张图把今天讲的内容串起来了。你从中心开始,先搞定最小系统,再铺电源树,然后设计时钟和接口,最后处理GPIO。每一步都有坑,但按这个顺序走,至少能避开80%的问题。

最后说一句:原理图设计没有捷径,但可以少走弯路。我每次画图前都会把这张图过一遍,确认每个模块都覆盖到了。你也试试看。

专注资料整理