只读分享解决方案文档调试&解决方案📅 2026-09-21🔖 Rev 1.0⏳ 29天有效(至 2026-10-31)
🔧解决方案&应用市场分析 -> 调试&解决方案 -> 存储_样机问题测试 -> 上电不识别_ID读不到_样机排查

上电不识别_ID读不到_样机排查

生成时间 2026-09-28 13:34:59 有效期至 2026-10-31 23:59:59(29天有效(至 2026-10-31))

上电不识别 / ID 读不到 · 样机排查手册

编制日期 2026-09-21 | 版本号 Rev 1.0

XTX 芯天下 · FAE 现场技术文档 | 样机阶段 SoC / MCU 读不到外挂存储(SPI NOR / SPI NAND / SD NAND / eMMC)| 2026-09 版

技术事实核查纪律(动手前必读)

命令码、寄存器位、上拉阻值、上电时序与初始化时间全部以所用型号的 datasheet 与主控平台手册为准;本文只讲排查机制与分工,不代替代号核对。

  • 本文针对的是样机阶段:板子刚焊好或刚改完,主控上电后根本读不到器件。与「烧录器找不到型号」「量产阶段偶发不认」是两个场景,判定路径不同。
  • 文中出现的命令码(9Fh / 90h 一类)、eMMC/SD 的命令名(CMD0 / CMD8 / ACMD41 一类)只是用来描述该看哪一段波形,具体码值与时序参数逐条核对 datasheet。
  • 涉及改电压域、割线、短接电源的动作必须先断电、先确认极性,见第 3 章危险操作提示。
  • 任何一次判定都要落到实测数据(电压值、波形截图、换料编号),不接受「应该是好的」这种结论。
5 步
标准分流顺序
供电 → 接触 → 波形 → 交叉 → 判读
全 FF
最典型的读回画像
未上电 / 没选中 / DO 开路
全 00
第二典型读回画像
短路 / 电平域错 / 器件损坏
≤15 min
快速分流的时限目标
在改驱动和打补丁之前完成
先硬件
不可逾越的铁律
ID 读不到时改驱动几乎必然无效
1 块好板
基线比对的唯一基准
没有基线就没有「差异」可言

一句话结论:「ID 读不到」从来不是一个故障,而是五个前提里至少断了一个的共同表现——没上电、没选中、没时钟、命令没送到、器件不应答。这五环里前四环全是硬件与板级问题,所以在示波器看到一次合法的「CS# 拉低 + CLK 有时钟」之前,改驱动参数、加 ID 表、打补丁,全都是在给一个没接通的链路做软件手术。

这份文档解决什么

解决样机上电后主控完全识别不到外挂存储器件这一类问题:串口打出 Unknown ID、id 00 00 00、或调试器读 ID 回全 FF / 全 00,eMMC/SD 侧则表现为枚举超时、命令发下去没有回应。第 6 章是可直接翻查的现象速查表,第 7 章是可带进车间的核查清单与结案栏。

第 1 步
供电:万用表先上
VCC / VCCQ 是否在规格内、上电顺序对不对、LDO 使能脚有没有拉起来。这层用一把万用表就能判掉一半案子,却最常被跳过。
高发动作:只测电源输出,不测芯片引脚
第 2 步
接触:手按与换座
虚焊、连锡、座子簧片变形、BGA 底部空焊。特征是「时好时坏」,也最容易把人带偏去查软件。
高发动作:直接判定芯片不良报废
第 3 步
波形:CS# / CLK / DO
确认主控真把片选拉低了、时钟真出来了、数据线真翻转了。这一步把「命令没送到」与「器件不应答」彻底分开。
高发动作:不看波形就去改驱动配置
第 4 步
交叉:换已知好芯片
好芯片装坏板、坏芯片装好板各读一次,故障跟谁走就是谁的问题。
高发动作:只换一次芯片就下结论
p5 接口
分接口:各查各的
SPI 侧盯 CS#/CLK/DI/DO/WP#/HOLD#,eMMC/SD 侧盯上拉、VCC 与 VCCQ 分离供电、复位后初始化时间。
高发动作:拿 SPI 的经验去套 eMMC
p6 边界
边界:温度、电压、飞线
只在某个条件下才出现的「条件性不认」,要先把复现条件固化下来,否则改什么都验证不了。
高发动作:没固化复现条件就改板

