FPGA--晶振害死人

来源:本站
导读:目前正在解读《FPGA--晶振害死人》的相关信息,《FPGA--晶振害死人》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《FPGA--晶振害死人》的详细说明。
简介:FPGA晶振害死人

最近同事做了一个FPGA板子,高低温下面一直出问题,找我帮忙解决,由于我的古道热肠,我也就答应了,于是答应晚上空闲的时候帮他弄。

开始我让他把他的板子上面的电源什么的,都调试好,然后我自己把BGA焊接上,因为我觉得可能他的BGA 有问题吧,我自己对我自己焊接功底还是比较放心的,待到焊接好了后,我又迅速敲击了2份代码,一份是IO口测试的,吧所有的IO口都拉高拉低,输出一个1M 的始终出来,另外一份是一个串口收发数据,我用串口助手发一个数据出去,FPGA返回当前数据,写好这2个代码后,我就拿着它的板子在常温下测试,2份代码一次性测试OK,因此觉得没啥大问题嘛,然后丢到了低温箱,-40度温度,当然我们公司所有的芯片,全都是买的工业级的,因为大多数都需要过高低温试验。

丢进了低温箱后,我就开始上电不断的向下发数据,串口也不断的回传,但是大约过了5分钟后,串口就挂掉了,感觉FPGA不工作了,重新上电,关电,也无效,因此我马上重新烧写了一份IO测试代码进去,发现每一个IO口都有高低电平输出,因此我首先怀疑是电源可能不稳定造成吧。

好吧,先假设电源不稳定,我取出板子,去下板子上的电源芯片,换成外部的稳压电源供电,再次测试,在低温箱还是没有挺过5分钟。

好吧,再次继续假设FPGA虚焊,我可以吧BGA拆下来,看看PCB 焊盘上面是不是都有锡球,因此我将BGA拆下来,发现每一个焊盘都有锡珠,因此BGA没有虚焊,我又只得植球上去,再次焊接,排除了这个问题后,我觉得是不是FPGA在低温下处理逻辑出乱了呢?也就是说FPGA 是商业级的,过不了低温?

为了验证这个,我找了一个以前的产品,上面的芯片能过低温测试,这样保证了FPGA是没问题 的,因此我再次植球焊接上,进行测试,还是家庭不过黑色的5分钟,串口就挂了,那么是不是我发数据进去的时候,芯片内部乱了呢?我为了验证则个,我马上吧代码再改了一份,我让FPGA上电后,一直向外发数据这样,就相当于让FPGA让IO口输出一个高低电平嘛,再次进低温箱测试,在5分钟后,发现数据乱码了,本身我要发上来AA,记过一大堆乱七八糟的东西来了,我顿时揪心了。

从这个实验也证明了,FPGA 的时钟出乱子了,我马上在常温下测试串口向上传一帧数的时间,然后再低温下向上传乱码的一帧数的时间,进行了对比,发现2个之前时间误差了很大,因此我确定是时钟出问题了。

确认这个问题后,为了验证,我马上找了一个同步晶振,输出频率100M,可以过低温-50 的,因此挂上去后,在低温下,任然串口乱码,因此我马上让我同事把他的图纸拿来分析,发现晶振到FPGA之间,串联了一个电容和一个电阻,一个电阻,一个电容,电阻电容,偶的个神啊,我还是没看到FPGA 时钟输入上接入电容的呀。

发现这个,迅速取下电容,换成0欧姆,然后放入低温箱,欧耶耶,欧拉拉,-50度都很坚挺啊,然后我再次换上电容,故障浮现。因此我又做了一个测试,就是吧电容和电阻值都换了一下,再次测试,在低温下-40 ,都没问题的。问题终于得到了解决,忙活了大半夜了,顿时感觉真的折磨人啊!!

以此给正在做设计的广大同仁一个警示。给初学者一点指导意见。

提醒:《FPGA--晶振害死人》最后刷新时间 2024-03-14 01:13:39,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《FPGA--晶振害死人》该内容的真实性请自行鉴别。