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.

[参考译文] TMS570LC4357:TMS570LC4357 - ePWM1、GIOA0和 GIOA1

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/676204/tms570lc4357-tms570lc4357---epwm1-and-gioa0-and-gioa1

器件型号:TMS570LC4357

您好!

我需要您的帮助来解决一 个非常难以解释的问题。

我长时间使用 GIOA0和 GIOA1作为外部中断引脚。

连同它、我将使用 ePWM1A 来生成输出信号-周期-打开、零-关闭-频率为12.5kHz (80us)。

我决定也使用 ePWM1中断、但当我启用它时、ePWM1中断会使处理器过载。

当我禁用 GIOA0和 GIOA1中断时、ePWM1中断被正确生成。

您是否知道可能导致此意外行为的某种关联?

谢谢你

1月

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

    是的、由于中断速率过高、MCU 可能会过载。 GIO 的中断优先级高于 PWM 的中断。 如果 GIO 中断速率较高且其 ISR 需要很长时间(例如>40us),则 PWM 中断可能根本不会被服务,其它软件部件可能无法正常工作或崩溃。

    中断代码应尽可能短且简单。 ISR (中断服务例程)应该只执行关键代码、通过设置一个标志变量、任务的其余部分可被降级至主进程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    是的、我理解、但我知道 ePWM 中断恰好以10kHz 的频率运行、只是节省了系统计时器。

    ePWM 通过信号 ePWM1A 启动外部外设、并同时生成中断、从而节省系统计数器。

    大约15 μ s 后、GIOA0和1上的外部外设产生中断。 这应该全部完成、并且周期应该反复重复。

    但它不会发生。 每一个都能完美地工作、但两者都不能协同工作。

    我询问 ePWM 中断与 GIOA0和1个中断之间是否存在某种关联、因为我无法向自己解释这种行为。

    1月

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

    我注意到 PWM 没有中断、但 PWM 会在零和周期为外部器件或外设生成事件触发器。

    GIOA0/1中断不应影响 PWM 的输出和触发。 我可以在我的工作台上准备好您的代码并进行测试吗? 谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wang、

    我将尝试使用 GIO 和 ePWM 的设置创建一些文件并将其发送给您。

    ePWM 可以在哪个处理器引脚为外部器件或外设生成触发器?

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

    当一个选定的事件发生时、ePWM 可生成一个到 CPU 的中断和/或一个到 ADC 的转换脉冲开始。 ePWM 中断没有引脚。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    几周后、我发现了这个问题、这是由未处理的比赛调节引起的。

    感谢您抽出宝贵时间回答问题。 将此威胁视为已解决。

    1月