花了近两天时间将AD9173 FMC板卡驱动了一下,简单记录下遇到的问题
首先AD9173为ADI推出的最大支持12.6G采样率的DAC器件,由于寄存机繁多,所以比较适合C语言进行配置,官方也提供了一个AD9172的配置流程,AD9173基本类似,驱动的第一步是先要完成器件的寄存器访问,这个可以根据实际平台进行选择,我这里用的是zynq器件,但是为了移植方便,我一般不用自带的SPI接口,个人习惯SPI时序由逻辑PL端完成,这样有个好处是方便移植,即使跑操作系统也可以省去设备树添加的工作。
寄存器配置完成,接下来是要选择需要的模式,及时钟配置,我这里选择模式8
驱动完时钟发现AD9173 SYNC一直没有拉高,所以一开始以为是JESD204B的接口哪块不对,观测时钟和sysref及GTX参考时钟发现分配倍数没有问题,以为不是时钟的问题,这里用的时钟芯片是HMC7044,采用外部VCO方式:
无意中发现即使把外部时钟关掉不给7044.fpga内部观测的时钟依然存在,由于手里没有合适的示波器也不方便测试,所以选择用ZYNQ的晶振监测时钟频率,个人这是一个不错的方法,发现时钟频率不对,最终排查7044配置发现没有正确配置为外部VCO模式导致一直失败,后修改完成后GTX链路正常。
以上为打印信息,下面为GTX链路截图:
最终效果:
由于手里没有频谱仪,但是刚好手里有一个9009开发板可以充当频谱仪用,最后该FMC子板还搭载了AD9689芯片,刚好占用收的GTX,切管脚兼容xilinx ZC706,有需要的可以关注评论链接
如果觉得《AD9173/AD9689 FMC采集板卡调试记录》对你有帮助,请点赞、收藏,并留下你的观点哦!