[etherlab-dev] EtherCat performance
Mladen Knezic
mladen_knezic at etfbl.net
Tue Mar 23 18:36:14 CET 2010
Hello Niranjan,
Please note my comments below as I will try to give you some of the answers.
>As per my knowledge EtherCat performance mainly depends on payload data
>which is sent in the EtherCat frame. I would like to know
>Do any other factors or components affect the etherCat performance?
This is correct, if there are small number of slave devices in network. In
case when there are large number of slaves with small payload in network
(hundreds of slaves) forwarding delay becomes significant (approximately this
delay is 1us for typical two-port slave including PHY delays). This delay can
be reduced when EBUS is used on physical layer which is in case of modular
devices with internal EBUS backbone. Also, physical topology plays an
important role when communication cycle of the EtherCAT system is evaluated
(redundant ring topology is the most efficient while the star topology proven
to be the most efficient topology).
I can send you some results and conclusions of my research thesis about this
topic if you are interested about the details.
>1. Does the performance depend on the Ethernet controller which is used?
Could be. Mostly, the communication stack of the operating system is
responsible for this (remember that the EtherCAT master is implemented in
software). I'm not sure if the actual hardware can be introduce such a
latencies as a inefficient communication stack of protocol implemented in OS.
People generally try to avoid these problems by modifying device driver in
order to reduce large latencies and jitter.
>2. Does the performance depend on the network topology?
Yes. Pretty much in some cases.
>3. What are components (like PHY delay, slave forwarding delay and any other
>components) to be considered while calculating the EtherCat cycle time?
All of these that you mentioned have to be considered when calculating
EtherCAT cycle time. There are also cable propagation delays but they are
small in amount and can be neglected in most cases.
>4. What are distributed clocks? If distributed clocks are used can this help
>in improving the performance.
Distributed clocks are used to synchronize local system times of each slave
in network (with <<1us accuracy). This means that output update and input
acquisition times are accurately synchronized (happens at approximately same
time in all network). Performance (by means of network cycle time) doesn't
have anything with clock synchronization. You can have cycles of 10ms with
the <<1us synchronization accuracy.
>Will this affect my actual performance?
>I heard that the performance is affected by type of Ethernet controller
>chip? Is that correct?
Could be. But you have to do some research and calculations on the actual
system. I am very interested to hear about your results.
>I ‘m very much concerned about this because when I send a shared payload
>data (3 commands LRW,LWR,LRD) of 49 bytes to 3 different Slave I/O devices
>(digital output and analog input slave devices) my actual EtherCat cycle
>time achieved
>is 38 to 40 us (micro seconds) but the expected result according to IEEE
>report says that it just take 17 us(micro seconds).
If you could provide me some more details about this I would definitely do
some calculations and comparisons to your results. Does each device has 49
bytes data or it is 49 bytes for all devices (and if this is the case please
provide me with the information what is the payload for each device)? Have
you got these numbers (I'm referring to 38 to 40us) by measuring cycle time
or by another way? To what IEEE report you are referring when you are
expecting cycle time of 17us?
Best regards,
--
Mladen Knezic
Teaching Assistant
Faculty of Electrical Engineering
Banja Luka, Bosnia and Herzegovina
Web: www.etfbl.net
Phone: +387 65 804 205
Fax: +387 51 211 408
More information about the Etherlab-dev
mailing list