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:中断响应和 GPIO 翻转时间。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1419231/tms320f280039c-interrupt-response-and-gpio-flipping-time

器件型号:TMS320F280039C

工具与软件:

尊敬的专家:

我将在 F280039C 上测试中断响应时间和 GPIO 翻转时间。 我在 GPIO=CMPA 时使用中断来翻转 CTR、并将上升沿的时序与 CMPA AQ 上拉进行比较。 我发现 GPIO=CMPA 之间的间隔约为860ns、CTR 翻转时间约为640ns。

这两个结果是意外的、因为根据 ACI 基准测试、中断响应时间应为50个周期、对于120M CPU、大约为417ns。 在本例中、860-640 = 220ns

同时、GPIO 翻转时间为640ns、似乎有点长。 下面是我的 EPWM 中断代码和测得的波形(黄色:EPWM、蓝色、myGPIO1)。

我在这里遗漏了什么?

此致、

挂起。

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

    尊敬的 Hang:

    黄色波形是 ePWM 配置为在 CMPA 上设置的吗?

    并且您在 CMPA 上也有 ISR 触发器?

    为什么要在 ISR 中测量 GPIO 的上升和下降并与中断延迟基准进行比较?

    在示波器中测量的是什么?

    也许我不理解你的问题,你可以详细说明

    谢谢。

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

    尊敬的 Bhatt:

    黄色是使用 EPWM 时 CMPA 上的 AQ 上拉。 ISR 也会在 CMPA 上触发。 在 ISR 中、我将 GPIO 设置为高电平、然后切换几次、如代码所示。

    蓝色第一个上升沿和黄色上升沿之间的间隔应为中断延迟+ GPIO 功能延迟。  

    蓝色第一个上升沿和第一个下降沿之间的间隔应仅为 GPIO 功能延迟。

    我希望通过减去这两个间隔来测量中断延迟、看看它是否与文档匹配。

    此致、

    挂起。  

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

    尊敬的 Hang:

    [报价 userid="571219" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1419231/tms320f280039c-interrupt-response-and-gpio-flipping-time/5449612 #5449612"]

    蓝色第一个上升沿和黄色上升沿之间的间隔应为中断延迟+ GPIO 功能延迟。  

    蓝色第一个上升沿和第一个下降沿之间的间隔应仅为 GPIO 功能延迟。

    [报价]

    这两者在两个不同的时间中。 如何比较蓝色脉冲(GPIO 延迟)与前一个蓝色脉冲。

    您所指的文档也是什么?

    谢谢

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

    Bhatt、您好

    如下图所示:

    间隔1 = A (ISR 延迟)+ B  (GPIO 延迟)  

    间隔2 = B

    我需要 A、所以我得到 A =间隔1 -间隔2

    我指的文档是 spracw5a、您可以在图2-3中找到 ISR 延迟。

    此致、

    挂起。

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

    挂起、

    我看到您从第一个 A+B 中减去 B、但在两个时间间隔中都是 B、这是一样的?

    我也不知道你的意思下:  
    在 CMPA 处的 AQ 上拉?

    黄色是使用 ePWM
    时 CMPA 上的 AQ 上拉

    应用手册中说: "该应用使用基于 和 PWM 计数器 对应用程序的各个部分进行周期计数基准测试。 因此、需要诸如示波器之类的外部硬件来测量基准测试结果。 为1024个控制循环执行迭代中的每个迭代收集基准测试数据、并通过应用程序中的 printf 消息在控制台窗口上输出这些数据。"

    谢谢。

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

    尊敬的 Bhatt:

    我假设两个时间间隔中的 B 相同、因为它们是使用不同参数调用的相同函数。

    我将 CTR EPWM=CMPA AQ 事件设置为"设置信号为高电平"、以便可以 通过查看 EPWM 的上升沿捕获 CTR = CMPA 时序。  我捕获了该时序、因为 此时会触发中断。 这个计时是为了掩盖"ISR 延迟"。  

    我是使用外部硬件对此进行测量的、因为我的客户正在验证应用手册中的结果。 他们正在使用其他方法来获取该延迟、并期望该延迟与计时器计数器获取的结果相匹配。

    如果电流法因某种原因而出错、那么除了应用手册中使用的方法之外、还有其他方法如何测量该延迟的想法吗?  

    此致、

    挂起。

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

    挂起、

    B 在两个间隔中可以相同、但您是否知道第一个间隔中的 B 是否发生在 A 之后并且该间隔中没有延迟或额外时间。

    我不知道有任何其他替代方法。

    谢谢

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

    尊敬的 Bhatt:

    由于 GPIO 翻转是 ISR 中的第一行、并且没有启用其他中断、我认为 B 位于 A 之后。在 A 和 B 之间可能发生什么情况?

    此致、

    挂起。