In automation and control, it is commonly stated that ethernet can't be used as a bus because it is not real time capable due to packet collisions. If important control packets collide, they often can't keep the hard real time conditions needed for control.

But what if I have a single point to point connection with Ethernet, no switch in between? To be more precise, I have an FPGA board with a giga-Ethernet port that is connected directly to my control PC. I think the benefits of giga Ethernet over CAN or USB for a p2p connection are huge, especially for high sampling rates and lots of data generation on the FPGA board.

Am I correct that with a point to point connection there can't be any packet collisions and therefore a real time environment is given even with ethernet?

Thanks in advance! ~fsb


Define real-time :)

On a more serious note, even though there will be no collisions, there is no guarantee that packets will not be lost (for instance due to implementation bugs). I've seen this happen.


To the first part, full-duplex mode is possible for point to point links in later Ethernet standards. You can usually force an Ethernet card into full duplex mode to avoid the possibility that the auto-negotiation scheme would set it to half duplex.

But I wouldn't say "therefore a real time environment is given" without a look at the behaviour of all the other parts of the entire system that the Ethernet segment is part of (flow control, NIC performance, busses, operating systems, etc.) And inversely, even if your Ethernet network is half-duplex, if you control and can customize all of the systems and software on the network, you can still impose your own time slice scheme to avoid collisions: http://www.embedded.com/design/connectivity/4023291/Real-Time-Ethernet =)


Correct - there can't be any "collision" on P2P Ethernet (only on half duplex medium such as coax). The problem then with your real-time expectations are pushed upwards at the OS firmware level.

  • It depends on the hardware. I have seen collisions on 10BaseT and 100BaseT, where (at least) one end had sufficient cross-bleed between the Rx and Tx elements. I'd say "there can't be any collisions for full-duplex point-to-point ethernet".
    – Vatine
    Jan 9 '11 at 10:18
  • that's what I am saying: half duplex --> collisions. 10BaseT/100Base-T in half duplex mode --> potential for collisions.
    – jldupont
    Jan 10 '11 at 15:03
  • Coax has nothing to do with the collision. The important part is the buffering in the switch.
    – Magellan
    Aug 23 '14 at 6:02
  • @magellan you might want to look-up your reference. Start with en.wikipedia.org/wiki/…
    – jldupont
    Aug 24 '14 at 12:05
  • I assure you, collisions occur in twisted pair media as well. Your answer is worded quite poorly and may give inexperienced the impression that the elimination of collisions is inherent in the media, not simply due to the connection being built.
    – Magellan
    Aug 24 '14 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy