前言从通用到硬实时的那堵墙在工业自动化现场我们时常听到这样的抱怨明明 Linux 上跑个 EtherCAT 主站协议栈很简单可一到多轴联动、精密组装这类场景周期一不小心就飘了轨迹抖得让人心慌。 问题就出在硬实时三个字上。要在通用操作系统上实现微秒级的确定性与低抖动一直是机器人、多轴运动控制、半导体设备等高精度场景落地的关键挑战。开源界的明星——IgH EtherCAT Master协议栈凭借其精悍的内核级架构和 DC分布式时钟同步能力已成为连接 EtherCAT 从站与上层应用的核心桥梁。然而要让这颗明珠绽放全部光芒Preempt-RT 实时内核的加持以及底层硬件的精准配合缺一不可。今天我们基于米尔电子 MYD-LR3576 开发板——搭载瑞芯微 RK3576 高性能处理器通过1 ms 周期同步速度模式与125 μs 周期同步位置模式的实测对比为您揭示在 CPU 隔离核与满负载压力下如何将通讯抖动控制在亚微秒到微秒级范围并奉上一套可直接落地的工业级实时控制方案。第一章IgH EtherCAT Master——开源协议栈的硬核心脏对于初学者朋友您可以简单地把 EtherCAT 理解为一种工业现场的快递网络——主站是调度中心从站是各个执行节点数据报文像一列永不停止的高速列车把所有节点的信息一站收集、一站下发。IgH EtherCAT Master 就是那个极度守时的调度中心它运行在 Linux 内核空间直接从驱动层收发报文避免了用户态调度带来的不确定性。在专业工程师眼里IgH 的优点很直白支持分布时钟DC、内核级主站与通用以太网驱动深度结合、丰富的命令行与 API。它的抖动水平直接反映了整个实时系统的品质。而我们要做的就是让这调度中心的心跳在这个平台上达到高精度的规整。第二章实战项目——当 RK3576 遇上微秒级 EtherCAT 周期2.1 项目配置一览开发环境与硬件核心板米尔 MYD-LR3576RK35764×Cortex-A72 4×Cortex-A53双千兆网口操作系统buildroot内核 6.1.118 打上 Preempt-RT 补丁EtherCAT 主站IgH EtherCAT Master 1.6.0伺服与电机4 台支持 EtherCAT 的 SV630N 伺服驱动器搭配汇川 MS1H4 电机测试工具主站内部高精度时间戳图2硬件连接逻辑 – 双千兆网口之一作为 EtherCAT 主站下挂多台伺服2.1.1 测试方法与统计口径为了确保测试数据的可复现性和可信度本节说明测试方法与统计口径抖动定义本文中的周期抖动指实际周期时长相对目标周期的偏差实际周期 − 目标周期正负值分别表示周期超调和滞后。统计方式最大值、最小值、平均值基于原始采样数据直接计算未剔除启动阶段数据反映全周期真实表现。测试时长空载和压力测试每组连续运行 30 分钟以上长时间拷机连续运行 12 小时。测试负载空载测试仅保留串口输出关闭图形界面、SSH 服务和其他后台任务。压力测试通过 stress-ng 对非隔离核0-6施加 CPU 满载、内存读写和 IO 压力同时用 hackbench 制造调度延迟。从站配置4 台 SV630N 伺服驱动器每台配置标准 PDO 映射控制字、状态字、目标位置/速度、实际位置/速度DC 同步模式以第一个支持 DC 的从站为参考时钟。测量方法通过主站内部高精度时间戳记录每个周期起点相邻周期起点的时间差即为实际周期时长。2.2 空载测试亚微秒级的精准心跳我们把 EtherCAT 主站配置为1 ms 周期同步速度模式CPU 核 7 专供主站实时线程isolcpus7内核锁内存、线程优先级提升至最高系统除串口外无其他负载。连续运行半小时的周期抖动分布如下图3. ec_stmmac.ko 1000Hz 空载周期抖动分布最大 922ns平均 22ns切换到更极限的125 μs 周期同步位置模式即每秒 8000 帧电机在执行连续微步定位。得益于 DC 同步与驱动层精确时间标记实测抖动依然控制在较低水平125 μs 空载ec_stmmac.ko最大周期抖动922 ns平均抖动22 ns执行耗时12.7 μs125 μs 空载ec_generic.ko极端抖动±11.7 μs平均抖动21.1 ns执行耗时26.4 μs1μs 尖峰仅 1 次0.054%对于习惯μs甚至ms级别抖动的传统方案而言看到抖动进入亚微秒意味着毫秒级的轨迹规划将拥有极干净的底层时钟基准电机噪音更低多轴同步更精准。2.3 压力测试加压验证系统繁忙时的实时表现接下来我们测试压力模式下的设备实时情况。启动stress-ng工具对除隔离核以外的 0-6 核施加满负载压力CPU 满载、内存轮番读写、文件系统疯狂 IO同时用hackbench制造大量调度延迟。压力测试命令如下stress-ng -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s 即使在这种高负载的环境下我们隔离核上的 EtherCAT 主站实时线程依然保持稳定1 ms 压力测试ec_stmmac.ko最大周期抖动1.63 μs平均抖动121 ns1μs 尖峰高达 283 次11.58%1 ms 压力测试ec_generic.ko极端抖动±33.7 μs平均抖动36.0 ns1μs 尖峰仅 5 次0.21%125 μs 压力测试ec_stmmac.ko最大周期抖动1.30 μs平均抖动57 ns1μs 尖峰仅 1 次125 μs 压力测试ec_generic.ko极端抖动±43.5 μs平均抖动26.3 ns1μs 尖峰 10 次0.55%图4. ec_stmmac.ko 8000Hz 压力测试抖动分布最大 1.30μs平均 57nsec_generic.ko 对比相比之下ec_generic.ko通用驱动在同等压力条件下虽然 1μs 尖峰极少1000Hz 仅 5 次但极端抖动值可达 ±33.7 μs说明其在高压场景下瞬时抖动幅度更大。而在 8000Hz 压力测试中ec_generic 的极端抖动达到 ±43.5 μs1μs 尖峰 10 次ec_stmmac 则仅有 1 次超过 1 μs 且极值控制在 ±1.30 μs高频率下优势明显。图5. ec_generic.ko 8000Hz 压力测试抖动分布极端 ±43.5μs1μs 仅10次图6满负载压力下的实时隔离示意 – 非隔离核满负荷隔离核抖动仍保持在亚微秒级2.4 长时间拷机时间是最好的质检员我们将 125 μs 周期位置模式连续运行12 小时确保车间日夜不关机场景下的可靠性。期间图7. ec_stmmac.ko 8000Hz 长时间运行抖动分布47512 条记录最大 1.25μs0 丢帧主站状态机未发生一次 OP 到 SAFEOP 的异常跳变DC 时间漂移补偿稳定在±20 ns以内抖动统计与 1 小时测试高度吻合无周期性尖峰或缓慢恶化现象这证明整套方案不仅能跑更可长期稳定运行具备了从打样走向量产的底气。第三章方案实现的硬核细节——从内核到代码层层拆解这部分为专业工程师准备拆解低抖动背后的技术骨架。3.1 EtherCAT 驱动栈专用驱动是关键我们在 MYD-LR3576 上部署了ec_stmmac.ko这是专为 RK3576 的 STMMAC 千兆以太网控制器适配的实时驱动。EtherCAT 主站需要精确控制网卡的数据收发时机标准 Linux 网卡驱动使用中断驱动模型其响应时间受内核调度器影响无法满足 EtherCAT 周期性通信通常 1ms 甚至更短的确定性要求。ec_stmmac.ko在原有通用 MAC 驱动基础上针对 Preempt-RT 内核做了 NAPI 调度优化并开启了硬件时间戳HW Timestamp确保报文收发流程中的时间标记和中断处理延迟降至最低。相比之下ec_generic.ko作为通用 IgH 网卡驱动适用于大多数标准以太网控制器兼容性好但执行效率较低1000Hz 下耗时 32.3 μs是 ec_stmmac 的近 3 倍且极端抖动幅度更大。图8IgH 驱动栈与 Preempt-RT 内核的关系3.2 内核Preempt-RT 精调配置内核版本6.1.118-rt36启用了完全内核抢占CONFIG_PREEMPT_RT关键配置项CONFIG_HZ1000提高内核定时器精度CONFIG_HIGH_RES_TIMERSyCONFIG_NO_HZ_FULLy针对隔离核关闭无干扰时钟CONFIG_CPU_ISOLATIONybootargs 配置isolcpus7 rcu_nocbs7 nohz_full7 irqaffinity0-6这样隔离核 7 上几乎不处理内核杂务和中断将全部算力留给 EtherCAT 实时线程。3.3 应用层代码的护身符在应用程序启动时我们做了四件事确保实时线程不被打扰内存锁定调用mlockall(MCL_CURRENT | MCL_FUTURE)避免缺页导致延迟。线程优先级将 EtherCAT 主站循环线程设置为SCHED_FIFO优先级 99。CPU 亲和性将实时线程与日志、监控等非实时线程物理隔开实时线程绑定在隔离核 7其余线程限定在核 0-6。DC 同步配置激活主站的分布式时钟以第一个支持 DC 的从站作为参考时钟补偿静态漂移并将周期任务与 DC 信号对齐确保数据交换窗口精确同步。图9隔离核与非隔离核的线程分配 – 实时线程独占核7不受日志/UI干扰第四章展望——从单板高速运动到边缘智能控制基于 RK3576 的出色算力内置 6 TOPS NPU和双千兆以太网这套 EtherCAT 主站方案不仅能满足 32 轴甚至更多轴的微秒级同步控制还可无缝融入边缘 AI 推理。想象一下同一块板子上隔离核驱动 125 μs 高精度运动控制其余核运行视觉抓拍与缺陷检测这种运动视觉实时一体化架构将彻底简化产线控制器设计为柔性制造、协作机器人等领域带来质的飞跃。米尔 MYD-LR3576 开发板完备的接口和工业级温度范围让其本身即可作为量产核心板直接嵌入设备大大缩短产品上市周期。第五章落地注意——避开那些看不见的坑最后分享几点实操经验帮您少走弯路中断亲和性不可马虎不仅要隔离 CPU还需通过/proc/irq/*/smp_affinity将千兆网口中断绑定到非隔离核否则隔离核会被频繁唤醒。实时驱动选择通用网卡驱动在 RT 内核下可能出现锁反转务必使用适配的ec_stmmac驱动若遇丢帧首先检查 DMA 缓冲区大小与中断合并设置。DC 时钟的冷启动驯服刚进入 OP 状态时驱动系统漂移补偿需要数秒收敛建议在应用层检测 DC 稳定标志后再开始严格同步的运动指令。监控而不打扰将实时数据通过共享内存传递到非 RT 核由非实时核负责存储或网络上报避免直接printf或写磁盘引起千奇百怪的延迟。驱动对比分析与选型建议本文同时对 ec_generic.ko通用 IgH 驱动和 ec_stmmac.koDWMAC 专用驱动进行了全面的周期抖动对比测试关键对比数据如下选型场景推荐推荐使用 ec_generic.ko 的场景系统存在 CPU 压力负载 — 压力下 1μs 尖峰仅 5 次优于 ec_stmmac 的 283 次运行频率较低~1000Hz— 执行耗时不是瓶颈抗干扰能力更有价值不能容忍偶发性大抖动中断控制流程 — 虽最大抖动大但概率极低使用独立 PCIe 网卡IGB/IGC而非 DWMAC 内置 MAC推荐使用 ec_stmmac.ko 的场景系统 CPU 资源充裕、无压力干扰 — 抖动低至 922ns执行耗时仅 11μs高频率运行≥8000Hz— 执行耗时优势明显压力下表现反而更优长时间不间断运行 — 经测试 47512 条记录仅 10 次微小超限对执行效率有较高要求 — 每周期可节省约 20μs CPU 时间总结ec_stmmac.ko 性能更好、效率更高但在 CPU 压力场景下 1μs 尖峰较多ec_generic.ko 虽慢但在低频压力下尖峰更少、抗突发干扰能力较好。建议根据实际负载特征和周期要求进行选型压力负载高、周期较低时 ec_generic 更有优势高频场景或充裕隔离资源下 ec_stmmac 表现更优。最终结论基于 MYD-LR3576 的 RK3576 平台结合 Linux Preempt-RT 实时内核和 IgH EtherCAT Master可构建具备工业实时控制能力的 EtherCAT 主站方案。在本测试条件下该方案能够稳定运行 1 ms 和 125 μs 控制周期并在长时间测试中保持主站状态稳定。其中ec_stmmac.ko 专用驱动在执行耗时和高频周期场景下优势更明显适合对 8000 Hz 等高控制周期有要求的应用ec_generic.ko 通用驱动兼容性更好适合快速验证和通用网卡场景。实际项目中应结合周期频率、极端抖动容忍度和开发维护成本进行选型。
纳秒级抖动×24小时零丢帧:RK3576工业级EtherCAT主站全拆解
发布时间:2026/5/31 16:18:38
前言从通用到硬实时的那堵墙在工业自动化现场我们时常听到这样的抱怨明明 Linux 上跑个 EtherCAT 主站协议栈很简单可一到多轴联动、精密组装这类场景周期一不小心就飘了轨迹抖得让人心慌。 问题就出在硬实时三个字上。要在通用操作系统上实现微秒级的确定性与低抖动一直是机器人、多轴运动控制、半导体设备等高精度场景落地的关键挑战。开源界的明星——IgH EtherCAT Master协议栈凭借其精悍的内核级架构和 DC分布式时钟同步能力已成为连接 EtherCAT 从站与上层应用的核心桥梁。然而要让这颗明珠绽放全部光芒Preempt-RT 实时内核的加持以及底层硬件的精准配合缺一不可。今天我们基于米尔电子 MYD-LR3576 开发板——搭载瑞芯微 RK3576 高性能处理器通过1 ms 周期同步速度模式与125 μs 周期同步位置模式的实测对比为您揭示在 CPU 隔离核与满负载压力下如何将通讯抖动控制在亚微秒到微秒级范围并奉上一套可直接落地的工业级实时控制方案。第一章IgH EtherCAT Master——开源协议栈的硬核心脏对于初学者朋友您可以简单地把 EtherCAT 理解为一种工业现场的快递网络——主站是调度中心从站是各个执行节点数据报文像一列永不停止的高速列车把所有节点的信息一站收集、一站下发。IgH EtherCAT Master 就是那个极度守时的调度中心它运行在 Linux 内核空间直接从驱动层收发报文避免了用户态调度带来的不确定性。在专业工程师眼里IgH 的优点很直白支持分布时钟DC、内核级主站与通用以太网驱动深度结合、丰富的命令行与 API。它的抖动水平直接反映了整个实时系统的品质。而我们要做的就是让这调度中心的心跳在这个平台上达到高精度的规整。第二章实战项目——当 RK3576 遇上微秒级 EtherCAT 周期2.1 项目配置一览开发环境与硬件核心板米尔 MYD-LR3576RK35764×Cortex-A72 4×Cortex-A53双千兆网口操作系统buildroot内核 6.1.118 打上 Preempt-RT 补丁EtherCAT 主站IgH EtherCAT Master 1.6.0伺服与电机4 台支持 EtherCAT 的 SV630N 伺服驱动器搭配汇川 MS1H4 电机测试工具主站内部高精度时间戳图2硬件连接逻辑 – 双千兆网口之一作为 EtherCAT 主站下挂多台伺服2.1.1 测试方法与统计口径为了确保测试数据的可复现性和可信度本节说明测试方法与统计口径抖动定义本文中的周期抖动指实际周期时长相对目标周期的偏差实际周期 − 目标周期正负值分别表示周期超调和滞后。统计方式最大值、最小值、平均值基于原始采样数据直接计算未剔除启动阶段数据反映全周期真实表现。测试时长空载和压力测试每组连续运行 30 分钟以上长时间拷机连续运行 12 小时。测试负载空载测试仅保留串口输出关闭图形界面、SSH 服务和其他后台任务。压力测试通过 stress-ng 对非隔离核0-6施加 CPU 满载、内存读写和 IO 压力同时用 hackbench 制造调度延迟。从站配置4 台 SV630N 伺服驱动器每台配置标准 PDO 映射控制字、状态字、目标位置/速度、实际位置/速度DC 同步模式以第一个支持 DC 的从站为参考时钟。测量方法通过主站内部高精度时间戳记录每个周期起点相邻周期起点的时间差即为实际周期时长。2.2 空载测试亚微秒级的精准心跳我们把 EtherCAT 主站配置为1 ms 周期同步速度模式CPU 核 7 专供主站实时线程isolcpus7内核锁内存、线程优先级提升至最高系统除串口外无其他负载。连续运行半小时的周期抖动分布如下图3. ec_stmmac.ko 1000Hz 空载周期抖动分布最大 922ns平均 22ns切换到更极限的125 μs 周期同步位置模式即每秒 8000 帧电机在执行连续微步定位。得益于 DC 同步与驱动层精确时间标记实测抖动依然控制在较低水平125 μs 空载ec_stmmac.ko最大周期抖动922 ns平均抖动22 ns执行耗时12.7 μs125 μs 空载ec_generic.ko极端抖动±11.7 μs平均抖动21.1 ns执行耗时26.4 μs1μs 尖峰仅 1 次0.054%对于习惯μs甚至ms级别抖动的传统方案而言看到抖动进入亚微秒意味着毫秒级的轨迹规划将拥有极干净的底层时钟基准电机噪音更低多轴同步更精准。2.3 压力测试加压验证系统繁忙时的实时表现接下来我们测试压力模式下的设备实时情况。启动stress-ng工具对除隔离核以外的 0-6 核施加满负载压力CPU 满载、内存轮番读写、文件系统疯狂 IO同时用hackbench制造大量调度延迟。压力测试命令如下stress-ng -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s 即使在这种高负载的环境下我们隔离核上的 EtherCAT 主站实时线程依然保持稳定1 ms 压力测试ec_stmmac.ko最大周期抖动1.63 μs平均抖动121 ns1μs 尖峰高达 283 次11.58%1 ms 压力测试ec_generic.ko极端抖动±33.7 μs平均抖动36.0 ns1μs 尖峰仅 5 次0.21%125 μs 压力测试ec_stmmac.ko最大周期抖动1.30 μs平均抖动57 ns1μs 尖峰仅 1 次125 μs 压力测试ec_generic.ko极端抖动±43.5 μs平均抖动26.3 ns1μs 尖峰 10 次0.55%图4. ec_stmmac.ko 8000Hz 压力测试抖动分布最大 1.30μs平均 57nsec_generic.ko 对比相比之下ec_generic.ko通用驱动在同等压力条件下虽然 1μs 尖峰极少1000Hz 仅 5 次但极端抖动值可达 ±33.7 μs说明其在高压场景下瞬时抖动幅度更大。而在 8000Hz 压力测试中ec_generic 的极端抖动达到 ±43.5 μs1μs 尖峰 10 次ec_stmmac 则仅有 1 次超过 1 μs 且极值控制在 ±1.30 μs高频率下优势明显。图5. ec_generic.ko 8000Hz 压力测试抖动分布极端 ±43.5μs1μs 仅10次图6满负载压力下的实时隔离示意 – 非隔离核满负荷隔离核抖动仍保持在亚微秒级2.4 长时间拷机时间是最好的质检员我们将 125 μs 周期位置模式连续运行12 小时确保车间日夜不关机场景下的可靠性。期间图7. ec_stmmac.ko 8000Hz 长时间运行抖动分布47512 条记录最大 1.25μs0 丢帧主站状态机未发生一次 OP 到 SAFEOP 的异常跳变DC 时间漂移补偿稳定在±20 ns以内抖动统计与 1 小时测试高度吻合无周期性尖峰或缓慢恶化现象这证明整套方案不仅能跑更可长期稳定运行具备了从打样走向量产的底气。第三章方案实现的硬核细节——从内核到代码层层拆解这部分为专业工程师准备拆解低抖动背后的技术骨架。3.1 EtherCAT 驱动栈专用驱动是关键我们在 MYD-LR3576 上部署了ec_stmmac.ko这是专为 RK3576 的 STMMAC 千兆以太网控制器适配的实时驱动。EtherCAT 主站需要精确控制网卡的数据收发时机标准 Linux 网卡驱动使用中断驱动模型其响应时间受内核调度器影响无法满足 EtherCAT 周期性通信通常 1ms 甚至更短的确定性要求。ec_stmmac.ko在原有通用 MAC 驱动基础上针对 Preempt-RT 内核做了 NAPI 调度优化并开启了硬件时间戳HW Timestamp确保报文收发流程中的时间标记和中断处理延迟降至最低。相比之下ec_generic.ko作为通用 IgH 网卡驱动适用于大多数标准以太网控制器兼容性好但执行效率较低1000Hz 下耗时 32.3 μs是 ec_stmmac 的近 3 倍且极端抖动幅度更大。图8IgH 驱动栈与 Preempt-RT 内核的关系3.2 内核Preempt-RT 精调配置内核版本6.1.118-rt36启用了完全内核抢占CONFIG_PREEMPT_RT关键配置项CONFIG_HZ1000提高内核定时器精度CONFIG_HIGH_RES_TIMERSyCONFIG_NO_HZ_FULLy针对隔离核关闭无干扰时钟CONFIG_CPU_ISOLATIONybootargs 配置isolcpus7 rcu_nocbs7 nohz_full7 irqaffinity0-6这样隔离核 7 上几乎不处理内核杂务和中断将全部算力留给 EtherCAT 实时线程。3.3 应用层代码的护身符在应用程序启动时我们做了四件事确保实时线程不被打扰内存锁定调用mlockall(MCL_CURRENT | MCL_FUTURE)避免缺页导致延迟。线程优先级将 EtherCAT 主站循环线程设置为SCHED_FIFO优先级 99。CPU 亲和性将实时线程与日志、监控等非实时线程物理隔开实时线程绑定在隔离核 7其余线程限定在核 0-6。DC 同步配置激活主站的分布式时钟以第一个支持 DC 的从站作为参考时钟补偿静态漂移并将周期任务与 DC 信号对齐确保数据交换窗口精确同步。图9隔离核与非隔离核的线程分配 – 实时线程独占核7不受日志/UI干扰第四章展望——从单板高速运动到边缘智能控制基于 RK3576 的出色算力内置 6 TOPS NPU和双千兆以太网这套 EtherCAT 主站方案不仅能满足 32 轴甚至更多轴的微秒级同步控制还可无缝融入边缘 AI 推理。想象一下同一块板子上隔离核驱动 125 μs 高精度运动控制其余核运行视觉抓拍与缺陷检测这种运动视觉实时一体化架构将彻底简化产线控制器设计为柔性制造、协作机器人等领域带来质的飞跃。米尔 MYD-LR3576 开发板完备的接口和工业级温度范围让其本身即可作为量产核心板直接嵌入设备大大缩短产品上市周期。第五章落地注意——避开那些看不见的坑最后分享几点实操经验帮您少走弯路中断亲和性不可马虎不仅要隔离 CPU还需通过/proc/irq/*/smp_affinity将千兆网口中断绑定到非隔离核否则隔离核会被频繁唤醒。实时驱动选择通用网卡驱动在 RT 内核下可能出现锁反转务必使用适配的ec_stmmac驱动若遇丢帧首先检查 DMA 缓冲区大小与中断合并设置。DC 时钟的冷启动驯服刚进入 OP 状态时驱动系统漂移补偿需要数秒收敛建议在应用层检测 DC 稳定标志后再开始严格同步的运动指令。监控而不打扰将实时数据通过共享内存传递到非 RT 核由非实时核负责存储或网络上报避免直接printf或写磁盘引起千奇百怪的延迟。驱动对比分析与选型建议本文同时对 ec_generic.ko通用 IgH 驱动和 ec_stmmac.koDWMAC 专用驱动进行了全面的周期抖动对比测试关键对比数据如下选型场景推荐推荐使用 ec_generic.ko 的场景系统存在 CPU 压力负载 — 压力下 1μs 尖峰仅 5 次优于 ec_stmmac 的 283 次运行频率较低~1000Hz— 执行耗时不是瓶颈抗干扰能力更有价值不能容忍偶发性大抖动中断控制流程 — 虽最大抖动大但概率极低使用独立 PCIe 网卡IGB/IGC而非 DWMAC 内置 MAC推荐使用 ec_stmmac.ko 的场景系统 CPU 资源充裕、无压力干扰 — 抖动低至 922ns执行耗时仅 11μs高频率运行≥8000Hz— 执行耗时优势明显压力下表现反而更优长时间不间断运行 — 经测试 47512 条记录仅 10 次微小超限对执行效率有较高要求 — 每周期可节省约 20μs CPU 时间总结ec_stmmac.ko 性能更好、效率更高但在 CPU 压力场景下 1μs 尖峰较多ec_generic.ko 虽慢但在低频压力下尖峰更少、抗突发干扰能力较好。建议根据实际负载特征和周期要求进行选型压力负载高、周期较低时 ec_generic 更有优势高频场景或充裕隔离资源下 ec_stmmac 表现更优。最终结论基于 MYD-LR3576 的 RK3576 平台结合 Linux Preempt-RT 实时内核和 IgH EtherCAT Master可构建具备工业实时控制能力的 EtherCAT 主站方案。在本测试条件下该方案能够稳定运行 1 ms 和 125 μs 控制周期并在长时间测试中保持主站状态稳定。其中ec_stmmac.ko 专用驱动在执行耗时和高频周期场景下优势更明显适合对 8000 Hz 等高控制周期有要求的应用ec_generic.ko 通用驱动兼容性更好适合快速验证和通用网卡场景。实际项目中应结合周期频率、极端抖动容忍度和开发维护成本进行选型。