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.

[参考译文] TMS320F2800157:减少 ADC 计数。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1376633/tms320f2800157-getting-adc-count-less

器件型号:TMS320F2800157
主题中讨论的其他器件: C2000WARESysConfigOPA350

工具与软件:

您好!

我正在使用 TMS320F2800157控制器、32封装

我将使用示例(ADC_EX10_MULTIPLE_SoC_EPWM)测量电压。 对于与低于15伏的电压相对应的 ADC 计数、误差百分比较低。 然而、当电压超过15伏时、误差百分比以非线性方式增加。

其基准电压为内部3.3V  

下表显示了测量的样本:

实际电压(施加的电压) ADC 计数 测量的电压 差分电压
5. 292. 4.93. 0.07.
10. 585. 9.89 0.109999999999999
15. 863. 14.83. 0.17.
20. 1129. 18.8. 1.2.
25. 1390 22.9. 2.1.
30. 1564 26.1. 3.9.
35. 1669 28.9. 6.1.
40. 1767 30.9. 9.1.
45. 1873. 31.4. 13.6.
50. 1950. 32.8. 17.2.

能否就如何解决此问题提供一些指导?

谢谢  

Siva Kumar

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

    您好、Siva、

    您的输入网络是什么--如何在连接到 ADC 引脚之前对信号进行调节? 您能否分享原理图?

    另外请分享您的 ADC 初始化代码、特别是 ADC 预分频器设置和使用的 SOC 配置。

    谢谢!
    Ibukun

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

    您好  Ibukun、

    电路原理图

     

    我正在使用 TI 提供的直接示例代码:adc_ex10_multiple_soc_epwm。 我使用 SOC0通道、并使用 A0引脚读取 ADC 电压、我未使用任何预分频器值。

    谢谢。此致  

    Siva Kumar  

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

    您好、Siva、

    原理图经过裁剪、因此我不确定我是否具有正确的内容。 但是、如果 VBAT 是 ADC 输入、那么我认为采集窗口大小太短。 默认示例使用最小 ACQPS 设置、它假设采用 ≤Ω 50Ω 源阻抗。 对于像这样的高阻抗输入、您将需要一个更长的采样保持窗口。

    有关这方面的更多详细信息、请参阅以下内容:

    -设备 TRM、ADC 章节>其他信息>选择采集窗口大小

    C2000 MCU 的 ADC 输入电路评估

    C2000 ADC 的电荷共享驱动电路

    此致、
    Ibukun

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

    您好  Ibukun、

    感谢您的早期响应、

    目前、我可以成功读取 ADC 计数、而失调电压差异极小。 但是、使用 SysConfig 生成的代码时、ADC 无法读取正确的值、因为基准电压是在内部而不是在外部配置的。

    之前、在使用外部电压基准的 C2000ware 5001版本 ADC 示例中、一切都正常工作。

    您能否为该问题提供解决方案建议?

    谢谢。此致、

    Siva Kumar

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

    您好、Siva、

    用于转换该通道的 SOC 的 ACQPS 设置是多少? 您是否尝试过提高它?

    谢谢!
    Ibukun

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

    您好 Ibukun、

    ACQPS 计数设置为9。 当我将其增加到9以上时、I READ 的 ADC 计数会减少。 因此、我当前使用的 ACQPS 值为9。 您能否使用 SysConfig 为该问题提供解决方案?

    谢谢  

    Siva Kumar  

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

    您好、Siva、

    60MHz 上的 ACQPS 9 (10个周期)仅为167ns。 对于这样的高阻抗输入、采样时间需要高得多。 使用原理图进行快速数学计算并假设内部3.3V 基准、您的采集窗口大小至少需要为6.5us。 如果您需要快速采集时间、则需要使用快速运算放大器(例如 OPA350)来缓冲信号。

    请再次查看我在前面提到的应用手册。

    谢谢!
    Ibukun

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

    您好  Ibukun、

    感谢您的支持。

    目前、我可以使用5.00版本中的 ADC 示例代码、成功读取 ADC 数据。 但是、我认为 SysConfig 生成的代码存在一个问题:它指示外部基准、但不能作为外部模式电压基准。

    此致、谢谢

    Siva Kumar

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

    尊敬的 Siva:

    正如我在上一主题中提到的、对于32引脚封装、必须使用外部基准模式、以使用 VDDA 作为基准。 在这个封装上没有实际的 VREFHI 引脚。 该基准是"外部的"、因为它在 ADC 模块之外-不一定在芯片之外。

    此致、
    Ibukun