ZHCAEA5 August   2024 AM625 , AM6442 , AM69 , TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 什么是 EtherCAT?
    2. 1.2 什么是 PLC?
    3. 1.3 什么是 CODESYS?
  5. 2评估平台和方法
    1. 2.1 硬件
    2. 2.2 软件
    3. 2.3 测试拓扑
  6. 3性能指标
    1. 3.1 Cyclictest 性能指标
    2. 3.2 EtherCAT 性能指标
  7. 4优化
    1. 4.1 已实现的优化
    2. 4.2 未来注意事项
      1. 4.2.1 设置最大 CPU 频率
      2. 4.2.2 隔离核心
      3. 4.2.3 设置 CPU 亲和性
      4. 4.2.4 隔离核心并设置 CPU 亲和性
      5. 4.2.5 Ksoftirqs 到 FIFO
      6. 4.2.6 增加实时调度时间
      7. 4.2.7 禁用 irqbalance
      8. 4.2.8 使用独立的网络接口卡 (NIC)
      9. 4.2.9 禁用不必要的驱动程序
  8. 5总结
  9. 6参考资料
  10. 7附录 A:如何使用 CODESYS 协议栈将 TI 嵌入式处理器设置为 EtherCAT 控制器
    1. 7.1 硬件要求
    2. 7.2 软件要求
    3. 7.3 硬件设置
    4. 7.4 软件设置
      1. 7.4.1 Windows PC 设置
      2. 7.4.2 EtherCAT 控制器设置
      3. 7.4.3 CODESYS Development System 项目
      4. 7.4.4 执行
    5. 7.5 如何查看性能测量结果
      1. 7.5.1 附录 A 资源
  11. 8附录 B:如何在 CODESYS 协议栈上实现无限运行时间
    1. 8.1 CODESYS 许可背景
    2. 8.2 获取 CODESYS 许可证
    3. 8.3 激活 CODESYS 许可证
      1. 8.3.1 背景
      2. 8.3.2 建议的步骤
    4. 8.4 验证已应用 CODESYS 许可证
      1. 8.4.1 验证已应用 CODESYS 许可证的已知问题

总结

AM62x、AM64x、AM69 和 TDA4VM 的基准测试结果表明,在过滤掉 CODESYS 启动或登录产生的结果的情况下,配置 1ms 周期时间是可以实现的。经过一些优化后,AM69 和 TDA4VM 等较高端的处理器可以实现低至 500µs 的周期时间,而 AM62x 和 AM64x 等较低端的处理器可以实现 1ms 的周期时间。此外,在最大周期时间方面,AM62x 的表现优于 AM64x,前者为 500µs,比后者约 900µs 低得多。AM62x 具有四个 A53 核心,运行时钟速度较高,为 1.4GHz,而 AM64x 只有两个 A53 核心,运行时钟速度为 1GHz。CODESYS EtherCAT 控制器应用程序使用的用于重新分配“IEC 任务”的核心数量更多,时钟速度更高,可以使周期时间缩短约 400µs。

预期是将从 cyclictest 结果中观察到的最坏中断延迟与运行 CODESYS EtherCAT 协议栈中观察到的周期时间对齐。实际结果表明,CODESYS 增加了大量额外的抖动。进一步的调整(例如更改时钟频率)可以改善周期时间性能;不过,更好地了解 CODESYS 相关线程如何影响调度和 CPU 负载有助于确定如何进一步优化周期时间性能。

请注意,本应用手册提供的分析来自使用通用以太网驱动程序在 Linux 上运行的 CODESYS EtherCAT 控制器协议栈。使用本机驱动程序运行 EtherCAT 控制器协议栈可以表现出更好的性能。基于 RTOS 的 EtherCAT 控制器协议栈已经展示了这一点,该协议栈具有由 IBV 开发的优化型本机驱动程序(协议栈名称为 icECAT),在基于高端 MCU 的平台上运行时周期时间达到 100µs。使用更有针对性的商业协议栈(例如 IBV icECAT),即使使用标准以太网驱动程序,在运行 Linux 的系统上也可以实现更好的性能(另请参阅 icECAT EtherCAT 主站协议栈基准测试)。