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.

[参考译文] TMS320F280039C:ADC 中断上溢问题

Guru**** 2465220 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1492630/tms320f280039c-adc-interrupt-overflow-issue

器件型号:TMS320F280039C

工具与软件:

尊敬的 Expert:

我的客户是 EPWM1零事件、用于触发 SOC 并产生 ADC 中断、 PWM 和中断频率为20kHz。

他们面临中断时间可能超过50us (即溢出)的问题、他们执行以下测试来重现该问题:

在上面的中断代码中、在第65行、如果它们使用 RPT 功能超过200次、那么 ADC 中断将不会发生、

但是、如果它们使用 等于199 倍的 RPT 功能、ADC 中断将变为10kHz。

在中断中切换 GPIO、当发生溢出时、它们捕获下面的波形、

他们发现中断频率变为10kHz。

问题是、当 RPT 功能 等于199 倍时、中断频率为什么会改变?  

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

    嗨、strong:

    我怀疑该中断未被正确清除。

    假定 CPU 在100MHz 上运行、对于24条 RPT 线路、总等待时间大约为57.6uS >50us。这将导致溢出、如果设置了溢出标志、您能不能质疑?

    目前无法了解199之所以能够工作并提供一半的频率(这表明在 ISR 中读取替代转换)。  

    BR、

    Nilesh

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

    Nilesh、ć

    客户将 F280039与120MHz 配合使用。 您可以帮助指定设置了什么溢出标志吗?

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

    嗨、strong:

    上面的表是基于代码中选择的 ADC 中断的 Oveflow 中断标志。 使用上述示例重现问题时、可以监视此标志。

    谢谢!

    Nilesh

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

    Nilesh、

    是的、当他们使用 199时、ADC 标志被设定、并且提供一半的频率、什么进一步解释呢?  

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

    嗨、strong:

    在某种程度上、这意味着在触发下一个 ADC 相关信号之前不会清除 ADC 中断。

    120MHz 时的时间也将是48us (Calculated)+ 1.65us (线路65为199)~= 50us (如果状态也需要一些周期来进行评估、因此总时间将再次超过采样时间)

    我们也可以在中断被清除后清除溢出标志。 但我们在这里将会错过一些样本、如果我们可以错过样本、那么清除溢出标志应该可以解决问题。  

    谢谢!

    Nilesh