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.

[参考译文] TMS320F28075:外设寄存器访问速度

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1256226/tms320f28075-peripheral-regster-access-speed

器件型号:TMS320F28075

亲爱的香榭丽舍大街,

我是为我们的客户提出这个问题的。  

现在客户正在针对 ISR 中的程序执行效率对代码进行调优。

因此他们想知道 TI 是否可以提供 F28075外设寄存器访问速度、特别是在 ADC 和 PWM 中。

因此、他们想澄清以下问题。

 

如果我们从 C28/CLA 直接访问 C2000外设寄存器、最快的速度会怎样?

此致、

丹尼尔

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

    Daniel、您好!

    专家目前正在旅行,因此答复可能会推迟。

    此致、

    阿米尔·奥马尔

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

    Daniel:

      我不确定客户确切想要了解什么。 28x CPU (或 CLA)访问外设寄存器的速度是固定的(此类访问可能在零等待状态下发生)。 我不明白知道知道这个值有多大有助于优化代码。 如果编译器提供的代码优化不足、客户可以查看 C 可调用汇编语言。 随着时间的推移、编译器已得到改进、C 代码与汇编代码相比、性能差距缩小了。

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

    Daniel:

                 我们的编译器专家提供了以下反馈:

    "...编译器在这里没有直接作用。  如果变量与外设关联、则需要将其标记为易失性。  这意味着编译器从不将其保留在寄存器中、而始终使用与 C 源代码相同的模式来访问它。  因此,没有机会进行优化..."

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

    Daniel、您好!

    通常、C2000架构具有低延迟外设访问。 ADC 读取需要1个周期、PWM 写入需要2-3个周期。 将外设的地址和数据移动到 CPU 寄存器将需要几个额外的周期。 他们可以对代码中的读取和写入进行基准测试、以获取准确的数字。

    希望这对您有所帮助。

    谢谢。

    阿什维尼