A user space EtherCAT master architecture for hard real-time control systems

Recently, the open-source EtherCAT master developed by the IgH company, has been enhanced with the introduction of the EtherCAT library, which allows to develop control applications in user space. This feature makes it possible to build complex applications that need to use the floating point unit or existing user space libraries. Unfortunately, the EtherCAT library does not seem to be able to guarantee a high degree of determinism. In this paper, first the real-time performance of the user space implementation of the EtherCAT master is evaluated and compared with the one that can be obtained by implementing the same control application at the kernel level. Then, we propose an alternative hard real-time approach based on RTAI, that allows to exploit all the advantages of user space development, with a negligible impact on performance.