已回答假定已回答

FPGA使用ddio方式送数据给AD9957,遇到问题

zhaoping 在 2014-9-9 詢問的問題
最後回覆由ADI_Wei於2014-9-12提供

        请教ADI论坛中的高手。

        现在在调试一块板卡,板卡结构:FPGAI/OAD995718根数据线相连,AD9957PDCLK输出到FPGA的专用时钟管脚,作为FPGA的数据处理时钟,并使用该时钟锁存数据送给AD9957

AD9957工作在Quadrature Modulation Mode模式。按照数据手册中讲的,我的理解是:此时FPGA需要按照PDCLK频率送数据,只是PDCLK的上升沿和下降沿都需要传输数据,上升沿传输I,下降沿传输Q。不知道我的理解对吗?数据手册里面没有相应的图。

现在,我在FPGAEP2S60F1020I4N)中使用的ALTDDIO_OUT宏模块,ALTDDIO_OUT宏模块使用PDCLK作为时钟。目前PDCLK的频率为100Mhz,数据速率为200Mhz。目前FPGA编译,发现FPGA送数据的延迟较大,满足不了AD9957数据I/O的建立时间(1.75ns)。手册中给出的AD9957数据I/O的建立时间,贴出如下所示:

I/Q INPUT TIMING CHARACTERISTICS     

Maximum PDCLK Frequency              250  MHz

Minimum I/Q Data Setup Time to PDCLK    1.75   ns

Minimum I/Q Data Hold Time to PDCLK     0   ns

Minimum TxEnable Setup Time to PDCLK    1.75   ns

Minimum TxEnable Hold Time to PDCLK     0   ns

PDCLK100Mhz,时钟周期为10ns,上升沿下降沿都传数据,上升沿到下降沿就只有5ns。那么,FPGA管脚中寄存器输出到管脚的延时+外部pcb走线+AD9957输入寄存器的建立时间必须要小于5ns?外部pcb走线+AD9957输入寄存器的建立时间(1.75ns),我现在估算的是2ns,那么留给FPGA管脚中寄存器输出到管脚的延时只有3ns。目前FPGA编译的时候,报这个地方的延时无法小于3ns 现在重放出来单频正弦波,发现底噪经常向上跳动。

另外,由AD9957输出的时钟PDCLK,进入FPGA之后,是不是需要使用PLL或者DLLPDCLK进行锁相,保证由PDCLK锁存后输出的DAC_D[170]能够正确地被AD9957内部的PDCLK采样?

結果