0
\$\begingroup\$

I want to isolate the data between my computer USB and my FT232RL (as usb to UART converter) to communicate with my arduino Like this:

schematic

simulate this circuit – Schematic created using CircuitLab

What i want to know is, if usb type A (or usb 3) are bidirectonal in order to select the appropriate Digital Isolator. (Some dc isolators are unidirectional and they are cheaper than the bidirectional ones)

I was whinking USB are unidirectional, but then i saw in wikipedia here: enter image description here

It says That both lines are driven LOW by the host. So, it is bidirectional?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ put the isolator on the other side of the FT232, as per TimWescott's answer. This reduces the data rate you need for the isolator, to your UART data rate. You may want additional channels for sleep and/or other functions like detecting USB disconnect etc \$\endgroup\$
    – Pete W
    Commented Feb 19, 2021 at 16:08
  • 2
    \$\begingroup\$ Such isolated USB-to-serial converters are available for about 5 USD from Chinese suppliers. \$\endgroup\$
    – Codo
    Commented Feb 19, 2021 at 16:38
  • 1
    \$\begingroup\$ USB is bidirectional, but UART signal are all monodirectional, why not isolate the UART end instead? \$\endgroup\$ Commented Feb 20, 2021 at 0:28

3 Answers 3

3
\$\begingroup\$

they are bidirectional. The paragraph explicitly states this only happens for 20ms at reset, not "generally". Also, think about it: If they were unidirectional, where would data flow from device to host.

\$\endgroup\$
2
  • \$\begingroup\$ I was thinking USB+ was from usb to host and USB- from host to device. Since usb has two data lines, so it could flow from device to host as well. \$\endgroup\$ Commented Feb 19, 2021 at 15:51
  • 3
    \$\begingroup\$ Two sentences later, the same text states that the host modifies both lines, and even a basic intro to USB signaling covers how USB 2 is pseudo-differential. The sentences mention "J states" and "K states", and looking these up would have revealed that it doesn't work like that! No big deal, but honestly, a little better text work ;) \$\endgroup\$ Commented Feb 19, 2021 at 15:52
3
\$\begingroup\$

This is a minimal answer, but it's what I know:

USB lines are bidirectional, and there's some analog handshaking that can happen on startup to negotiate power.

So not even a generic bidirectional digital isolator will do. You need something specific to USB, or you need to power the FT232 from your USB line, and isolate its I/O to the rest of the board (which will be simple and straightforward).

\$\endgroup\$
1
\$\begingroup\$

The correct isolator is something like the ADuM4160, designed specifically for this task.

The datasheet explains some of the challenges:

... presents particular challenges when isolation is required. USB lines must automatically switch between actively driving D+/D−, receiving data, and allowing external resistors to set the idle state of the bus. The ADuM4160 provides mechanisms for detecting the direction of data flow and control over the state of the output buffers. Data direction is determined on a packet-by-packet basis.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.