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.

[参考译文] TMS320F280039C:执行同一组指令所需的时间相对较长

Guru**** 2782635 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1613769/tms320f280039c-time-taken-to-execute-same-set-of-instructions-is-relatively-high

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

我有关于 F28003x 处理器的问题。 我有 Launchpad 版本。
我使用 20MHz 的板载晶体振荡器来创建 120MHz 的 SYSCLK。
与 F2837xD 相比、F2837xD 的 SYSCLK 为 200MHz、我发现在 F28003x 上执行相同的指令集需要更长的持续时间、甚至需要两倍或三倍的时间。
我需要了解处理器是否缺少某些内容、某些设置是否导致执行指令的时间过长。 我试图找到类似的情况,但不能在这个平台上,所以我需要检查这里的人是否曾经在这个处理器中看到过这样的问题,或者其他一些处理器一般已经用了很长的时间来执行指令,并通过更改一些设置它开始正常工作。
如果有某些指令/函数可用于检查执行这些指令/函数所需的时间、并通过与 F28003x 已进行基准测试的结果和执行进行比较来查看是否有问题、这也会有所帮助。

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

    您好:

    您能否分享您正在运行的代码示例以及如何确定您的代码运行速度变慢? 您是从 RAM 还是闪存运行代码?  

    F2837xD 的时钟周期为 5ns、而 F28003x 的时钟周期为 8.33ns。 如果您保留在相同数量的时钟周期内执行指令、F2837xD 将更快地执行任务。  

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

    您好、Stevan。
    我有一个用于电机控制的自定义代码、至少可以说解释很复杂。
    我从闪存运行。
    我正在使用逻辑分析仪进行检查、对于特定的算法、如果 F2837xD 需要 7us、则 F28003x 需要超过 14us 的时间来完成。  

    我同意、由于时钟频率较低、对于同一组指令、F28003x 将变慢。  
    我只是在尝试确定某些因素是否会导致 F28003x 低于预期的相对速率(确切来说,这是 5ns/8.33ns 的倍)。
    该算法需要执行许多代码指令、包括浮点 (real32_T)。

    让我看看我是否可以在 F28003x 和 F2837xD 上运行一个更简单的示例、如果速度比预期慢、我将在此处或作为另一个问题完全返回给您、因为我在此处提供的上下文较少。

    如果我可以尝试通过任何其他方式来检查此问题、例如可用于快速检查执行是否符合预期的某些指令、或者可快速用于检查和比较时序的 C2000Ware 示例、请告诉我。  

    谢谢。

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

    Sumukh,

    导致 F2837xD 的代码运行速度更快的原因可能有多种。 您可以检查它是否以 RAM 中的相同速度运行。  

    我同意、首先、从 C2000Ware、PERSay、ePWM 或 ADC 示例中取一个简单的示例、比较您是否看到了预期性能。