怎么用这份文档

  1. 先把现象归档:接串口、上电、把完整 LOG 贴出来,对照第 1 章的三类画像,确认是「全 FF」「全 00」还是「有值但不认」。
  2. 严格按五步顺序走:供电 → 接触 → 波形 → 交叉 → 判读。每一步都有明确的退出条件,不达标不许往下走——跳步是这类案子拖几天的头号原因。
  3. 先抓一份已知好板基线:把能正常启动那块板的 LOG、读回 ID、电压实测值、波形截图各存一份,后面所有对比都拿它当基准。
  4. 一次只改一个变量:换芯片、剪飞线、改上拉、改 pinmux 每次只动一处,改完重新上电并留存证据。
  5. 落在数据上结案:第 7 章的结案栏逐项填完,「验证方式」与「是否可进试产门禁」这两栏不许留空。

1. 问题本质:读 ID 是一条前提链

「ID 读不到」在现场被当成一种故障,其实它是一整条前提链断掉之后的共同终点:主控要拿到一个正确的 ID,需要芯片先有电、先被选中、先收到时钟、先收到命令,最后才谈得上应答。本章把这条链拆成五环,并给出每一环断掉时的读回特征——后面的所有排查,都是在逐环证实或证伪。

1.1 五环前提:缺一环就没有 ID

读 ID 这事对器件的要求极低:不需要任何配置、不需要开 QE、不需要 4 字节地址,只要上电、选中、给时钟、发命令,器件就会把 ID 送出来。正因为门槛低,它才是排查第一刀——也正因为门槛低,一旦读不到,问题一定出在这几个最基本的环节上。

上电与电源就绪VCC、VCCQ 到位片选有效CS# 被拉低时钟有效CLK 有翻转命令送达DI 上有命令器件应答DO 返回 ID五环前提:每一环的合格判据与断掉后的读回① 电源VCC 在规格内,纹波峰峰值不超标全 FF(没上电)或全 00(短路)② 片选空闲为高,读 ID 期间有干净低脉冲全 FF:器件根本没被选中③ 时钟有连续方波,频率在器件允许范围全 FF 或 DO 一直不翻转④ 命令DI 上能看到命令字节与地址全 FF:命令错则器件不应答⑤ 应答DO 由高阻变为被驱动的电平翻转全 00:被拉死或电平域错任一环断掉,主控读到的就只能是全 FF 或全 00
图 1 · 读 ID 的五环前提链与每一环的失效读回

用法是从上往下逐环证实:电源测到就打钩,片选看到就打钩,打到某一环打不上钩,根因就在那一环,后面的章节不用翻。

经验法则:先怀疑「没打通」,而不是「不认识」

读 ID 失败只有两种可能:器件没收到命令,或者器件收到了但主控不认识回的值。读回是全 FF 或全 00,就说明链路根本没打通,此时改驱动参数、加 ID 表,等于给一根断掉的网线改 IP 地址。

1.2 三类 LOG 画像

接串口、上电、把输出完整贴出来,按下面三类归档。三类画像对应的排查入口完全不同,归档错了就会在错误方向上耗掉半天。

画像典型 LOG / 读回它说明了什么优先翻哪一章
全 FF 型id ff ff ff / 0xFF 0xFF 0xFF链路没打通:没上电、没选中、数据线开路或方向反了第 3、4 章
全 00 型id 00 00 00 / 全 0x00数据线被拉死:短路、连锡、电平域错、器件已损坏第 3、5 章
有值不认型Unknown ID / 值非零但报错链路是通的,问题在驱动表或参数解析,不是本文主线另见主控驱动专篇

表格里的「优先翻哪一章」按出现概率排,不是按章节顺序。全 FF 与全 00 两类占了样机阶段不认芯片的绝大多数,判掉这两类,剩下的问题规模会小一个数量级。

1.3 为什么「先改驱动」基本无效

样机阶段最常出现的动作序列是:不认芯片 → 改设备树 → 换驱动 → 打补丁 → 怀疑料有问题 → 换芯片 → 还是不行 → 最后发现某个电源没起来。问题在于前四步全部作用在一条根本没通的链路上。

改动的层次它影响的是哪一环链路没通时是否有效
驱动 / ID 表主控如何解释读回的值无效:值都没读回来
dummy cycle / 模式位读命令之后的时序无效:命令阶段就失败了
pinmux / pinctrl引脚是否切到控制器有效:直接决定 CS#/CLK 有没有信号
供电 / 上拉 / 焊接芯片有没有电、有没有被选中有效:这是链路的物理前提
排查顺序是硬约束,不是建议

