Dear hackers,

I've been passing last month seeking for the best way to implement
Powerlink with Xenomai. I still didn't find the absolute truth, and
would like to confront my point of view.

In short, Powerlink is a kind of CANopen over polled ethernet.
Powerlink re-use a subset of CANopen concepts for high level
communications, whereas on the low level, a single master cyclically
poll each node for data. As you can imagine, communication cycle is
seriously influenced by each controlled node latency answering poll
requests from master.

My intention is to write an efficient Powerlink implementation for
Xenomai, but suitable for later reuse in future Real Time Linux
implementation such as RT-PREEMPT. Discussing with RT-PREEMT gurus, I
understood that re-using native Linux queues could never be a
solution, as those queues induce way too long and unpredictable
latencies for such real-time ethernet (those latencies also apply for
SocketCan). Some software hook at ethernet driver level will be
necessary to reroute RT-related packets directly to the concerned RT
stack. With this approach, the whole stack would have to stay kernel
side to reduce latency in answering poll requests. Implementing the
whole CANopen stack kernel side is generally a bad idea, as it
complicate access to object dictionary from application, usually in
user space.

RTnet proves that Real-Time ethernet can be implemented through the
socket paradigm. I believe that Time Division Medium Access (TDMA) of
RTnet could be interchanged with polled ethernet medium access
discipline from Powerlink. Thus, CANopen implementation part could
stay user side, and could pre-fill answers to poll requests, avoiding
long latencies. But what is the future of RTnet ? Will it be ported to
RT-PREEMPT or will it enter official Xenomai tree ? Will available
RTnet's drivers set continue to grow ? Would it be theoretically
possible for RTnet to support Linux ethernet drivers through a hook
mechanism as mentioned in previous paragraph ?

My feeling is that, yes, we should try to fit implementation of
Powerlink data link layer inside RTnet as another MAC discipline, and
use a modified version of CanFestival for CANopen aspects, keeping it
a user space library. Please comment.

Best regards,

Edouard

-- 
LOLITech
24, rue Pierre Evrat
88100 Saint-DiƩ des Vosges
tel: +33 3 29 57 60 42
mob: +33 6 10 49 76 41
[email protected]
http://www.lolitech.fr

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to