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.

[参考译文] TMS320F280049C:从 TMS320F280049C 上的 MotorControl SDK 运行纯软件 FAST 观测器

Guru**** 2943390 points

Other Parts Discussed in Thread: C2000WARE, C2000WARE-MOTORCONTROL-SDK

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1645676/tms320f280049c-running-pure-software-fast-observer-from-motorcontrol-sdk-on-tms320f280049c

器件型号: TMS320F280049C
Thread 中讨论的其他器件: C2000WAREC2000WARE-MOTORCONTROL-SDK

大家好:

我想问是否有人在 F280049C 上运行纯软件版本的 FAST 观测器(不使用 ROM 中嵌入的 FAST 库)的经验。

我已采取以下步骤来实现这一目标:

1.添加了文件搜索路径: 将基于软件的电机控制 SDK 库包含在“C2000 链接器设置: (C:/ti/c2000/C2000Ware_MotorControl_SDK_5_03_00_00/libraries/observers/est_lib/lib)

2.修改了链接器命令.cmd() 文件 :将 FAST 函数分配给特定的闪存和 RAM 地址:

代码片段
fast_funcs_run_ram :
{
   // Explicitly specifying the EABI version of the library
   -l fast_full_lib_eabi.lib<*.obj>(.text)
}
LOAD = FLASHB0_SA,
RUN = RAMGS1_3,
LOAD_START(fastLoadStart),
LOAD_END(fastLoadEnd),
RUN_START(fastRunStart),
ALIGN(4)

3.在中添加了 copy-to-RAM 操作 main()

c.
memcpy(&fastRunStart, &fastLoadStart, (size_t)&fastLoadEnd - (size_t)&fastLoadStart);

4.排除 ROM 符号库: f28004x_fast_rom_symbols_fpu32.lib 从构建中排除。

完成这些设置后、我重建了工程、并可以清楚地看到内存 FLASHB0_SA RAMGS1_3 映射中和的内存使用量显著增加。 基于此、我相信我已经成功分配了纯软件电机控制 SDK 库并将其移至闪存/RAM 中进行执行。

问题: 但是、当我运行代码时、我无法从观察到任何正确的输出 EST_run(estHandle, &estInputData, &estOutputData);。 结果就像 FAST 模块完全不工作一样、输出值保持完全静态、没有任何变化。

FPUmathTables在从 49C 上的 ROM 解耦时、是否有任何缺失的配置(如特定数学表(如)或硬件依赖项)需要解决?

任何见解或建议都将非常感谢。 谢谢!

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

    您可以参阅当前 MCSDK 中的通用电机控制实验、该实验可以支持用于 BLDC/PMSM 驱动器的一组硬件套件和控制算法。 这些套件包括 LAUNCHXL-F280025CLAUNCHXL-F280039C、LAUNCHXL-F2800137  以及一组逆变器板。  控制算法包括具有 FAST 的无传感器 InstaSPIN-FOC、具有 eSMO 的无传感器 FOC、具有增量编码器的有传感器 FOC、具有霍尔传感器的有传感器 FOC。  您可以使用 InstaSPIN 软件库引用器件外设 (ePWM、ADC、eQEP 或 eCAP) 配置来与其他 C2000 器件(包括 F28004x)进行电机控制。

    C2000WARE-MOTORCONTROL-SDK: https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    通用工程和实验用户指南: https://www.ti.com/lit/spruj26

    以下文件夹中的示例实验工程:C:\ti\c2000\C2000 Ware_Motor Control_SDK_\solutions\universal_motorcontrol_lab\f28002x

    或                                                        C:\ti\c2000\C2000Control_SDK_\solutions\universal_motorcontrol_lab\f28003x Ware_Motor

    或                                                        C:\ti\c2000\C2000Control_SDK_\solutions\universal_motorcontrol_lab\f280013x Ware_Motor

    或                                                        C:\ti\c2000\C2000Control_SDK_\solutions\universal_motorcontrol_lab\f280015x Ware_Motor

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

    您好!

    非常感谢您的详细答复和提供的资源。 它为我们澄清了很多。

    为了给您提供一些背景信息、我们的最终目标是将我们的电机控制平台从 F28004x 迁移到新的 F2800137。 但是、由于我们目前只有 F28004x 硬件可用、因此我们希望将其用作在 F2800137 电路板到达之前预验证纯软件快速库(来自通用电机控制实验)的垫板。

    根据您之前的建议、您的正式建议是否是跳过在 F28004x 上测试纯软件库、并直接转换到 F2800137 开发板来进行此特定评估? 或者、是否有解决方法可以成功绕过 ROM 并在 F28004x 上运行纯软件快速库?

    我们只是想确保我们朝着正确的方向前进、而不是将时间花在本应不受支持的硬件/软件组合上。 我们非常感谢您对我们后续步骤的建议!

    再次感谢您的时间和指导。

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

    如上所述。 以上参考示例可以满足您的要求。 软件库可支持任何具有 FPU&TMU 的最新 C28x MCU。