四层里只有下面两层在链路没通时仍然有效,所以顺序必须是「先物理层、后协议层」。倒过来会得到一堆互相矛盾的实验结果——因为链路时通时断时,任何软件改动都会看起来有点效果。

1.4 与「烧录器找不到型号」的区别

一句话判别

烧录器能建工程、能烧、能校验通过,但板子起不来——链路在板子上不通,属于本文范围;烧录器根本选不到型号——那是烧录器型号库与容量档位的事,走另一条路径。两者的第一证据也不同:主控侧看串口 LOG 与示波器波形,烧录器侧看软件报错码。混淆这两件事,是样机阶段最常见的方向性错误。

2. 快速分流:五步决策树

本章是整份文档的主干。五步分流的设计目标是:用最低的仪器门槛,把根因收敛到一个可动手的层级。前两步只需要一把万用表,第三步才需要示波器,第四步才需要备料。每一步都有明确的退出条件——不达标不许往下走,因为后面的步骤都建立在前一步的结论上。

入口:读 ID 全 FF / 全 00 / Unknown ID① 供电:万用表实测观察:VCC 与 VCCQ 实测值、上电顺序与 LDO 使能脚动作:直流电压档测芯片引脚,而不是测电源输出退出:电压在规格内才进第 ② 步① 出口:电压合格?在规格内 → 进第 ② 步偏低或无电 → 先修电源② 接触:手按与换座观察:封装有无虚焊、连锡;座子簧片有无变形动作:手按封装再读一次 ID,必要时补焊或重新植球退出:不按也能稳定读出才继续② 出口:手按就好?手按就好 → 焊接问题换座就好 → 座子或工装③ 波形:CS# / CLK / DO观察:CS# 有无低脉冲、CLK 有无时钟、DO 有无翻转动作:示波器单次触发,抓一次完整的读 ID 事务退出:三路都正常才查接口与器件状态③ 出口:三路正常?都正常 → 查接口与器件状态CS# 不动 → 查 pinmux④ 交叉:换已知好芯片观察:好芯片装坏板、坏芯片装好板各读一次动作:两侧交叉,看故障跟着板走还是跟着芯片走退出:必须得出明确的「跟谁走」结论④ 出口:跟谁走?跟板走 → 板级问题跟芯片走 → 料或焊接出口 A:好芯片装到坏板也读不到根因落在板级:飞线、座子、pinmux、主控侧处置:查飞线与转接板、换板交叉、核对设备树出口 B:故障跟着芯片走根因落在料或焊接:批次、回流焊、ESD处置:查来料批次与焊点,必要时重新植球
图 2 · 上电不识别的五步分流决策树

2.1 五步的判据与退出条件

决策树画的是动作顺序,下表给出每一步的合格判据与退出条件。判据必须是可观测的量(电压值、波形形态、换料结果),不能是「感觉应该没问题」。

步骤动作合格判据(达标才能往下走)不达标时的处置
① 供电万用表直流档测芯片引脚处 VCC(eMMC 加测 VCCQ)实测值在规格内,上电稳定无跌落查 LDO 使能脚、上电顺序、限流、对地短路
② 接触手按封装再读一次;卡座类换座重读不按也能稳定读出,多次上电一致补焊 / 重新植球 / 换座 / 查簧片
③ 波形示波器挂 CS#、CLK、DO,单次触发抓读 ID 事务CS# 有低脉冲、CLK 有方波、DO 有翻转查 pinmux、CS 上拉、飞线长度与地回流
④ 交叉好芯片装坏板、可疑芯片装好板,各读一次故障明确跟板走或跟芯片走跟板走查飞线与主控侧;跟芯片走查料与焊
⑤ 判读把前四步实测数据填进第 7 章结案栏根因有实测证据,可复现可消除证据不足则回到 ① 重走,不许推测结案
每一步都要留证据

五步走完,手上应该有:一组电压实测值、一组波形截图、一次换料记录。这三样东西决定了你能不能在评审会上说服别人,也决定了三天后这个案子复现时你能不能接得上。

2.2 一次只改一个变量

这条规则在「时好时坏」的案子里尤其关键。间歇性故障的本质是某个物理量处在临界点上,此时任何改动都可能让它暂时好转,从而产生错误的因果判断。

间歇性不良的三条纪律
  • 一次只动一处:换芯片、剪飞线、加电容、改上拉,每次只做一件,做完固定下来再动下一件。
  • 用次数说话:判定「修好了」的标准是连续上电 20 次以上全部通过,一次通过不算。
  • 先固化复现条件:如果只有低温/高温/某个电压下才出现,先把复现条件写成可执行的步骤,再谈改动——否则你无法判断改动到底有没有效果。

