只读分享解决方案文档原理方案设计📅 2026-10-14🔖 Rev 1.0⏳ 还有3日到期
🔧解决方案&应用市场分析 -> 原理方案设计 -> 电子设计&技术探讨 -> 多电源域上电顺序与上电窗口误动作_技术探讨

多电源域上电顺序与上电窗口误动作_技术探讨

同系列 · 原理方案设计
扫码打开本页
微信扫码

多电源域上电顺序与上电窗口误动作

SD NAND / eMMC / SPI NOR / SPI NAND 电路的 VCC、VCCQ 与主控 IO 时序关系 —— 一份以「上电窗口」为主线的电源与总线设计参考 | 编制日期 2026-10-14 | 版本号 Rev 1.0

1 个上电窗口
从阈值穿越到器件就绪的间隙
四类总线误动作全部发生在这段时间里
3 类电源域
VCC(core)/ VCCQ(IO)/ 主控 IO
顺序约束来自三者的时序关系
4 类总线误动作
假 START/STOP、总线拉死、误触发、假时钟
第 5 章逐类给出抑制手段
12 章 + 4 附录
机制、设计、验证、排查全覆盖
15 张图、52 张表与设计核对表
报告总结

硬件调试里有一类问题特别磨人:存储器件「上了电却不干活」。示波器上电压明明已经到位,主控却读不到器件;或者器件在初始化阶段被一次假跳变带偏,表现为偶发挂死、偶发误写、上电即失败、换个温度又不复现。这类问题的根子不在「电没供上」,而在「电供上了、器件还没就绪」的那一段时间——上电窗口。

这份文档只讲一件事:上电窗口从哪里来、窗口内总线会发生什么、怎么把窗口内的误动作抑制掉。对象是 SD NAND / eMMC / SPI NOR / SPI NAND 四类常见存储器件,以及它们与主控之间的 VCC、VCCQ、主控 IO 三域时序关系,覆盖 POR / UVLO、斜率控制、PMIC / LDO 时序链、下电顺序、常电域热插拔与测试验证。文中电压、时间均为量级性参考,具体数值一律以器件 datasheet 与 JEDEC / SD / JESD 规范为准。

结论: 上电窗口内的总线误动作不是「运气问题」,而是「两侧电源就绪时刻不同步」的必然结果——抑制手段因此只有三条主线: 把窗口内的总线行为管住(上拉、门控、写禁止)、把窗口的起止变成可观测(PG、UVLO、监控器件)、把「等多久」换成「等到判据成立」。 固定经验值延时解决不了任何一类窗口误动作:它管得了时间,管不了总线。

读者路径

  • 想先建立问题框架:第 1 章(窗口是什么、误动作从哪来)+ 第 2 章(器件怎么就绪)。
  • 正在做电源与时序设计:第 3 章(域的组成与约束来源)+ 第 4 章(顺序设计方法)+ 第 9 章(电源器件选型)。
  • 总线在窗口内出问题:第 5 章(四类误动作逐类抑制)+ 第 6 章(主控 IO 与复位配合)。
  • 关心下电、常电域与热插拔:第 7 章(下电与掉电窗口)+ 第 8 章(常电域与热插拔场景)。
  • 要定测试方案或板子已经出问题:第 10 章(测试与验证)+ 第 11 章(失效案例与排查)。
  • 只想要结论:第 12 章(设计检查清单)+ 附录 A ~ D(术语判据、速查、核对表、专题边界)。

前言

存储电路的上电顺序问题,与普通数字电路有一个本质区别:存储器件有明确的「就绪前不响应」语义,而主控对此一无所知。主控按自己的时钟跑初始化,器件按自己的内部过程建立 readiness,两者的错位全部落在那段被称为「上电窗口」的时间里。这份文档把这段窗口当作一个正儿八经的设计对象来对待。

为什么单独讲这件事

多数器件类文档把上电顺序写成一条时序图加一句「请按建议顺序上电」。但在实际项目里,麻烦几乎从不来自「完全不顺序」——那种情况一上电就炸,太好查。真正难查的是这三类:顺序做了但没做判据(固定延时,换个批次或温度就失效)、顺序对了但总线在窗口内被乱说话(假 START、DAT 拉死、误写)、顺序在上电时成立、掉电时被忽略(写周期被打断、掉电窗口内误动作)。这三类问题的共同点是:现象偶发、与温度批次相关、复现需要特定电源条件,用「加个延时」试一次往往碰巧有效,于是错误的根因被保留到量产。

这份文档的做法是把上电窗口拆成可设计的量:窗口的起点和终点分别由什么决定、窗口内总线有哪几类典型行为、每类行为用什么手段抑制、怎么把窗口测出来、失效了按什么顺序查。全文的图表编号连续,正文引图一律写「第 N 章」而不做页内跳转,方便单独抽取某一章使用。

范围与边界

  • 覆盖的器件:SD NAND(含 microSD 形态)、eMMC、SPI NOR、SPI NAND,重点是它们与主控之间的电源域与总线接口。
  • 覆盖的电源器件:PMIC、LDO、DC-DC、负载开关、eFuse、电压监控器件、电源时序芯片,讲它们在时序链里扮演的角色,不涉及具体型号参数。
  • 不覆盖的:充电管理与电池包细节(另属电源专题)、功耗预算与休眠保持(与低功耗电源门控专题相邻,边界见附录 D)、高速总线的信号完整性(另属接口专题)。

