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.

[参考译文] LP-MSPM0G3507:MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1338858/lp-mspm0g3507-mspm0g3507

器件型号:LP-MSPM0G3507

我确实注意到计时器有延迟。 我将 TIMG8设置为在4ms 时触发、但我将在4013ms 时得到中断。 我将 ULPCLK 用作40MHz 的时钟源、带有8个分频器、因此得到5MHz。 我的 ULPCLK 源自 SYSOSC (32MHz)、PLL 获得80MHz 的 CPUCLK。 我测量了 ULPCLK、得到39、96Mhz、因此 由于这个时钟误差、 计时器应在40038ms 时触发。 误差为10us。

我将使用 A14测量时钟、使用 A0测量 TIMG8触发、并使用示波器(100Mhz 1GSA/s)测量频率

  1. 该 MCU 在到达计时器计数器和调用 IRQ 处理程序之间有一段延迟? 即使只使用与该计时器配合使用的独立项目也以最高优先级使用它。
  2.  我使用的引脚可能会导致该延迟?
  3. 我将在一个独立项目上测量此延迟、在运行了许多计时器的最终项目上测量此延迟、ADC、FreeRTOS 等、误差仍然不变。 这种误差的根本原因可能是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ulysses,

    此 MCU 在到达计时器计数器和调用 IRQ 处理程序之间有延迟? 即使只使用一个独立的项目与这个计时器使用它的最高优先级。[/报价]

    从线程模式切换到处理程序模式时会有一些延迟、而从低功耗状态唤醒时则会更糟。 您的器件是要睡眠还是关闭 CPU? 您如何切换此引脚? 该计时器是否处于比较模式并自动更改引脚的状态? 在我看来、您更像是在 ISR 内部手动切换引脚。

     我使用的引脚可能会导致此延迟?

    不同的引脚可能会有不同的传播延迟、但不会按我们的顺序发生任何变化。

    我将测量一个独立项目和一个运行了很多定时器、ADC、FreeRTOS 等的最终项目的延迟、但错误仍然是一样的。 此错误的根本原因是什么?

    嗯、至少该测试表明、它不是与 CPU 负载相关的问题。 如果你正在测量一个 ISR 的执行时间、那么其他中断的处理(假定具有一致的优先级)、当然可以防止另外一个中断被立即处理。

    此致、
    布兰登·费舍尔

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

    尊敬的 Brandon:

    我的器件在运行1上、我在测试期间不会更改此值。 是的、我将使用 DL_GPIO_togglePins 在 ISR 内部手动切换。 您建议我的测试检查这一点的建议是什么?

    2-是的、我期望  NS 顺序上有一些引脚延迟。

    3-是的、对于我们的最终项目、大多数中断使用相同的优先级、只有在少数情况下、我们使用较高优先级的中断。 但是在我的测试中、我检查了它、它仅运行一个中断 TIMG8。

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

    您好,Ulysses,

    这些测试过程中是否启用了调试器?

    如果目标只是为了检查计时器的精度、则它们可以在比较/PWM 模式下直接切换引脚。 这将消除进入 ISR 并切换 GPIO 所花费的周期。

    还可以对 GPIO 订阅者使用计时器事件发布者来切换引脚。

    此致、
    布兰登·费舍尔