![]() ![]() If we are dealing with typical copper-wire-connected USB host and peripheral, which end of USB cable gets disconnected and reconnected would not matter. To get attention from the host, we need to generate bus event, i.e., disconnect the peripheral and connect it back again. If device is not answering (like for example, when self-powered device is turned off), host will give up and post “Device not recognized” message. When device is enumerated, application takes over. If device is answering, host keeps querying the device and eventually enumerates it. Host sees it, sends bus reset and tries to query the device. USB device, when connected, pulls one of bus lines up, often times also with a resistor connected to Vbus and data line. When nothing is connected to USB port, the bus is held at ground level with pull down resistors on the host side. Here I will try to explain what is happening and also share my ideas how to troubleshoot and possibly fix the problem. While setups described in those e-mails were different, the problem was the same – a PC refusing to recognize the device connected through the isolator. I decided to write this article after receiving several e-mails from people who bought my isolator. I am getting “USB device not recognized” error message – what do I do? Also, since the isolator is soldered into my circuit, “reconnect peripheral” suggestion seems too difficult to follow. In any case, a USB breakout would be useful.ADuM4160 PIN pin grounding Q. But you could test it that way and, if it works, solder in a couple of diodes to isolate the power supplies from each other. ![]() That's a little dangerous because someone might accidentally connect things up with an unmodified USB cable, causing the host's and device's power supplies to fight. One trick would be to use a USB cable with a cut VBUS wire, and then solder a jumper from your board's +5V to where the VBUS wire would have gone. I suppose it's also possible that the board designer uses the USB bus voltage to detect if the device is connected to a host. For a low-speed device (almost certainly not yours - this is mostly used for legacy keyboards and mice), the USB D- line should be pulled high. For a full-speed device (likely what you have), the USB D+ line should be pulled high with no USB cable attached. If the USB microcontroller they are using is getting power locally, off the top of my head the only thing I can think of that might go wrong is if they are using the bus voltage for the speed identification pull-up resistor. What exactly are you seeing that is making you want to use an isolator? Properly designed USB devices that are self-powered should be able to remain connected to a powered host (such as the RPi) without issue, whether the device is powered on or not. You should contact the printer's manufacturer and see what they suggest.Īpart from all of the above, I have to ask why you are having problems at all. ![]() If it also supports high speed, then you may need a way to force it down to full speed. USB devices negotiate speeds, so if your 3-D printer only supports full speed USB, you should be fine using the isolator and an RPi. Nothing will break, but you might get error messages. I don't know what will happen if the devices try to talk to each other at higher speed, but I doubt that the isolator handles the situation gracefully. Note, however, that the isolator only supports full speed USB data, not high speed: your data speeds will be limited to 12 Mbps. If this isolator is placed between the RPi and the printer, then neither will see each other's power supply. Are you saying that the 3-D printer is connected to a Raspberry Pi via USB and that you want to isolate the power supplies of the two devices while allowing the USB data to flow intact? This device is designed to do exactly that. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |