可跑在STM32上的EtherCAT主机协议栈

主流分开源轻量栈商业高性能栈两类


一、开源协议栈(免费、商用友好、STM32最常用)

1. SOEM(Simple Open EtherCAT Master)
  • 授权:BSD 2-Clause(商用闭源友好,无衍生开源要求)
  • 资源:极小(Flash ~40KB、RAM ~4KB),无OS依赖(裸机/FreeRTOS均可)
  • 支持芯片:STM32F4/F7/H7/MP1/MP2(CubeMX+RMII PHY:LAN8720/DP83848)
  • 核心能力:CoE(SDO/PDO)、DC分布式时钟、EOE/FOE、自动拓扑扫描、周期可达1--8kHz
  • 适用:伺服控制(CiA402)、小型主站、资源受限MCU、快速原型
2. CherryECAT(国产轻量主站,2021年起活跃)
  • 授权:MIT(商用友好)
  • 资源:极小(Flash ~40KB、RAM ~4KB),仅RTOS(FreeRTOS/Zephyr)
  • 支持芯片:STM32F4/F7/H7(零拷贝、异步队列传输)
  • 核心能力:DC抖动<3μs、最小周期<40μs、热插拔、多域PDO、冗余备份
  • 适用:多轴伺服、高实时性运动控制、国产替代项目
3. IgH EtherCAT Master(igh-ethercat)
  • 授权:GPLv2(静态链接/修改需开源,商业需购授权)
  • 资源:中等,依赖RTOS/Linux(STM32MP1/2 Linux首选)
  • 支持芯片:STM32MP1/MP2(Linux Preempt-RT)、H7(FreeRTOS移植版)
  • 核心能力:全功能(CoE/SoE/EoE/FOE)、DC同步成熟、冗余、热插拔、CiA402完整
  • 适用:Linux平台、复杂主站、高性能运动控制

二、商业协议栈(付费、高性能、ST官方推荐)

1. acontis EC-Master(工业级,ST官方合作伙伴)
  • 授权:商业(一次性/按节点授权,含源码)
  • 资源:中等,支持裸机/FreeRTOS/Linux
  • 支持芯片:STM32H7、STM32MP1/MP2(Linux Preempt-RT优化)
  • 核心能力:ETG.1500 A/B类、DC同步(抖动<1μs)、电缆冗余、热插拔、CiA402、SoE(伺服)
  • 适用:高端伺服主站、多轴同步、高可靠工业设备
2. icECAT(ST官方推荐,轻量商业栈)
  • 授权:商业(项目授权、免版权费、含源码)
  • 资源:极小,裸机/FreeRTOS/Zephyr(F4/F7/H7/MP2)
  • 核心能力:ETG.1500 A/B类、CoE/SoE/EoE/FOE、DC主从同步、热插拔、SII访问
  • 适用:ST芯片专属、快速集成、工业级稳定性

三、选型对比表(按STM32场景)

协议栈 授权 资源占用 OS依赖 最低周期 DC抖动 适合芯片 最佳场景
SOEM BSD 极小 1kHz 5--10μs F4/F7/H7 小型伺服主站、裸机
CherryECAT MIT 极小 RTOS 40μs <3μs F4/F7/H7 多轴运动、高实时
IgH GPLv2 中等 RTOS/Linux 100μs <1μs MP1/MP2/H7 Linux复杂主站
EC-Master 商业 中等 无/RTOS/Linux 50μs <1μs H7/MP1/MP2 高端工业设备
icECAT 商业 极小 无/RTOS 100μs <2μs F4/F7/H7 ST专属、快速集成

四、针对"STM32+汇川伺服"的选型建议

  • 首选:SOEM(免费、BSD授权、裸机可跑、CiA402适配汇川伺服、社区例程多)
  • 高实时多轴:CherryECAT(国产、MIT、DC抖动小、FreeRTOS)
  • 长期商用+高可靠:acontis EC-MastericECAT(商业授权、工业级稳定性、ST官方支持)

五、快速上手建议

  • SOEM:CubeMX配置ETH(RMII)+ FreeRTOS,移植SOEM底层(3--5个函数),即可扫描从站、SDO写控制字、PDO周期收发。
  • CherryECAT:基于FreeRTOS,零拷贝驱动,配置DC同步后可直接驱动汇川伺服(CiA402)。
相关推荐
破晓单片机1 天前
067、STM32项目分享:语音儿童学习书桌系统
stm32·单片机·嵌入式硬件
欢乐熊嵌入式编程1 天前
嵌入式 + MQTT:数据上传到阿里云实战(从0到1完整教程)
stm32·单片机·mqtt·freertos·嵌入式架构·efr32
破晓单片机1 天前
068、STM32项目分享:智能小区门禁系统
stm32·单片机·嵌入式硬件
bkspiderx2 天前
Windows DLL核心技术:深入理解__declspec(dllexport)与__declspec(dllimport)
windows·stm32·单片机·dllimport·dllexport·windows dll·__declspec
m0_547486662 天前
《ARM Cortex-M4嵌入式应用技术——基于STM32F407、STM32CubeMX与Proteus》全套PPT课件
arm开发·stm32·proteus
星夜夏空992 天前
STM32单片机学习(37) —— PWR和BKP
stm32·单片机·学习
星华云2 天前
[STM32] SAR型ADC(逐次逼近型ADC)工作原理简介
stm32·单片机·嵌入式硬件
飞霄不推销2 天前
ROS2--Tiwst数据类型转换到帧类型发给STM32
stm32·单片机·嵌入式硬件
阿泽·黑核2 天前
06 keyflow 多平台移植指南:STM32/51/ESP32/Linux
linux·stm32·嵌入式硬件
DLGXY2 天前
STM32 项目实战:温湿度 / 光敏 / 蓝牙 + 风扇 / LED 双闭环控制(二)
stm32·单片机·嵌入式硬件