【6.30】芯片 Bring-up 三步核心|从短路检查到 SPI 排障全拆解!

大家好我是謓泽,今天把 Bring-up 这块掰开揉碎了讲。新手第一次调芯片最容易踩坑的就是这几步,每一步我都给你讲透为什么这么做、出问题怎么查。


一、Bring-up 四步流程详解(按顺序,一步都不能跳)

Bring-up 说白了就是:新芯片第一次上电,从 "通电" 到 "确认能用" 的全过程。 就像新飞机首飞,先滑行、再抬轮、再升空,循序渐进,不能上来就拉满。

第 1 步:上电前 --- 万用表测 VDD-GND 电阻

做什么:拿万用表打到电阻档(通断档也行),两根表笔分别接电源引脚和地引脚。

为什么要测: PCB 焊接的时候很容易出问题 ------ 焊锡连锡了、芯片引脚歪了、PCB 走线短路了...... 这些肉眼不一定看得出来。 但只要 VDD 和 GND 短路了,你一上电,大电流直接灌进去,芯片瞬间烧毁,救都救不回来。

怎么判断

  • 电阻 >1kΩ:正常,可以上电
  • 电阻 几十 Ω 甚至接近 0:绝对不能上,肯定有短路

大白话:这一步就是给芯片 "体检",确认没短路再通电。 成本:万用表测一下,几秒钟。 跳过的代价:一颗芯片几十到几百块,直接火化。


第 2 步:首次上电 --- 限流 50mA 上电

做什么: 可调电源把电流限制在 50mA,电压从低往高慢慢调,眼睛盯着电流显示。

为什么要限流: 就算你测了电阻没短路,也可能有其他异常(比如芯片内部有问题、负载异常)。 不限流的话,一上电电流直接拉满,芯片还是会烧。 限流就像装了个 "空气开关",电流超过 50mA 电源自动切断,保护芯片。

观察什么

  • 正常:待机电流几 mA 到十几 mA,电压加上去电流不跳
  • 异常:一加上电压电流直接冲到 50mA 限流 → 立刻断电,有问题

类比:第一次启动一辆改装车,先怠速听声音,不是直接地板油。 50mA 就是个安全阈值,大部分小芯片正常工作都不会超过这个数。


第 3 步:数字验证 --- SPI 读芯片 ID

做什么: MCU 通过 SPI 接口给芯片发命令,读取芯片的 ID 寄存器。 每款芯片出厂都有固定的 ID 号(比如 0x1234),能读到正确的 ID,说明: ✅ 芯片供电正常 ✅ SPI 连线没问题 ✅ 芯片活着,能正常通信

为什么先读 ID,不直接测功能: 读 ID 是最简单的操作,只需要发一个命令收一个数。 连 ID 都读不到,说明最基础的通信都有问题,后面更复杂的功能测了也白测。

类比:你打电话找一个人,先拨过去听有没有人接。 接通了(读到 ID),再聊正事(测功能);打不通(读不到 ID),先查线路问题。


第 4 步:射频验证 --- 给输入看输出

做什么: 信号源给芯片输入一个射频信号,频谱仪接输出端看。 然后改寄存器配置,观察增益、频率、带宽的变化对不对。

这一步验证什么

  • 模拟 / 射频部分真的在工作
  • 寄存器配置生效了
  • 性能指标(增益、P1dB、噪声系数等)符合 datasheet

到这一步没问题,基本就可以说:这颗芯片 Bring-up 成功了。


二、为什么上电前短路检查是最重要的一步?

一句话:短路上电 = 芯片直接火化,不可逆。

原理是什么?

电源和地之间如果短路了,电阻几乎为 0。 根据欧姆定律 I = U / R,R 接近 0 的话,电流会非常非常大。

举个例子:3.3V 供电,短路电阻 0.1Ω 电流 = 3.3V / 0.1Ω = 33A

这么大的电流瞬间流过芯片内部的细线,直接烧断、击穿、冒烟。 而且是从内部烧坏,外面看着好好的,其实已经凉透了。

为什么不能靠电源限流保护?

能限流,但短路的瞬间冲击还是可能伤到芯片。 而且很多人图省事用固定电源,根本没限流功能。 最稳妥的办法就是:上电前先测,从根源上避免。

老工程师的忠告: 测一下几秒钟,烧一颗几百块。这笔账谁都会算,但新手就是容易着急上电,然后后悔。


三、SPI 读不到芯片 ID?5 个原因逐个排查

这是 Bring-up 阶段最常见的问题。ID 读不出来,别慌,按这个顺序挨个查,99% 的问题都能找到。

原因 1:电源没供上 / 电压不对

最常见,也最容易被忽略。

  • 现象:SPI 怎么发都没反应,像对着空气说话
  • 怎么查:拿万用表直接量芯片的 VDD 引脚,看电压对不对
  • 常见坑:
    • 电源跳线帽没插
    • LDO 没使能
    • 电压搞错了(应该 1.8V 你供了 3.3V,或者反过来)
    • 焊盘虚焊,看着连上了实际没通

