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 从站初始化

Guru**** 2782615 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1614187/tms320f28p650dk-ethercat-slave-initialization

器件型号: TMS320F28P650DK
主题: SysConfig 中讨论的其他器件

他的 ASM 团队、  

在客户 behalv 上发帖:  

我们当前正在使用评估板 www.ti.com/.../LAUNCHXL-F28P65X、我们通过使用我们自己的软件和 TI 的示例工程 (f28p65x_cpu1_echback_solution) 观察到、从外部复位引脚复位后、EtherCAT 内核偶尔不会响应来自 EtherCAT 端的访问(其他所有似乎都有效)。

到目前为止、我们已经能够将问题缩小到以下范围:它的发生取决于所使用的编译器优化级别(使用-O4 时会发生、但使用-O0 时不会发生)。 这意味着该问题可能与寄存器初始化期间的时序问题有关。

由于数据表并未提供这方面的详细信息、因此我想问是否有有关初始化阶段的更详细要求、或者是否已知此问题、以及是否可能有可用的解决方案或权变措施。

 

感谢您的支持、  

Marinus  

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

    大家好、我们这个主题的专家即将请假。 请期待延迟。

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

    正在研究它。期待一个延迟。

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

    我们建议使用-O2 优化、因为我们已经使用-O2 进行了测试。 您能否使用-O2 优化进行测试?

    这个问题可能是由于编译器在 O4 优化中重新排列 ECAT_INIT 函数中的命令顺序导致的。

    此致、
    Keshav

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

    即使使用-O2 ,这是项目的原始设置,我面临的问题。 它更罕见,但仍然发生。 只有-O0 我还可以。

    即使更改为-O2 会解决这种情况、我也希望有一个无论优化设置如何都能正常工作的解决方案。

    此致、Stefan

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

    您好、  

    我们需要确保   ESC_initHW  函数不应优化。 您可以通过设置优化级别 4 来优化代码的其他部分。  

    您可以点击此链接如何不优化函数: 28335 - Pragma 不优化函数转移 — C2000 微控制器论坛 — C2000Tm μ︎ 微控制器 — TI E2E 支持论坛

    您能在您的代码中检查一下它并告诉我们吗?

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

    当然、它只是阻止 ESC_initHW 被优化。

    但是、示例代码最初仅适用于特定的引脚配置、因此我们已经对其进行了调整、以便与 SysConfig 工作流程正确集成。
    因此、现在对于与之相关的所有函数、我必须将单个优化级别设置为 0。

    作为权变措施、这很好。 尽管如此、它只能处理症状、我更希望找到一个干净的解决方案、即正确识别和解决潜在问题。

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

     您好,您能告诉我们问题发生的时间是多久,以便我们可以尝试重现它,也 可以分享您的代码,如果可能。 此外、您能否在调试模式下运行程序以及 当 EtherCAT 停止响应时、您能否暂停程序并告诉我们程序在该点的位置。 现在我们尝试在 O4 运行示例、并且运行正常。

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

    你好,不,我不能告诉你什么时候发生了。 实际上、原始 f28p65x_cpu1_echback_solution 示例对于我来说是可重现的(因此无需我们的代码)。 原始示例使用-O2。 采用此设置时、情况极少发生。 使用-O4 时、这种情况经常发生。
    测试中可能有一些词语:
    刷写示例代码。
    我们使用的测试软件集成了 Acontis EtherCAT 主站。  
    每次在电路板上执行复位时、软件都会声明“从总线移除从器件“、然后不久会声明“从器件添加到总线“。
    通过复位后的-O4 设置、我经常看到 (~30%) 消息“从器件已添加到总线丢失“。 我观察到、在该状态下、从器件正在响应 AL 状态寄存器 (0x0130) 上的请求。
    因此、我假设初始化硬件寄存器时出现时序问题会导致该问题。


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

    你好 ,我们已经理解了这个问题,并能够重现. (有时在重置后未检测到 EtherCAT)。 目前我们正在从事一些发布工作。 您能在我们进行研究时给我们一些时间吗? 我们将于 2 月 25 日返回

    此致

    库纳尔。

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

    尊敬的 Kunal:

    很好、您能够重现问题。 目前我可以忍受变通办法。 如果我们能在 3 月/4 月找到解决办法或详细了解导致问题的原因、那将是一件很好的事情。

    此致、
    Stefan

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

    当然、

    更新(截至 4 月):

    你好,我们正在积极的工作这个问题,我们已经找出当这种情况发生,我们正在检查与编译器团队进一步讨论.