数值与引用约定

  • 文中所有电压、时间、斜率均为量级性参考,用于建立设计直觉,不作为出图与下线的依据;落到设计上的一笔一画,一律以器件 datasheet 与所处规范为准。
  • 协议流程只写机制与配置顺序,命令以标准命令名与命令号指代(如 CMD0、CMD1、ACMD41、读状态命令),具体命令号与位域定义以 JEDEC / SD 协会 / 器件规范为准。
  • 不写具体寄存器地址、位域位置、选项字节默认值——这些内容随型号变化最快,写进通用文档只会误导。
读这份文档的最低收益

如果只记住一件事,请记住这个判断顺序:先确认窗口的起止可观测,再确认窗口内总线被管住,最后才谈等多久。顺序反了——先用延时把问题「试没了」——是这类问题进入量产的最常见路径。

1. 上电窗口:误动作从哪里来

这一章把「上电窗口」定义成可设计的量,再回答三个问题:误动作从哪里来、有哪几类、后果有多重。后面所有章节都是这一章机制在具体接口、具体电源器件上的投影——顺序怎么排、总线怎么管、测试怎么测,都能回到这一章找到出处。

1.1 什么是上电窗口

存储器件从上电到可以可靠访问,中间有一段「电已到、器未绪」的时间。这段区间的两个端点都是可以严格定义的:

  • 起点 t0:供电电压穿越器件内部 POR 的释放阈值、内部复位被解除的时刻。注意不是「电压达到额定值」的时刻——达到额定值之后还有一段内部过程。
  • 终点 t1:就绪判据成立的时刻。对 SPI 器件是规定等待结束且状态寄存器可读;对 SD / eMMC 是初始化握手完成、进入命令接受状态。

两端之间的区间就是上电窗口。窗口里发生的事都发生在器件内部:内部稳压轨建立、时钟起振、寄存器复位、状态机初始化、接口 PHY 就位。这段过程里,器件对总线的响应能力是不确定的——规范通常只承诺「就绪前的命令不生效」,不承诺「就绪前的总线跳变无害」,这正是误动作的生存空间。

还有一个容易被忽略的事实:窗口在每一根电源轨上各有自己的起止。VCC 过了阈值不代表 VCCQ 过了阈值;VCCQ 过了阈值不代表电平转换器另一侧的主控 IO 轨过了阈值。多电源域系统的真实窗口,是这些单轨窗口在时间轴上的并集与交集共同拼出来的(第 3 章展开)。

要素定义设计含义
窗口起点 t0供电电压穿越 POR 释放阈值的时刻由斜率与阈值共同决定,随温度与批次漂移,不是固定时刻
窗口终点 t1就绪判据成立的时刻必须由判据定义,不能用固定延时代替
窗口宽度t1 与 t0 之差设计量:要么压窄它,要么盯住它,而不是猜一个延时值
窗口内总线状态器件 IO 未就绪期间的驱动与感应能力决定误动作的类型与后果等级
窗口可观测性PG / UVLO / 监控器件提供的外部信号把窗口从「看不见」变成「可触发、可测量、可联锁」
多轨窗口关系各轨窗口在时间轴上的并集 / 交集多电源域设计的真正对象,见第 3 章
把窗口当成对象,而不是当成意外

「窗口」这个词容易让人以为是偶发的灰色地带。恰恰相反:只要电源斜率有限、器件内部建立需要时间,窗口就必然存在,它的宽度和起止都是可推导、可测量、可设计的量。设计要做的不是消灭它(消灭不了),而是三件事:压窄、管住、看住。

1.2 器件就绪的三个坐标轴

「就绪」不是一个点,而是三个坐标轴同时到位:电压(每根轨各自越过自己的阈值)、时间(斜率决定的穿越时刻加上就绪建立时间)、逻辑(总线电平被双方同时承认有效)。三个轴里任何一个没到位,窗口就没关上——而多数设计只盯着第一个轴。

  • 电压轴:VCC 与 VCCQ 有各自的阈值与就绪点。一轨已过阈、另一轨没有的时候,跨接在两轨之间的 IO 会处于中间电平——对已过阈的一侧像高、对未过阈的一侧像低,同一根线被两侧读成相反的值。
  • 时间轴:窗口宽度 = 上升时间(斜率决定)+ 就绪建立时间。斜率是双边约束:太快有倒灌与闩锁风险,太慢把窗口拖长并让 UVLO 在阈值附近抖动。
  • 逻辑轴:总线翻转是否「算数」,取决于两侧是否都承认这个电平有效。窗口内一侧承认、一侧不承认,任何翻转都可能被解读成协议事件——这是四类误动作的共同根源。

三个坐标轴合起来给出一个实用的设计判据:在窗口内,总线必须保持「沉默」——没有协议意义上的翻转。这不是让总线物理上不动(毛刺无法绝对避免),而是让任何毛刺都不构成合法的协议事件。第 5 章的全部手段都服务于这一条。

