由于测试仪器一直被占用,只能晚上调试,最后总算花了一两周的时间完成了HMC7044、AD9689与KCU105的调试,现在写下总结:
之前也调试过一些关于jesd204B的板子,所以协议方面是比较熟悉的,代码书写很快就完成了,但是在调试过程中遇到一些问题:
1、HMC7044原理图的压控振荡器显示是可变范围的,经过实际测量是122.88M,结果不论怎么更改参考输入,VCXO是没有变化的。加上官方提供的配置经过加载显示输出983.04M,实际测量是832Mhz,也就是实际PLL1环路是没有工作起来的,不过最终还是调试出想要的时钟了。
2、xilinx官方提供的与AD9689一起工作的板子是ADS7或者ADS8,因为项目资源需要,最后选型KCU105,那么官方的ACE配置软件就使用不了,自己修改寄存器配置,在调试过程中需要注意以下几个点:
2.1、采样频率大小;
2.2、AD9689手册提供了一些例子,配置进去后发现0x56F虽然读取为0x80,也就是pll状态是锁定,根据官方说法是AD9689已经正常工作了,但是实际抓取sync信号要么一直为低,要么时高时低,那么有这么几种情况:一是代码写的有问题,模式没有匹配上;二是寄存器配置有问题。
2.3、偶尔sync一直拉高,中途也不会掉下来,偶尔上电一直为低,或者偶尔为低,这种一般是代码基本上问题不大了,下载程序可能哪里操作没注意到。
2.4、抓取数据出现毛刺,这种因人而异,一种是时序不满足,一种是自己抓取写的有问题,前面2.3这种情况也有可能是抓取问题,实际工作很好,但是抓取不到想要的信号。(ps:我的这次出现毛刺就是ila抓取没有写好,板载实际工作非常好)
结果如下:
以上是这一两周调试工作的总结,现在正在凌晨值班中,写下调试心得,与君共勉。