地弹: 让芯片 “发疯” 的隐形杀手
地弹:让芯片 “发疯” 的隐形杀手你有没有遇到过这种情况:板子明明焊得没问题,代码也反复检查了,可芯片就是行为诡异——该跳转时不跳转,不该触发的中断乱触发,ADC 跳数像脱缰野马?这时候,八成是“地弹”在背后捣鬼。
地弹,就是芯片内部“地”电位相对于板级“地”瞬间上下跳动。芯片瞬间从 IO 输出大电流时,会经过封装电感和走线电感,根据 V = L * di/dt,这个 dt 极短(纳秒级)、di 高达几十毫安,L 即便只有几 nH,也能产生几百 mV 甚至上 V 的电压尖峰。对 3.3V 系统来说,这个“地”瞬间被抬高了 0.5V,逻辑电平判断自然乱套。
芯片是怎么“发疯”的?
· 逻辑电平错乱:输出低电平从 0V 变成 0.5V,远端接收器可能读成高电平。
· 输入误触发:输入信号明明不动,地弹却让接收端判断出虚假边沿,引发中断或采样错误。
· 时钟抖动:片内时钟电路的地也在跳,导致系统时序紊乱,通信误码率飙升。
· 多个 IO 同时翻转时地弹最严重——比如 8 位数据总线或并行 LCD 接口。
怎么抓到它?
普通万用表测不出,要用示波器探头针尖接芯片地引脚,探头接地环接 PCB 地。上电跑代码,让一堆 IO 同时翻转,你会看到芯片地引脚上密集的尖峰脉冲。
怎么治?
1. 就近放去耦电容:0.1µF 电容放芯片电源地引脚旁边,提供低阻抗路径。
2. 不要跨分割:保证芯片地引脚下方有完整的地平面,避免在地平面上开槽。
3. 多放地引脚:像 FPGA、DDR 控制器这类高速芯片,所有地引脚都要可靠连到地平面。
4. 减缓驱动能力:驱动强度从 12mA 降到 4mA,上升沿变缓,di/dt 大幅下降。
5. 避免同时翻转:时序允许的话,让数据线错开半个时钟周期翻转。
下次芯片“发疯”,先别急着怀疑编译器。拿起示波器,戳一戳芯片地引脚——很可能就是这个隐形杀手在捣鬼。
页:
[1]