尊敬的技术支持团队:
我有关于DAC37J84的问题。
在DAC运行(转换数据)时是否可以更改NCO相位设置(phaseoffsetab和phaseoffsetcd)?
我想动态地改变它们。
此致,
TTD
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
TTD,
您可以在不中断NCO或DAC数据采样的情况下写入更新值,然后执行同步以在准备就绪时将这些寄存器值加载到累加器中,这将导致短暂的相位中断。
NCO需要三个16位寄存器写入来设置频率。 在写入最后一个寄存器时,将生成自动同步,以便一次将整个字段传送到NCO块,而不是在每个单独的寄存器写入后分段传送。
对于跨多个寄存器的字段,必须先写入该字段的所有非自动同步寄存器,然后再写入实际的自动同步寄存器。
您可以使用SYSREF重置NCO并在特定时间同步它,但时间分辨率可能有限制(例如 FS/8号决议)。 您需要使用SPI将下一个NCO频率信息预载到DAC。 然后,您可以使用SYSREF触发NCO频率更新。 接收SYSREF (以及DAC内的一些传播延迟后)时,NCO累加器将设置为0 (重置),并将使用新的频率字。 因此,更新NCO频率时的阶段重置为零,而不是连续。 由于从SYSREF进入DAC到NCO重置之间会有延迟,因此必须在所需的频率更改之前触发SYSREF。
如果您只使用16位(1 SPI寄存器),SPI写入可能会更快,如果您坚持100 MHz增量,则这就足够了。 然后,它需要一个SPI寄存器写入和两个SYSREF脉冲(NCO频率为双缓冲)。 一个SPI寄存器需要24个SPI时钟,即2.4 US。 SYSREF传播延迟可能会再增加100纳秒左右(没有确切的数字)。 所以你看的是大约3我们的时间转换。
此致,
Jim