3. 芯片上电与时钟复位检查
Marvell 芯片平台在上电阶段能否顺利启动,取决于三个相互耦合的条件:各电源域按正确顺序建立、复位信号在电源与时钟稳定后释放、时钟树与 PLL 输出达到可用状态。Bring-up 阶段最常见的“板子插上电没反应”问题,绝大多数都落在这一环节。本节围绕电源域上电时序、复位释放流程、时钟树配置、PLL 锁定判断以及上电失败定位方法展开,帮助建立一套可复现的检查路径。
电源域上电时序
Marvell 的 SoC 通常划分多个电源域,例如核心域(VDD_CORE)、I/O 域(VDDIO)、模拟/PLL 域(AVDD)、DDR 域(VDD_DDR)以及部分外设域。这些域并非同时上电,而是遵循芯片数据手册规定的上电顺序。典型约束是:核心域先于 I/O 域建立,模拟/PLL 域在核心域稳定后供电,DDR 域最后或与 I/O 域同步。若顺序颠倒,可能出现 I/O 灌电流、PLL 无法锁定甚至闩锁风险。
实际检查时,第一步是确认各域的上电斜率与到达时间。以某 Marvell 参考设计为例,VDD_CORE 在 3.3V 主输入建立后约 2ms 达到 0.9V,VDDIO 在 5ms 达到 1.8V/3.3V,AVDD 在 8ms 达到 1.8V。这些数值属于示例,实际应以具体芯片手册为准。用示波器多通道同时抓取各域,观察是否存在某域提前建立或迟迟不建立。若某域由 PMIC 的使能引脚控制,需检查使能信号是否由前一级电源的 Power Good(PG)信号驱动,形成级联上电。
复位释放流程
复位分为上电复位(POR)、系统复位和局部复位。POR 由芯片内部或外部复位芯片产生,必须在所有电源域稳定且时钟有效后释放。复位释放过早,芯片会在电源未稳时开始采样,导致启动失败;释放过晚则可能错过 Boot ROM 的采样窗口。
检查复位释放时,重点看三个信号:外部复位输入(如 RESET_N)、内部复位输出(如 SYS_RST_N)以及各外设的局部复位。典型流程是:电源全部稳定 → POR 计数器计时(例如 10ms)→ 释放 SYS_RST_N → 时钟模块使能 → 释放外设复位。用示波器同时抓取 RESET_N 与 VDD_CORE,确认复位释放点位于电源稳定之后。若复位由外部复位芯片产生,需检查其阈值电压和延时是否与芯片要求匹配。
时钟树配置与 PLL 锁定判断
Marvell 芯片的时钟来源通常包括外部晶振(如 25MHz 或 40MHz)、外部时钟输入以及内部 RC 振荡器。启动阶段先由低速时钟驱动 Boot ROM,随后配置 PLL 产生高频时钟供 CPU 和总线使用。时钟树配置的核心是:选择参考时钟源、设置 PLL 倍频/分频参数、使能各时钟分支。
PLL 锁定判断依赖锁定指示信号(LOCK)或状态寄存器。检查时先确认参考时钟频率和幅度符合要求,再读取 PLL 状态寄存器。若 LOCK 位长时间为 0,常见原因包括:参考时钟未起振、PLL 供电异常、环路滤波参数不匹配、寄存器配置错误。部分芯片提供 PLL 锁定中断或状态引脚,可直接用示波器观察。
常见上电失败定位方法
当板子上电后无反应,建议按“电源 → 复位 → 时钟”的顺序逐级排查,不要跳步。第一步用万用表确认各域静态电压是否正常,再用示波器抓取上电瞬间的时序。若某域电压偏低或为 0,检查 PMIC 输出、使能信号、反馈电阻和负载短路。第二步检查复位信号:RESET_N 是否在电源稳定后释放,释放电平是否达到芯片要求的高电平阈值。第三步检查时钟:晶振是否起振,PLL 参考时钟是否存在,LOCK 位是否置位。
若电源和复位均正常但芯片仍不启动,可读取芯片内部状态寄存器或通过 JTAG 连接查看 PC 指针。部分 Marvell 芯片在 Boot ROM 阶段会输出串口日志,若串口无输出,说明 Boot ROM 未执行,问题仍在时钟或复位。若串口有输出但停在某一行,则问题可能已进入软件或 DDR 初始化阶段。
检查表示例
| 检查项 | 测试点 | 预期值/状态 | 工具 |
|---|---|---|---|
| VDD_CORE 电压 | 核心域电容 | 0.9V ±5% | 万用表/示波器 |
| VDDIO 电压 | I/O 域电容 | 1.8V 或 3.3V ±5% | 万用表/示波器 |
| 上电顺序 | 各域同时抓取 | 核心先于 I/O,模拟域后于核心 | 多通道示波器 |
| RESET_N 释放点 | 复位引脚 | 电源稳定后 ≥10ms 释放 | 示波器 |
| 晶振起振 | 晶振输出脚 | 25MHz/40MHz 正弦或方波 | 示波器 |
| PLL LOCK | 状态寄存器/引脚 | LOCK 位置 1 | 寄存器读取/示波器 |
| 串口输出 | 调试串口 | Boot ROM 日志正常打印 | 串口终端 |
上电与时钟复位检查是 Bring-up 的第一道关口。把电源域时序、复位释放和 PLL 锁定这三件事按顺序确认清楚,后续的 DDR 初始化、外设枚举和系统启动才有可靠基础。实际调试中,建议保留每次上电的示波器截图和寄存器读数,便于对比和回溯。