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.

[参考译文] DAC7821:输入 DAC 代码(2.5 * 409.5)、(5 * 409.5)和(10 * 409.5)不会产生输出

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/769743/dac7821-output-is-not-coming-for-the-input-dac-code-2-5-409-5-5-409-5-and-10-409-5

器件型号:DAC7821

大家好、我将使用 DAC7821 IC、它是电流输出和并行 DAC。 我已将 其连接到微控制器(Infineon XMC4800)。 输入数据2.5、5和10不会产生输出。 输入范围的输出正确。 我通过连接 CRO 检查了数据线路、但数据线路上的数据是正确的。 而不是2.5、如果您给出2.4或2.6、它将正确到达。   值5和10也会发生同样的情况。 请帮助我解决此问题。 谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、描述中应该是 DAC7821。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vinay:

    欢迎使用 E2E、感谢您的提问。 当您说"输入数据"时、您是指 VREF 还是 DAC 代码? 您是否可以共享原理图和示波器截图?

    此致、
    Uttam Sahu
    精密 DAC 应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Uttam、

    感谢您的回答。 我将 DAC 代码称为 "输入数据"。

    我通过将数据乘以乘法因子 i.e 来发送数据;如果您希望获得2.5V 输出、则需要将其作为输入发送(2.5 * 409.5)。 这里409.5是对应于1V 输出的系数。 但我实际上怀疑的是、DAC 是否无法正常工作、这意味着它必须适用于所有 DAC 代码。 但是、除了2.5、5和10、输出针对所有其他 DAC 代码正确。 我 还检查了数据线路上的数据。

    我为 DAC 提供了-10V 基准电压。  我随此帖子附上了原理图。 在原理图 IC23 (ADR01)中、是一款高精度输出稳压器、通过将+24V 作为输入提供+10V 作为输出。 IC22是运算放大器。 IC21是 DAC7821。

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

    根据您的计算、2.5V、5V 和10V 的相应代码可能具有 MSB"1"、然后是所有"0" 我认为可能会有某种位移。 如果您可以捕获一些包含一些时序详细信息的示波器截图、我们可以进行分析。

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

    您好、Uttam、

    感谢您的回答。 我认为问题是乘法因子。 如果将409.5作为乘法因子,则结果的整数部分(2.5*409.5)将变为1023,而输出不会出现。 但如果您给出(2.501*409.5)结果的整数部分为1024,“输出即将到来”为2.505,则不是2.5。 它也是在5V 电压下发生的。 但是,如果将乘法因子用作409.6,则(2.5*409.6)输出将会出现,因为其结果为1024。 它适用于所有其他输入范围(409.6)。 但对于10V,您无法使用(10*409.6),因为它超出范围。 我的问题是要使用哪个乘法因子??

     

    此致
    Vinay Hasyagar

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

    当您说"输出未到达"时、我假设"输出未达到预期值"-而不是"输出为零"。 请告诉我这是否正确。

    DAC 输出电压的公式如下:

    Vout =-VREF *(CODE/4096)

    因此、给定 VOUT 所需的代码为:

    代码=-(VOUT/VREF)*4096

    假设 VREF = 10V、上述公式可简化为:

    代码=-VOUT*(409.6)

    现在、这将适用于所有代码。 但请注意、您永远无法获得2^n 的电压输出 由于代码从零开始、因此它始终为(2^n)-1。 因此、您无法获得10V、但(10V - 1LSB)即9.99777V。

    希望这能解答您的问题。

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

    感谢您的回答。
    在我之前的答复中、"输出未到达"表示输出为零。 我将获得 DAC 代码4090的全电压。 如果我使用乘法因子409 (即2.5*409、5*509等),我将获得预期输出。 我想这是因为基准电压略有变化。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vinay:

    你是对的。 需要在公式中调整 VREF 值。 实际上、为了获得更精确的输出、还需要调整偏移误差、增益误差和满量程误差等终点误差。 以下培训视频可能会有所帮助:

    training.ti.com/lessons-precision-dacs-true-endpoints
    training.ti.com/lessons-precision-dacs-calibration

    此致、
    Uttam