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.

[参考译文] TMS320F28069:使用 PID 库

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/651377/tms320f28069-using-pid-library

器件型号:TMS320F28069
Thread 中讨论的其他器件:controlSUITEC2000WARE

我通过引用"C:\ti\controlSUITE\libs\CONTROL_DCL\v1_00_00_00\docs"来实现 PID。

本文档介绍了第0页中的将库映射到 RAM

dclfuncs:>RAML4,page = 0

这样、我就无法使用 C2Prog 对 MCU 进行编程、因为它用于为我提供扇区违规错误。

因此我更改了  

dclfuncs:>FLASHF,PAGE = 0

这解决了 C2Prog 问题、程序也正常工作。  

我想问专家、这是正确的吗? PID 库是否可以分配给闪存?

请提供指导。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您可以安全地将库函数分配给闪存。 请记住、从闪存执行代码的速度比从 RAM 执行代码的速度慢。 通常、我们希望控制器尽可能快地执行、以最大限度地减少循环中的延迟、因此将 DCL 函数分配给命名段"dclfuncs "、以便用户在需要时在执行之前将其复制到 RAM 中。

    顺便说一下、C2000Ware 中提供了更新版的 DCL。 我建议下载该文件、因为自 v1以来已有一些改进。 在较新版本中、您将找到 F28069的代码示例、这些示例可能会对您有所帮助。

    此致、

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

    [引用 user="Richard Poley">请记住、从闪存执行代码的速度比从 RAM 执行代码的速度慢。 [/报价]

    主席先生,

    1)受执行时间影响的程度。 我正在调用控制器函数

    UK = DCL_runPID (&pid1、rk、yk lk);

    30 μ s 的 ADC 中断。

    2)是否有任何方法可以越过"扇区冲突(范围:0x8090... 0x809f)"中添加 了"0x809f)"。 串行编程时的示例。  

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

    此器件上的原始闪存访问时间大约为30ns、但由于 C28x 使用128位提取缓冲区、因此代码执行速度会更快。  如果将其保持为满(无分支)、则表示您已正确初始化闪存、并且根据16位与32位操作码混合、您应该会在90MHz 器件上看到大约70MIPS 的闪存执行。  您所使用的 PID 控制器在70个周期内执行、因此在 RAM 中需要778ns、在闪存中需要大约1us。  

    我不熟悉 C2Prog、但我猜问题会发生、因为您将"dclfuncs"段直接链接到 RAM 中。  对于在 RAM 中执行的函数、您应该在闪存中分配加载地址和在 RAM 中分配运行地址、以便链接器将代码放置在闪存中(其中 C2Prog 加载)、并且您的代码会在程序启动时将其复制到 RAM 中。  有一份很好的应用手册描述了以下过程:

    www.ti.com/.../spra958l.pdf

    在 controlSUITE (和 C2000Ware)中的"device_support"目录下还有一个 F28069的代码示例。

    但愿这对您有所帮助。

    此致、

    Richard