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:哇塞、我可以自行定义 PDO 吗?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1519012/tms320f28388d-wow-can-i-make-my-own-pdo-definitions

工具/软件:

尊敬的专家:

客户正在使用 TI f28p65x LaunchPad 并通过 EtherCAT 与 Beckhoff c603进行通信。 f28p65x_cpu1_dc_eepromemu_echoback 的示例正常工作:

问题是如何定义自己的 PDO? 示例中给出了-> ethercat_subdevice_ssc_and_demo_setup.exe、其中创建了-> f28p65x_ssc_config.xml、并将其导入 SSC 工具中以创建 F28P65x CPU1 EtherCAT SubDevice.xml 和 C 文件。

我是否应该手动编辑 f28p65x_ssc_config.xml、然后在 SSC 工具中导入(或)是否有其他方法?

关于 E2E 上的此帖子:

了解该线程后、我必须在 SSC 工具中加载 xml 配置、然后使用我的定义创建一个新的 Excel 工作表并生成文件。 这是正确的工作流程吗? 此外、如何更改分配时钟频率?

是否需要在 Launchpad 或主站 Beckhoff PC 中对其进行设置?

谢谢你。

此致、

阿奇·A·

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

    尊敬的 Archie:

    之前的 E2E 中的信息是正确且有效的。 您将需要创建和编辑 SSC 工具的 Excel 工作表。 另请参阅下面的 PDF 以了解详细信息和参考资料。

    https://download.beckhoff.com/download/document/io/ethercat-development-products/ethercat_slave_design_quick_guide.pdf

    [引述 userid="487726" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1519012/tms320f28388d-wow-can-i-make-my-own-pdo-definitions

    此外、如何更改分配时钟频率?

    是否需要在 Launchpad 或主站 Beckhoff PC 中对其进行设置?

    [/报价]

    您想更改 DC 同步设备或其他设备的频率? 这将在 Beckhoff PC 端完成、从而更改任务周期时间。 当然、这有一个最大频率(认为它是 SSC 工具中的"IN_PD_CYCLE_TIME")。

    此致、

    Kevin

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

    尊敬的 Archie:

    分享用于扩展数据量的 Excel 工作表示例。

    e2e.ti.com/.../F28P65x-CPU1-eCAT-Echoback-Data-Expand-v1.xlsx

    此致、

    Kevin

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

    您好 Kevin、

    非常感谢您的支持。

    后续问题-如何在从设备中设置已分配的时钟周期时间? 如果在示例中已设置该参数、在哪里可以找到周期时间设置为的相关代码(例如"X"纳秒)?

    73、
    阿奇·A·

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

    尊敬的 Archie:

    设置任务后、可以在 TwinCAT 侧更改周期时间。 我建议参考下面的 AM26x 材料、它非常清楚并且对于 C2000是相同的过程。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/08_02_00_28/exports/docs/api_guide_am263x/ETHERCAT_SLAVE_DEMO_TWINCAT.html#ETHERCAT_SLAVE_DEMO_TWINCAT_DC_MODE_TESTING 

    此致、

    Kevin

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

    尊敬的 Kevin:

    谢谢你。

    该示例按预期工作。 我一直将闪存存储体1中的 EEPROM 仿真与我已经开发的代码集成在一起。 链接器文件已更改。 我使用示例测试了新的链接器文件并将其正常工作。 但当我在项目中添加我的其他代码时、hw_init (或 ESC_initHW)在以下位置失败:

    while (ESC_loadedCheckEEPROM ()!= ESC_EEPROM_SUCCESS)

    eepromTimeOut--;

    //
    //导通超时、返回失败
    //
    IF (eepromTimeOut == 0U)

    return (ESC_HW_INIT_FAIL);//->正在返回此处
    }
    }

    I2C 似乎已初始化、我可以看到启用了中断。 我经历了 ESC_loadedCheckeeprom()函数链、但不知道会出现什么问题。 你有一些建议或提示吗?

    73、
    阿奇·A·

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

    尊敬的 Archie:

    您的 ESC EEPROM 由于某种原因未加载或被正确读取。 至少需要对一些字节进行编程/读取才能使其正常工作。

    您是否尝试使用 EEPROM 仿真解决方案本身、而不是 ECAT 主器件管理的标准 I2C EEPROM 编程?

    此致、

    Kevin

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

    尊敬的 Kevin:

    感谢您的支持。

    我们使用由 ESC 管理的标准 I2C 和 launchxl f28p65x。 我尝试进行调试已有4天、但无法理解发生了什么、因为该示例本身正常工作、我使用相同的初始化、只集成了我的部分代码。 然后 ECAT 错误 LED 在 ESC_resetESC ()之后立即开始闪烁;

    我在示例中查看了系统时钟频率:

    Volatile uint32_t lowspd_sysclk_Hz = SysCtl_getLowSpeedClock (DEVICE_setclock_CFG);
    Volatile uint32_t SYSCLK_Hz = SysCtl_getClock (DEVICE_setclock_CFG);
    asm (" ESTOP0");
    }

    奇怪的是、SYSCLK_Hz 值围绕71 MHz。 但在我的代码中是200MHz。 系统时钟和外设时钟频率是否有问题?

    非常感谢任何指导。

    73、
    阿奇·A·

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

    尊敬的 Archie:

    sysclk_Hz 值围绕71 MHz。 但在我的代码中是200MHz。 系统时钟和外设时钟频率是否有问题?

    代码是否卡在该时钟检查功能中? 您是否更改了与时钟配置相关的任何内容、使其不成为200MHz? 71MHz 似乎为奇数#。

    在使用 Bekchoff 的 SSC 工具重新生成堆栈代码后、您需要将新的 ESI 文件编程到 EEPROM 中。

    此致、

    Kevin