多语言展示
当前在线:743今日阅读:167今日分享:16

EtherCAT主站开发经验——基于X86或ARM

EtherCAT工业实时以太网技术以其高速,稳定的性能特点,被大量应用于运动控制,机器人,CNC等领域。而英特尔的X86CPU或ARM平台在嵌入式中的应用已经相当广泛了,在各种X86或ARM平台上开发实施EtherCAT主站也是一种稳定可行的方案。2EtherCAT伺服驱动器-如何选择硬件开发方案8EtherCAT主站开发经验——基于Zynq
工具/原料
1

X86或ARM开发平台,注意CPU和NIC(网卡)的型号

2

X86或ARM开发环境,一般为Visual Studio

3

EtherCAT主站源代码或API函数库:KPA主站源代码一份

4

INtime,QNX,RTX,VxWorks,Xenomai,Linux Posix rt-preempt,Windows等实时或非实时操作系统

5

EtherCAT配置工具:KPA Studio配置工具软件

方法/步骤
2

整个方案的结构框架。KPA Master包含了RPC Server(远程调用服务),内核库(即C源代码),API内核(API函数库),网卡驱动,操作系统抽象层(OSAL)等。其中,RPC Server可由KPA Studio或其它带RPC Client的工具进行调用,可进行EtherCAT网络配置,诊断或记录等功能。API内核提供了应用程序接口,开发人员可以通过这些API函数编写自己的应用程序。OSAL为源代码,用户可根据自己的需要适应到不同的操作系统中。

3

下面我们来看看KPA的EtherCAT可实现什么样的功能。基础版本(ClassB)的功能包括PDO,CoE,FoE,S2S等。而标准版本(ClassA)在原来ClassB的基础上又增加了EoE,SoE,AoE,VoE和最主要的DC功能。一般情况下用得最多的就是标准版本。而Premium版本和拓展版本的功能是KPA特有的,如线缆冗余,热链接,帧记录等功能也都是非常实用的。

4

影响主站性能的几个主要因素:1、CPU:一个性能强大的CPU是提高EtherCAT主站性能的基础,只有CPU足够强大,后续的性能提升还有可能性。2、NIC:EtherCAT要求网卡支持全双工通讯,理论上任何网卡都是可以运行EtherCAT的,但目前In tel的 I2xx 系列的表现是最好的。3、NIC Driver:网卡驱动对主站的影响主要体现在优化上,KPA的网卡驱动是专门针对EtherCAT优化的,可大大减小系统的抖动,让EtherCAT网络更稳定。4、RTOS:不同实时操作系统在实施EtherCAT主站时的表现也是不一样的,所以RTOS的选择也是相当重要的。5、中断控制器:中断控制的准确性和实时性对EtherCAT主站性能也有一定的影响。

5

下面我们来看一下各种操作系统下实施EtherCAT主站的测试参数。可见,INtime,RT preempt,QNX等实时操作系统的Cycle Times都可以达到100us以内,且抖动比较小,而Windows非实时操作系统的Cycle Times只能达到1ms的级别。为了体现EtherCAT的速度优势,实时操作系统的使用是必须的。

6

总结:基于X86或ARM开发EtherCAT主站相比用FPGA方案来说实现起来更加容易,但性能上不及FPGA的表现。

注意事项

注意影响主站性能的几个因素,选择合理的硬件和操作系统

推荐信息