[etherlab-users] real-time possible ?

Robert Schwebel r.schwebel at pengutronix.de
Fri Aug 7 09:31:59 CEST 2009


On Fri, Aug 07, 2009 at 10:45:09AM +0900, Peter Pastor wrote:
> I am writing an application that sends and receives UDP packages over
> ethernet to several digital controller cards. I need this application
> to run in real-time. I do not have influence on whatever is running on
> these cards.

I assume that with "whatever is running on these cards" is the non-RT
userspace software which is running on these Linux systems?

> I established communication using regular sockets. I am running
> xenomai and need this communication to run in real-time. So, I was
> wondering whether etherCAT allows me to do so without touching the
> client stack, or do I have to do the communication in a separate
> process and read/write from the xenomai real-time process through
> shared memory?

EtherCAT is a dedicated realtime network with ASICs instead of normal
ethernet cards in the slave devices, so it's only useful if you really
have an EtherCAT based network.

However, sending network packets under hard realtime conditions from
Linux userspace is easily possible, we have done it for example while
porting PowerLink stacks to Linux userspace (using raw sockets under
RT-Preempt). All you have to do is writing a proper POSIX realtime
application, get the priorities and other realtime things right, fix
kernel locking bugs which might turn up during that process etc.

Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the Etherlab-users mailing list