2.3 先抓「已知好板」基线

没有基线就没有「差异」可言。样机阶段最容易犯的错,是拿着一块从来没通过电的新板,试图从零判断波形「正不正常」。基线抓一次不到半小时,但能让后面每一步对比都有锚点,回报率最高。

要抓的五项基线
  • 启动 LOG:好板串口完整输出存一份,用来对比报错位置与顺序。
  • 读回 ID:同颗料在好板上的读回值,用来确认 ID 值本身对不对。
  • 电压实测:逐点测 VCC / VCCQ 并记录,用来对比坏板是否偏低或跌落。
  • 波形截图:抓一次读 ID 三路波形,用来对比 CS# / CLK / DO 形态差异。
  • 配置快照:设备树 / pinctrl / 启动电阻存档,用来找出改板引入的变更。

3. 第 1 步 · 供电:万用表能解决的就别动烙铁

供电层的排查不需要任何昂贵仪器,却判掉了样机阶段近一半的不认芯片案子。本章给出必测点清单、上电顺序与使能脚的查法,以及电压域错接这类一旦发生就会直接烧片的危险操作边界。

3.1 必测点与判据

关键细节:测芯片引脚,不要测电源输出。LDO 输出正常不代表芯片引脚上有电——中间隔着走线、磁珠、0 Ω 电阻和焊点,任何一处断开都会让芯片侧无电。

测点怎么测合格判据不达标时的第一动作
VCC(芯片引脚)直流档,黑表笔接 GND,点芯片 VCC 引脚或去耦电容实测值在规格内沿供电网络往上游逐点测,定位断开点
VCCQ(eMMC)同上,单独测 VCCQ 引脚有电且在规格内查 VCCQ 的 LDO 是否使能
GND 连通性蜂鸣档测芯片与主控 GND导通,接近 0 Ω查共地过孔与地平面分割
对地阻抗(断电)断电后测 VCC 对 GND 阻值无短路排除连锡后再上电,禁止反复试
上电瞬间跌落示波器直流耦合并触发抓上电单调上升,无回沟加大去耦、查电源带载
万用表测不出来的那部分

万用表读的是平均值,测不出上电瞬间的跌落和纹波。如果电压平均值正常但器件仍不认,换示波器看上电曲线:LDO 软启动过慢、限流保护反复打嗝、大电容充电拉垮前级,这些都会表现为「万用表看着正常,器件就是不干活」。

3.2 上电顺序与 LDO 使能脚

多路电源有顺序要求时(例如先 core 后 IO、先 VCC 后 VCCQ),顺序错了器件可能进入不确定状态,表现为完全不应答。样机阶段最常见的是LDO 的使能脚没被拉起来——软件没配 GPIO、上拉电阻漏贴、或者使能脚被另一个电源域控制。

  1. 先查原理图:有几路电源、每路使能脚由谁控制、有无上电顺序要求。
  2. 再测使能脚:上电后确认它真的到了有效电平(高低依设计而定)。
  3. 核对上电顺序:必要时用双通道示波器抓两路电源上电沿(数值以 datasheet 为准)。
  4. 最后才动软件:确认是 GPIO 没配就补配置,确认电阻漏贴就补件。
危险操作:电压错接与带电飞线
  • 1.8 V 器件接到 3.3 V 域会直接损坏芯片,且往往表现为读 ID 全 00 或芯片发烫。上电前必须先确认 IO 电平域,电平域问题另见电压域专篇。
  • 禁止带电飞线、带电焊接:飞线搭到相邻引脚会造成瞬时短路,轻则锁死 LDO,重则打穿芯片 IO。
  • 怀疑短路时不要反复上电试:先断电打阻值确认,反复上电会把原本可恢复的连锡烧成永久损坏。
  • 割线前必须确认该网络没有其它负载,割断后要确认断口两侧确实分离,避免留下隐性半连。

3.3 eMMC / SD 的双电源

eMMC 有 VCC(存储阵列)与 VCCQ(控制器与接口 IO)两路电源,两路分离供电时缺任何一路都会导致枚举超时。这是 eMMC 侧与 SPI 侧最大的差异,也是最容易漏测的一项。

电源作用缺失时的典型表现
VCC存储阵列供电器件完全不应答,命令无任何回应
VCCQ控制器与接口 IO 供电命令可能发得出但收不到回应,或回应错乱

