Ahhh.... wierd, inexplicable failure.... just love it!!!
photomankc
Posts: 943
Things were going well in my experimentation with I2C last night. I was working with TimMoore's Propeller slave object on one board and his I2C scanning object on another. The Prop slave was showing up in the scan and I was about to move on to reading and writing some data. The slave board is the GG Propeller Platform with attached LCD UI. and the other board is a custom job but with 12 I/O lines brought out to a header for easy breadboard hookup. I took that board down to add in a 5v regulator and that worked out fine but when I turned on the Prop Platform board it had gone poof between the last time I turned it on and now.
The only external connection was SCL and SDA between the boards and they were sharing Vin supply although at the time they could end up with one being one and the other being off (I have since changed that). So I took out the meter and checked everything and found no unexpected voltages about. Swapping out the prop chip brought the dead board back to life. But now I am very nervous that I have a problem that's a slow killer somewhere. I did notice a few times just before it died where it wouldn't start running it's program sometimes and a reprogramming or reset would seem to fix it. I really didn't expect there to be much chance for the I2C connections to do harm. The SCL and SDA are both pulled up by the Prop Platform board with 10K resistors. I wonder if this was a static kill? Could having one board on and the other off be a problem?
Anyway, just frustrating. I can't see what could have zapped it like that and at $8.00 a pop it's not something I want to keep doing. I think that if the magic smoke escapes then by God I should at least actually get to see it and smell it.
The only external connection was SCL and SDA between the boards and they were sharing Vin supply although at the time they could end up with one being one and the other being off (I have since changed that). So I took out the meter and checked everything and found no unexpected voltages about. Swapping out the prop chip brought the dead board back to life. But now I am very nervous that I have a problem that's a slow killer somewhere. I did notice a few times just before it died where it wouldn't start running it's program sometimes and a reprogramming or reset would seem to fix it. I really didn't expect there to be much chance for the I2C connections to do harm. The SCL and SDA are both pulled up by the Prop Platform board with 10K resistors. I wonder if this was a static kill? Could having one board on and the other off be a problem?
Anyway, just frustrating. I can't see what could have zapped it like that and at $8.00 a pop it's not something I want to keep doing. I think that if the magic smoke escapes then by God I should at least actually get to see it and smell it.
Comments
Now I have reversed that. System 2 is powered from the wall and then I take power (Vin) over to System 1 via the headers. This way they are switched on together from System 2's power switch.
Is it normal for damage to an input to kill the whole chip? It not only can't run the eeprom program, which I would expect if I damaged the I2C pins but it won't talk via the prop plug either so you can't ID it nor download a program to RAM.
Voltage spikes above Vdd+0.6V or below Vss-0.6V on an I/O pin can damage the chip unless the current is limited (by a resistor) to less than 500uA. The Propeller chip is a bit more robust than that, but don't push your luck.
Such a design would have worked fine if it used true open-drain structures for the I2C lines but on the Prop they are emulated and the choice is left to the software whether to drive the SCL line high or rely upon a pullup. Alternatively a small value series resistor could be used in the lines (220R) to limit the current to a level that the substrate can handle. You usually find that the driving pin survives short-circuiting as it is a more rugged structure.
*Peter*
Good Prop:
Positive lead on Vdd and Negative on I/O pins..... OF
Negative Lead on Vdd and Positive on I/O pins..... about 0.6V
Dead Prop:
Positive lead on Vdd and Negative on I/O pins..... about 0.4V
Negative Lead on Vdd and Positive on I/O pins..... about 0.6V
So apparently I managed to zap it somehow.· The above test showed the same results on all I/O pins on both the good and the dead Props.· Whatever happened it killed more than the SCL line.
For those who may be wondering.....
Because the Prop is an "integrated circuit" all the components are integrated onto one silicon substrate so they are never really isolated from one another except by (to keep it simple) reversed biased junctions or perhaps silicon dioxide in the case of layers of interconnect masks. You know that the Prop is a CMOS chip, well CMOS means complementary (P&N or source and sink) as well as Metal Oxide Semiconductor, referring to the basic gate structure (mostly polysilicon these days) of the Field Effect Transistor (voltage controlled). But the oxide here and elsewhere doesn't conduct in any direction unless a voltage higher than the breakdown voltage is applied.
The problem with I/O pins (not PLL) usually results from too much current flowing through the substrate from the pin which normally never draws any current except for leakage. The voltage limits that are spec'd for each pin is referenced to VDD and VSS meaning that 3.3V on a pin when VDD = 3.3V is ok but 3.3V on a pin where VDD is at 0V is 3 volts too much and current will flow through what are normally reversed biased junctions (non-conducting). Since all the components are built on the same substrate what affects one pin can affect many.
In another thread someone mentioned that you need 220 ohm resistors on every I/O pin but of course you don't normally. However in connecting directly to other systems that are powered separately it is always wise to insert some current limit resistors for this and other reasons. Such is the case of prototyping boards that have breadboard areas etc. If there are already resistors in the circuit then it doesn't matter of course.
It's in my interest to check these things myself so I will sacrifice a Prop or two to see what happens (I have some DIPs for this purpose!!). I will start by measuring the short-circuit current available from the I/O pin and then apply that to an unpowered Prop while logging the current flow to see if there is any discernible mechanism involved such as thermal build-up and failure or just plain zapped. What a shame it's not Hollywood because we would have such a nice pyro display otherwise, even just by feeding in the wrong program I believe. Hollywood, where you only need a one pixel chip because why waste all those other pixels when software can enhance to the nth degree to extract the face in the background from the mirror in the background etc etc. Now I'm just rambling....
@Parallax: Do you have any test results from induced failure to share? Would you agree with this theory that the Prop can be zapped in this manner? I ask because I know the Prop is rugged as chips go, but it's the very nature of the Prop that sees it being hooked to all things imaginable.
*Peter*