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.

[参考译文] CCS/TMS320F28035:时钟周期

Guru**** 2539500 points
Other Parts Discussed in Thread: TMS320F28035, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608084/ccs-tms320f28035-clock-cycles

器件型号:TMS320F28035
Thread 中讨论的其他器件: controlSUITE

工具/软件:Code Composer Studio

大家好,我正在使用 TMS320F28035。 我已经为升压转换器编写了一个非常基本的简单代码。 在 ISR 内,我将读取 ADC 读数和乘以某个比例因子的结果,并在升压转换器的标准公式之后。 当我测量 ISR 的时钟周期时,它需要965个时钟周期,但在本 ISR 中,只有2个乘法、1个除法和3/4数据传输。 所以我的问题是它为什么需要这么多的时钟周期。 根据控制器的数据表,该控制器可以在单个时钟周期内执行32x32乘法。

如何减少时钟周期?

  

 谢谢、此致、

Indrajit。

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

    您使用的是定点控制器、因此单周期32x32乘法应用于定点数据。 编译器会将这些缩放常量视为浮点数、因为两者都不能表示为整数。 乘法和除法都将调用 RTS 库以支持浮点格式、这会消耗所有这些周期。

    在定点 C28x 上操作浮点(如数据)的最佳方法是使用 IQ 数学库。 我建议您在 controlSUITE 中打开 IQmath 文档和示例。 您将发现周期计数会大幅下降。

    此致、

    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的建议。
    我将尝试使用 IQmath 编写 ISR 部件。

    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,IQmath 只需要78个时钟周期...
    再次感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,但是当我将链接器命令文件从 RAM 更改为闪存以从闪存运行时,它需要640个周期,而不是从 RAM 运行相同代码时需要78个周期。 为什么? 以及如何进一步减少这一数量。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Indrajit、

    可能有多种原因、但当您从 RAM 移动到闪存时、您需要做的不仅仅是更改链接器命令文件。 必须正确配置闪存阵列以获得最佳性能、执行此操作的函数必须从 RAM 中运行。

    在 controlSUITE 中 F28035的外设头文件示例中、您可以找到一个名为"flash_F28035"的项目、该项目展示了如何执行此操作。 我建议打开该项目并查看代码。 在主程序中,第179-188行在调用 InitFlash()函数之前将时间关键函数加载到 RAM 中。

    还有一个包含示例代码的应用手册、可在以下位置为您提供帮助:
    http://www.ti.com/lit/an/spra958l/spra958l.pdf

    此致、

    Richard

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