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.

[参考译文] ADS1298将输出代码转换为电压

Guru**** 2582405 points
Other Parts Discussed in Thread: ADS1298

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/925675/ads1298-convert-output-code-to-volts

主题中讨论的其他器件:ADS1298

大家好
请告诉我如何将输出代码 od ADS1298转换为电压。

我观看了论坛上的文章 :https://e2e.ti.com/support/data-converters/f/73/t/772488 - 我认为覆盖数据中存在错误
我使用以下公式计算一个代码的权重:LSB =(2 * Vref_voltage)/增益/(2^23)-1;

然后、我检查什么是 MSB:  

output_code_ADS1298 - ADS1298的转换结果

output_code_ADS1298  和屏蔽为0x800000时、如果 MSB=0、则电压= output_code_ADS1298 * LSB

如果 MSB=1、那么电压=(Output_code_ADS1298 - 2^23)* LSB;

将输出代码转换为电压时、我得到的电压值不正确。

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

    您好、红色、  

    请再次阅读您链接的文章。 您计算的 LSB 大小不正确。  

    LSB =(2 x VREF)/增益/(2^24 - 1)

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

    Alexander、感谢您的快速响应
    如果 MSB=1、那么电压=(Output_code_ADS1298 - 2^23)* LSB;-这个公式也不正确?
    在该公式中,我必须将2^24? 但现在不是2^23?

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

    您好、红色、

    正如文章稍后所述:

    "将输出代码转换回输入电压的最简单方法是使用0x800000和数据、并测试 MSB (最高有效位)。 如果 MSB 等于0、只需将等效的十进制数乘以 LSB 大小。 如果 MSB = 1、必须首先从等效的十进制数中减去2^n、然后乘以 LSB 大小。 "

    您的第二个公式是正确的。 这是您计算 MSB 大小的第一个公式、该公式不正确。 操作顺序 PEMDAS 有时会使人感到困惑。