AverNotes: The Whys and Wherefores of Ethernet

All the Avermetrics product lines, AverLAB and AverLine, use Wired Ethernet to connect to your host computer. We’re the only company in the audio test and measurement market to do this–everyone else uses USB. Why didn’t we?

You might guess it was to be different, and on some level you wouldn’t be entirely wrong. We do strive to think differently about everything. One thing drilled into my head from engineering school was to analyze things from first principles. To do otherwise is to be working out of a cookbook, mindlessly doing what everyone else does. So when thinking about how to do test and measurement better, one thing I had to consider was the connection from the test system to the host computer.

USB is Universal

USB has certain advantages. It is, well, universal. That’s what the U stands for, after all. USB connections are everywhere, and as far as consumers are concerned, they work fine. It’s fast, and it’s a bus (the ‘B’ part) so you can connect multiple units to one host. And it’s cheap.

What it isn’t is robust. Sure, it works nearly always. And if it doesn’t, try another cable or another USB port. Or reinstall the drivers. Sometimes voodoo helps. We’ve all been there. USB is a consumer interface meant for disk drives, printers, thumb drives, and so on. It was never meant to be rugged and bulletproof. For a test and measurement system, rugged and bulletproof are at the top of the requirements.

Another aspect of USB that isn’t very robust: the connectors. Take a look at the inside of a USB ‘A’ connector (the wider-than-tall side that plugs into your computer.) It has four little pads that look like traces on a circuit board. As the connector wears and the housings flex and bend, these little flat terminals slip and slide and wear and eventually lose connection. What happens then? Often, the result is your application or your whole computer crashes. You work, your production line, and your patience crashes with it.

Even worse, you are tied to where your analyzer is by a wire rope. Most USB cables are about 6 feet long. That’s a far away as you can get. The longest cable that will work at all is 15 feet. That seems ok, but what if you want to setup a test on your lab bench, then move to your desk and take data to add to a report, or to analyze while at your desktop computer? This just isn’t possible with USB.

There is another problem with USB: its hard. Developing a fully compliant USB device that works across all operating systems, including the ones that haven’t been released yet, requires a lot of work with hardware (480Mb/sec isn’t easy over two wires), firmware (the USB stack is immensely complicated, since it supports such a wide variety of devices), and software (since all devices require drivers, either custom ones or default ones built-in to the operating system). Low performance and limited features are possible using the OS’s “class compliant” drivers. Developing custom drivers is a never-ending task, since they must be updated often to match the latest OS releases.

Other interfaces have been popular in T&M in the past: IEEE-488 (HPIB/GPIB), RS-232, RS-485, and so on. None of these is really viable in the modern day. They are all slow, and generally not well supported anymore by operating systems and application software.

Ethernet to the Rescue

Which brings us to Wired Ethernet. Ethernet is low cost, it’s everywhere, and it’s incredibly reliable. Every operating system and programming language directly supports it. The connectors and cables are inexpensive yet physically strong. And the connections are galvanically isolated. Unlike most other interconnects–including USB–Ethernet uses transformers to isolate one device from another. This eliminates ground loops, which is critical in R&D and production test environments. And no drivers are required–they’re always built into the operating system.

In short, Ethernet just works.

A Doctorate in Networking?

What about tradeoffs? Everything has tradeoffs, right? Wired Ethernet requires configuration, which can be arcane and confusing. IP addresses and subnets, gateways, switches and routers. Who wants to get a Phd in networking just to get your audio analyzer to work?

Well, not me, and probably not you either. But that’s ok, because with AverLAB and AverLine you don’t need any degree at all. It really is Plug and Play. Here’s how:

Our software and hardware supports an array of protocols and features that make networking just work. If the hardware is on a normal network, it can get its settings via DHCP (Dynamic Host Configuration Protocol), just like most other devices on your network. But you can connect your AverLAB or AverLine system directly to an Ethernet port on your computer and it will just work without any settings being made at all. This is done using a protocol called AutoIP (sometimes called link-local address autoconfiguration, Zero-config, APIPA, and other names.) Basically, when an Ethernet interface finds there is no DHCP server available (and it hasn’t been assigned a fixed, or “static” address), AutoIP causes it to self-assign an address that is unique for that local connection. This sets everything up so the host computer and the Ethernet device can talk, without any human intervention for configuration.

We use other built-in protocols to make things even easier. The AverLAB software locates and builds a directory of all of the AverLAB and AverLine devices using ping, arp, and mDNS. Ping helps find the IP addresses of devices, while arp is used to get the MAC address (the never-changing hardware address of the device). mDNS is multicast DNS, which is a feature built into AverLAB and AverLine. mDNS acts like a tiny DNS server, which answers the question “who are you?” The software uses that to get the name and other information about the device, and to tell if it is an Avermetrics device or something else.

This is all nice to know, but you don’t need to understand any of it in order to use AverLAB. That’s the point, really. All of these protocols work together so it just works, right out of the box. Just plug AverLAB into your computer, or into your network, and start the software. The program will find AverLAB, connect to it, and you’re good to go. True zero configuration.

What about WiFi?

Careful readers will notice the use of the words Wired Ethernet. That means there is an actual copper cable connecting things. What about WiFi? Will AverLAB work over WiFi?

The answer is a qualified yes. We’ve designed our hardware and software to be completely bulletproof for R&D and production test environments. The most robust connection in that case is wired. WiFi is built on the idea of shared bandwidth in an environment of collisions and interference. In our office here in California, we see over 100 different WiFi access points, many of them sharing the same set of channels. There is a lot of interference in typical office environments, and this can lead to dropped packets and lost data. Too much of that and your robust connection becomes a bit dodgy. This can cause AverLAB to slow down, and in some cases lose connection with the software.

That said, even with the more than 100 conflicting access points in our office, using AverLAB over WiFi works fine. But we can only guarantee operation with Wired Ethernet–there’s no interference there. So for critical applications such as production test, we recommend using wired connections.

But What Does It Mean?

We think that Ethernet is the best possible answer to the question of how to connect a test and measurement system to a host computer. It’s fast, robust, rugged, expandable, easy, and flexible. What more could you want?

Paul Messick

About "Paul Messick"

Paul has more than 40 years of engineering experience in scientific instrumentation, radar and RF design, analog and audio design, and microprocessor based solutions. He started Avermetrics in 2011 to find a better way to test electronic products, both day-to-day on the bench and in high-volume factory production. In his spare time he is a truly awful guitar player, and with enough practice hopes to become merely terrible.