DAC34H84多片同步
你好
最近遇到在使用多片DAC34H84时,多片DAC的输出不能同步的问题,很是苦恼。
现在有些问题需要帮忙确认一下,谢谢啦!
先叙述一下大概的架构,一个时钟分配芯片提供各个DAC 的DACCLK(用于内部PLL的参考时钟,到每个DAC的路径等长),FPGA提供DATA,DATACLK,ISTR和SYNC信号,ISTR和SYNC都是单脉冲,脉冲宽度和建立保持时间能满足datasheet中的要求的。
使用的是双同步源模式,ISTR同步FIFO的写指针,OSTR(PLL的N分频)同步FIFO的读指针。SYNC同步PLL的N分频器。
1、使用DAC34H84 datasheet提供的参考上电配置顺序同步不了,datasheet上提供的同步顺序还有问题?
2、在datasheet中的P71 STEP33,同时提供DATA,DATACLK,ISTR和SYNC信号,我觉得是不是应该先提供SYNC来初始化PLL的N分频器,这样的话所有的DAC内部的OSTR应该就能保持同步了,然后提供其他信号呢?
3、在提供ISTR时是不是也有讲究,我觉得ISTR应该跟OSTR是不是有时序关系(datasheet上没说),不能随便给,不然会存在,假如此时提供了ISTR使FIFO的写指针在初始位置,四个DATACLK时钟后OSTR的上升沿到来就会产生读写指针冲突,我的假设还有道理?
4、在DAC的使用中没有使用到NCO,当把它旁路掉,在同步时需要注意什么吗?同样还有QMC
5、在DAC的使用中没有使用到极性校验,所以在使用中就使能了单极性使能,我在0x07寄存器中的相应位置的警告也mask了,但是还是会报极性校验警告,我改成双极性使能就不报了,为什么呢,屏蔽没有效果吗。
6、0x05寄存器在配置的过程中用全零清除过了,但是还是读出来的数值还是会有警告报出来,等手动再清除一下后就不会出现了报警了,是此时的DAC就是存在冲突的状态,还是没有冲突的状态而只是0x05寄存器的特点呢?
1.按照手册49~53页的指导应该是可以的,DAC348X系列有专门针对多片同步进行设计的;请注意你使用的是哪种时钟和同步模式;请给出你的详细配置和原理图;
2 。基本配置写完后在同步之前是要提供数据和数据时钟,同步信号使其工作起来,
3。ISTR是有时序要求的,不能乱给,参考Figure 51.
4.该模块同步源选择应与 其他有同步要求的模块一致;
5。In dual parity mode, alarm indicating a parity error on the A word. In single parity mode, alarm on the 32-bit data captured on the rising
edge of DATACLKP/N. 请注意手册68页一句话Unmask those alarms that will generate a hardware interrupt through the ALARM pin in config7.因此只是不被ALARM PIN判决条件,寄存器的状态无法被mask掉。
6。配置过后到数据时钟稳定之前还是会有警告,因此还是会被记录下来,可以手动再清楚。
谢谢你的解答,我再补充一些内容。
我的配置顺序就是按照DAC34H84的datasheet的P70和P71页的配置顺序来做的,在设计中NCO没用到,所以NCO同步源使用的是SIF和AUTO并存模式。
使用的是内部PLL产生的1GSPS的DACCLK(4G的VCO),使用的是PLL ENABLED WITH DUAL SYNC SOURCES MODE模式,ISTR同步FIFO的写指针,OSTR同步FIFO的读时钟,SYNC复位PLL的N分频器
疑问
1、ISTR相比OSTR还有频率和相位的要求(设计中我能满足相对DATACLK的建立保持时间)?肯定是先提供数据和数据时钟,那么ISTR和SYNC两者有先后顺序码?
2、DAC34H84的内部PLL的锁存时间是多少,datasheet中没给出,假如在PLL没锁存之前就开始判断寄存器0x18的pll_lfvolt(2:0)的值是不是不妥?,P71页的STEP34说调整,假如PLL没锁存好就调整是不是也不行?
麻烦能给个回答不?
现在还有问题不能理解
N分频器产生的OSTR是用来初始化读指针的,每次OSTR的上升沿到来时会把读指针的位置到FIFO的读地址4,还是相对写指针偏移fifo_offset(2:0)的地址呢?
假如是后者的话,那么两个DAC的数据线不等长,那么ISTR初始的写指针不一样,因此FIFO同时出来的样本点就是不一样的?
我现在调试的感觉的就是后者。
1. ISTR主要在FIFO操作上,请看手册Figure 51和page12 的要求,一般都比较容易满足.
2.PLL锁定时间应该会比你读寄存器的操作快,一般来说确定频率后的pll_vco调整好之后就确定了,不用每次都调.
你外部工作时钟是用什么提供的?建议你用LMK048XX系列,就可以bypassdac3484的内部pll.
你好,请参考手册32页的解释,是可以调整深度的. 你现在单片工作是否正常了,一个板有几片?做的什么系统, 在单片工作正常后再调整多片.请留下联系方式,谢谢
fifo_offset(2:0) When the sync to the FIFO occurs, this is the value loaded into the FIFO read pointer. With
this value the initial difference between write and read pointers can be controlled. This may
be helpful in syncing multiple chips or controlling the delay through the device.
yfei_lee@hotmail.com
能告诉我你的邮箱吗?
邮件已回,请确认单片工作正常后再做多片同步操作。请用我们推荐的时钟lmk048xx系列
你好
现在发现新问题,为什么多片DAC34H84的输出信号的相位会跳一个DACCLK(1GPS)呢?
双读写FIFO内部PLL模式
你是说输出的时延么?
首先输出是有群时延的: Output propagation delay: DAC outputs are updated on the falling edge of the DAC clock. Does not include digital latency (see following).且不包括数字域的时延。详细手册13页
另外时延可以通过寄存器0f调整。