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.

[参考译文] DAC37J82:DAC38J82

Guru**** 2502205 points
Other Parts Discussed in Thread: DAC38J82

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1053442/dac37j82-dac38j82

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

数据表第69页的表47显示了寄存器16的以下寄存器配置:

数据表显示:

针对 DACAB 路径的 QMC 校正相位项。
范围为–0.5至0.49975。
编程“100000000000”=–0.5。
编程“01111111111111”= 0.49975。

不过、寄存器映射的表30显示了第59页的以下定义:

这与表47中的定义不匹配。

从表47中、

编程“100000000000”= 8000hex
编程“01111111111111”= 7FFhex

从表30中删除了配置16、

Bit 15:12      Bit 11:0

被保留     QMC_phaseab (11:0)

 当 QMC_phaseab (11:0)仅为表30中定义的11位时、如何对8000hex 进行编程?

此外、我能否更好地定义 QMC_phaseab (11:0)的编程范围?

编程“100000000000”=–0.5。
编程“01111111111111”= 0.49975。

这是控制范围的工作方式吗?

+0.5  7FFF  32767
0      0000  0000
      FFFF  65535
-0.5   8000  32768

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

    我打算调用 DAC38J82

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

    您好 Richard、

    当寄存器显示 QMC_phaseab (11:0)时、这意味着它们引用12位、从位0到位11。 确保 在对位数进行计数时对 LSB 位0进行计数。

    您对控制范围的工作方式正确无误。

    此致、

    David Chaparro

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

    感谢你的答复。

    因此 、QMC_phaseab 控制范围的正确解释是:

    +0.5 7FF (十六进制)  2047 (十进制)  

         001 (十六进制)      1 (十进制)
    0.0  000 (十六进制)      0 (十进制)
         FFF (十六进制)  4095 (十进制)

    -0.5 800 (十六进制)  2048 (十进制)

    我有另一个问题。

    数据表显示寄存器配置8、9 16、17、18和19与它们相关联的自动同步。

    什么是 自动同步?

     写入这些寄存器时是否需要任何特殊的程序?

    我想调整模拟调制器输出中的边带抑制。 与 QMC_phaseab 寄存器类似的段应该调整此值、因为数据表显示"Register mem_QMC_phaseab (11:0)控制 I 和 Q 之间的相位不平衡"。 我是正确的、还是其他一个相位寄存器执行此功能?

     

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

    您好 Richard、

    这是 QMC_phaseab 控制范围的正确解释。

    自动同步是一项功能、可在写入完成后生成同步。 当您需要在写入寄存器后同步块时、这会很有帮助。 数据表中的第33页对此进行了详细介绍。

    正确的是、mem_QMC_phase 寄存器将能够帮助实现边带抑制。 除了 QMC_PHASE 寄存器、QMC_GAIN 寄存器也可能有所帮助。

    此致、

    David Chaparro

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

    David、

    感谢你的帮助。

    我们目前还根据您的建议使用 QMC_GAIN 寄存器、这很有帮助。

    我注意到 寄存器映射列表中的 phaseoffsetxx 电阻器。

    它的功能是什么?

    该寄存器的设置是否会影响边带抑制?

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

    Richard、

    phaseoffsetxx 寄存器控制全复数混频器中使用的 NCO 的相位偏移。

    此致、

    David Chaparro  

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

    David、

    在数据表的第40页上、它说:

    "寄存器 mem_QMC_gega (10:0)和 mem_QMC_gib (10:0)控制 I 和 Q 路径增益、为11位
    无符号值、范围为0至1.9990、默认增益为1.0000。 的隐含小数点
    乘法运算介于位9和位10之间。"

    第63页的表43显示了值为400 (十六进制)、因此这是1.0000的值。

    如何计算0至1.9990范围端点的十六进制值范围?

    " 乘法的隐含小数点在位9和位10之间"这一事实是否有助于计算?

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

    我当时在想更多的这方面。

    范围是多少?

     0 000 (十六进制)

    1 400 (十六进制)

    1.9990 800 (十六进制)

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

    Richard、

    范围应为:

    0 0x000

    1 0x400

    1.999 0x7FF

    另请注意、在表43中、它提到了 LSB = 0.0009766。 您可以使用此值计算所需的十六进制值。

    此致、

    David Chaparro

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

    David、

    您能否向我展示使用  LSB=0.0009766计算所需的十六进制值的计算方法?

    谢谢你。

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

    Richard、

    要计算十六进制值、您可以首先选择0-1.999之间的增益值、然后将其除以 LSB 值0.0009766。 这将为您提供与该增益值相关联的二进制值。 那么您只需将该二进制值转换为十六进制值。

    此致、

    David Chaparro

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

    好的。 谢谢 David。