This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: ISO1541
I am using I2C isolator ISO1541D with SC18IS602B as I2C salve.
While I try to read something from my slave IC, in some "particular conditions" by SDA line gets pulled to 0.8V. The mentioned "particular condition" is that while trying to read a data format whose Last Transmitted Bit is 0, rest of the data format we are able to read successfully.
On SDA1 side we have provided a pull-upb of 4.7k and on SDA2 side a pull-up of 1.5k. We also tried reversing the pull-ups.
Please advice on what might be the issue.
can you please provide some waveforms to show this behavior , or a simplified block diagram ? in addition, if you refer to section 6.9 (page 9) of the 1541 data sheet, you’ll notice that the normal value of Vol1 is between 650mV and 800mV. This is because of an internal series diode intentionally added to avoid race conditions in loopback. This is common practice , and in general conditions does not cause any issues, but care needs to be taken with supply and signal partitioning- if you have a simplified block diagram with supply Info to share, that will help a lot as well.
Due to local holidays here, the team is out this week, but we will follow-up with you next Monday.
thank you, Abhi
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Abhi Aarey:
First image is of problem condition, second image is for showing working condition.
Above is the portion for Isolator IC. Left side of the IC is connected to MCU with 4.7k pull-ups
In reply to Abhishek Pratap Singh:
Thanks for sharing the waveform and schematic, I am assuming the waveform shared is of SDA1 & SCL1 that are connected to MCU.
I believe you have two questions, one is about observing 0.8V at SDA1 pin and the other is about the voltage spike observed at SDA1 which you believe is not your data.
Abhi has clarified in his post on your first question of observing 0.8V at SDA1, if you still have any questions on why 0.8V is observed at SDA1 pin, please refer to the below FAQ post.
Regarding your second concern of observing a voltage spike on SDA1 which you consider not to be data, please do share us a waveform where both SDA1 & SDA2 are plotted to see if the SDA2 waveform looks clean when SDA1 sees the spike.
Let me know if you have any other questions, thanks.
In reply to Koteshwar Rao:
Please observe from the waveform that the position I have marked at 0.8V there it should be pulled up as my data transfer is completed.
Please compare both the waveform, as the only difference between these two is that READ back data is changed (which is causing this problem).
I see that the SDA1 voltage is about 0.8V even after the READ back data is completed. The SDA1 can stay at 0.8V (LOW) only if SDA2 is held LOW, otherwise SDA1 will release the output and it will be pulled HIGH. This is what we expect out of device and to see if the device is behaving normal or abnormal, I would need to look at SDA2 and SDA1 together in the same waveform. Hence, the request for a waveform with both SDA1 & SDA2 waveform during the fault condition.
Without the waveform it would be difficult to point out if ISO1541 is misbehaving or if I2C slave is holding SDA2 LOW. Let me know, thanks.
Yes you are right that SDA1 and SDA2 are both low, SDA1 being 0.8v and SDA2 being 0V.
And for your second concern regarding I2C slave pulling the line LOW, I would like to add that we have also tried removing the isolator IC from the circuit and connecting the MCU SCL and SDA directly to the I2C slave and everything was working fine in that case.
Thank you for confirming that the issue after READ back that the SDA1 stays LOW is not caused by ISO1541. Thanks also for sharing the additional information that you do not see any issues when ISO1541 is not used.
I also understand that the issue doesn't occur all the time when ISO1541 is used, this makes me believe that there could some other issue in the system or maybe a timing issue in the software. I do not have a good understanding of your system hence I won't be able to point out the exact cause.
Since ISO1541 is not the cause for the LOW output after READ back, I would recommend you to also look at other components to root cause the issue. During this process, please do let us know if you have any questions or need clarifications related to ISO1541, I will be happy to help you with that. Thanks.
I am not sure that "SDA1 and SDA2 are both low" and " SDA1 stays LOW is not caused by ISO1541" are on the same context.
And I think that you didn't understand fully what I wanted to ask from you.
I am not saying that there is some problem with Isolator IC. I want to ask for your suggestion on how to use this IC in my hardware(like use of resistor and capacitor). Because when I try to probe on I2C line the Issue gets resolved, so my guess in also that I am missing something.
So please look into the device requirement and the above shared schematics, and advice on the same.
Thanks for the clarification and for looking at the overall system for debugging the issue.
Relating to ISO1541, I see the schematic is good with the decoupling capacitors of 0.1µF and pull-up resistors of 4.7kΩ on Side1 and 1.5kΩ on Side2. Apart from this, the device doesn't requirement any other components for it to operate reliably.
It is interesting to note that when you try to probe I2C line the issue gets resolved. May I know where exactly did you probe? Like at SDA1 or SDA2?By touching the probe, the node is receiving additional capacitance and a GND reference. May I know where was the probe reference point connected to while probing? Was it connected to GND1 or GND2?
Please do also share more information related to the application and why isolation is being used for I2C to better understand the situation. Thanks.
We are using SC18IS602 as I2C slave and TPIC46l01 as SPI slave. And on the SPI slave IC we are giving a multiple load of 24V on that IC.
Also about the probing, I am probing on SDA1.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.