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.

[参考译文] DAC38J82:dac38J82的 NCO 配置

Guru**** 2505595 points
Other Parts Discussed in Thread: DAC38J82, DAC38J84

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/684912/dac38j82-nco-configuration-for-dac38j82

器件型号:DAC38J82
主题中讨论的其他器件: DAC38J84

您好!

我有 dac38J82 EVM。

对于 NCO 配置、我将使用以下寄存器设置。

配置0为0x218。  

配置2为0x2052 (混频器启用、NCO 启用)

3.配置31 (0x1F)为0x9980。

寄存器 0x14至0x00

寄存器 0x15至0x00

 6.寄存器 0x16至0x4000

这是 Fs/4的一个简单示例、我现在将使用。 我想稍后更改它。

7.对于 sif sync、我将0x1F 的位1置位。 等待10毫秒、然后将其设置为零。

您可以检查我的配置吗?

如果我想再次更改设置、

我只是将寄存器0x14更改为0x16、然后切换 sif sync 位。

如果我遗漏了任何步骤、请告诉我。  

谢谢、

Mallesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mallesh
    我们已收到您的问题。
    很快有人会更详细地回答。
    此致、
    Jim B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mallesh、

    以下是使用 NCO/混频器的指令。

    DAC38J84编程复杂混频器

    DAC38J84支持粗调和精细混合选项。 精细混合可提供灵活的频率放置、粗调混合选项是精细混合选项的子集、允许进行预计算算术以节省额外的功耗。 启用两个混合选项中的一个以满足频率放置要求。

    1.启用复数混频器:将 CONFIG2、bit 6设置为2b'1。

    2.启用粗糙混频器或精细混频器:

    (a)对于粗调混音器设置、将 CONFIG13、bit15:12设置为所需的粗调混音选项。 DAC38J84具有的

    粗调混频器选项:–fs/4、fs/2、fs/4、fs/8、3fs/8、 5FS/8和7FS/8。 将 CONFIG2位4设置为2b'0以禁用精细混合。

    (b)对于精细混音器设置,请将 CONFIG2位4设置为2b'1。 这将启用完整的 NCO 块以进行精细混合。 将 CONFIG13、bit15:12设置为2b'0000以禁用所有粗调混合 选项。

    (C)注意:TI 建议仅启用这两个选项中的一个。

    3.精细混频器选项需要如下所述的其他配置:

    (a)对 DSP 路径通道 AB 和通道 CD 中的 NCO 频率和相位偏移寄存器进行编程。 相应的寄存器为 CONFIG18至 CONFIG25。

    (b)精细混频器和 NCO 是计数器电路、需要初始化序列以实现算术和正确输出。 这些电路可由一个或多个初始化信号进行初始化、例如来自寄存器编程的自动同步信号、SYSREF 输入、来自 JESD 块的同步输出信号和 SIF 寄存器同步。 寄存器 CONFIG31提供初始化设置。

    使用 SIF 寄存器 SF_SYNC 的精细混频器和 NCO 编程和初始化设置示例:

    (a)要求:

    (a) FNCO = 122.88MHz

    (b) FNCO_CLK = FDAC = 2457.6MHz

    (b)计算:

    (a)频率= FNCO x 2^48 / 2457.6MHz = 14073748835533 = 0x CCCCCCCCCCD = 2b’0000-1100-

    1100-1100-1100-1100-1100-1100-1101

    (b)对负频率进行编程的一种方法是首先计算正频率的二进制位。

    下一步是反转正数的所有二进制位、并在末尾添加一个二进制位以形成

    负数。 例如,-122.88MHz = 0xF33333333333 = 2b’1111-0011-0011-0011-0011-0011-0011 -

    0011-0011-0011-0011-0011-0011-0011-0011-0011-0011

    (C)将计算得出的频率值编程到 CONFIG20至 CONFIG22中、并将 CONFIG23编程到中

    通道 CD 路径的 config25。 对通道 AB 路径和通道 CD 的相位偏移值进行编程

    config18和 config19中的路径。

    (D)将 CONFIG31编程为0x8880、以便通过 sif_sync 初始化精细混频器和 NCO。

    (e)将 CONFIG31、位1从2b'0切换至2b'1、以触发精细混频器和 NCO 的初始化信号。

    (f)(可选)将 CONFIG31、位1设置为2b'0,以便准备好触发下一个初始化信号。

    此致、

    Neeraj Gill

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Neeraj 提供了很好的解释。  

    在步骤 d)中、配置31具有允许您 "从 SIF 寄存器写入自动同步"的位。  

    这到底意味着什么? 哪一个是 SIF 寄存器?

    我不太理解步骤 f)。 "将 CONFIG31、位1设置为2b '0、以便准备好触发下一个初始化信号。"  

    配置31的位1始终为零、直到我将其切换。

    还有一个问题。

    其中一家供应商的 FPGA 板未连接到 SYNCBP 和 SYNCBN 引脚。  

    会有问题吗?  

    在您的数据表中、它显示"如果不使用、它可以保持打开状态"。  

    您能否指向数据表中包含这些引脚详细信息的部分?

    谢谢、此致、

    Mallesh