上电窗口 = 阈值穿越(t0)到器件就绪(t1)之间的电压 - 时间 - 逻辑间隙电压 - 时间平面:窗口的起点、终点与宽度VCC时间 tVCC 额定POR 释放阈值上电窗口t0:VCC 穿越阈值t1:就绪判据成立主控 IO 翻转(窗口内已在跑)坐标轴一 · 电压(V)每根轨各有自己的阈值与就绪点VCC 与 VCCQ 过阈时刻可以不同中间电平是误采样的温床坐标轴二 · 时间(t)窗口宽度 = 上升时间 + 就绪建立斜率由电源器件与负载共同决定主控起跑时刻独立于器件就绪坐标轴三 · 逻辑(电平有效性)窗口内一侧电平有效、一侧无效同一根线被两侧读成相反值总线行为 = 两侧认知不同步三轴合起来决定窗口内会发生什么:电压走到哪、时间过了多少、逻辑是否已被双方承认。
图 1 · 上电窗口三坐标轴示意
坐标轴观测量窗口内的风险设计判据
电压轴VCC / VCCQ 各自越过阈值的时刻一轨已过阈、另一轨没有,IO 处于中间电平两轨过阈时刻差与就绪等待匹配,差值有依据
时间轴上升时间(斜率)与就绪建立时间过快触发倒灌,过慢拖长窗口、UVLO 抖动上升时间落在器件规定区间内,窗口宽度可计算
逻辑轴总线电平被双方承认的有效性一侧采样为高、另一侧为低,解读分裂两侧就绪前,总线不得出现有效协议翻转
三个轴里最常被漏掉的是逻辑轴

电源设计天然关注电压和时间——万用表和延时函数就能对付。逻辑轴没有仪器直接读,它只以「偶发的误动作」形式出现。漏掉逻辑轴的项目,典型症状是:电源图挑不出毛病、软件重试机制也能跑,但量产偶发挂死,示波器抓几次都抓不到。

1.3 上电窗口内的四类总线误动作

窗口内的总线误动作可以归纳成四类。它们的共同点是:都发生在「器件未就绪、主控已活动」的交叠区,差异在于毛刺以什么形式落在总线上、被谁解读成什么。四类不是互斥的——一次上电异常里经常同时出现两三类。

  • 假 START / 假 STOP:时钟(或片选)为高期间,数据线出现非协议跳变,被协议引擎解读成一次起始或停止条件。I2C 类总线最典型;SD 的 CMD 线上等效于假命令边界,会让从机把后续位流当新命令解析。
  • 总线被拉死:窗口内两侧同时驱动且方向相反——一侧推挽拉低、一侧开漏靠上拉保持——结果是总线被锁在低电平,通信完全中断,只能靠超时加强制恢复解脱。
  • 误触发命令(含误写):毛刺凑巧拼出合法命令码并落在采样窗口里,器件(或已部分就绪的状态机)执行了不该执行的指令。危险等级最高的一类:一旦命中写命令,改变的是数据或配置。
  • 假时钟:时钟线上的毛刺被当成有效沿,推动移位寄存器,导致数据位边界整体错位——表现为数据错一位、响应全错、CRC 校验失败。
四类总线误动作:每一类都有「触发条件 → 器件侧路径 → 总线表现」的完整因果链① 假 START / 假 STOP触发条件时钟为高期间数据线出现下降沿器件侧路径协议引擎误判起始条件从机按假帧头同步总线表现出现无主控发起的START / STOP 帧I2C 类总线的典型形态;SD 的 CMD 线上等效为假命令边界② 总线被拉死触发条件窗口内两侧同时驱动且驱动方向相反器件侧路径开漏脚被外部拉低主控推挽持续驱动总线表现SDA / DAT 锁在低电平通信完全中断一方推挽一方开漏时最常见;需靠超时与强制恢复解脱③ 误触发命令(含误写)触发条件毛刺凑出合法命令码且落在采样窗口器件侧路径命令过滤器未就绪状态机执行误指令总线表现器件状态被意外改变严重时触发误写多字节命令的头几字节被误采样时最危险;写类命令后果最重④ 假时钟触发条件时钟线上出现非协议时钟沿器件侧路径移位寄存器被推动数据位边界整体错位总线表现数据错一位响应与校验全错时钟门控与保持电路是主要抑制手段,见第 5 章四类误动作的根因相同:窗口内总线所有权与电平有效性没有归属。抑制手段按因果链逐环布置,见第 5 章。
图 2 · 四类总线误动作成因图
类型直接成因典型接口可检测性首选抑制手段
假 START / STOP时钟为高期间数据线跳变I2C;SD 的 CMD 线协议分析仪可见假帧上拉 + 总线门控 + 写禁止
总线被拉死两侧同时驱动、方向相反SD 的 DAT;I2C 的 SDA总线持续低电平、通信超时开漏 / 三态 + 超时恢复
误触发命令毛刺凑成合法命令码全部接口响应异常、状态突变命令过滤 + 就绪判据
假时钟时钟线毛刺被当成沿SPI;SD 的 CLK数据错位、CRC 错时钟门控与保持

1.4 误动作后果的分级

