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.

[参考译文] TMS320F28375D:CPUTimer0和1是否可以同步数控器操作?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1297679/tms320f28375d-is-cputimer0-and-1-could-syncronous-countor-operation

器件型号:TMS320F28375D
主题中讨论的其他器件:C2000WARE

您好

我对 F28375D CPU 计时器有疑问吗?

我的客户 设置为:

CPU 计时器0

每100ns・1 μ s 中断一次

・未设置预分频器  

・功能中为1 μ A、GPIO 处于高电平(用于调试)

CPU 计时器1

・μ s 一次中断

・设置预分频器4 (计数器时钟 将是 1/4)

・如果中断125次、GPIO 将为高电平(为了进行调试、请参阅每500ns 为高电平)

--

在该设置中、我认为 GPIO 高电平时序必须每500ns 相同一次。

(严格地说、它们不会重叠、但我认为它们几乎不会在同一时间发生变化。)

然而,我的种姓氏的测试不是。

第一个 GPIO 高电平时间每500ns 相同、但时序逐渐下滑。

您对此问题有任何疑问吗?

谢谢。

GR

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

    您好!

    我不确定我是否理解该问题、客户发现 CPU 计时器具有不一致的时间? 你能否提供更多细节和/或中断的一些 GPIO 切换截图? 此外、它们是在调试会话中运行还是在闪存上运行? 这两种情况本身都会导致观察到的计数器的触发略有延迟。

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

    您好、Omer:

    感谢您的支持。

    我不确定我是否理解该问题,客户发现 CPU 计时器具有不一致的时间? 您能否为中断提供更多详细信息和/或一些 GPIO 切换屏幕截图?

    这是 GPIO 切换屏幕截图。

    [报价 userid="515979" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1297679/tms320f28375d-is-cputimer0-and-1-could-syncronous-countor-operation/4924637 #4924637"]此外、它们是在调试会话中运行还是在闪存中运行? 这两种情况都会导致观察到的计数器的触发出现轻微延迟。

    我会向我的客户进行核实、

    但我认为如果有轻微的延迟、两个计时器都会延迟、因此中断计时不会关闭。

    此致、

    GR

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

    好的、根据我的理解、问题是计时器的 GPIO 切换起初似乎没有问题、但一段时间后、它显示出基于初始时序图的偏差、对吗? 您能否说明切换与最初的切换偏离了多少? ISR 始终要执行一些额外的时钟周期、因为其中包含代码、因此这可能是存在一些偏差的原因。

    我会向我的客户进行核实、

    但我认为如果有轻微的延迟、两个计时器都会延迟、因此中断计时不会关闭。

    [/报价]

    我明白您的意思了、我同意时间仍将关闭(尽管切换之间的延迟可能更长)。

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

    您好、Omer:

    感谢您的支持、

    好了、根据我的理解、问题是计时器的 GPIO 切换起初似乎没有问题、但一段时间后根据初始时序图显示出偏差、对吗? 您能说出切换与原来的切换偏离了多少吗?

    是的、第一次计时很 好。 但经过一段时间后、它会出现偏差。

    我将与客户确认偏差有多大。


    另外、偏差也随时间成比例增加。

    执行 ISR 时钟周期总是需要一些额外的时钟周期,因为 ISR 中有代码,因此这可能是存在一些偏差的原因。

    这意味着计数将在 ISR 函数中停止吗?

    我明白,计数器将立即重新加载零事件。


    此致、

    GR

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

    P.S.

    我将与客户核实偏差的程度。

    首先、有小的扰动、

    45到60秒后、除法大约是0.1毫秒。

    偏差会随着时间的推移而增加。
    该偏差不是以线性方式偏离、而是似乎随机累积。

    此外,它们是在调试会话中运行还是在闪存中运行?

    我的客户测试是独立的、代码被写入 闪存。

    谢谢。

    GR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的客户测试是独立的,代码是 在闪存中编写的。

    闪存具有等待状态、会导致时序延迟、尤其是在执行 ISR 等代码时、但这应该是一个一致的延迟、而不是随机的延迟。

    随着时间的推移,偏差会增加。
    偏差不是以线性方式偏离,而是似乎随机累积。

    您能否提供客户拥有的 ISR? 此外、他们能否为延迟的"随机"增加提供一些数字或图表? 0.1ms 延迟对于计时器中断意外偏差非常重要、这是数千个时钟周期。 代码中是否存在任何其他优先级高于计时器中断的中断?

    此外、客户是否已经尝试过在 C2000Ware 中编程其中一个计时器示例、以查看其是否按预期工作?

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

    您好、Omer:

    感谢您的支持。

    您能否提供客户拥有的 ISR? 此外、他们能否为延迟的"随机"增加提供一些数字或图表? 0.1ms 延迟对于计时器中断意外偏差非常重要、这是数千个时钟周期。 代码中是否存在任何其他优先级高于计时器中断的中断?

    此外、客户是否已经尝试过在 C2000Ware 中编程其中一个计时器示例、以查看其是否按预期工作?

    [/报价]

    我们已要求客户进行检查、目前正在进行检查。
    如果您能稍等片刻、我们将不胜感激。

    谢谢。

    GR