最近在使用DAC3482,要实现2个DAC同步,看到官网上有相关的资料,按照资料配置完测试结果并没有完成同步;
FIFO、PLL、NCO均使用了,QMC未使用,主要同步源配置如下:
config31配置NCO,NCO Accumulator 和NCO Double Accumulator的同步源选择SYNC;
config32配置FIFO、DATA FORMATTER以及CLOCK DIVIDER;其中fifoin的同步源是SYNC,fifoout的同步源OSTR,DATA FORMATTER的同步源是SYNC,CLOCK DIVIDER的同步源是OSTR。
时钟芯片lmk04828产生100M给DAC作为参考时钟,产生200M给FPGA,FPGA内部PLL产生100M作为DATACLK给DAC。
SYNC和FRAME是DATACLK时钟64分频得到的周期性信号。
P=5,N=1,M=8,DACCLK为800M,VCO为4G,PFD和OSTR为100M。
寄存器写的顺序是按照手册上的顺序写的,写完寄存器后提供时钟和同步信号,然后DISABLE相关的同步源,最后将TX_ENABLE拉高。
备注,在未加同步之前DAC可以正常工作,用的是SIF_SYNC,现在改完用SYNC和OSTR,虽然两个DAC没有实现同步,但是工作是正常的。
目前怀疑可能存在的问题有两个方面:
1、手册上对周期的OSTR信号和SYNC信号的频率提出要求,f(sync)=DATACLK/n*16,f(ostr)=DACCLK/n*16;因为f(sync)是DATACLK64分频得到的,满足要求,而f(ostr)是100M不满足要求,是不是这点存在问题。
2:同步信号存在问题。
望高手和用过的帮忙解答一下,谢谢,比较急!
user151383853:
从手册看, FIFO 是需要的. 另外还有个同步信号源 FRAMEP/N 的 LVDS 信号
Peng Li19:
回复 user151383853:
你好!
同步信号源FRAMEP/N是有的,和DATACLKP/N同源,是DATACLKP/N进行16分频得到的。
另外SLEEP管脚的功能是什么,需要拉高么?