Peter Puchwein wrote:
> Edouard TISSERANT wrote:
>> 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
>>
> 
> 
> Hi Edouard,
> 
> we are successfully using the EtherCAT-Master (www.etherlab.org) with 
> xenomai. We've choosen EtherCAT because of the high availability of 
> components.
> With the features CoE (Can over Ethercat) and EoE (Ethernet over 
> Ethercat) you have a lot of possibilities.
> Most common network drivers are already implemented for use with 
> realtime implementations like Xenomai.
Beware that Beckhoff does not allow open-source implementations of the EtherCAT
stack, they require you to sign a "shared source license" that prohibits anybody
to use the code for any other purpose than a "standard compliant EtherCAT
master". We scrapped all our EtherCAT development (which was demonstrated at
JavaOne 2007) because of that very prohibitive license.

/Anders

-- 
Anders Blomdell                  Email: [email protected]
Department of Automatic Control
Lund University                  Phone:    +46 46 222 4625
P.O. Box 118                     Fax:      +46 46 138118
SE-221 00 Lund, Sweden

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

Reply via email to