阶段五:PMU集成 上电时序 Power Sequencing PGOOD
现代SoC有多路电源,上电顺序错误可能导致:
例:C=50pF, V_th=1.2V, I=10nA → T_delay = 6ms
PGOOD(Power Good)信号表示电源轨已稳定:
下一路电源只有在上一路PGOOD有效后才启动。
掉电顺序通常与上电相反:
紧急掉电(如过温保护):所有电源同时关断,优先保护器件。
仿真验证了三路电源的顺序上电时序。
62 2.811731e-02 5.000000e+00 5.000000e+00 5.000000e+00 363 2.821731e-02 5.000000e+00 5.000000e+00 5.000000e+00 364 2.831731e-02 5.000000e+00 5.000000e+00 5.000000e+00 365 2.841731e-02 5.000000e+00 5.000000e+00 5.000000e+00 366 2.851731e-02 5.000000e+00 5.000000e+00 5.000000e+00 367 2.861731e-02 5.000000e+00 5.000000e+00 5.000000e+00 368 2.871731e-02 5.000000e+00 5.000000e+00 5.000000e+00 369 2.881731e-02 5.000000e+00 5.000000e+00 5.000000e+00 370 2.891731e-02 5.000000e+00 5.000000e+00 5.000000e+00 371 2.901731e-02 5.000000e+00 5.000000e+00 5.000000e+00 372 2.911731e-02 5.000000e+00 5.000000e+00 5.000000e+00 373 2.921731e-02 5.000000e+00 5.000000e+00 5.000000e+00 374 2.931731e-02 5.000000e+00 5.000000e+00 5.000000e+00 375 2.941731e-02 5.000000e+00 5.000000e+00 5.000000e+00 376 2.951731e-02 5.000000e+00 5.000000e+00 5.000000e+00 377 2.961731e-02 5.000000e+00 5.000000e+00 5.000000e+00 378 2.971731e-02 5.000000e+00 5.000000e+00 5.000000e+00 379 2.981731e-02 5.000000e+00 5.000000e+00 5.000000e+00 380 2.991731e-02 5.000000e+00 5.000000e+00 5.000000e+00 381 3.000000e-02 5.000000e+00 5.000000e+00 5.000000e+00 Total analysis time (seconds) = 0.002 Total elapsed time (seconds) = 0.006 Total DRAM available = 7685.906 MB. DRAM currently available = 602.223 MB. Maximum ngspice program size = 21.336 MB. Current ngspice program size = 12.914 MB. Shared ngspice pages = 10.887 MB. Text (code) pages = 6.156 MB. Stack = 0 bytes. Library pages = 2.102 MB.
时序异常情况的处理:
| 故障 | 检测 | 响应 |
|---|---|---|
| 某路PGOOD超时 | 计时器溢出 | 关断所有已上电路 |
| 某路过流 | OCP检测 | 关断该路,不影响其他路 |
| 输入电压跌落 | UVLO | 全部关断,重新启动 |
| 过温 | OTP | 全部关断 |
| 看门狗超时 | 计数器溢出 | 复位PMU |
状态机实现:
延迟时间可由I2C/SPI寄存器编程。
会!IO先于Core上电时,ESD保护二极管正偏,可能触发闩锁效应(latch-up),导致芯片烧毁。这是PMU设计中最严重的安全问题之一。
软启动控制单路电源的上升斜率(防止浪涌电流);上电时序控制多路电源的启动顺序(防止闩锁)。两者是独立的功能,但通常配合使用。
需要。毛刺和噪声可能导致PGOOD误触发。典型滤波:1~10μs RC滤波或数字计数器(连续N个周期满足条件才置位PGOOD)。
规格: 4路PMU (0.8V/1.2V/1.8V/3.3V)
| 顺序 | 电源轨 | 延迟 | 上升时间 | PGOOD阈值 |
|---|---|---|---|---|
| 1st | VDD_CORE 0.8V | 0ms | 2ms | >0.72V |
| 2nd | VDD_DDR 1.2V | 5ms | 2ms | >1.08V |
| 3rd | VDD_IO 1.8V | 10ms | 2ms | >1.62V |
| 4th | VDD_RF 3.3V | 15ms | 2ms | >2.97V |
I_charge=100nA, V_th=1.2V
T_delay=5ms: C = I×T/V = 100n×5m/1.2 = 417pF
选择C=420pF (可由I2C调节I_charge来微调)
每路PGOOD超时=50ms。超时后关断所有已上电路,置FAULT标志。
完整的时序状态机应包含:
| 寄存器 | 功能 | 范围 | 默认值 |
|---|---|---|---|
| 0x01 | RAIL1延迟 | 0~50ms | 5ms |
| 0x02 | RAIL2延迟 | 0~50ms | 10ms |
| 0x03 | RAIL3延迟 | 0~50ms | 15ms |
| 0x04 | PGOOD超时 | 10~200ms | 50ms |
| 0x05 | 软启动时间 | 1~20ms | 5ms |
| 故障模式 | 时序错误 | 后果 | 严重度 |
|---|---|---|---|
| 闩锁效应 | IO先于Core上电 | 芯片烧毁 | 致命 |
| 总线竞争 | DLL未锁先发数据 | 功能异常 | 高 |
| 配置丢失 | VDD_DDR在控制器前上电 | 数据错误 | 中 |
| 复位异常 | 时序控制器卡在FAULT | 系统不启动 | 高 |
不同SoC厂商有自己的时序标准:
| 地址 | 名称 | 位宽 | 功能 |
|---|---|---|---|
| 0x00 | CHIP_ID | 8 | 芯片ID(只读) |
| 0x01 | CTRL | 8 | 控制位(EN, MODE等) |
| 0x10 | RAIL1_DELAY | 8 | 1路上电延迟(0~50ms) |
| 0x11 | RAIL2_DELAY | 8 | 2路上电延迟 |
| 0x12 | RAIL3_DELAY | 8 | 3路上电延迟 |
| 0x20 | STATUS | 8 | 各路PGOOD和FAULT状态 |
| 0x21 | FAULT | 8 | 故障类型和通道 |
| 0x30 | SS_TIME | 8 | 软启动时间(1~20ms) |
配置3路上电时序:0ms→5ms→10ms
你已经掌握了PMU上电时序控制的设计方法!
掌握了:时序规则 · PGOOD设计 · 延迟实现 · 掉电顺序 · 异常处理