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.

[参考译文] LAUNCHXL-F28379D:我的 ADC 测量值是否不准确?

Guru**** 2614265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/687137/launchxl-f28379d-are-my-adc-measurements-inaccurate

器件型号:LAUNCHXL-F28379D

大家好、

简介:

我正在使用   F28379D (版本:2.0)开发用于实现位置控制的声学传感器。  该传感器由扬声器(250ST/R160)和麦克风(SPU0410LR5H-QB)组成、扬声器发射25kHz 正弦波(Vpp 为24V)、当麦克风接收回声时、它会将声能(声波)转换为电能(音频信号)。 该信号 被馈送到 ADC (引脚#30)、ADC 以250kHz (每周期10个点)的频率对信号进行采样。

操作顺序如下:

  • 传感器左转。
  • 打开扬声器、发出0.5ms 的正弦波、关闭扬声器。
  •  1毫秒内不执行任何操作。
  • 打开 ADC、保持开启5ms、关闭 ADC。
  • 传感器右转、然后重复此过程。

这就是它在示波器中的外观:

蓝色信号是麦克风传感器读数、黄色信号是 ADC 读数(从 DAC 输出)。

电路:  

最初的问题是什么?

目的是通过比较左侧 ADC 窗口中的最大读数和右侧 ADC 窗口的最大读数来确定传感器的哪一侧。

如图1所示、RHS 上的回波振幅显著增大(与 LHS 相比)、表明传感器正在执行它应该执行的操作、但 ADC 读数的最大振幅几乎相同、 从而无法确定物体的位置。  

我发现、尽管 ADC 配置为以250kHz 的频率进行采样、但 ePWM 信号(触发转换)的频率为500kHz。 这是我故意更改的内容(以查看读数是否更准确)、很显然我忘记将其改回原来的内容。 问题:这实际上是 ADC 读数与馈入信号的振幅不成比例的原因吗?

当前的问题是什么?

我编写了一个代码、用于启动计时器并计算接收到大于给定阈值的读数所需的时间。 此代码的目的是确定对象的位置以及对象所在的方向。 尽管我无法实时显示最大振幅、但我通过尝试和错误找到了合理的阈值(使用 LED 作为指示器)。 问题:我能否使用以下公式计算阈值? 阈值= V_meased *(4096/3.3)、其中 V_meased 是示波器测量的电压。

问题是 、虽然代码成功检测到障碍物的法度、但接收最大回波的时间间隔时序并不有用、因为只有在 ADC 窗口打开后才会检测到回波(测量时间为≈0) 当障碍物被放置得更远时消失、尽管障碍物仍在传感器的测量范围内。 问: 这种奇怪行为的可能原因是什么?

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

    麦克风的输出阻抗和电压范围是多少? 电压是否缓冲? 如果是、缓冲运算放大器的带宽是多少?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    麦克风的最大输出阻抗为400Ω Ω、电源电压范围为 1.5-3.6V。 否电压未缓冲-您为什么要询问?  

    数据表可在以下位置找到: SPU0410LR5H-QB.pdf

    此致、

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

    您好 Canberk、

    当输出阻抗较高时、如果 S+H 窗口持续时间不够长(S+H 持续时间由 SOC 配置中的 ACQPS 设置控制)、则采样可能会遇到问题。  您通常还需要在 ADC 输入和接地之间放置一些电容。  尝试在 ADC 输入端添加一个~10x 至30x 通道(145pF 至435pF)的电容器、并使用以下公式计算所需的 S+H 窗口(注意:数字略有不同、因为这部分摘录来自 F28004x 器件; 您可以在数据表的"单端输入模型参数"下找到 F2837x 输入模型参数)。  另请注意、长导线可能会导致显著的(从 S+H 的角度来看)电感阻抗、因此为了获得最佳性能、请构建子卡以连接 launchpad 或使用运算放大器缓冲靠近 ADC 输入的信号。    

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

    您好 Devin、

    我在 ADC 输入引脚和 GND 引脚之间添加了200pF 陶瓷电容器。 我已将采样频率加倍(每周期20个点、而不是10个点)。

    下图显示了实际信号(黄色)和 ADC 读数(蓝色)。 ADC 读数被馈入 DAC、然后使用示波器进行监控。

      

    由于红色 的 anulus 标记、回波信号中仍然存在一些尖峰。 我的代码的性能在很大程度上取决于峰值回波测量、因此我需要它更准确。 你有其他建议吗?  

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

    您好 Canberk、

    您是否增加了 S+H 持续时间。  对于400 Ω+ 200pF 的源阻抗、我认为平衡-非平衡变压器需要600-700ns 的 S+H 持续时间。

    您可能还需要单独尝试测试 ADC 和 DAC、以确定其中一个是否导致问题。  可能会扫描到已知的模式、然后将其重放到 DAC 上?