硬件连接检查:电源与地线检查、时钟与复位信号测量、JTAG/SWD链路验证
板子拿回来了,焊接好了,上电之前,我最怕什么?
怕冒烟。
真的,我刚开始做项目那会儿,有一次上电前没仔细量电源,结果一按开关,板子上一个电容直接炸了,吓我一跳。从那以后,我养成了一个习惯——上电前必须把硬件连接查个底朝天。今天咱们就聊聊这个环节,说白了就是三板斧:电源地线、时钟复位、还有调试链路。
1. 电源与地线检查:别让板子“憋着气”
电源是板子的命脉。地线是它的回路。这两样出问题,后面全是白搭。
先看电源
我个人习惯,拿到板子第一件事,拿万用表打二极管档,测一下电源对地的阻抗。嗯,这里要注意,不是测电阻,是测二极管压降。为什么呢?因为电源网络上有大电容,测电阻会慢慢充放电,数值不准。二极管档能快速告诉你——有没有短路。
- 正常值:一般核心电源(比如1.1V、1.2V)对地压降在0.3V~0.6V之间,IO电源(3.3V)在0.4V~0.8V之间。
- 危险信号:如果测出来是0.000V,或者蜂鸣器响了——恭喜你,短路了。赶紧查焊锡、查电容、查BGA有没有连锡。
- 另一个极端:如果测出来是无穷大(OL),也别高兴太早。可能是电源网络根本没连到芯片,或者电感虚焊了。
再看地线
地线检查其实更隐蔽。很多新手觉得“地嘛,都连在一起了,能有什么问题?”你想想看,如果地线回流路径阻抗太大,或者数字地和模拟地没处理好,后果就是——信号乱跳、ADC不准、通信时不时断连。
我建议的做法:
- 用万用表通断档,测板子上各个关键地点的连通性。比如电源入口的地、FPGA的地、晶振的地、接插件的地。它们之间应该是0欧姆。
- 如果板子上有模拟地和数字地分割,检查单点连接的位置对不对。我记得有一次,一个同事把模拟地和数字地通过一个0欧电阻连起来了,但电阻没焊——结果模拟信号全是噪声。
- 大电流回路的地线,比如电机驱动、LED驱动,要特别注意走线宽度。如果地线太细,压降会很大,甚至可能烧断。
2. 时钟与复位信号测量:心跳和重启键
时钟是系统的心跳。复位是系统的重启键。这两个信号出问题,FPGA要么不工作,要么工作一会儿就抽风。
时钟信号测量
时钟测量,我一般用示波器,不用万用表。为什么?因为时钟是交流信号,万用表只能测个平均值,看不出波形质量。
测量步骤:
- 频率对不对:示波器探头打到10X档,接在时钟输出引脚上。看频率是否和标称值一致。比如50MHz晶振,测出来应该是50.000MHz ± 50ppm。如果差太多,晶振可能坏了,或者负载电容配错了。
- 幅度够不够:一般LVCMOS时钟,高电平要大于2.7V(3.3V供电时),低电平要小于0.8V。如果幅度不够,FPGA的时钟输入可能识别不到。
- 抖动大不大:这个需要示波器有余晖模式或者眼图功能。抖动太大的时钟,会导致时序收敛困难。我在项目中遇到过,一个PLL死活锁不住,最后发现是时钟源旁边的电源纹波太大,把时钟抖得乱七八糟。
复位信号测量
复位信号,说白了就是让系统回到初始状态。上电时,复位信号应该保持一段时间的低电平(或高电平,取决于设计),然后释放。
我习惯这样测:
- 示波器设置为单次触发模式,触发电平设在复位信号的中间值(比如1.65V)。
- 然后给板子上电。看复位信号从低到高的上升沿是否干净。
- 如果复位信号有毛刺、或者上升沿太慢(超过几百纳秒),那就要小心了。复位信号不干净,FPGA可能初始化到一半又复位了,导致启动失败。
3. JTAG/SWD链路验证:能不能“说话”是关键
电源和时钟都正常了,接下来就是验证调试链路。说白了,就是看看你的电脑能不能和板子上的芯片“对上话”。
JTAG vs SWD
JTAG是4线(TMS、TCK、TDI、TDO),SWD是2线(SWDIO、SWCLK)。ARM芯片一般支持SWD,FPGA一般用JTAG。不管哪种,链路验证的思路是一样的。
链路检查步骤
- 第一步:看物理连接。用万用表通断档,测一下调试器到板子接插件之间的每个信号线。特别是GND,一定要通。我遇到过好几次,调试器连不上,最后发现是GND线断了。
- 第二步:测信号电平。上电后,用示波器看TCK(或SWCLK)引脚。调试器空闲时,这个引脚应该有一个稳定的时钟信号(通常是几MHz)。如果没有,说明调试器没工作,或者线没接对。
- 第三步:用软件扫描。打开IDE或者调试工具(比如OpenOCD、J-Flash),尝试扫描JTAG链。如果能识别到芯片IDCODE,恭喜你,链路通了。
常见问题与解决
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 扫描不到芯片 | JTAG线序错误 | 核对原理图,确认TMS/TCK/TDI/TDO对应关系 |
| 扫描到芯片但无法连接 | 芯片处于低功耗模式或复位状态 | 检查复位信号,确保芯片处于正常工作模式 |
| 连接不稳定,经常断开 | JTAG信号线太长或干扰大 | 缩短线缆长度,降低TCK频率(比如从10MHz降到1MHz) |
| SWD模式下无法识别 | SWDIO上拉/下拉电阻配置错误 | 检查芯片手册,确认SWDIO是否需要外部上拉 |
知识体系总览
说了这么多,咱们用一张图把这三个检查点串起来。你想想看,硬件联调就像给板子做体检——先看心脏(电源),再看脉搏(时钟),最后看神经(调试链路)。
这张图把咱们刚才讲的内容串起来了。从左到右,三步递进。每一步都有具体的检查方法和常见问题。你调试的时候,就按这个顺序来,基本不会漏掉什么。
好了,硬件连接检查就聊到这儿。记住,上电前多花十分钟检查,能省下后面十个小时的排错时间。这是经验之谈,也是血的教训。