新生产的6块板卡,其中1块JTAG下载老是失败。即使更换下载线、机器重启也无济于事。
遂挨个排查原因:
1.首先怀疑TMS、TDS、TDI、TCK的上、下拉电阻有问题。经过观察、并用万用表测量没有发现虚焊、短路的情况。
2.查FPGA供电,IO电压VCC与GND之间的阻值正常;VCC1.2与GND之间的阻值也正常,阻值较其他几块板卡偏大。但均没有出现短路的情况,应该不影响。
3.给FPGA上电,测量FPGA去耦电容上VCC、GND之间的电压。发现问题,3.3V正常;但1.2V的地方电压只有0.58。问题初步定位,由于核心电压1.2V没供上去,导致FPGA核心不工作,JTAG下载失败。
4.排查导致1.2V供电失败的原因,首先想到的是电容是否存在短路或损坏的情况。首先拿万用表挨个测试1.2V上的去耦电容,得到的阻值均正常;再用放大镜挨个观察电容,没有发现电容损坏开裂的情况。这就疑惑了,FPGA上1.2V只与去耦电容、DC/DC芯片有关,DC/DC除了供1.2V外还供3.3V,没理由同一片芯片只坏其中一路。再查DC/DC芯片的反馈电阻,阻值也正常。然后上电,准备测量反馈电压,就在这时奇怪的事情发生了,第一次测1.2V反馈电压为0V,3.3V为0.59V;换成正常工作的板卡,1.2V反馈电压0.59V,3.3V为0.59V;再换回坏的板卡,这一次1.2V反馈电压测出0.59V,3.3V为0.59V。让我开始怀疑我第一次电压是不是有问题。断电,再测试1.2V反馈电阻,第一次为5K,第二次为10K,第三次为5K。此时可以断定,是这个反馈电阻出了问题。仔细一看看出原因了:这个10K的反馈电阻一端焊在焊盘上,另一端搭接在另一个焊盘上。因此我在测量电阻也好,电压也好,当万用表压着搭接一端时,测出的数值就是正常的。但偶尔出现只点到电阻上时,测出的数据就不正常了,就是那偶然发现的0V以及10K。
5.用烙铁给电阻补了一下焊锡。上电后,1.2V输出正常;JTAG能够正常下载。
问题圆满解决。
PS:JTAG下载失败原因多种,包括下载线问题、驱动问题、系统设置问题、板卡焊接故障等等。排查的时候保持耐心和细心,最后一定会发现,就是某些个小地方导致你进行不下去的,这是天意。