![]() ![]() I tested about 50 different USB devices and found out that while breaking the connection on the peripheral side works every time, host side disconnect does or does not help depending on device. However, when host and peripheral are talking through ADuM4160, this is not always the case. 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. QT Cable is not included but you can find them on the shop.ADuM4160 PIN pin grounding Q. CSA approval per IEC 60950-1 and IEC 62368-1 end equipment standardsįor each order, you will receive the I2C isolator board and a section of PinHeader.2500-VRMS isolation for 1 minute per UL 1577.ISO1540 Datasheet ( Texas Instruments, English).HBM ESD protection of 4 kV on all pins 8 kV on bus pins.+/- 50 kV/μs transient immunity (Typical).Open-drain outputs: 3.5 mA on Side 1 and 35 mA on Side 2 (Current drain capability).Isolated bidirectional, I2C compatible, communication.This allows to create solderless circuit between development board and ISO1540. The breakout is also fitted with Qwiic / StemmaQT for rapid I2C connexions. Please note that both side of the bus are fitted with 10K pullups resistor (to the proper VCC on each side). Now you are ready to send I2C data over the the bus. Check that the both side of the bus are powered (green LED lits on the both sides). Obviously, the two sides of the board must be electrically isolated (so using separate power supply not sharing any power line, neither the ground). Wire the power/ground/clock/data of the I2C bus on the other side. ![]() Wire the power/ground/clock/data of your MCU I2C on one side.The breakout works with 3 to 5V DC power or logic (separate on either side of course) and offers an isolation up to 2500 Volts RMS. ![]() The TI ISO1540 chip at the earth is fully bi-directional and can be used with 1 MHz clock signal (and also support clock-stretching). ![]() This ISO1540 Bidirectional I2C Isolator breakout adds a full electrical isolation between two sides of an I2C bus. Having electricaly isolated I2C devices (or I2C bus) is a good approach to reduce the noise. A good reason for electrical isolation may be the earth-ground that may inject some voltage or noise into the GND line via the earth-grounded high-power devices. This may be particularly the case if one of your I2C device is dealing with high voltage circuiterie. Sometimes you have an I2C bus on one side and a I2C controler (MCU) on the other side and you need to keep it electrically isolated from each other. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |