FPGA实现EtherCAT Master解决方案

【时间:2016 年 04 月 25 日, 来源:Cytech Design Centre, 作者:Blues Dong】

目前,工业以太网EtherCAT在伺服系统中的使用越来越广泛。其从站设备大多采用硬件化的设计,或使用专用芯片,或使用FPGA来实现EtherCAT从站功能,从而能最大限度的保证从站端的实时性。但是在主站设备上,仍然采用软件协议栈的方式来实现,其性能更多的依赖于CPU处理器的性能和操作系统的实时性能。这往往导致整个系统的成本很高,且造成处理器的负担很重,性能无法达到最佳。

现在骏龙科技设计中心(CytechDesign Centre),在传统方案的基础上,推出了性能和成本更优的EtherCATMaster解决方案。该方案把传统的EtherCATMaster软件协议栈变成了可在FPGA上运行的硬件协议栈,完全用FPGA的逻辑电路取代了软件,从而大大提高了主站端的系统实时性能。使用FPGA中内置的Nios II处理器来完成实时中断处理,可以大幅降低主CPU处理器的负担,且无需花费太多精力来提高操作系统的实时处理性能。此方案再配合Altera的SoC平台,可以完美的实现数控系统的主站设计。SoC芯片中的ARMCortex-A9双核处理器可以实现UI人机界面,通过内部总线与Nios II软处理器进行通信,由Nios II负责实时数据的处理,并通过EtherCAT总线控制底层的伺服电机驱动。

另外,该方案还创新性的实现了多个主端口同时通信,并通过主站统一授时的方式,实现多个主端口下的从站同步动作。这种方式不仅可以增加系统布网的灵活性,还可以在更短的同步周期内支持更多的从站同步动作。

 下图是主站方案的系统框图:

经过测试,在此平台下,可以在31.25us循环周期内实现至少两个伺服从站(4byte写/24byte读)的数据操作,还可以发送一个非周期性的数据包(最小以太网包),同时还可实现针对于伺服系统的位置与速度环的运算操作,此操作是由NiosII完成的,其主频是125MHz。

下表中列出了在31.25us循环周期内,各项数据处理的延时情况。

伺服轴数

周期性数据包

非周期性数据包

运算延时

总时长

1

8us

5.12us

6.3us

19.42us

2

12.16us

5.12us

12.26us

29.54us

由于NiosII的主频不高,导致其运算能力较低。如需要做大量复杂运算,可以使用SoC芯片中的ARMCortex-A9来替代NiosII。ARMCortex-A9是双核处理器,运行主频为800MHz,可以考虑采用AMP工作模式,一个处理器内核运行Linux-RT系统,另一个裸核运行,替代NiosII处理实时任务并做复杂运算。

整套参考设计的实物包括:

EtherCAT主站:               Altera Cyclone V SoC开发板

Nios II

EtherCAT Master IP

 

EtherCAT从站:             AlteraMAX10系列

Softing EtherCAT Slave IP

Cytech FOC 电流环 IP

 

         欢迎有兴趣的客户联系骏龙科技办事处了解参考设计详情。