同一类误动作,后果可以差出四个量级:一次假 STOP 可能只是让从机重新等一次帧头(无感),也可能把一次正在进行的写操作打断(数据损坏)。设计按最坏分级,验证按最常见分级——前者决定电路要做什么保护,后者决定测试要覆盖哪些场景。

等级名称典型表现恢复方式设计对策
L0无感器件忽略该事件,总线无异常无需恢复依赖器件自身的命令过滤(不可全靠)
L1可恢复器件进入错误态,需重新初始化复位或重新上电初始化重试 + 通信超时机制
L2数据损坏误写改变配置区 / OTP / 文件系统元数据数据已变,不可恢复窗口内写禁止 + 就绪判据优先
L3系统性失效器件锁死、批量不良、需断电重来断电重上电,量产返修全链条时序设计 + 可观测性
不要按 L0 设计

「器件会忽略就绪前的命令」这句话只覆盖了命令通道,没有覆盖总线物理层。开漏引脚在窗口内被拉低、推挽引脚在窗口内抢驱,都属于规范没说的地方。把这些当成 L0,等于把器件的内部实现细节当成承诺——而实现细节恰恰是批次间最容易变的东西。

1.5 为什么「经验值延时」不够

「上电后延时 50ms 再访问」是最常见的经验值做法。它在绝大多数板子上「有效」,正因为有效,根因才被保留下来。延时失效的路径有六条,每一条都指向同一个结论:延时是充分条件,不是判据。

  • 器件批次差异:POR 阈值与内部建立时间存在分散,不同批次的窗口起点和宽度都在动。
  • 高低温:低温下斜率变慢、阈值漂移,窗口整体变宽;经验值在常温试出来,到低温就不够。
  • 负载变化:去耦电容容量、板级负载、走线电阻都改变上升时间,改版即失效。
  • 电源器件差异:LDO / DC-DC 的软启动时间有离散,同型号不同批次不一样。
  • 时序链抖动:EN / PG 级联的延时随电源电压与温度抖动,累积误差不可控。
  • 窗口内总线行为与延时无关:这一条最根本——假 START、DAT 拉死这类误动作由总线状态决定,主控「等多久」完全不改变总线在窗口内发生了什么。
失效场景固定延时为什么失效正确的替代
器件批次差异阈值与建立时间分散,窗口起点平移等就绪握手 / 状态判据,而非等时钟
高低温漂移低温斜率慢、阈值漂,窗口变宽全温域验证 + 判据化等待
负载与改版去耦与走线改变上升时间斜率受控设计(第 4 章)+ 窗口可测
电源器件离散软启动时间批次间不同PG 联锁代替推算延时
时序链抖动级联延时累积误差时序芯片集中延时 + 监控器件兜底
窗口内总线误动作主控等待不改变总线行为总线门控 / 上拉 / 写禁止(第 5 章)
判据化的三个层次

把「等多久」换成「等到什么」:第一层是电源侧的 PG 信号(轨已就绪);第二层是器件侧的握手(初始化完成、状态寄存器可读且不忙);第三层是系统侧的可观测性(监控器件在窗口异常时给中断或复位)。三层都有的设计,窗口从「猜」变成「等」再到「看」。

2. 器件上电行为与就绪判据

这一章把「就绪」拆开:器件内部从上电到可访问经历了哪些物理过程,外部能用什么判据判断它走完了。第 3 章之后的所有电源域讨论,都建立在这一章的判据之上——不知道器件什么时候就绪,就没法判断电源域该谁先谁后。

2.1 内部 POR 与欠压锁定

器件内部有两道电压防线:POR(Power-On Reset,上电复位)负责在电压太低的时候把内部逻辑保持在复位态,电压越过阈值才释放;UVLO(Under-Voltage Lockout,欠压锁定)负责在电压跌落时停止响应、锁存状态,防止在「半饿」电压下产生半对半错的行为。两者的阈值通常不同:POR 释放阈值一般高于 UVLO 动作阈值,中间是迟滞区。

对窗口设计而言,内部 POR 定义了窗口起点的器件侧真值——但它有三个工程缺点:阈值有分散(批次间漂)、不可外部读取、迟滞区行为以器件内部实现为准。因此工程上普遍用外部信号来补:电源器件的 PG、以及独立的电压监控器件。外部信号的阈值是设计者自己定的,可读、可联锁、可测量,代价是它与器件内部 POR 之间存在一个「谁先谁后」的配合问题(第 6、9 章展开)。

机制监测对象动作与窗口的关系局限
内部 POR器件自身 VCC低于阈值保持内部复位,越阈释放定义窗口起点的器件侧真值阈值有分散、不可外部读取
欠压锁定 UVLO器件自身 VCC低于阈值停止响应 / 锁存缩小「看似就绪」的无效区间迟滞区行为以器件为准
电源器件 PG电源轨输出通知下游「本轨已就绪」提供可观测、可联锁的窗口边界只代表电源侧,不代表器件侧
外部监控器件被监控轨复位 / 中断输出把窗口边界变成可控动作需额外器件与阈值设定
PG 不是万能的,但没有 PG 是万万不能的

