Author Topic: USB Isolation with High Speed Device - How to force Full Speed  (Read 21253 times)

gknight

  • Member
  • ***
  • Posts: 7
USB Isolation with High Speed Device - How to force Full Speed
« on: February 19, 2014, 11:44:38 pm »
Connecting an A/D (2.0 high speed) to a PC running Win7.
Need galvanic isolation on USB. Simple (dumb) isolators are limited to full speed.
Want to run A/D at full speed.

How to make sure or force the host to run at full speed?

I don't believe USB falls back from high to full based on error rates.

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #1 on: February 20, 2014, 09:32:43 am »
Use a USB 1.1 hub.

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #2 on: February 20, 2014, 10:49:19 am »
I am designing a circuit board and want do this without adding extra hardware, if possible.

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #3 on: February 20, 2014, 10:59:33 am »
I don't know of any other way to do it. You could embed the hub on the PC board if you can find a 1.1 hub controller anymore. Or use a full-speed-only device controller.

Bret

  • Frequent Contributor
  • ****
  • Posts: 68
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #4 on: February 20, 2014, 12:15:17 pm »
The default behavior for USB is for the host (upstream side) to connect all devices (downstream side) at the maximum speed the device will allow, with no regard for what speed you may actually want to use.  IOW, the default connection speed is determined by the device, not by the host or by what you may want to happen.

However, if you have older hardware, which has both high-speed (EHCI) controller(s) and full/low-speed (OHCI or UHCI) companion controller(s), it is possible to "shut down" a specific EHCI root hub port.  This will force all of the devices attached to that port over to the full/low speed controller.  This is something that specification-compliant hardware allows, but I don't think Windows supports the use of this feature (some other OS's might).  You should also be able to disable/unload the EHCI driver, which will effectively force ALL of the ports off of the EHCI controller and onto the companion controller(s) (never actually tried it myself, but it should work).

Remember, though, that this will only work if you have older hardware which uses OHCI or UHCI companion controllers.  Newer hardware generally doesn't work that way any more, so you MUST use a device that will only connect at the speed you want it to.  Inserting a USB 1 hub upstream of a device is an indirect way of ensuring it cannot connect at high-speed.

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #5 on: February 20, 2014, 01:27:26 pm »
Thanks Jan and Bret. USB hub ICs with full-speed max are still availible. It seems a shame that becuase there are no high-speed isolator ICs availble I'll have to add a hub. 

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #6 on: February 20, 2014, 02:28:05 pm »
The other option is to do the "work" on a non-USB chip, then use an isolated, non-USB interface to connect to a USB controller. For example, an isolated aysync. serial link to an FTDI FTxxx USB UART.

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #7 on: February 20, 2014, 03:04:53 pm »
Hmm, seems like I would need two back-to-back FTDI chips with USB on the oustide and async in the middle?

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #8 on: February 20, 2014, 03:24:15 pm »
No. Here is an example:

Any generic microcontroller with A/D and async I/0
(async I/0 connection)
isolation circuits
(async I/0 connection)
FTDI FTxxx USB UART
(USB connection)
PC

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #9 on: February 20, 2014, 03:27:47 pm »
OK, but the A/D device is a given...commercial product - USB 2.0 with High Speed.
 

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #10 on: February 20, 2014, 04:12:10 pm »
I suppose, if there was some kind of back-2-back FTDI solution, a hub IC would be simpler and cheaper.

Barry Twycross

  • Frequent Contributor
  • ****
  • Posts: 263
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #11 on: February 20, 2014, 05:32:07 pm »
No ones done this, as no one's had a reasonable reason to do this. If you wanted to make such a thing what you need to do is stop the device "chirp" propagating upstream. When the host resets the device, the device signals high speed capability by raising D-. Everything follows from that.

If you wanted to stop a device enumerating at high speed, you'd need to allow bidirectional communication until there's a reset from the host. SE0 for more than 2.5µs, then cut off the D- line to stop the chirp getting to the host. When the SE0 is removed, you'd need to reestablish bidirectional communication.

It'd probably a lot easier and cheaper just to put a 1.1 hub in the way.

gknight

  • Member
  • ***
  • Posts: 7
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #12 on: February 20, 2014, 06:55:13 pm »
Time for a hub. Micrel (formely SMSC) has a hub that can be "eeprom strapped" to full speed.
Thanks All. This is a cool place!

Tsuneo

  • Frequent Contributor
  • ****
  • Posts: 145
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #13 on: February 22, 2014, 10:22:00 pm »
Analog Devices USB isolators, ADuM3160/4160, don’t pass HS chirp just after bus reset. And then, a HS-capable device is recognized as FS device, when it is directly connected to host over these isolators.
That is, you don’t need any USB 1.1 hub.

Tsuneo

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB Isolation with High Speed Device - How to force Full Speed
« Reply #14 on: February 23, 2014, 10:51:58 am »
This is great! Thanks, Tsuneo!