基于FPGA的高速ADC9XXX系列的产品研发记录与心得
本人做了不少关于采集的工作所使用的ADC为105/125Mbps的ADC采样芯片,在这里对ADC系列的产品研发心得做了如下的总结:
第一点:SPI时序的正确
我们知道ADC的接口为三根线的SPI接口,要保证正确的控制ADC工作就必须得确保你的SPI驱动程序正确,即满足datasheet的时序逻辑关系。
第二点:ADC的数据就收时序逻辑要正确
就我个人的经验来看,AD9xxx系列的ADC有多通道(2/4channel),而通道的数据解析捕获又有交错模式和并行模式,选择哪种模式就得写出哪种模式下的ADC数据接收模块,所写的ADC数据接收模块必须严格的符合datasheet的时序逻辑关系。
第三点:验证点的准确
就像做芯片一样,搭建验证环境是验证工程师的工作内容,要对上述第一点和第二点的验证,就需要找到一个正确的验证点,个人开发经验是对ADC的测试模式寄存器进行开发
第四点:FPGA的开发(可用的的ISE/VIvado工程)是基于正确的没有虚焊,没有断路的硬件电路,在保证上述三点的正确前提之下,一定要保证所开发的硬件原理必须是好的,可用的正确的,没有bug的,重要的事情说三遍!!!下面便是一个硬件原理不正确的一个说明
上图就是一个学弟,拿着有问题板子过来问我,问我板子的控制不正确,采集出来的波形为什么有些差分通道不是规律的翻转,通过我自己的测试发现,这个板子没有保证第四点,我们的FPGA与adc的差分输出的连接的这条数据通路上出现了虚焊的差别,这样一来就造成了通道二的数据的不正确。
解决办法:返焊点重新焊接FPGA,解决问题;
在保证上述几点的个人总结,作者认为在做开发ADC类的项目时,会避免走不少弯路。