热度 13
2013-11-29 14:18
2499 次阅读|
4 个评论
大概在四月份左右,调试过一块FPGA的板子, 我的FPGA程序跑着跑着,突然又重新加载程序,问题主要有以下几点情况: 1、4月份以来天气热了以后,发现程序跑着跑着掉了,一开始以为是继电器保持不了,拖死FPGA,但是把继电器全切默认状态,还是有这种现象,后来就加了个风扇在旁边吹,就好了,能一直工作,但这个是治标不治本。 2、然后我们继续做实验,在出现程序重新加载的情况后,我继续切继电器,跑程序传输数据及其他操作,过了几分钟后它才自己又重加载程序。 3、在出现这种情况后,用示波器监测,发现FPGA的nstatus信号拉低,又拉高,所以怀疑是VCCINT或VCCA不正常,导致FPGA的POR电路监测到掉电的错误点,开始重新加载程序。 4、我用示波器量电压一直比较稳定,用得是CYCLONE3系列的EP3C120F484芯片,VCCINT为1.2V,VCCA为2.5V,测得电压一直比较稳定在±0.1V的差别,纹波为200mv左右。 5、由于是BGA封装,引脚用得也比较多,所以VCCINT的去耦电容比较少,我又在仅有的几个1.2V去耦电容上各自并联了几个22uf的电容,感觉在运行过程中重新加载程序的问题貌似是没那么频繁了,但是还是会有。 6、后来又在2.5V,几个3.3V的去耦电容上都并联了几个电容,问题还是存在。 现在只能一直拿电扇吹着工作,还是解决不了实际问题,现在想知道究竟是什么原因导致: 1、芯片太热了? 2、电源纹波太大?(200mv左右) 3、去耦电容位置或数量,大小都不对? 4、程序时序不好?(程序时序加了约束,只有几个信号没有加约束,加了约束的信号slack都很好) 最后发现是当时使用的SPX3819-1.2V稳压电源芯片在温度较高的时候会突然掉一下,电压降到0.5V左右,导致FPGA内核电压不足,工作不正常,后来换成TPS79601之后,没有出现过问题了。SPX3819的参数都符合,而且用风扇对着吹这个芯片就正常,所以我认定是温度导致的!