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.

[参考译文] TMS320F28P650DK:从闪存运行时、EtherCAT 从站 (F28P65x) 无法达到 OP 状态(在 RAM 中运行)

Guru**** 2845830 points

Other Parts Discussed in Thread: LAUNCHXL-F28P65X, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1635330/tms320f28p650dk-ethercat-slave-f28p65x-fails-to-reach-op-state-when-running-from-flash-works-in-ram

器件型号: TMS320F28P650DK
主题中讨论的其他器件: LAUNCHXL-F28P65XC2000WARE

 您好 TI 支持团队:

我正在使用 TI C2000 F28P65x (LaunchXL-F28P65x)、并使用 EtherCAT 子器件(基于 SSC)工程、从 CPU1 Echoback 示例开始。 我已将 PLECS 生成的控制器集成到工程中。  

目标
从闪存在 TI C2000 F28P65x (LaunchXL-F28P65x) 上运行 EtherCAT 从站、并与 TwinCAT 实现稳定的通信、从而达到 OP 状态。  

问题
当我使用以下命令运行工程时:  LAUNCHXL_RAM:

  •  一切正常
  • EtherCAT 从站达到 OP 状态
  • 通信工作正常

 LAUNCHXL_FLASH:

  • 代码成功闪烁(无 CCS 错误)
  • 在 TwinCAT 中检测到从器件
  • 但状态转换失败

init→PREOP→init

错误消息 (TwinCAT)  

INIT to PREOP' timeout (2000 ms) reached state change aborted (requested 'PREOP', back to 'INIT') state change aborted (requested 'OP', back to 'INIT') Frame missed 10 times

观察结果

  • 相同的项目、相同的代码
  • 同一 PLECS 生成的控制器
  • 由 SSC 生成的 EtherCAT 文件相同
  • 唯一的变化是:  

LAUNCHXL_RAM → works
LAUNCHXL_FLASH → fails


电路板行为

LaunchPad 上的 EtherCAT 错误 LED (D11) 亮起(红色)、这表明固件已编程并正在运行、但通信或状态转换仍然存在问题。

从闪存运行时、此行为是一致的。

e99fe9e4-b28f-4161-a3f0-9578830a17ad.jpg

 

消息  

MCU/电路板:

  • TI C2000 F28P65x (LaunchXL-F28P65x)

 软件:

  • CCS 中完成
  • TwinCAT 3.
  • SSC 工具 V 1.2
  • PLECS  

项目库:

  • CPU1 Echoback 示例

已执行的步骤

  1.  从 PLECS 生成的控制器代码
  2.  从 SSC 生成的 EtherCAT 从站文件
  3.  两者都集成到 CCS 工程中
  4.  使用以下代码进行构建和刷写:LAUNCHXL_RAM→工程 LAUNCHXL_FLASH→失败
  5. TwinCAT 中的已扫描器件  
  6. 已尝试切换到 OP 状态  

问题

  • 同一个工程在 RAM 中运行但在闪存中不运行、这可能是什么原因?  

公钥  

  • 您能指导我如何从闪存正确运行 EtherCAT 从站以使其达到 OP 状态吗?  

提前感谢您的帮助!  

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

    您好、  

    尝试从 launchxl_flash 运行 SDK 中存在的回显示例,如果您没有遇到任何问题,  那么可能需要检查您的控制器代码。

    (确保您已从 TwinCAT 对 EEPROM 进行编程,同时确保您使用的是最新的 c2000ware )