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.
工具与软件:
尊敬的专家:
我将在 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:
蓝色第一个上升沿和黄色上升沿之间的间隔应为中断延迟+ 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 上拉?
时 CMPA 上的 AQ 上拉黄色是使用 ePWM
应用手册中说: "该应用使用基于 和 PWM 计数器 对应用程序的各个部分进行周期计数基准测试。 因此、不需要诸如示波器之类的外部硬件来测量基准测试结果。 为1024个控制循环执行迭代中的每个迭代收集基准测试数据、并通过应用程序中的 printf 消息在控制台窗口上输出这些数据。"
谢谢。
尊敬的 Bhatt:
我假设两个时间间隔中的 B 相同、因为它们是使用不同参数调用的相同函数。
我将 CTR EPWM=CMPA AQ 事件设置为"设置信号为高电平"、以便可以 通过查看 EPWM 的上升沿捕获 CTR = CMPA 时序。 我捕获了该时序、因为 此时会触发中断。 这个计时是为了掩盖"ISR 延迟"。
我是使用外部硬件对此进行测量的、因为我的客户正在验证应用手册中的结果。 他们正在使用其他方法来获取该延迟、并期望该延迟与计时器计数器获取的结果相匹配。
如果电流法因某种原因而出错、那么除了应用手册中使用的方法之外、还有其他方法如何测量该延迟的想法吗?
此致、
挂起。
挂起、
B 在两个间隔中可以相同、但您是否知道第一个间隔中的 B 是否发生在 A 之后并且该间隔中没有延迟或额外时间。
我不知道有任何其他替代方法。
谢谢
尊敬的 Bhatt:
由于 GPIO 翻转是 ISR 中的第一行、并且没有启用其他中断、我认为 B 位于 A 之后。在 A 和 B 之间可能发生什么情况?
此致、
挂起。