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.

[参考译文] ADS1258:ADC 输出值与模拟输入值不匹配

Guru**** 2392095 points
Other Parts Discussed in Thread: ADS1258

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1189021/ads1258-adc-output-value-is-not-matching-with-the-analog-input-value

器件型号:ADS1258

您好!

 我们在设计中使用的是 ADS1258器件型号。 我们已通过 SPI 接口将 ADC 连接到 FPGA。 我们能够读取数据。 但是、当我们尝试将数据转换为实际值时、它将是应用的输入的一半。 请告诉我们如何根据从 ADC 获得的计数计算输出。 已附上原理图以供参考。

e2e.ti.com/.../7563.ADC.pdf

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

    您好 Guru Hegde、

    下面是将代码转换为电压的过程:

    1. 将十六进制/二进制值从 ADC 转换为十进制。 请注意、ADS1258具有二进制补码方案、因此十进制值可以是正数或负数。 更多信息、请参阅数据表中的表10
    2. 计算1LSB 的值、即 ADC 满量程范围除以位数(FSR / 2^N)。 对于 ADS1258、FSR = 2*1.06666*VREF/增益、并且 N = 24 (请注意、出于完整性考虑、我在 FSR 公式中包含了一个增益项、但 ADS1258没有集成增益、因此通常该值仅为1。 但是、如果您具有外部增益、则需要将其包含在该公式中)
    3. 将十进制的代码值与 LSB 大小相乘、以确定测得的输入电压

    例如,如果十进制代码为1335769d,VREF = 2.5V,增益= 1,则测得的输入电压为1335769 *[(2*1.0666*5)/(1 * 2^24)]= 0.849V

    布莱恩