请教ADI
论坛中的高手。
现在在调试一块板卡,板卡结构:FPGA的I/O
与AD9957
的18
根数据线相连,AD9957
的PDCLK
输出到FPGA
的专用时钟管脚,作为FPGA
的数据处理时钟,并使用该时钟锁存数据送给AD9957
。
AD9957
工作在Quadrature Modula
tion Mode
模式。按照数据手册中讲的,我的理解是:此时FPGA
需要按照PDCLK
频率送数据,只是PDCLK
的上升沿和下降沿都需要传输数据,上升沿传输I
,下降沿传输Q
。不知道我的理解对吗?数据手册里面没有相应的图。
现在,我在FPGA
(EP2S60F1020I4N
)中使用的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
PDCLK
为100Mhz
,时钟周期为10ns
,上升沿下降沿都传数据,上升沿到下降沿就只有5ns
。那么,FPGA
管脚中寄存器输出到管脚的延时+
外部PCB走线+AD9957
输入寄存器的建立时间必须要小于5ns
?外部pcb
走线+AD9957
输入寄存器的建立时间(1.75ns
),我现在估算的是2ns
,那么留给FPGA
管脚中寄存器输出到管脚的延时只有3ns
。目前FPGA
编译的时候,报这个地方的延时无法小于3ns
。 现在重放出来单频正弦波,发现底噪经常向上跳动。
另外,由AD9957
输出的时钟PDCLK
,进入FPGA
之后,是不是需要使用PLL
或者DLL
对PDCLK
进行锁相,保证由PDCLK
锁存后输出的DAC_D[17
:0]
能够正确地被AD9957
内部的PDCLK
采样?