马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
刚哥专栏004.电源(1) 一块新FPGA板子,刚刚焊好,进行调试。 上电,电源指示正常。万用表测试几个电源电压,正常。准备加载FPGA程序,JTAG链扫描正常,加载… 问题来了,每次加载到最后都报告失败。 核查原理图,正确。反复试,问题依旧。换下载电缆试,问题依旧。再核查原理图,依旧正确。 莫非JTAG信号质量不好? 用示波器看JTAG几个信号的波形,感觉波形过冲比较大。 请硬件工程师在每个JTAG信号上串联一个100欧姆的电阻,然后再引出线接下载电缆。 信号波形确实改善了很多,可是问题还是——依旧。 换了几块同样的板子,现象相同,问题依旧。 黔驴技穷! “是不是这批芯片有问题?”有人质疑道。 “赶紧找供应商,确认一下芯片质量。”项目组长道,他办事雷厉风行,马上去找采购。 供应商那边反馈说芯片质量绝对没问题,他们保证是原装正品。最后协调下来,他们答应马上再调几片其它批次的芯片,我们再焊几块板子试试。
晚上和大嘴兄聊起,他教训我道:“怎么这么着急换芯片呢?据我多年经验,设计出问题,绝大多数是自己问题,只有到最后真正山穷水尽、无路可走才能怀疑芯片。你这是主观不努力,客观找原因。” 我对他这种武断的态度很不爽,道:“我们能做的都做了,确实已山穷水尽。” 他思索了一下,道:“能做的都做了!或许是的。可是,如果做的方法有问题,反而会诱导你走向错误的方向,还不如没做!FPGA要能正常配置,要求条件不多,电源、地、配置管脚、配置信号。嗯——你们电源是怎么测的?” “万用表测的呗,都正常。”我答道。 他点点头,道:“问题可能就在这里!万用表只能定性地看看电压,要看电源质量,至少得用示波器。而且测试方法也很重要。要想准确,需要在靠近芯片电源脚最近的地方测,同时,探头地线也要接在芯片最近的地方,并且探头的地线要尽量短,避免测试环路太大,耦合噪声。” “这么多讲究?”我感觉自己确实比较无知,又问道:“那怎么衡量电源好不好呢?” “看电压波形,要在示波器多个频率档位进行观察,主要看纹波大小,捕捉大的毛刺。如果真要好好分析还需要用频谱仪。不过,你们现在的问题还不需要。”
第二天,换芯片的板子还没回来,闲来无事,按大嘴兄所说,对FPGA电源重新测试,果真,核电压和辅助电压都有很大纹波,峰峰值幅度已达到额定电压的30%以上,远远超过了电压额定范围的+/-5%。 找硬件工程师,他说这块板子的开关电源是第一次用,没有经验。
下午,硬件工程师终于解决了电源的问题,有个电容容值不合理,更重要的是一个电感,没有使用那种比较大的看得见线圈的电感,而是用了0805封装的电感。改过后,纹波改善非常大,完全符合指标要求。 连接下载电缆,下载,问题——解决!排除了芯片质量的问题。 继续调试。
一波刚平,一波又起!
FPGA设计分两个主要模块,两个模块间基本没有关系,并且之前都分别验证使用过。先调试一个模块,功能正常。再把另一个模块加上,发现两个模块功能都不正常。如果单独加载第二个模块,把第一个模块去掉,第二个模块功能也正常。 两个模块互相干扰? 两个模块都加上,静态时序分析并没有报错。两个模块外部电路距离不近,也不是敏感电路,硬件上绝对不会互相干扰。
一波未平,一波又起!
这个问题还没有什么眉目,又出现一个非常严重的问题。把两个模块同时加上后,FPGA工作5、6分钟,就不干活了,所有输出都没了。 这时FPGA非常烫,手都不敢放上去。再过一会儿,FPGA温度会慢慢降下来,可还是不工作,只有重新下载才管用,但过5、6分钟就又不行了。 温度太高,是超出FPGA指标要求了吗?拿红外温度计测了一下,芯片最热时也不过70多度,芯片工作温度范围最高是85度,应该还不至于让FPGA休克。
为什么呢?
转自:微信公众号: FPGA那点事儿 |