两路的具体电压值、上电顺序要求与容差以所用型号的 datasheet 为准;本文不给出具体数值,避免不同型号之间张冠李戴。

4. 第 2-3 步 · 接触与波形:把「没选中」和「没上电」分开

供电确认之后,剩下的核心问题是:主控到底有没有把片选拉低、有没有给时钟、数据线有没有通。接触决定了信号能不能过去,波形决定了信号过去了没有。这两步做完,「命令没送到」和「器件不应答」就能被彻底分开。

4.1 接触层:手按、换座、补焊

接触类故障的典型特征是状态可随外力改变:手按一下就好,松开又不行;换个座子就好,换回来又不行。这类故障最容易伪装成软件问题,因为它的表现是随机的。

现象指向的接触问题验证动作根治动作
手按封装就能读 IDBGA 底部空焊 / 引脚虚焊松开复现、按下恢复,重复三次重新植球 / 补焊,查钢网与回流曲线
换座后正常座子簧片变形、弹力衰减换回原座复现换座子,检查工装压合次数
按压某个方向才正常PCB 焊盘翘起或微裂沿不同方向按压定位查 PCB 焊盘与过孔
冷机不行、热机就好焊点微裂,热胀后接触热风枪局部加热后复测补焊,查热应力设计
换芯片后正常原芯片焊点或芯片本体原芯片装到好板复测跟芯片走则查批次与来料
「手按就好」不等于「修好了」

手按能恢复只证明了根因是接触,不代表故障已消除。判定修复的标准是不加外力、连续上电 20 次以上全部稳定通过。只做到「手按能过」就把板子放行,是最典型的样机阶段漏网动作。

4.2 波形层:三条信号各自必须出现的东西

示波器是解决「ID 读不到」的决定性工具。不需要抓多复杂的东西,只要确认三件事:CS# 有没有被拉低、CLK 有没有时钟、DO 在事务窗口内有没有翻转。下图给出一次正常读 ID 事务的三路波形形态与判读要点。

一次读 ID 事务:三条信号各自必须出现的东西CS#空闲选中判据:读 ID 期间必须出现干净的低脉冲;一直为高 = 没被选中CLK判据:连续方波,频率在器件允许范围;完全没有时钟 = 控制器没起或复用没配DO / MISO高阻ID 数据翻转判据:从高阻变为有驱动翻转;一直高 = 未上电或没选中,一直低 = 被拉死一次读 ID 事务窗口(CS# 低电平期间)
图 3 · 读 ID 事务的示波器判读:CS# / CLK / DO 三路对照

三路都正常却仍然读不到 ID,只剩两种可能:命令字节本身不对(命令码、模式、地址宽度以 datasheet 核对),或者器件处于某种异常状态(保持态、复位态、深度掉电)。

4.3 探点规范与判读要点

信号推荐探点看什么异常时的含义
CS#芯片侧 CS# 引脚读 ID 期间是否有干净低脉冲主控侧有、芯片侧没有 → 走线断
CLK芯片侧 CLK 引脚是否有连续方波、频率是否合理无时钟 → 控制器没起或 pinmux 没配
DO / MISO芯片侧 DO 引脚是否从高阻变为有驱动翻转一直高 → 未上电;一直低 → 被拉死
DI / MOSI芯片侧 DI 引脚是否有命令字节的翻转无翻转 → 主控没发命令
VCC去耦电容两端事务期间是否跌落跌落 → 电源带载不足
探点必须在芯片侧

探主控侧引脚只能证明主控发出了信号,不能证明信号到达了芯片。走线断、过孔不通、串阻焊反、座子接触不良,都会造成「主控侧有、芯片侧没有」。所有关键判读都必须在芯片侧引脚上完成。

4.4 飞线与转接板引入的故障

样机阶段为了改板方便,飞线和转接板是常规手段,但飞线过长带来的反射与串扰在高速下会直接表现为时序违规,而探头本身的电容也会改变信号边沿——这些都要算进误差里。

飞线状态下判定的结论要打折

飞线或转接板状态下通过的结论,不代表焊接状态下也通过;反之,飞线状态下失败也不能直接判定芯片不良。正确做法是:飞线状态先做交叉验证定位层级,定位后再回到正式焊接状态做最终确认。常见引入项有三类:飞线过长带来反射与串扰(剪短、加地回流、先降频验证);多根飞线并行造成 CLK 对 DO 的串扰(分开走、加地隔离);探头电容改变信号边沿(用 10× 档或有源探头)。