FPGA不工作故障分析
最近设计制作了EP2C20和CY7C68013A的一个板子,主要实现PCM数据解调功能。板子焊接好后,FPGA通过JTAG和AS口,程序可以正常下载,但是FPGA始终不工作。
于是仔细地研究了原理图,感觉也没错,测量了FPGA配置引脚的上拉和下拉电阻,也都正常。用万用表测量FPGA上电情况下的配置引脚状态:nSTATUS为低,nCONFIG为高,CONFIG_DOWN为低,感觉FPGA始终处于配置状态,没有进入工作状态。折腾了几天,也没解决。最终,怀疑BGA封装有虚焊,造成部分BANK供不上电,FPGA检测到错误,从而进入不了用户模式。即将把板子返厂重新焊接的时候,又一次研究了原理图,部分如图1所示,终于发现了问题。
nCE为FPGA的配置使能信号,需要接下来电阻R6,与GND连接,看似没有任何问题。将 nCE的标号放大,问题就出来了,看图2。
不知道读者有没有发现什么问题,nCE这个标号放在了R6的腿上,没放在线上,造成了R6没有与FPGA的nCE脚连接,即nCE脚悬空未连接,造成了前面所述的问题。问题找到了,如何解决呢,BGA封装麻烦大了。于是把FPGA拆掉,将nCE飞了根地线,又重新焊接,费了很大的代价。
其实,笔者完全可以避免这样的错误,即是原理图中不容易发现,但在PCM设计中,仔细些应该还是能发现的。PCB设计好后,每一根线路都必须对照原理图进行检查,这样才可以避免一些不必要的麻烦,切不可太相信ERC,匆匆投板,一旦出现问题,就需要花大量的时间去排故,得不偿失。
图1 FPGA下载电路
图2 nCE下拉电阻
用户1552677 2015-2-15 16:21
用户403664 2014-7-17 15:39
用户403664 2012-10-11 16:52