芯片没电就像人没吃饭,你跟他说话他当然不理你。先确认 "活着" 再说别的。


原因 2:SPI 线接反了 / 片选错了

硬件连线问题,新手高频踩坑。

  • MOSI/MISO 搞反:主机输出接从机输入,主机输入接从机输出。搞反了就是 "你说你的我说我的",完全不通
  • CS 片选错了:SPI 是一主多从,靠 CS 片选信号选芯片。CS 没拉低,芯片根本不理你
  • CLK 没接:没有时钟,SPI 跑不起来

排查技巧:拿示波器看波形,CLK 有跳变、MOSI 有数据、CS 拉低了,硬件连线基本就没问题。


原因 3:SPI 模式不匹配(CPOL/CPHA 不对)

软件配置问题,隐蔽性很强。

SPI 有 4 种模式,靠两个参数决定:

  • CPOL(时钟极性):空闲时时钟是高电平还是低电平
  • CPHA(时钟相位):在第一个边沿采样还是第二个边沿采样

主机和从机的模式必须一模一样,不然采样的时机就错了,读到的数据全是乱的。

类比:两个人约定 "听到第三声拍手就说话",结果一个数第一声一个数第三声,永远对不上。

怎么查:去 datasheet 里找 SPI 时序图,看 CPOL 和 CPHA 是多少,MCU 那边配置成一样的。


原因 4:复位引脚没释放,芯片根本没启动

很多芯片都有 RESET 复位引脚。

  • 复位引脚一直拉低 → 芯片一直处于复位状态,不工作
  • 你发什么 SPI 命令它都不理你
  • 常见坑:复位电路上的电容焊错了、复位引脚被其他信号拉低了、忘了释放复位

就像电脑一直按着重启键,你按键盘当然没反应。先把重启键松开再说。

怎么查:万用表量复位引脚电压,正常工作时应该是高电平(或看 datasheet 规定)。


原因 5:焊接虚焊 / SPI 速率太快

两个容易忽略的细节:

① 焊接虚焊

芯片引脚很小,手工焊接很容易出现 "看着焊上了实际没连上" 的情况。 尤其是 QFN 封装,引脚在芯片底下,肉眼根本看不见。

  • 排查方法:用万用表通断档,一头量引脚焊盘,一头量连过去的另一端,看通不通
  • 解决办法:补焊、拖焊、用热风枪重新吹
② SPI 速率太快

芯片的 SPI 有最大频率限制(比如最大 10MHz)。 你 MCU 这边配置成 50MHz 去跑,芯片跟不上,数据就错了。

  • 排查方法:把速率降下来,比如降到 1MHz 试试
  • 能读出来了再慢慢往上加,找到最高的稳定速率

排查顺序建议

别上来就拆芯片重焊,按这个顺序查效率最高:

  1. 量电源电压 --- 万用表一搭就知道,10 秒钟
  2. 看复位引脚 --- 同样万用表量电平
  3. 确认 SPI 模式 --- 软件里看一下配置
  4. 降低 SPI 速率 --- 软件改个参数的事
  5. 检查连线 / 片选 --- 万用表通断档量
  6. 最后怀疑焊接 --- 实在不行再补焊

大部分问题都在前几步就解决了,别一上来就动烙铁。


总结一张图

步骤 做什么 目的 出问题的后果
上电前 测 VDD-GND 电阻 防短路 芯片直接烧毁
首次上电 50mA 限流上电 二次保护 过流损坏
数字验证 SPI 读芯片 ID 确认通信正常 后面功能全白测
射频验证 给输入看输出 验证功能性能 Bring-up 未完成

SPI 读不到 ID 排查口诀: 先看电,再看复位,SPI 模式对不对,速率降下来试试,最后查焊接。

相关推荐
蓝斯49713 小时前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
熙芯XiChip14 小时前
硬实时与软实时RTOS核心区别
嵌入式硬件
伟大的前程14 小时前
unsigned int 定义的变量 在 电脑的 64 位系统中 和 32 位 cortex-m0 和 8 位的 51 单片机
单片机·嵌入式硬件
小渔村的拉线工15 小时前
1.HPM6E80 解析芯片整体工作原理和存储架构
单片机·嵌入式硬件·mcu·架构·hpm6e80
熙芯XiChip16 小时前
CAN与CANopen的本质区别
单片机
lilihewo16 小时前
Altium Designer 封装库的创建(分享pcb 3D封装库)
嵌入式硬件·51单片机
神罚天下ET17 小时前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
碧海银沙音频科技研究院18 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
Zevalin爱灰灰18 小时前
模拟信号链电路——基于TL431的电压基准电路
单片机·嵌入式硬件
csdn杰哥19 小时前
瑞萨单片机开发教程[二十七] DTC 外部中断触发传输实验
单片机·嵌入式硬件·mongodb·瑞萨·ra6m5