PG 的语义仅仅是「我的输出到了设定值」,它不保证负载(器件)已经就绪。但反过来,没有 PG 的系统连「电源侧何时就绪」都只能靠推算,窗口起止全部不可观测,第 10 章的测量和第 11 章的排查都会失去基准点。

2.2 上电到首次访问的等待

从 t0 到 t1 的等待不是一段空白,它可以拆成五个先后发生的阶段。拆开的意义在于:每一段的影响因素和外部可见性不同,能干预的手段也不同——前面几段靠电源设计干预,最后一段靠软件判据等待。

  • POR 释放:内部复位解除。受阈值、斜率、温度影响,外部不可见。
  • 内部轨建立:片内调节器 / 电荷泵到稳态。受负载电流影响,外部不可见。
  • 时钟起振:内部振荡器稳定到可用频率。以器件为准,外部不可见。
  • 状态机就绪:命令解析、写状态机、接口 PHY 进入可用态。外部不可见,但其完成度决定命令过滤行为。
  • 协议初始化:SD / eMMC 的初始化握手、电压与模式协商;SPI 类的规定等待与状态读取。这一段在总线上可见,是判据化的落脚点。
阶段内容主要影响因素外部可见性
POR 释放内部复位解除阈值分散、斜率、温度不可见(除非器件有 ready 引脚)
内部轨建立片内调节器 / 电荷泵到稳态负载电流、去耦不可见
时钟起振内部振荡器稳定以器件设计为准不可见
状态机就绪命令解析 / 写状态机 / PHY 就位以器件设计为准不可见(只通过行为间接反映)
协议初始化SD / eMMC 握手;SPI 规定等待时钟频率、命令序列、上拉总线响应可见,可作判据
窗口内总线的「沉默三原则」

