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.

[参考译文] EVM430-FR6047:EVM430-FR6047 ADC 问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1326747/evm430-fr6047-evm430-fr6047-adc-problem

器件型号:EVM430-FR6047

您好!

我得到这个信号。
我有一个向正极侧的偏差。
我在 GUI 中找不到允许调整偏差的参数、我之前询问过您、但您让我查找参数:USS_APP_DC_OFFSET_ENCELLY_TABLE
但它不在示例代码中。

如果您能帮助我纠正此偏差、我将不胜感激。
我只是指出管道上不存在设置问题、

  

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

    您好、Ido、

    回顾一下我以前的回答、似乎我复制了错误的定义。

    USS_APP_DC_OFFSET_ENCEOTION_ENABLE 看起来像是此处的正确定义、我可以在演示代码中找到这些定义。

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

    是的、我现在找到了
    但它存在于演示中的几个位置、我尝试在所有位置更改它、寻找它的更改位置、但它在 ADC 中什么都没有。

    您能指导我如何使用此参数吗?

    搜索如下:

    这是 user_config.h 文件中的值、我不明白如何使用它。

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

    您好、Ido、

    您是否熟悉使用#ifdef、#endif 等? 这些仅是在编译时计算的 if-else 语句、用于确定是否会编译代码段。

    当您执行搜索时、正如您在屏幕截图中所做的那样、您应该找到一行、其中显示  

    //#define USS_APP_DC_OFFSET_ENCELLY_ENABLE

    在 USS_App_userconfig.h 中。 您在编写代码时是否可以更改或删除此行? 在默认未经编辑的项目中,该项目出现在该文件的第113行。  

    要启用该定义,只需取消该行的注释即可。 完成此操作后、可以构建项目、并且 将编译#ifdef USS_APP_DC_OFFSET_ENCELLY_ENABLE 段中的所有代码、从而启用该功能。 在 CCS 中、您应该会看到这一点、因为这些部分不再突出显示/灰显

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

    那么、我预计会发生什么情况?
    在哪里输入要向信号提供的直流失调电压值?

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

    示例:
    我将该值更改为2000、而且在偏移和输出上

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

    我认为直流失调电压消除应用于 USS 算法、因此您不会在 ADC 捕获中看到变化。  

    在查看有关如何设置偏移消除间隔的具体细节后、我发现了 这个问题。 根据这个帖子、听起来您输入的确切数字不是那么重要、比您在某个时间间隔内所做的更重要。 它似乎只是表示失调电压的计算频率。

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

    那么、您认为这是一种特定的算法、旨在设置间隔以降低 ADC 的直流失调电压?

    因为当我发送给你的时候,我把它设置为2000,这是一个很大的值,正如你发送的链接中所说的那样,它仍然没有改变我的任何东西。
    它是否总是会产生影响?

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

    我想说的是、您应用的间隔值就是每次估算直流失调电压之间发生的测量次数。 因此、在您取消注释 项目中的 USS_APP_OFFSET_ENCELLY_ENABLE 行之后、您的器件每2000个测量周期只会重新计算必要的偏移。 但是、直流失调电压将应用于每个测量值、只是为了清晰起见、不是每个2000值。

    您是说您没有看到绝对 ToF 计算的变化、还是说 ADC 捕获没有变化? 我们只能预计绝对飞行时间的差异可见。

    此外、将回圈回到您的第一个问题、启用直流失调计算和使用会导致在接收到原始 ADC 数据后、在使用这些数据计算绝对飞行时间之前、将一个算法应用于 ADC 采集。 因此、它会降低直流偏移、但不涉及对 ADC 的任何更改、只涉及在数据收集后对数据进行处理。

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

    感谢您的讲解、现在已经清晰得多了。

    现在我会解释我认为的问题、
    如果 ADC 存在偏移、那么我的信号以高值(例如150-250和更高)开始、然后我必须增加阈值以获得正常读数、而不是像我之前那样达到10000。


    如果它不改变 ADC、如果我不提高阈值、仍然会得到尖峰?
    或者因为计算发生了变化、所以会影响它?

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

    直流偏移算法发生在 ADC 数据收集之后、但在 USS 算法运行之前。 因此、我的期望是不再存在与直流失调电压相关的问题、或者至少您的问题会减少。 因此、我还希望您不必将包络设置阈值设置得太高、从而获得正确的飞行时间读数。

    您将信封设置阈值设置为什么、飞行时间结果如何? 此外、您的可编程增益设置为多少?

    您的信号似乎没有非常大的噪声、这很好。 我假设 ADC 信号的直流失调电压归因于高可编程增益。 您能否尝试降低可编程增益、看看这是否会减小偏移、但仍能实现良好的飞行时间读数? 我知道、过去我曾建议您实现约900个 ADC 编码的振幅。 这是一项建议、但您应尝试使用较低的可编程增益和较低的捕获振幅、以查看这是否会减少直流失调电压并同时改善飞行时间结果。 如果您尝试一下、请告诉我、它会为您带来怎样的结果。 您可能只需要保持不变并应用直流失调电压、就像我们在此线程范围内所做的那样。

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

    看、我永远不会处于偏移0。
    即使我使用窄管、并且在所有理想条件下、我也会获得50-70的偏移(在使用增益获得大约800振幅的信号之后)。
    在这种情况下、我使用10-15的阈值。

    但在某些情况下、管道更宽、并且系统用于信号通道的难度(管道由不同材料和厚度的材料制成)略高
    在这种情况下、我必须在强信号和低偏移之间实现平衡。
    因为如果我将信号增加到800的振幅区域、偏移可以达到200-300、然后我必须将阈值提高到30-35的区域。
    在这种情况下、我正在辩论是否同时提高阈值和使用直流失调算法?

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

    在这些情况下、是的、我建议您同时做到这两者。

    您是否正在使用夹钳式电表?

    如果您需要使用高可编程增益、那么您可能始终会看到一定的失调电压、在这种情况下、您可能需要同时使用这两种解决方案来解决上述飞行时间问题。 您需要进行实验以找到最适合您的应用的条件。