今天早上醒来,突然想起当年调试数字采集板的经验,借此分享一下吧。
当时,是给客户用公司自研的ADC,做一个8通道数字采集板。
突然,忍不住想吐槽一下。
当时,本来第一次拜访客户的时候,客户说我们ADC的电源域有点复杂,所以就让我们把ADC的原理图做好,然后给他们参考。
我也手欠,画原理图的时候,顺便把FPGA的那部分也给整了上去,体现出ADC和FPGA的连接接口。
等第二次拜访客户的时候,客户说,既然FPGA画上去了,那就按照我们现在的要求,把原理图整体完善一下吧,等原理图OK了,我们这边来画版图。
完善完原理图,想让客户评审的时候,客户又说,你用的是cadence,我们这边用的都是pads,软件不兼容。要不你们把版图也画了吧。
心里顿时万马奔腾~~~
都说,销售的本质就是服务。但是,我是真没有那个意识,因为干活的都是我啊!
而且,我真是太讨厌画PCB版图了,主要是怕没画好,回来板砖一块。
板子加工回来,先是拿到贴片厂贴片,贴片厂没反馈有问题,很好,第一关算过了,没有出现由于封装错误导致的焊接问题。
板子贴片回来后,测试电源输出。
说到电源输出,当时设计的时候,也真是很纠结。
到底要不要直接将DCDC的输出与FPGA的供电管脚直连呢?直连吧,万一万一电压输出不对,FPGA不就坏了么?不直连吧,那电流又这么大,磁珠的内阻可能都能把电压拉下来。
当时还想着,要不在板子上画个细小的长缝,先上电测电压,测试过了,在用焊锡给连接起来。后来想想,实在太麻烦。
最后,还是直连了。顶多也就烧个一块FPGA,等第一次调试过了,后面的就好了。
在加电前,我测试了一下DCDC的分压电阻,确定阻值对了以后,加电。
忐忐忑忑地测试完每路电压后,才放下一颗心。
第二关,电源关过了。
然后,FPGA同事帮忙编写好测试程序。
同事打开烧写软件,往FPGA里灌程序,程序烧写成功了。
第三关,FPGA大概率是能正常工作的了,算过了。
然后,开始对时钟芯片进行配置。
从我们不太高端的示波器的测试结果来看,频率是对了。
但是,204B不通。
一下子,头就大了。因为我和FPGA同事其实都是第一次调204B,不熟的哦。
虽然,我当时看了很多204B的原理相关的资料,但是都是纸上谈兵,没有实操过。
204B整个系统,虽然对外的接口也就那么几根线,其实内部是非常复杂的。
真是汗,发现对204B原理已经不太记得了。
反正当时,检查完设置,觉得应该没问题。然后又研究204B联通的大概步骤。
后来用FPGA内部的ILA核,把数据抓出来,都是BCBC。
咨询204B的芯片设计人员,说BCBC就代表SYNC信号没有收到。
其实,这个在手册上也看到过。
刚听到这话的时候,也没啥反应。
但等我坐回调试位置上时,就像香港破案片里的刑警一样,突然灵光一现,好像知道哪有问题了。
SYNC信号没有收到,但是用示波器测试,FPGA已经发送SYNC信号了呀?
这时拿原来的ADC评估板+TI的接收板,进行测试。
发现TI的接收板,是给AB和CD两路都给了SYNC信号。
ADC可以选择将其中一路设为SYNC信号源,FPGA给对应一路供就行了,所以应该现在的设置,理论上是没问题的。
但是理论和实际永远都有鸿沟的嘛!
所以就抱着试试看的态度,把两路SYNC都给上,发现竟然通了。
后来一查,发现是芯片人员给的寄存器配置,把两个搞反了。也就是说,按照文件配置,想配置成给AB SYNC信号,但其实ADC内部设置的是给CD SYNC信号。所以就导致204B没通。
到这里,第四关算过了,204B通了。
然后,开始测试两块ADC的同步性能。
板子要求8通道都是同步的。
可是,测试的时候,发现两块ADC的同步性,一会好,一会差,每次采出的数,计算出来的相位差都不一样。
头又开始大了。
想着,是不是时钟芯片出来的信号不同步啊。但是手头又没有高端示波器,来测试500MHz左右的时钟信号的同步性。
去饮水机,到了杯水,边喝边想。
我不是有高速ADC嘛,把板子稍微改一下,想办法把时钟信号引到输入端来,这样保证板子上的通路基本上是等长的。然后再把从板子上输入端输出来的信号,给到ADC的评估板进行测试。
测试结果显示,时钟也是同步的。
然后又是到处找原因,感觉把能想到的可能性都试了一遍,发现还是不好使。
那到底哪里出现问题了呢?
我坐在调试间,对着FPGA抓出来的数据看,发现有时候两个ADC的数据,在时钟节拍上有点错乱,但是如果光看数据的话,是都对上的。也就是说,很有可能是FPGA抓数据的时候出了些问题。
然后把FPGA同事叫过来,把程序修改了一下。
原来是用了两个204B的core,每个core对应4个lane;后来直接用一个204B的core,每个core对应8个lane。
但我觉得问题应该不是因为用了多个core的问题,要不然,如果想做16路同步板的话,岂不是就做不了了,应该不会这样。毕竟每个core,最多只能带8个lane。
不管怎样,终于通关了,同步性能也OK了。
本文由编辑推荐,原出处:https://www.eet-china.com/mp/a156394.html