Why 4Links SpaceWire interfaces use Ethernet rather than USB
You might have noticed that 4Links sells Ethernet-connected SpaceWire interfaces, rather than USB ones. Why?
- USB is a polled bus. As a consequence, it can be really slow when used for small transfers. On the other hand, Ethernet is a switched bus, and it is also available with far higher data rates than USB2. 4Links products support Gbit/second Ethernet and can transfer data faster than USB2's theoretical maximum performance, and much faster than its typical performance. Indeed, the 4Links RG-40x platform can easily saturate a 200Mbit/second SpaceWire link in both directions simultaneously, even when the application software is reading / writing in blocks of as little as 5 bytes.
- USB device drivers would have to be written for every combination of processor architecture and operating system, which would be a nightmare for us to support. Instead, we supply a C programming API for Ethernet connections to our units. Ethernet is available on virtually every host computer and the operating system providers optimise their device drivers for Ethernet, so we don't have to.
- We are told that the maximum length of a USB cable overly-constrains the layout of equipment in a test laboratory. Gigabit Ethernet has no such limits; indeed, testers may access the 4Links EtherSpaceLink units in a laboratory from anywhere on the Internet.
- Direct access to USB-connected test equipment is only possible through the single computer to which it is attached. On the other hand, Ethernet-equipped SpaceWire test equipment can be accessed directly by any number of computers without the need to install special software services on one machine and to relay all of the test traffic through it.
- Using 4Links test equipment, interfaced to host computers using Ethernet, it is possible to build an EGSE system with a single ground point and no earth loops. This is much more difficult to achieve when the SpaceWire interfaces are connected to the host computer using USB, since the USB signals are referenced to ground.