For measuring it may be important to have the measuring device galvanically isolated from the analyzing computer. Some devices use internal I2S isolators (e.g. RTX6001, some RPi DACs) but most USB audio devices don't.
USB isolators up to full speed (12Mbps) are inexpensive (ADUM etc.), but full speed does not allow duplex higher samplerates. High-speed (480Mbps) isolators are still quite expensive (150USD+).
A dirt-cheap galvanically-isolated data-transfer technology is ethernet. I tested USB-IP protocol offered by linux and it behaves great. RPi4 hosting a USB soundcard, linked with 100Mbps ethernet to a PC. When RPi exports the USB device over network and the PC attaches it, a USB soundcard appears in the PC OS which can be used by any software. Since the USB-IP protocol transfers raw USB communication, the actual USB device drivers are applicable only on the PC side.
Another advantage is the max ethernet distance is much higher than for USB, it may come handy for some use cases.
Duplex 192kHz/24bit/2ch generated 12Mbps of ethernet traffic in both directions (9.2Mbps raw data + overhead). Load on RPi was 20% of one core for each direction, the more powerful PC was at 2 x 8%.
I tried to measure how USB over network affects latency with jack_delay jack delay [Linux-Sound] but could not get any statistically significant difference compared to direct USB connection (ping between the PC and RPi is 300us avg. on my home network).
Since the USB-IP stack has been in linux for many years, even the cheapest ARM boards with 100Mbps ethernet supporting older kernel will do easily (e.g. Orange Pi Zero for 12USD incl. shipping + any USB charger). Or a dirt-cheap router with USB port, running properly-configured OpenWRT.
There are proprietary USB-IP solutions for windows too but they are not possible to use on the inexpensive ARM boards out of the box.
I can imagine the "smart" USB RPi4-based soundcard having the actual USB soundcard connected via the isolated ethernet + small board, as a low-cost galvanic-isolation option. The output/input frontend would be isolated in any case.
USB isolators up to full speed (12Mbps) are inexpensive (ADUM etc.), but full speed does not allow duplex higher samplerates. High-speed (480Mbps) isolators are still quite expensive (150USD+).
A dirt-cheap galvanically-isolated data-transfer technology is ethernet. I tested USB-IP protocol offered by linux and it behaves great. RPi4 hosting a USB soundcard, linked with 100Mbps ethernet to a PC. When RPi exports the USB device over network and the PC attaches it, a USB soundcard appears in the PC OS which can be used by any software. Since the USB-IP protocol transfers raw USB communication, the actual USB device drivers are applicable only on the PC side.
Another advantage is the max ethernet distance is much higher than for USB, it may come handy for some use cases.
Duplex 192kHz/24bit/2ch generated 12Mbps of ethernet traffic in both directions (9.2Mbps raw data + overhead). Load on RPi was 20% of one core for each direction, the more powerful PC was at 2 x 8%.
I tried to measure how USB over network affects latency with jack_delay jack delay [Linux-Sound] but could not get any statistically significant difference compared to direct USB connection (ping between the PC and RPi is 300us avg. on my home network).
Since the USB-IP stack has been in linux for many years, even the cheapest ARM boards with 100Mbps ethernet supporting older kernel will do easily (e.g. Orange Pi Zero for 12USD incl. shipping + any USB charger). Or a dirt-cheap router with USB port, running properly-configured OpenWRT.
There are proprietary USB-IP solutions for windows too but they are not possible to use on the inexpensive ARM boards out of the box.
I can imagine the "smart" USB RPi4-based soundcard having the actual USB soundcard connected via the isolated ethernet + small board, as a low-cost galvanic-isolation option. The output/input frontend would be isolated in any case.
A refurbished x86 thin client with class II adapter would be the most economical solution - quality good-brand (basically immortal) HW, gigabit ethernet, very reliable power adapter, reliable storage (CF card) all included in price (SD cards for ARM boards are either cheap and unreliable, or a bit costly), solid metal case, using latest linux kernel, trivial installation, wake-on-lan support for fixed installation, etc.
In my projects I have very good experience with Futro S900 - 9EUR + shipping Fujitsu Futro, AMD G-Series G-T44R, S900 Thin Client, 2GB Flash, 2GB DDR3, Citrix | eBay . It would work like a charm in this application.
In my projects I have very good experience with Futro S900 - 9EUR + shipping Fujitsu Futro, AMD G-Series G-T44R, S900 Thin Client, 2GB Flash, 2GB DDR3, Citrix | eBay . It would work like a charm in this application.
Windows USB-IP client is under development GitHub - cezanne/usbip-win: USB/IP for Windows , even pre-build binaries for Win10 are available Release usbip-win 0.0.7 * cezanne/usbip-win * GitHub .
That makes the technology much more attractive, IMO. Any USB device can be accessed over galvanically-isolated network from a windows host, using its original drivers.
That makes the technology much more attractive, IMO. Any USB device can be accessed over galvanically-isolated network from a windows host, using its original drivers.
Pavel, I did not know that Ethernet is galvanically-isolated. Is there a transformer involved?
If so, do you know what is the isolation voltage rating of such transformers?
Jan
If so, do you know what is the isolation voltage rating of such transformers?
Jan
Ethernet 10/100/1000base-T uses symmetrical lines, balanced by signal transformers, nowadays typically placed directly in the ethernet sockets https://www.we-online.com/catalog/datasheet/74980111211.pdf . The isolation voltage is specified e.g. page 4 of http://www.ieee802.org/3/af/public/mar00/stapleton_1_0300.pdf - 1500Vrms for 60secs.
Basically no way to have 100m ethernet run without galvanic isolation, the potential difference between the two sides would burn the connected devices.
Basically no way to have 100m ethernet run without galvanic isolation, the potential difference between the two sides would burn the connected devices.
In the past, I have been using USB isolators from Intona in Germany. They are more expensive, but work beautifully. They also have a somewhat higher voltage spec (up to 3kV) which was important for me to measure in my high voltage amplifiers.
Recently I got myself a WiFi connected USB scope for total independence from any cabling.
Maybe that is an idea for your project as well - WiFi or Ethernet, same difference ;-)
Jan
Recently I got myself a WiFi connected USB scope for total independence from any cabling.
Maybe that is an idea for your project as well - WiFi or Ethernet, same difference ;-)
Jan
Wifi is way less reliable than ethernet in terms of stable latency. Run wifi ping and watch the latency deviation. For USB-IP basically no-go. Stable 12Mbps with stable latency (deviation under 1ms every single packet) - impossible task for wifi.
I see. So that WiFi scope probably uses buffered streaming or something. It sure 'feels' like a regular scope.
Edit: yes, streaming rates and record lengths are lower with the WiFi compared to USB 3, if you have the extended memory model. With the standard memory it doesn't seem to make a difference.
Jan
Edit: yes, streaming rates and record lengths are lower with the WiFi compared to USB 3, if you have the extended memory model. With the standard memory it doesn't seem to make a difference.
Jan
Attachments
Last edited:
What model is that scope?
I do not think your scope uses some USB-IP emulation for network access. A scope is not a continuous packet device like USB protocol is. USB 480Mbps sends packet every 125us, in proper operation none of the packets get lots. USB drivers can count on reasonable timing. If the USB-IP network layer between the USB device and the USB driver introduced large varying latencies, I would expect many USB drivers to fail. Especially considering the generally poor drivers quality for consumer devices...
I do not think your scope uses some USB-IP emulation for network access. A scope is not a continuous packet device like USB protocol is. USB 480Mbps sends packet every 125us, in proper operation none of the packets get lots. USB drivers can count on reasonable timing. If the USB-IP network layer between the USB device and the USB driver introduced large varying latencies, I would expect many USB drivers to fail. Especially considering the generally poor drivers quality for consumer devices...
High-speed (480Mbps) isolators are still quite expensive (150USD+).
Even more (200-300 euro), but this is an old information, now there is:
Hifime High-Speed USB Isolator
$90
P.S. As for me, I prefer I2S isolation then USB.
Thanks Alex.
I wonder why the reviews are either "perfect", or "did not work at all" posts. It looks like the used technology has to mature a bit. No wonders, isolating the 480Mbps USB is quite a feat.
I wonder why the reviews are either "perfect", or "did not work at all" posts. It looks like the used technology has to mature a bit. No wonders, isolating the 480Mbps USB is quite a feat.
What model is that scope?
I do not think your scope uses some USB-IP emulation for network access. A scope is not a continuous packet device like USB protocol is. USB 480Mbps sends packet every 125us, in proper operation none of the packets get lots. USB drivers can count on reasonable timing. If the USB-IP network layer between the USB device and the USB driver introduced large varying latencies, I would expect many USB drivers to fail. Especially considering the generally poor drivers quality for consumer devices...
It is the WS6-1000XM WiFiScope WS6 high accuracy oscilloscope
Jan
Even more (200-300 euro), but this is an old information, now there is:
Hifime High-Speed USB Isolator
$90
P.S. As for me, I prefer I2S isolation then USB.
That's quite a good price for 1kV and USB 3.
Jan
It is the WS6-1000XM
Thanks, interesting device.
Look at the measurement workflow described in LibTiePie: Main Page . The control software asks for starting the measurement, and then waits until the device -> library on the host indicates the measured data are available. This mode really does not require low latency and zero packet loss network - the software waits until the data are downloaded. No problem if it takes more time or if packets have to be retransmitted. That is a good design, suitable for wifi. But very different from how the USB works.
Last edited:
USB 3
It is the USB3 connector (form factor), but the speed is USB2 What are the USB data transfer rates and specifications? | Sony USA . Fair enough, they explicitely state the "USB 3 connector".
Thanks Alex.
I wonder why the reviews are either "perfect", or "did not work at all" posts..
My device works fine.
I have 2 of these USB 2 high speed extenders that work fine every way I have tried them. They are isolated and pricey. I also have several of the Corning USB fiber extenders USB 3.Optical™ Cables | Corning which also work fine but I think they also have wires. I'll check.
The Corning extender carries power along data optical fibers https://www.corning.com/microsites/coc/ocbc/Documents/CNT-075-AEN.pdf It would have been easy to make galvanically isolated, but its designers decided otherwise.
My initial win10 test of USBIP client was not successful but it will work out... Attaching from win10 client does not work * Issue #82 * cezanne/usbip-win * GitHub
My initial win10 test of USBIP client was not successful but it will work out... Attaching from win10 client does not work * Issue #82 * cezanne/usbip-win * GitHub
- Home
- Design & Build
- Equipment & Tools
- Galvanically-Isolated USB (+ longer distances) - USB over Ethernet