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.

[参考译文] Starterware/AM4379:DMTimer 1ms 准确度

Guru**** 2585275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/633001/starterware-am4379-dmtimer-1ms-accuracy

器件型号:AM4379

工具/软件:Starterware

您好!

我使用 TRM 中描述的 DMTimer1的以下设置进行了1msec。

输入时钟= 32KHz 时钟:
TPIR = 0x38A40
TNIR = 0xFFF44800
TLDR = 0xFFFFFFE0

但是、DMTimer1的精度不是很好。(0.995ms~1.005ms)

如下文所述、我通过将 TPIR 和 TNIR 设置为0来实现精确的1ms。

输入时钟= 32KHz 时钟:
TPIR = 0
TNIR = 00
TLDR = 0xFFFFFFE0

您是否知道无法使用 TRM 设置实现精确的1ms 的原因?

此致、
Sasaki

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

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

    您好!

    我的客户正在使用 CLK_32kHz。

    此致、

    Sasaki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是每个 PLL 生成的32.768kHz 时钟。 您在 TRM 中的哪个位置看到了这些设置? 我找不到它们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 TRM (spruhl7g)的第2787页看到了这一点。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "我使用 TRM 中描述的 DMTimer1的以下设置进行了1msec。

    输入时钟= 32KHz 时钟:
    TPIR = 0x38A40
    TNIR = 0xFFF44800
    TLDR = 0xFFFFFFE0"

    我在第2787页上看不到任何类似的东西
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。

    [引用 user="Biser Gatchev-XID"]"我使用 TRM 中描述的以下 DMTimer1设置进行了1msec。

    输入时钟= 32KHz 时钟:

    [/报价]

    输入时钟是否高于 CLK_RC32K 或 CLK_32kHz 或 CLK_M_OSC 或 CLK_32K_RTC?

    此致、

    Sasaki

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

    我想知道您是如何计算这些设置的:

    TPIR = 0x38A40
    TNIR = 0xFFF44800
    TLDR = 0xFFFFFFE0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到了 P2791。

    对于32768Hz 时钟的1ms 时钟:
    TPIR = 232000→0x38A40
    TNIR =-768000→0xFFF44800
    TLDR = 0xFFFFFFE0

    但我不知道如何处理时钟源。

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

    您可以附加一个时间为1msec 的项目吗?

    此致、
    Sasaki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求工厂团队对此进行评论。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser - San、

    感谢您的支持。

    我将附加我创建的程序。
    当    该程序的 DMTIMER_1ms_TPIR 和 DMTIMER_1ms_TNIR 设置为0时、输出精确的1ms。
    但是、将其设置为以下值会降低精度。

    *(volatile unsigned int *) DMTIMER_1ms_TPIR = 0x00038A40;/232000;
    *(volatile unsigned int *) DMTIMER_1ms_TNIR = 0xFFF44800;//-768000;

    此致、

    Sasakie2e.ti.com/.../Timer1_5F00_1msec.zip

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

    James
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题解决了。
    由于我想输出1 msc 的 PWM、因此我将时钟源更改为 CLK_M_OSC、并且仅使用 TLDR、而不使用 TPIR 和 TNIR。