1.调试背景
新设计的AD9689子卡,采用FMC连接方式,使用Xilinx公司的KCU105开发板进行调试。子卡上主要的芯片是ADI公司的高速模数转换芯片AD9689-2600和时钟芯片HMC7044。首先调试时钟芯片HMC7044,产生子卡需要的各种时钟。
2.HMC7044需调试内容
硬件工程师设计中参考了ADI官方开发板,CLKINx和OSCIN引脚输入晶振频率均为122.88MHz。调试需要PLL1和PLL2锁定,产生122.88*21=2580.48MHz时钟,然后1/8/16/512分频输出2580.48MHz、322.56MHz、161.28MHz和5.04MHz。HMC7044的VCO支持的范围见下图(实际测试中发现本片HMC7044大概1.9G多也能产生,不过不敢用,还是按照数据手册要求来设计)。
3.HMC7044配置过程
官方有个开发板控制程序,配置好后可以导出寄存器值,这个工具很好用,直观。
数据手册中也推荐了典型的配置顺序,参考此顺序,根据实际情况进行了如下配置。
000001,//初始化软复位
000000,//软复位清零
009F4D,//官方升级
00A0DF,//官方升级
00A506,//官方升级
00A806,//官方升级
00B004,//官方升级
00507F,//GPIO1设置为强制拉高,配置成功后LED1会灭,方便判断SPI配置时序是否正确
005137,//GPIO2设置为PLL1和PLL2锁定标记
000337,//PLL2的VCO配置为Low,范围在2.15 GHz 至2.88GHz,PLL1和2使能控制
003201,//PLL2,旁路PLL2频率倍频
003301,//PLL2,设置R2值,1
003400,//PLL2,
003519,//PLL2,设置N2值,21,最小值为8,倍频系数
003600,//PLL2,F = Rerclk*N2/R2=122.88*21=2.58048GHz
00370A,//PLL2 电荷泵
003818,//PLL2 PFD控制,默认
001C04,//PLL1设置,CLKIN0预分频系数为4
001D04,//PLL1设置,CLKIN1预分频系数,根据需要设置
001E04,//PLL1设置,CLKIN2预分频系数,根据需要设置
001F04,//PLL1设置,CLKIN3预分频系数,根据需要设置
002004,//PLL1设置,OSCIN预分频系数
002101,//PLL1设置,R1=1
002200,//PLL1设置,R1
002604,//PLL1设置,N1=4
002700,//PLL1设置,N1
000541,//PLL1设置,参考固定选择CLKIN0,根据需要设置
000A03,//CLKIN0打开,直流耦合,100欧姆匹配
000B06,//CLKIN1关闭,根据需要设置
000C06,//CLKIN2关闭,根据需要设置
000D06,//CLKIN3关闭,根据需要设置
000E07,//OSCIN打开,交流耦合,100欧姆匹配
005A07,//SYSREF设置
005B06,//
005C00,//
005D08,//
000900,//SYSREF设置
000426,//全局使能控制,使能需要的通道
0070FF,//
0071FF,//
00FAF3,//通道5设置,GCLK to FPGA,F = 2.58048/8 = 322.56MHz,LVDS输出
00FB08,//分频系数为8
00FC00,
00FD00,
00FE00,
00FF00,
010000,
010100,
010231,
012CF3,//通道10设置,CLK to ADC,采样时钟,VCO直出,CML输出,HMC7044内部匹配
012D00,
012E00,
012F00,
013000,
013100,
013200,
013303,//VCO直接输出
013421,//内部使能100欧姆电阻
000102,//Restart Divider
000100,
数据手册中关于fLCM、fPD1和fPD2要求如下:
HMC7044的Top Level Diagram部分:
- CLKIN0和OSCIN开发板目前接入都是122.88M两个晶振,修改CLKIN0和OSCIN的预分频器系数为4分频(即输出为fLCM,数据手册中有提到在30M~70M范围内都为最佳)。配置PLL1的R1=1,N1=4,即REFMUX分频器系数为1,OSCIN四分频,鉴相器的两个输入均为122.88MHz/4(也即PFD1的两个输入,fPD1,要求不得超过50M,理论上该值越大噪声越低)。
- PLL2输入范围要求小于500M,PLL2的鉴相器输入范围要求小于250M,配置中,旁路掉PLL2
Doubler;设置R2值为1,不分频,设置N2值为21(也即PFD2的两个输入频率为122.88MHz)。
4.遇到的问题
HMC7044的RSV引脚必须接地,不接地工作不正常。(软件调了很久才发现是这个硬件问题)
5.其他问题
CLKINx和OSCIN引脚输入晶振频率可以根据实际情况修改设计,例如,你想产生3GHZ时钟,就建议你使用100MHz参考。
使用ADI的ADIsimCLK设计与评估软件可以对比下采用122.88MHz参考,产生2580.48MHz时钟和3200MHz时钟质量的差异。
PLL1可以不用,只用PLL2。
PLL1寄存器0x0028中的锁定检测定时器的设置,不能过高过低,具体参考手册。
6.跨板同步
单子卡调试完成后,最终要实现多板卡跨板同步功能,后续调试跨板同步时,通过统一参考源以及SYNC信号先实现跨板时钟同步。
距离调试完成已经很久了,以上内容为调试记录的整理,如有错误可以评论指出。数据手册中还有很多使用细节,建议参考数据手册。