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 许可证的已知问题

Ksoftirqs 到 FIFO

默认情况下,与每个核心关联的 ksoftirqs 调度为 “TS”、“time-sliced”、“time-sharing”或“SCHED_OTHER”调度策略(同一调度策略有四个不同的名称)。这是一个循环的周期时间共享策略,适用于所有不需要特殊实时机制的进程。由于 ksoftirqs 由与以太网相关的中断使用(这些中断由 EtherCAT 数据包使用),因此验证 ksoftirqs 在实时方案中以尽可能高的优先级进行调度非常重要。因此,尽可能将“TS”更改为“FIFO”。换句话说,使用优先级高于 -56(EtherCAT 任务设置为此优先级)的“SCHED_FIFO”。此过程可使用 chrt -f -p <priority> <process id> 命令执行。