首次访问之前,总线应该保持的状态只有三件事:片选无效(CS# 保持高)、命令线上拉置高、时钟静止。这三件事是「窗口内不说话」的最低要求,也是第 5 章所有抑制手段生效的前提——门控、写禁止、弱保持,都是为了让总线在窗口内满足这三条。

2.3 VCC 斜率与上升时间约束

datasheet 对上升时间的规定是一个区间,不是「越快越好」的单边要求。这是斜率设计里最容易搞反的一点:

  • 上升过快:电压以接近阶跃的方式加上,储能电容瞬间充电,产生倒灌电流与地弹;严重时可触发闩锁(latch-up)或损坏结构。软启动、RC 限斜率、负载开关的 Rise Time 控制都为压它而设。
  • 上升过慢:电压长时间停在阈值附近,UVLO 与 POR 可能反复动作(窗口被「重新打开」),且窗口整体被拖长,与主控初始化的错位更大。
  • 非单调上升:上升过程中出现回沟或跌落,等效于一次微型掉电,监控器件可能连续报警、器件可能多次复位。储能电容与电源器件的瞬态响应是关键。
  • 多轨斜率不匹配:VCC 与 VCCQ 以不同斜率上升,域间电压差持续存在,倒灌电流与中间电平时间被拉长。
斜率情形机理后果设计动作
上升过快接近阶跃,储能电容瞬充倒灌电流、地弹、闩锁风险软启动 / RC 限斜率 / 负载开关档位
上升过慢长时间停在阈值附近窗口拖长、UVLO 与 POR 抖动加强驱动能力 / 调整负载与去耦
非单调上升回沟等效微型掉电监控器件连报、器件多次复位检查瞬态响应与储能容量
多轨斜率不匹配域间电压差持续倒灌与中间电平时间拉长统一斜率策略(第 4 章)
斜率是双边约束

只压下限不限上限,会在低温、重载、低输入电压的角落把上升时间拖到器件规定区间之外;只压上限不限下限,又会把倒灌风险带进来。正确做法是把上升时间当成一个设计参数:算出最慢与最快两个边界,确认都落在器件规定区间内,而不是「软启动拧到最大」或「干脆不限」。

2.4 未就绪期间 IO 的行为

窗口内器件 IO 的行为,决定了四类误动作哪几类有可能发生。总的原则是:未就绪期间的 IO 不保证驱动、不保证采样、也不保证忽略——不同引脚类型有不同倾向,但都不该被当成承诺。

  • 命令 / 数据线(SD 类):上电默认通常是开漏加上拉,或三态。开漏意味着它只会被拉低、不会被驱动高——这是总线拉死类问题的结构根源。
  • SI / SO(SPI 类):SO 通常三态或极弱驱动;窗口内主控若采样 SO,读到的是上拉电平或浮空电平,没有意义。
  • 片选 CS#:窗口内应保持无效。若主控在窗口内产生片选跳变,配合数据线毛刺就可能凑出一次假访问。
  • 控制引脚(RESET# / WP# / HOLD#):有上电默认电平。RESET# 的默认态可能延长窗口;WP# 的默认态可能意外锁定写保护。这些引脚的默认值必须逐型号核对,不能想当然。
  • 时钟 CLK:多数器件就绪前不采样时钟沿,但「不采样」不等于「无害」——部分就绪状态机可能已在对沿计数(假时钟类风险的来源)。
引脚类型未就绪期间典型行为设计含义注意点
CMD / DAT(SD 类)开漏 + 外部上拉,或三态空闲电平由上拉决定上拉取值影响窗口内电平与拉死风险
SI / SO(SPI 类)SO 三态或弱驱动主控不应在窗口内采样 SO以器件 datasheet 为准
CS#片选未决,应保持无效窗口内避免片选跳变片选毛刺 + 数据毛刺 = 假访问
RESET# / WP# / HOLD#有上电默认电平默认态可能改变窗口宽度或写保护默认值逐型号核对
CLK多数器件不采样沿假时钟风险仍然存在时钟门控比「假定不采样」更稳

2.5 命令过滤与忙状态

就绪判据在器件侧有两个对应物:命令过滤与忙状态。命令过滤指器件在未就绪(或内部忙)期间丢弃收到的命令——它过滤的是「命令」,不是「跳变」,第 1 章的四类误动作里只有误触发命令一类能被它挡。忙状态指器件通过状态寄存器(忙 / 就绪位)或总线响应(busy 信号)报告自己的进度——它是判据化的主要抓手。

由此得到软件初始化的一条基本原则:把「等多久」换成「等到某个可观测事件」。SD 类等初始化握手与电压协商完成;SPI 类等规定等待结束、状态寄存器可读且忙位清零。反模式同样常见:用固定次数的空读代替判据、用主控定时器代替器件状态——这两者都把窗口重新变回了「猜」。

忙判据的三个用法

上电判据:上电后第一次读状态,不忙且值合理,才认为窗口关闭。过程判据:写 / 擦除期间轮询忙位,不忙才发下一条。异常判据:忙位长时间不清(超过超时设定),按异常处理而不是继续等——这与第 5 章的总线超时恢复是同一套思想。

2.6 各接口就绪判据要点

四类接口的就绪判据形式不同,但都可以归到「总线响应可见」这一类。下表给出要点,具体流程以对应规范与器件 datasheet 为准。

接口就绪判据(要点)窗口内总线应保持的状态窗口内常见误动作
SD NAND / microSD初始化握手完成、电压协商通过CMD 上拉置高、DAT 上拉、CLK 静止假命令边界、DAT 拉死
eMMC初始化完成,进入命令接受态CMD / DAT 上拉、CLK 静止窗口内切高速、假 START
SPI NOR规定上电等待结束、状态寄存器可读CS# 高、SCLK 静止、SI 固定假时钟、误读状态
SPI NAND复位序列完成、状态不忙CS# 高、SCLK 静止假时钟、特性寄存器误读
上电后第一次访问不要直接进高速模式

SD / eMMC 的低速初始化阶段不只是协议流程,它本身就是就绪判据的一部分:器件在低速下完成时序训练与参数协商,之后才允许切高速。在窗口边界上抢跑切高速,等于把高速采样问题叠加到未就绪器件上——这类失效在示波器上表现为「明明有响应、内容全错」。

3. 多电源域的组成与约束来源

第 1 章说明了窗口为什么存在,这一章回答「顺序要求到底是谁提出的」。存储电路的上电顺序约束来自五个地方:器件电气、接口协议、系统架构、电平转换、以及文档与人员习惯。只有分清来源,才能知道哪些约束可以妥协、哪些一步不能让——把「datasheet 建议」和「电气红线」混为一谈,是顺序设计里最常见的纠结来源。

3.1 典型电源域划分

一颗存储器件加一颗主控,最少可以划出三个电源域:器件 core 域(VCC / VDD)、器件 IO 域(VCCQ / VDDIO)、主控 IO 域。SPI NOR 常见前两者合并;SD NAND / eMMC 几乎必然分开;带电平转换器的设计还会有第四个要素——转换器两侧分属不同域。

  • 器件 core 域:给片内逻辑、电荷泵、存储阵列供电。它不到,器件什么都不做——这是「先 core」论的来源。
  • 器件 IO 域:给 IO 焊盘与输出驱动器供电。它决定总线空闲电平与驱动强度,也是倒灌电流的主要通路。
  • 主控 IO 域:给主控的 IO 焊盘供电。主控的起跑时刻由自己的复位释放决定,与存储侧两个域没有直接关联——错位从此产生。
  • 常电域与受控域(系统层):前者始终有电(standby 逻辑、唤醒源),后者受开关控制(主控核、存储、外设)。热插拔与待机唤醒场景里,这一层划分比前三者更关键(第 8 章)。
三个电源域与总线链路:顺序约束沿「电源器件 → 器件焊盘 → 电平转换器 → 主控焊盘」传递域 A · 器件 core 电源(VCC)LDO-A / DC-DCcore 轨使能受 EN / PG 控制器件 VCC 焊盘eMMC VCC / SD VDDSPI 器件 VCC片内逻辑与电荷泵core 供电对象就绪前不响应命令域 A 边界:从电源器件输出到器件 core 焊盘。「先 core 后 IO」还是「同时」,见第 4 章策略对比。域 B · 器件 IO 电源(VCCQ)LDO-B / DC-DCIO 轨 VCCQ决定总线电平器件 VCCQ 焊盘SD / eMMC 的 VCCQ部分器件与 VCC 合并电平转换器 A 侧VCCA 接 VCCQ输出朝主控方向域 B 边界:从 IO 轨到器件 IO 焊盘与电平转换器;总线空闲电平由上拉与转换器共同决定。域 C · 主控 IO 电源主控 IO 电源VDDIO_MCU常与主控核电源联动主控 IO 焊盘CMD / CLK / DAT推挽或开漏驱动器电平转换器 B 侧VCCB 接 VDDIO_MCU输入方向域 C 边界:主控 IO 焊盘与电平转换器;主控起跑由自己的复位释放决定,与域 A / B 无直接关联。总线(CMD / CLK / DAT)从域 C 穿越电平转换器进入域 B,最终抵达器件 IO 焊盘。两侧电源谁先就绪,决定窗口内总线由谁说话、说到什么电平——顺序设计就是管这条链路。
图 3 · 电源域划分框图
电源域供电对象典型电压量级上电特点常见来源
器件 core 域(VCC)片内逻辑、电荷泵、阵列与工艺节点相关,1.8V 量级常见不到则器件完全不工作PMIC / LDO / DC-DC
器件 IO 域(VCCQ)器件 IO 焊盘、电平转换器一侧1.8V 或 3.3V 两档常见决定总线电平与驱动强度PMIC / LDO
主控 IO 域主控 IO 焊盘、电平转换器另一侧1.8V / 3.3V决定主控起跑时刻主控内部电源 / PMIC
常电域standby 逻辑、唤醒源、保持寄存器以系统设计为准始终供电,是顺序链的锚电池 / 常电 LDO
受控域主控核、存储、高速外设以系统设计为准受开关 / 使能控制负载开关 / eFuse
划分域不是为了好看,是为了让每段窗口有归属

域划清楚之后,上电窗口就被切成若干段,每段有明确的起止与责任方:core 段归电源设计、IO 段归电平与上拉设计、主控段归复位与初始化设计。查问题时按域逐段排除,比盯着一整条混叠的总线波形高效得多——这也是第 11 章排查树按域组织的原因。

3.2 常电域与受控域

在器件级三域之上,系统级还有一层划分:常电域与受控域。常电域始终有电——standby 逻辑、唤醒源、需要掉电保持的状态;受控域可以被完全关断——主控核、存储、高速外设。这一层划分决定了「上电顺序」问题以什么形态出现:

  • 纯受控域系统(整板一起上电一起掉电):顺序问题集中在「起跑错位」——窗口内总线误动作是主要矛盾。
  • 带常电域系统:存储或总线保持器常电,主控反复上下电。顺序问题转化为「主控后上电时总线是否安全」(第 8 章),窗口误动作的矛盾让位给热插拔与带电插拔。
  • 混合系统:部分存储常电、部分受控,同一块板上两种形态并存——设计规则必须显式区分每个器域归属,不能靠「大概是这样」。
维度常电域受控域
供电状态始终有电受开关 / 使能控制,可完全下电
典型内容standby 逻辑、唤醒源、保持寄存器主控核、存储、高速外设
顺序链角色顺序链的「锚」,提供时间基准顺序链的「被执行者」
断电行为不掉电(或仅保持电流)可完全下电,重新上电走完整窗口
设计重点保持电流、数据保持、漏电上电斜率、窗口、总线误动作
典型失效保持数据丢失、待机电流超标上电挂死、偶发误写、窗口内假帧
常电不等于可以随便

常电域的代价是永远存在的漏电流与倒灌通路:只要常电轨和非常电轨同时存在电压差,倒灌就一直在发生。常电设计的第一件事不是「谁先上电」,而是「倒灌电流有没有路、有多大、温度高了会怎样」——这个问题在受控域系统里不存在,在常电域系统里躲不掉。

3.3 顺序要求的真正来源

把各种「必须这样上电」的说法按来源分类,是顺序设计的第一步。不同来源的约束,违反后果和可妥协性完全不同:

  • 器件电气约束:域间电压差上限、倒灌电流上限、闩锁条件。这是红线,违反的后果是器件损坏或永久失效,没有「偶尔没事」的余地。
  • 接口协议要求:上电期间总线应保持的状态(片选无效、命令线上拉、时钟静止)。违反不损坏器件,但直接把误动作概率拉满。
  • 系统架构约束:常电域锚点、主控复位释放时刻、唤醒路径。违反表现为挂死或初始化失败,通常稳定复现。
  • 电平转换约束:转换器两侧电源就绪前不得使能输出。违反的后果是倒灌与假电平,属于电气与逻辑的交叉地带。
  • 文档与人员习惯:datasheet 的建议顺序、历史项目的「惯例」。这类约束没有物理根因,但违反它意味着走进「未经最坏情况验证」的区域——要不要遵守,取决于你的验证覆盖度。
约束来源说明违反的典型后果可妥协性
器件电气约束域间电压差、倒灌电流、闩锁条件器件损坏、永久失效不可妥协(红线)
接口协议要求上电期间总线应保持的状态假 START、误触发、DAT 拉死不可妥协(可用设计替代实现)
系统架构约束常电域锚点、复位释放、唤醒路径挂死、初始化失败通常不可妥协
电平转换约束两侧就绪前不得使能输出倒灌、假电平取决于转换器类型
文档与人员习惯datasheet 建议、项目惯例无直接物理后果可评估后偏离,需验证兜底
一条实用的分类问题

拿到任何一条顺序要求,先问:「违反它,最坏会发生什么?这个最坏是物理损坏还是行为异常?」物理损坏类(闩锁、倒灌超限)一步不让;行为异常类(挂死、误动作)可以用别的手段兜住——比如不按建议顺序,但把总线在窗口内完全管住。分不清这两类,就会要么过度设计,要么在红线上跳舞。

3.4 域间电压差与电流倒灌

只要两个域之间存在电压差,且 IO 引脚跨接两域,就存在倒灌(back-feeding)通路:电流从高电压域经 IO 的寄生二极管或导通的控制管,流向低电压域。倒灌的伤害分两层:直接伤害是超过器件规定的倒灌电流上限导致闩锁或退化;间接伤害是给未就绪域「半喂电」,让它的电压停在中间电平——既不是有效高也不是有效低,窗口被无限拉长甚至无法关闭。

工程上倒灌有五类典型通路,每一类都有对应的设计对策。核心思路只有一个:让电压差不存在,或者让倒灌没有路,或者让路限流。

倒灌情形机理量级因素设计对策
一轨先到、另一轨未到IO 寄生二极管形成单向通路电压差、寄生阻抗、温度顺序控制 + 缩小到达时间差
持续电压差两轨长期压差,倒灌持续存在器件结构、结温常电域统一供电或加阻断
上拉跨域上拉源在一侧未就绪时供电上拉阻值、电源就绪时刻上拉接到先就绪的一侧
电平转换器倒灌自动方向转换器单侧上电时导通转换器类型与结构换固定方向或带 OE 控制的型号
掉电逆向倒灌一轨先掉、另一轨仍供着储能容量、下电斜率下电顺序与上电对称设计
倒灌是慢刀子,不是快刀子

倒灌超限不一定会当场击穿——更多是加速退化与间歇异常:高温下漏电流变大、保持性变差、偶尔功能错乱。这类问题用「上电试一下」永远试不出来,必须靠两条:设计上算出倒灌通路与量级,测试上做全温域长测。把倒灌当成数据手册里的一个小参数,是它最理想的生存方式。

3.5 电平转换器的窗口行为

电平转换器是域间总线交接的关卡,也是窗口行为最复杂的器件:它自己有两路电源,还有一路输出使能。三类信号(VCCA、VCCB、OE)的就绪顺序,直接决定窗口内总线被谁驱动。不同结构的转换器在窗口内的行为差异极大,选型就是选窗口行为。

  • 固定方向 MOSFET 转换器:无源结构,未上电侧不驱动。窗口内天然安全,是方向固定场景的首选。
  • 电阻分压网络:完全无源,但有静态电流、斜率失真与驱动能力问题,只适合低速单向。
  • 自动方向转换器:靠检测电平判断方向,单侧上电时可能导通形成倒灌——这是窗口内假电平与倒灌的高发器件。
  • 带 OE 控制的转换器:OE 未使能时输出三态,窗口内可以安全保持沉默;代价是 OE 时序必须受控,通常接 PG 或监控器件。
  • 集成于主控的转换器:行为以主控手册为准,重点是核对 IO 域电源的就绪条件与上电默认态。
转换器类型窗口内行为主要风险适用建议
固定方向 MOSFET 型未上电侧不驱动较低方向固定场景首选
电阻分压网络无源,输出电压随两侧变化静态电流、斜率失真低速单向、对功耗不敏感场景
自动方向型单侧上电时可能导通倒灌、假电平不推荐用于窗口敏感的存储总线
带 OE 控制型OE 无效时输出三态OE 时序失控则失效窗口内保持 OE 无效,OE 受 PG 控制
主控内置型以主控手册为准同自动方向型核对 IO 域就绪条件与上电默认态
自动方向转换器 + 窗口敏感总线 = 高发组合

自动方向转换器用起来最省心(不用关心方向信号),但它的方向判断依赖电平检测:一侧上电一侧没上电时,检测结果可能是「半导不通」——输出被微弱驱动到中间电平,总线上出现既不像高也不像低的「灰电平」。存储总线对灰电平毫无抵抗力:假 START、DAT 拉死、误采样都从这儿来。多电源域的存储总线上,宁可用带 OE 的转换器多画一根控制线。

相关报告 · 交叉引用 3 器件全部展开收起 ▾
点开类目即可展开:具体文档 / 章节(点章直接跳转到该章)
eMMC
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查
SD NAND
电路设计指南
软件设计规范
Linux 驱动开发
量产问题排查
SPI NOR
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查2
系统设计指南
其他提及器件(共 3)
SPI NAND
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查4
全志平台 SPI NAND NOR
章节(点章跳转,共 11 章)
海思平台 SPI NAND 量产常见失败
章节(点章跳转,共 11 章)
烧录成功但不开机 SPI NAND
章节(点章跳转,共 12 章)
瑞芯微平台 SPI NAND eMMC
章节(点章跳转,共 11 章)
系统设计指南3
PPI NAND(并行NAND)
电路设计指南
软件设计规范
Linux 驱动开发
量产问题排查