This message was posted on behalf of Intel Corporation2 of 2 people found this helpful
You are correct when you say that custom board designs are not part of our support scope, however it doesn’t mean that we could not provide suggestions to user’s concerns. We always try to help in any way we can.
So back to the main topic, I was checking your schematic and after analyzing the description you provided, I don’t see any issues with your setup. I have, however, some general comments about the USB interface that you might find useful for this or future projects.
The first comment is about the PSW and FAULT pins. These pins are not part of the USB interface itself but they are used to control an external power supply for the Client device when the Edison works as the Host device. So, if you are not going to use an external power supply for the USB device, then there is no need to use these signals. However you have to connect them to something because leaving them floating might cause issues. The PSW pin for example, should be connected to GND through a pull down resistor. I see in your schematic that you are leaving the PSW pin floating so you may want to add this change in the design. Leaving it floating should not represent any issue because PSW is an output pin, however I always recommend to connect every unused pin to a pull down or pull up resistor, in this case a pull down resistor. Regarding the FAULT pin, if it is not used it should be connected to a pull up resistor to 1.8V. I see that you did this in your schematic so everything is fine here.
The schematic section for the TS3USB221 is actually very similar to the one used in the Arduino Expansion Board schematic (http://www.intel.com/content/www/us/en/support/boards-and-kits/000005829.html) so I don’t see any issues there. The D+ and D- signals can be connected directly to the TS3USB221 outputs but using the resistors that you included is also valid and it should not represent any issue, actually adding those resistors is recommended in some designs.
About the selector used in the TS3USB221 IC, it seems to be find too, but my recommendation is to make sure this part is working fine because this is a critical part for the switching between one and another USB functionality. The same applies for the USB_ID pin because you are setting it to GND or leaving it floating using the Edison's pin 50, so make sure that it is working as it should. As you correctly said, the USB_ID should be grounded when the Edison works as the Host device and floating when it works as the Client device. Another detail in this part is that you have to make sure that the pin 50 is always set whether to HIGH or LOW. If it is unsent, then the selector of the TS3USB221 IC might not work as expected. Consider also that the HIGH value is 1.8V for every Edison’s GPIO. I didn’t check the SI1922EDH datasheet but make sure it can toggle with 1.8V, otherwise it won’t work.
Regarding the VBUS pin, it should be connected to HIGH (5V) only when the Edison works as the Client device, but if it works as the Host device it should be left floating. This pin is only used to let the Edison know when it is connected to a host port. I think you have this setup correct in your schematic. As far as I understand, in your design the VBUS goes HIGH only when you connect the USB cable to the CON1 connector, but if there is no cable connected, then it is left floating. The Arduino Expansion Board uses the FDC6331L IC as a switch for the VBUS pin, but I think that not using it won’t end in any issue with this pin.
So, in general your schematic looks fine to me, but the real test would be to try the setup and see if it actually works as you want. It would be interesting to see the final board when you finish it, so if possible post a couple of pictures when the board is done. That would be very useful for other users that want to design their own boards.
I hope you find this information useful. Anyhow, other users might also want to share their experiences working with custom boards and USB interfaces with Edison. There is another thread that you didn’t mention before that discusses an issue with the USB interface in a custom board. Here it is in case you want to take a look at it: Re: USB Host mode internally
Have a nice day!
Hi Diego, Thank you very much for your detailed respond, it's very useful indeed :) SI1922EDH just work fine with 1V8 input signal, as it has 1V switch on threshold. For PSW pin I will add the recommended pull-down pin. For undefined voltage level on pin 50 pull-down on pin 50 was added to make sure, SI1922EDH has defined voltage level in all power-states of Edison. TS3USB221 was selected to MUX USB between Device/Host mode, because Arduino Expansion Board as you mentioned, use it as well. Diego, now I'm confident that this approach is working, thank you for your feedback. I will come back to you, as soon as I will be able to test everything with (hopefully) good news. BR
This message was posted on behalf of Intel Corporation
That's great! I hope you have successful results with your tests.
Sharing your results with the community would be great, and if you can post pictures of the final board that would be even better for other users.
I'm glad I could help.