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.

[参考译文] TMS320F28388D:EtherCAT Can`t SACN

Guru**** 2539690 points
Other Parts Discussed in Thread: TMDSCNCD28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1274652/tms320f28388d-ethercat-can-t-sacn

器件型号:TMS320F28388D
主题中讨论的其他器件:TMDSCNCD28388D

您好:

  •  当我在 CPU1中运行 EtherCAT 软件时:
    1. 当我在 RAM 中运行它时、一切都正常、如果我在闪存中运行它并使用 XDC100V3仿真、它也正常工作。
    2. 不过、 如果我在闪存中运行它而不对其进行仿真、 ,出现问题,使用 TwinCAT,你经常无法扫描从站。
    3. 在继续测试过程中、我发现了以下模式:
      1. 我使用 SYSPLL 时钟进行 EtherCAT 配置、并关闭了 AUXPLL 时钟、运行情况良好。
      2. 我将 EtherCAT 配置为使用 SYSPLL 时钟、并将 AUXPLL 时钟配置为在125MHz 下运行、但它不能正常工作
      3. 我将 EtherCAT 配置为使用 SYSPLL 时钟、并在400MHz 或500MHz 处配置 AUXPLL 时钟、工作正常
  • 当我在 CM 中运行 EtherCAT 软件时:
    1. 我遇到了与上述类似的问题
    2. 我对时钟分频进行了一些修改、见 e2e.ti.com/.../tms320f28388d-a-clock-conflict-between-demo-and-datasheet-when-using-cm-and-ethercat
    3. 我将 SYSPLL 时钟用于 EtherCAT、AUXPLL 时钟在125MHz 中配置、工作不正常、TwinCAT 通常无法扫描从站
    4. 我为 EtherCAT 使用了 SYSPLL 时钟、并且 AUXPLL 时钟配置为500MHz、工作正常。
  • 我发现、如果您在较低的频率配置 AUXPLL、例如100MHz、125MHz。 而单独在闪存中运行会使 EtherCAT 不稳定。
  • 我想知道为什么会出现这个问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    Unknown 说:

    在这些测试中、您是否使用 AUXPLL 为任何器件外设和/或 CM 内核计时? 在  AUXPLL 中、您指的是 TRM 时钟图中的 AUXPLLRAWCLK、对吧?

      1. 我将 SYSPLL 时钟用于 EtherCAT、AUXPLL 时钟在125MHz 中配置、工作不正常、TwinCAT 通常无法扫描从站
      2. 我为 EtherCAT 使用了 SYSPLL 时钟、并且 AUXPLL 时钟配置为500MHz、工作正常。
    • 我发现、如果您在较低的频率配置 AUXPLL、例如100MHz、125MHz。 而单独在闪存中运行会使 EtherCAT 不稳定。
    • 我想知道为什么会出现这个问题?
    [/报价]

    我们的 ECAT 模块在以下点需要100MHz 时钟输入、请记住。 您的测试是否满足这些要求?

    此致!

    凯文

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 当我在 CPU1上运行测试时、AUXPLLRAWCLK 没有驱动器外设或 CM 内核。 当我在 CM 端运行时、AUXPLLRAWCLK 驱动 CM 内核。 在这两种情况下、都会发生类似的问题。
    2. 我将 SYSPLL 配置为200MHz、将 EtherCAT 模块配置为使用 SYSPLL、并将 ECATDIV 配置为2。 一旦扫描、一切都正常。    
    3. SYSCTL_setECatClk (SYSCTL_ECATCLKOUT_DIV_2、SYSCTL_SOURCE_SYSPLL、ESC_USE_INT_PHY_CLK);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    • 我发现、如果您在较低的频率配置 AUXPLL、例如100MHz、125MHz。 而单独在闪存中运行会使 EtherCAT 不稳定。
    • 我想知道为什么会出现这个问题?
    [/报价]

    只有从闪存独立运行并且 AUXPLL 频率较低时、才会出现这个问题。 您是否尝试过250MHz AUXPLLRAWCLK

    您使用的是 controlCARD 评估板还是定制板? F2838x 器件的外部时钟源是什么? 即晶体或单端振荡器、器件的频率等。

    此致!

    凯文

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

    我尝试了 AUXPLLRAWCLK 250MHz 频率、结果很好。

    我目前有两个版本的板、问题是一样的。 一个电路板为 TMS320F28388使用20MHz 晶体、为 PHY 芯片使用两个25MHz 晶体。 另一个电路板使用25MHz 晶体为 TMS320F28388和 PHY 芯片馈电。

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

    您好!

    我尝试了 AUXPLLRAWCLK 250MHz 频率,它运行正常。

    好的、感谢您的检查。

    我目前有两个版本的主板,问题是相同的。 一个电路板为 TMS320F28388使用20MHz 晶体、为 PHY 芯片使用两个25MHz 晶体。 另一个主板使用25MHz 晶体为 TMS320F28388和 PHY 芯片馈电。

    不建议使用第一个电路板作为时钟方法、请参阅下面的 Beckhoff 应用手册《PHY 选择指南》。 ESC 和两个 PHY 应共享一个公共时钟源。

    对于第二个电路板、您是否正在使用无源晶体组件(即不需要电源)? 如果是、则不建议这样做、因为无法为所有连接的器件保持时钟完整性。 您应该改用有源/供电的25MHz 单端振荡器(每个 Beckhoff 满足+/- 25ppm 要求)、理想情况下具有额外的时钟缓冲器。

    您可以查看我们的 F2838x 或 F28P65x controlCARD 电路板设计作为参考。

    此致!

    凯文

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

    您好!

    您能否检查您锁定了 PLL VCO 的位置? 最小值为220MHz。

    此致!

    凯文

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

    您好,

    • 这是我的第二版板的原理图、

    • 我的时钟配置如下、我使用了 device.h 中的时钟宏定义、这样的话、PLL VCO 应该被配置为500MHz

    最佳

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

    您好!

    这是我的第二版主板的示意图,

    这对我来说很好。

    我的时钟配置如下所示,我使用了 device.h 中的时钟宏定义,因此 PLL VCO 应配置为500MHz

    是的、这看起来也可以。

    此致!

    凯文

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

    您好!

    因此、我不知道为什么会出现这个问题、并且如果您只修改 AUXPLLCLK 就不会发生这种情况。

    我想知道在使用官方发展委员会和更改时钟时是否会有任何问题、使其看起来像我的一样。

    最佳

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

    您好!

    我想知道在使用官方开发板和更改时钟以使其看起来像我的时钟时是否会有任何问题。

    controlCARD 评估板可用于检查此情况。 您是否有一个需要自己测试的设备?

    如果没有、我可以尝试一下、然后返回给您。

    此致!

    凯文

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

    您好!

    我现在没有 controlCARD 评估板。您愿意测试它吗?

    使用 EtherCAT 主例程、将 AUXPLL 设置为125MHz 并烧写到闪存中进行引导。

    此致!

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

    您好!

    我使用 TMDSCNCD28388D 测试了以下条件。 两者都工作正常、我能够使用 TwinCAT 进行扫描并进入 OP 模式。

    软件:"f2838x_cpu1_allocat_ecat_to_cm"和"f2838x_cm_echoback_solution"(仅尝试了 CM ECAT)

    1. 500 MHz AUXCLK:
      1. // 500MHz
        SysCtl_setAuxClock(SYSCTL_AUXPLL_ENABLE | SYSCTL_AUXPLL_OSCSRC_XTAL_SE |
                           SYSCTL_AUXPLL_IMULT(20) | SYSCTL_AUXPLL_FMULT_0 |
                           SYSCTL_AUXPLL_DIV_1);
                           
        // 200MHz / 2 = 100MHz
        SysCtl_setECatClk(SYSCTL_ECATCLKOUT_DIV_2, SYSCTL_SOURCE_SYSPLL,
                          ESC_DISABLE_INT_PHY_CLK);
    2. 125 MHz AUXCLK:
      1. // 125MHz
        SysCtl_setAuxClock(SYSCTL_AUXPLL_ENABLE | SYSCTL_AUXPLL_OSCSRC_XTAL_SE |
                           SYSCTL_AUXPLL_IMULT(40) | SYSCTL_AUXPLL_FMULT_0 |
                           SYSCTL_AUXPLL_REFDIV(2U) | SYSCTL_AUXPLL_ODIV(4U) |
                           SYSCTL_DCC_BASE_0 | SYSCTL_AUXPLL_DIV_1);
                           
        // 200MHz / 2 = 100MHz
        SysCtl_setECatClk(SYSCTL_ECATCLKOUT_DIV_2, SYSCTL_SOURCE_SYSPLL,
                          ESC_DISABLE_INT_PHY_CLK);

    此致!

    凯文

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

    您好!

    是否在闪存中运行且未连接至仿真器?

    此致!

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

    可以。 我  从闪存同时运行了"f2838x_cpu1_allocat_ecat_to_cm"和"f2838x_cm_echoback_solution"。  首先、我尝试连接仿真器、然后我对电路板下电上电、以测试独立的闪存操作。 两者都可以正常工作、能够在 TwinCAT 中扫描器件、并在使用自由运行模式时将其置于 OP 模式(我没有尝试使用实时模式/分布式时钟)。

    此致!

    凯文

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

    您好!

    非常感谢、但我们有不同的现象、我将等待我们的下一版本的电路板再次测试。

    最佳

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

    您好!

    可能是时钟源设计。 您的新电路板设计与我们在评估板中采用的25MHz 振荡器+时钟缓冲器器件更为匹配。 请计划使用+/- 25ppm 规格振荡器进行尝试、Beckhoff 指出这是某些 EtherCAT 特性/功能所必需的。

    此致!

    凯文