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:F28388 中的 ESM EEPROM 初始化不稳定

Guru**** 2553260 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1538197/tms320f28388d-esm-eeprom-initialization-unstable-in-f28388

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

工具/软件:

客户基于 F28388 开发 EtherCAT 功能、并满足 ESM EEPROM 初始化不稳定问题、下面是 I2C 波形和初始化代码、如果有任何设置错误、感谢仔细检查?

- 下面是 EEPROM  初始化 正常的波形,将发送 4 字节 0xFF 和初始化 返回通过,然后可以继续 I2C 正常通信,成功的速率约 8 10 倍。   

- 下面是 EEPROM 初始化失败的波形,将发送 16 字节 0xFF 并重复这种行为,最终初始化 返回 失败,无法进行正常通信,失败率约为 10 倍 2。

-下面是 初始化代码

e2e.ti.com/.../initialization-code.docx

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

    您好、Terry、  

    由于这里将 CM 内核用于 ECAT、他们利用我们 C2000WARE SDK 中的哪些示例构建其初始化固件? 我们有多个示例展示了这一点

    此致、

    彼得

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

    您好、Terry、

    我 在故障情况下看不到逻辑分析仪波形/数据。 从器件地址和数据字节是否得到确认?

    您是否能够判断逻辑分析仪中的 F2838x 主器件还是 EEPROM 从器件有问题?

    此致、

    Kevin

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

    是的、客户初始化固件与 C2000WARE SDK 示例几乎相同、只是 API 中有几个参数是不同的、我不确定这是否会导致问题、希望进行审查。

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

    这是故障情况的更详细波形、从地址和数据字节已得到确认、因此我想异常行为可能来自 F28388?

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

    您好、Terry、

    他们是将 ESC 分配给 CPU1 还是 CM 内核? 它们能否验证它们是否遵循以下相应的 SW INIT 序列? 此外、您能告诉我这个 EEPROM 通信问题是在 EEPROM 加载期间还是在其他时间发生?

    此致、

    Kevin

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

    您好 Kevin

    感谢您的建议、客户将 ESC 分配给 CM 内核、他们遵循固件中的以下顺序、但有时会满足上述问题。  

    但是、他们尝试交换步骤 3 和 4、首先配置 CM 时钟、然后将 ESC 分配给 CM、发现问题消失。  您认为更换步骤 3 和 4 是否正常?  

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

    您好、Terry、

    下面是我们在 C2000WARE f2838x_cpu1_allocal_ecat_to_cm 示例中提供的内容。

        //
        // Setup AUX Clock for ECAT and CM
        // Configured to 500MHz raw ((25 * 20 IMULT) /1)
        //
        SysCtl_setAuxClock(SYSCTL_AUXPLL_ENABLE | SYSCTL_AUXPLL_OSCSRC_XTAL |
                           SYSCTL_AUXPLL_IMULT(20) | SYSCTL_AUXPLL_FMULT_0 |
                           SYSCTL_AUXPLL_DIV_1);
    
        //
        // Setup GPIOs for EtherCAT
        //
        setupESCGPIOs();
    
        //
        // Allocate Ethercat to CM
        //
        SysCtl_allocateSharedPeripheral(SYSCTL_PALLOCATE_ETHERCAT,
                                        ALLOCATE_TO_CM);
    
        //
        // Setup CM clocks and release from reset to Wait Boot Mode
        //
        configureAndReleaseCMToWait();

    但是、我注意到在我们较新的 P65x 器件中、CPU ECAT 流程如下、其中将 ESC 分配给 CPU2 是 CPU1 的最后几步。 我认为这可能是一个更好的程序。 我们需要研究是否可能更新 F2838x ESC TRM 表。

    此致、

    Kevin