Stange Voltages at pins
slosjo
Posts: 25
Hello all-
I am new here, and this is my first experience with the Prop micro.· I am experiencing some strange behavior at a couple of pins·and I was hoping someone would be able to help me.·
I am using pins 8 and 9 for inputs, and I just need to be able to tell if they are high or low.· The problem is that they both seem to be floating, even if I define their direction in a simple piece of code:
pub main· | input
·repeat
· dira[noparse][[/noparse]7..9]~
· input := ina[noparse][[/noparse]7..9]
The pins should be low, but·pin 8 is showing about 0.9V from pin to ground, and·pin 9 about 2.4V.·
If I use this code, I get zeros on both pins:
pub main· | input
·repeat
· dira[noparse][[/noparse]7..9]~~
· outa[noparse][[/noparse]7..9]~
That tells me that the chip is outputting to the pins normally (I think), but leaves me without the use of those pins for inputs because they are never zero if·I define them as inputs.·
Any insight would be much appreciated.·
Thanks
I am new here, and this is my first experience with the Prop micro.· I am experiencing some strange behavior at a couple of pins·and I was hoping someone would be able to help me.·
I am using pins 8 and 9 for inputs, and I just need to be able to tell if they are high or low.· The problem is that they both seem to be floating, even if I define their direction in a simple piece of code:
pub main· | input
·repeat
· dira[noparse][[/noparse]7..9]~
· input := ina[noparse][[/noparse]7..9]
The pins should be low, but·pin 8 is showing about 0.9V from pin to ground, and·pin 9 about 2.4V.·
If I use this code, I get zeros on both pins:
pub main· | input
·repeat
· dira[noparse][[/noparse]7..9]~~
· outa[noparse][[/noparse]7..9]~
That tells me that the chip is outputting to the pins normally (I think), but leaves me without the use of those pins for inputs because they are never zero if·I define them as inputs.·
Any insight would be much appreciated.·
Thanks
Comments
-Phil
Even a 100k resistor should pull the pin to 0V except there is something else connected to it additionally. That's what I suspect...
I have checked to make sure that nothing else is touching the pins, and I am still getting about 1.5v (pulled down with a 3k resistor now).
Try some other pins 0...27. Can you pull them to zero? You need no special program, DIRA :=0 is the default value.
Or try a 100 Ohms resistor (will do no harm); still 1.5V?
-Phil
I am able to pull other pins to 0V with 10K resistors. This particular pin, however, is acting strange. I am able to pull it down close to zero with a 100ohm resistor to about .005 VDC, but then the voltage fluctuates, rising eventually to 1VDC or so, but very unstable along the way. I am certain that there is nothing else connected to this particular pin, but there are many other caps and resistors on my prototype board.
Any insight you may have would be very helpful.
As there has been this misunderstanding about forcing the pins "low" I can easily imagine that this could have happened
Thanks for the help.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Just so we can rule out a software issue, try your measurments with the following code running:
Substitute whatever settings for _clkmode and _xinfreq are appropriate for your system.
-Phil
If there is a different behavior to PhiPi's program then things inside the Prop have been demaged..
Post Edited (deSilva) : 9/19/2007 6:11:58 AM GMT
However, I do remember before that you said that these pins were "floating" plus turning them into outputs gave you 0V. Was this not the case? If so, then what you are saying doesn't make sense. I suspect that you have something driving the pin externally. You didn't say which board you are using but you must have a schematic for it so you can check it.
*Peter*
So are you saying that a reset will absolutely confirm that a pin is damged?
If so, that is a handy piece of advice.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Everything in the world is purchased by labour; and our passions are the only causes of labor." -- David·Hume (1711-76)········
What the reset does is basically disconnect/disable any special functions so you are left with a floating input. Now, if you connect an meter to measure the current from VDD to pin and also GND to pin it should not read anything other than leakage (worst case 10ua).
Another way to check for damaged pins in general is, with the power off, measure the parasitic diode using the diode range on your meter. Connect meter+ to gnd and meter- to the pin and you will read around 400mv. The exact voltage is not important but all the pins should be similar. Do the same with the meter- to VDD and meter+ to the pin to check the other diode. This method of testing is a low-tech trick that proves invaluable in testing high-tech devices for pin damage.
*Peter*
Peter said:
"However, I do remember before that you said that these pins were "floating" plus turning them into outputs gave you 0V. Was this not the case? If so, then what you are saying doesn't make sense"
Turning the pin into an output gives me 0V for a short time, but then the pin slowly works it's way up to about 1V. When I said that setting the pins to outputs gave me zeros in my first message, I either didn't wait long enough, or just looked at pin 8 and not at pin 9. Even setting pin 9 to a low output results in a fluctuating voltage.
Phil, deSilva-
I tried both of your codes, both give the same result: the pin is still not zero
Peter- pressing the reset button while monitoring the pin shows nothing changing, voltage is still fluctuating.
Paul-I have never put more than logic high voltage on the pin at any time (3.3V), but it would appear that it is still damaged.
I suspect we got a bad chip on our proto board or something...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The more I know, the more I know I don't know.· Is this what they call Wisdom?