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.

[参考译文] TMS320F28335:ADC 块未在预期值处出现#39;t 触发

Guru**** 2609285 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/677459/tms320f28335-adc-block-didn-t-trigger-at-an-expected-value

器件型号:TMS320F28335

朋友们、您好!

我正在项目中使用 eZdsp F28335 ADC 函数。 这是一个简单的逻辑、用于在 ADC 输出小于2048 (1.5V)时触发 GPIO0。

我在目标板上构建了它、并使用3 Vpp、1.5 V 偏移正弦波 电压输入对其进行测试。 它在800mV 而非1.5V 时触发。我将 ADCLO 连接 到 DSP 的 AGRD。  

我不知道为什么触发电压是800mV 而不是1.5V。 有人可以帮助我解决这个问题吗?  

非常感谢。

此致、

Xiwen

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

    Xiwen、

    您能否提供 ADC 的设置、即 ADC 时钟、ACQPS 以及 ADC 采样频率?  您还可以共享 ADC 输入信号的输入原理图吗?

    我想发生的情况是、信号未被正确采样;导致 ADC 在800mV 时读出2048。  这通常是因为采样保持电容器未从输入端正确充电。  

    从数据表 http://www.ti.com/product/TMS320F28335/datasheet/specifications#sprs2305090 图5-38可以看出、采样保持电容器为1.64pF。  假设您以最大 ADC 速度和最小 ACQPS 运行、则我们必须在40ns 内为电容器充电、使输入至少达到99.99%(13位)、以确保 ADC 转换不受电压不精确度的影响。

    有几种解决方案;您可以尝试增加 ACQPS、直到值稳定、您需要考虑这将引入控制环路的任何延迟与最大速度之间的关系。  另一种方法是使用运算放大器缓冲输入信号、以便我们能够在最短时间内满足上述电荷。

    让我知道这是否合理、我们可以从这里开始、在系统中的正确电压下触发。

    最棒的

    Matthew

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

    Matthew、您好!

    感谢您的建议。 输入信号由 Tektronix AFEG2021函数发生器生成。 我没有找到函数发生器输出侧的原理图。 我尝试增加 ACQPS 、但它不起作用。 这是我的 ADC 配置的屏幕截图。  

    采样时间为0.00001。 我还提到、当 ADC 没有模拟输入时、ADC 的浮动电压为1.92V。

    可以帮助我解决这个问题吗?

    非常感谢。

    此致、

    Xiwen

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

    我很抱歉。 第一张图片错误。 这是正确的答案。

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

    Xiwen、
    在屏幕截图中、它显示 ACQ_PS = 4、让我们尝试最大程度地利用该值、看看行为是否有差异。 即使这不能让我们达到理想状态、我们也可以看到它是否在朝着正确的方向提供帮助。

    最棒的
    Matthew

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

    Matthew、您好!

    感谢你的答复。

    我尝试将 ACQ_PS 从4增加到15、但它不起作用。 当我将触发值设置为2048时、ADC 仍在800mV 时触发。  我也发现了另一个问题。 在我将 Simulink 块构建到 DSP 中之后、ADC 的浮动电压变为1.9V。

    可以帮助我解决这个问题吗? 非常感谢。

    此致、

    Xiwen

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

    Xiwen、

    我不太关心转换或在浮动 ADC 通道的引脚上观察到的任何电压。  这是采样电路结构的伪影以及 ADC 的一些内部网络的共模。  本质上、在浮动节点上、我们看到采样保持电容器将其空闲状态电荷转移到引脚(或进行转换)、因为如果稳定到该内部电压、则不会对其进行任何驱动。

    在上述情况下、ADC 引脚上的任何驱动量都将开始使用基于输入本身 RC 的时间分量来覆盖该电压。  ACQ_PS 增加有助于提高的原因是、我们为采样电容器提供了更长的时间、以便在其采样时"查看"引脚电压、从而增加充电时间。

    由于增大没有帮助、我怀疑引脚上有较大的源阻抗。  只需确认一下、您使用的是 F28335控制卡、其中函数发生器的信号直接提供给正在采样的 ADCINx 引脚?  下面我只插入了控制卡模拟输入的原理图、您可以使用它来展示您从 Tektronix 源输入信号的位置。

    最棒的

    Matthew

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

    Matthew、您好!

    我使用的是 eZdsp F28335而不是控制卡。 我发现技术参考 书中的原理图与 您提供的原理图不同。 我将其粘贴在下面。 输入信号被提供给 ADCINA0引脚 (第二幅图片中的引脚#2)。

    谢谢、

    Xiwen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Xiwen、
    感谢您的更新、了解您正在将 eZdsp 用于28335。 与控制卡不同、ADC 输入端没有原生去耦/采样电容器。 如原理图中所述、P9接头在所有 ADCINAx 通道的对面具有 VSSA、因此在该接头底部的 ADCINA0和 VSS 之间使用一个小电容器应该相当容易。
    如果可能、我将从20pF 陶瓷电容器开始。 我们应该看到,在联合呼吁程序到位后,结果应该立即得到一些改善。

    如果您能够对 eZdsp 电路板执行上述更改、请告诉我。

    此致、
    Matthew