Question
We are using ADUM3160 in our products where we need USB port isolation , and it
is working nicely . However , so far , all our applications involved our
product being the ‘device’ , i.e. it would hook up to the PC / Laptop , and
then we would download data to a utility running on the PC / laptop . As is
logical , we also used the +5V available from the USB port of the mater ( i.e.
PC ) to power the outward side of the 3160 , thereby doing away with the need
to make one more isolated +5V .
Now , we are developing an application where we have my product which can be
device as before , but we also support a pen drive , i.e. host mode as well .
The first thing we then needed was an extra , isolated , +5V to power the
other side for the pen-drive . This we have . Also , we are using a
microcontroller from Microchip called PIC32 , which has on-chip USB OTG . So ,
all we need now is a MUX , which switches D+ and D- between the host connector
and the slave connector , once every while , and on sensing one of them , holds
it there till the dis-connection is sensed , and then starts toggling again .
This MUX we used was MAX4717.
We did this in one product , and it is working well . However , we did not need
isolation in that case , as we had idolated ADE7878 signals using IL715 from
NVE Corp . The schematic portion for that is attached for your reference.
Now , we need to develop another product where the PIC32 has no isolation
between itself and ADE7878 , and we need to hence isolate USB – both pen drive
and the device connector . As I said before , I have an extra isolated 5V
ready . We tried inserting two 3160s in the present working circuit which I
have attached , after the MUX ( on the o/p of the MUX ) . In this case , we
could get the device mode going , but not the pen-drive .
My questions are :
1. Is what we did , correct ? If not , what are we doing wrong ? The device is
working but the host mode is not.
2. Can you suggest a working circuit ?
Answer
This is the first time I have seen a customer try to implement USB OTG through
separate ports. The OTG controller uses several sensing modes during the
negotiations for host control that require a connection to the cable. The
session request protocol will pulse the pull-up on and off, this will not pass
through the USB isolator correctly. If a host negotiation protocol is
initiated, the coupler cannot reverse its pull-up and pull down resistors. The
ADP protocol works by sensing cable capacitance, which is blocked by the
isolation.
The current ADuM3160 will block the OTG protocols. I think that is why it
works without the isolator, the switch will still pass the negotiation protocol
signals since it is still basically connected to the controller through the
switch.
I would use two separate USB controllers, make one a host the other a
peripheral and isolate each separately.