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.

[参考译文] LP-AM243:当更改 EtherCAT 从器件401_SIMPLE 的 PDO 上限大小时、0x1E:在 PS 状态转换期间输出无效输入配置。

Guru**** 2618835 points

Other Parts Discussed in Thread: LP-AM243

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1452334/lp-am243-when-changing-the-upper-limit-size-of-pdo-for-ethercat-slave-401_simple-0x1e-invalid-input-configuration-is-output-during-ps-state-transition

器件型号:LP-AM243

工具与软件:

你好

问题

当我将两个 TxPDO/RxPDO 的大小上限从1024字节更改为2048字节时、0x1E:在 PreOp->SafeOp 状态转换期间输出了无效输入配置。
我想知道上述解决方案。

背景

我将使用您的 LP-AM243板来评估 EtherCAT 从站堆栈。

评估环境如下。

CCS:12.7.1
SDK:ind_comms_sdk_am243x_09_02_00_08

作为我们公司提供的 EtherCAT 从站的401_SIMPLE 样片评估的一部分、我正在尝试验证是否可以提高 PDO 大小上限。
在当前样本中、PDO 上限为1024字节、因此我尝试将其增加到2048字节。

因此、我对上述样片进行了以下更改。

  1. 更改宏值
    project.h 行:52.
    #define EC_MAX_PD_LEN 1024
    -> #define EC_MAX_PD_LEN 2048


  2. 更改 ESI 文件中的 SM3起始地址
    TI AM243X.R5F Simple.xml 线路:3851
    <Sm StartAddress="#x2400" ControlByte="#x20" Enable="1">Inputs</Sm>
    -> <Sm StartAddress="#xC000" ControlByte="#x20" Enable="1">Inputs</Sm>
    


  3. 更改写入 EEPROM 的 SM3起始地址值
    void EC_SLV_APP_EEP_write(void *pContext, void *pEeprom, uint32_t length)
    {
        …
        uint16_t dbg_PdInStrAddr = 0xC000;
        …
        if(pageHead != NULL)
        {
            …
            OSAL_MEMORY_memcpy((uint16_t*)&pEeprom[0x120], &dbg_PdInStrAddr, sizeof(uint16_t));
            … 
        }
        …
    }
    

在进行上述更改后、我曾尝试更改 PDO 大小、但未起作用。
因此、我想知道解决办法、例如是否有任何其他必要的操作。

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

    您好!

    我会仔细研究这件事,并尽快回到你的身边。

    此致、

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

    您好!

    除了您提到的这些更改、还有必要更新中的宏值 ecat_def.h Beckhoff SSC 源文件中的调试文件。

    下面是 将过程数据大小增加到2048字节的示例宏值。

    #define MAX_PD_WRITE_ADDRESS    0x4FFF
    #define MAX_PD_READ_ADDRESS     0x4FFF
    #define MAX_PD_INPUT_SIZE       0x800
    #define MAX_PD_OUTPUT_SIZE      0x800
    #define MAX_MBX_WRITE_ADDRESS   0x4FFF
    #define MAX_MBX_READ_ADDRESS    0x4FFF


    此致、