以下程序是一个以 3000MHz VCO 频率运行的系统的编程示例。使用 CLKOUT0 和 CLKOUT2 在 1500MHz 频率下驱动转换器。使用 CLKOUT4 在 150MHz 频率下驱动 FPGA。使用两个频率为 10MHz 的 SYSREF 脉冲来同步转换器和 FPGA。
- 对寄存器 0x000 至 0x555 进行编程(请参阅建议编程序列)。准备 SYSREF 操作的关键:
- 准备手动同步:SYNC_POL = 0、SYNC_MODE = 1、SYSREF_MUX = 0
- 根据示例设置输出分频器:对于 1500MHz 的频率,DCLK0_1_DIV 和 DCLK2_3_DIV = 2。对于 150MHz 的频率,DCLK4_5_DIV = 20。
- 根据示例设置输出分频器:对于 10MHz SYSREF,SYSREF_DIV = 300。
- 设置 SYSREF:SYSREF_PD = 0、SYSREF_DDLY_PD = 0、DCLK0_1_DDLY_PD = 0、DCLK2_3_DDLY_PD = 0、DCLK4_5_DDLY_PD = 0、SYNC_EN = 1、SYSREF_PLSR_PD = 0、SYSREF_PULSE_CNT = 1(2 个脉冲)。SCLK0_1_PD = 0、SCLK2_3_PD = 0、SCLK4_5_PD = 0。
- 清除本地 SYSREF DDLY:SYSREF_CLR = 1。
- 确立 JESD204B/C 的 SYSREF 与器件时钟之间的确定性相位关系:
- 设置器件时钟和 SYSREF 分频器数字延迟:DCLK0_1_DDLY、DCLK2_3_DDLY、DCLK4_5_DDLY 和 SYSREF_DDLY。
- 设置器件时钟数字延迟半步进:DCLK0_1_HS、DCLK2_3_HS、DCLK4_5_HS。
- 根据需要设置 SYSREF 时钟数字延迟,以实现已知的相位关系:SCLK0_1_DDLY、SCLK2_3_DDLY 和 SCLK4_5_DDLY。如果需要进行半步进调整,则可选择 SCLK0_1_HS、SCLK2_3_HS 和 SCLK4_5_HS。
- 要允许 SYNC 影响分频器,请设置:SYNC_DIS0 = 0、SYNC_DIS2 = 0、SYNC_DIS4 = 0、SYNC_DISSYSREF = 0。
- 通过切换 SYNC_POL = 1,然后 SYNC_POL = 0,从而执行同步。
- 现在,分频器已同步,请禁用 SYNC 以防止复位这些分频器。SYSREF 复位它自己的分频器或输出时钟的分频器是不可取的。
- 防止 SYNC (SYSREF) 影响分频器:SYNC_DIS0 = 1、SYNC_DIS2 = 1、SYNC_DIS4 = 1、SYNC_DISSYSREF = 1。
- 释放本地 SYSREF 数字延迟的复位状态。
- SYSREF_CLR = 0。请注意,在 SYSREF_PD = 0 之后,只需为 15 个时钟分配路径时钟设置此位。
- 设置 SYSREF 操作。
- 允许引脚 SYNC 事件启动脉冲发生器:SYNC_MODE = 2。
- 选择脉冲发生器作为 SYSREF 信号:SYSREF_MUX = 2。
- 完成!将 SYNC 引脚置为有效或切换 SYNC_POL 以发送一系列 2 个 SYSREF 脉冲。