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.

[参考译文] TMS320F28335:精确延迟

Guru**** 2595805 points
Other Parts Discussed in Thread: TMS320F28335

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/670596/tms320f28335-precise-delay

器件型号:TMS320F28335

尊敬的 TI:

我正在使用您的 TMS320F28335 MCU。我遇到了一个问题、即在不使用计时器的情况下、如何产生精确的延时时间?

此致、

弗兰克

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

    您好、Frank

    您希望实现多长时间的延迟? 它应该有多精确?
    TI 示例中有一个函数"delay_US()"-它可以提供微秒的延迟。

    您还可以设置 自己的由"nop"运算组成的函数。

    但是、为什么不能使用计时器来实现延迟?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    精度:高达时钟周期。延迟一个时钟周期的"运算"?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 一条"nop"指令占用一个 CPU 周期。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    换句话说、当 CPU 以120MHz 运行时、'NOP'指令需要大约1/120M=8.3ns?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果在"nop"指令之前没有清理 CPU 流水线-那么是的、"nop"需要1个周期= 1/120MHz。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Disona:
    非常感谢。您是否有有关此主题的相关资源?
    此致、
    弗兰克
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很遗憾、我没有任何其他信息。 我建议您尝试创建一个延迟、并使用 CPU 计时器对其进行测量、以检查它是否正常工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    弗兰克、

    请参阅以下技术讲座:

    processors.wiki.ti.com/.../C2000_Multi-Day_Workshop

    在实验5中、使用 Delayus.asm 文件并针对您的器件进行修改。 这个适用于 F2837x 器件、但我已经对它进行了很好的注释、因此对于 F28335、它应该易于修改。 正如 Disona 指出的、这是精确的、因为它基于器件时钟。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken