IC INV HEX SCHMITT TRIG 14-DIP voltage/ inversion issues
Jkane
Posts: 113
Hello,
I have a working project that has some noisy serial data coming back from the device that I am monitoring, (the issues is the 100us packets are not always 100us's), so I was going to see if a schmitt heristics would help stablize the line, I happend to have a hex schmitt inverter 74HC14ap, which is made by toshiba, already on the pcb board and it works fine on signals going from the propeller to the device, everything is inverted nicely,
so I connected to the 4a pin for input coming from the device and 4y for data going to the propeller, I have a digital scope to pins on both sides of the inverter, so I can see the difference the schmitt heristics make, but what has happened is that I get data into the inverter and nothing coming out. which seemed strange. so I thought my pins were messed up or something, but I checked everything. I didn't see anything wrong, so I switched over to a oscilloscope connected to the same two pins and what i get is good signals on both sides but the output side is only 500mvolts (4y), the input side is 2 volts (4a), so that is why my logic analyzer was not seeing any output, it was using cmos logic 1.5 volts to trigger, so the hex inverter inverted but the signal is so low voltage.
I have other hex inverters and they all do the same thing, now it get even stranger, if i disconnect the propleller pin 11 which is set as input, (to read the signal in) the output voltage on the inverter (4y) is back to avg 2.0 volts and everything is fine.
I checked all my grounds, I use a 40 pin connector between the propeller and the circuit board. and use the propeller grd between the pcb board and the propeller board. I did a ohms check from the propeller ground to the pcb ground and all is fine.
the inverter voltage is 3.3, and uses the same ground as the pcb and the propeller.
It is like the propeller when the pin is set to input, pulls voltage, but i very rarely use the propeller pins as input mostly output so this seemed strange.
the pcb has it's own supply, and the propeller has it's own supply. grounds are common between all.
I'm not sure what to check....
if anyone has any suggestions or needs any additional data please advise.
regards
Jeff
I have a working project that has some noisy serial data coming back from the device that I am monitoring, (the issues is the 100us packets are not always 100us's), so I was going to see if a schmitt heristics would help stablize the line, I happend to have a hex schmitt inverter 74HC14ap, which is made by toshiba, already on the pcb board and it works fine on signals going from the propeller to the device, everything is inverted nicely,
so I connected to the 4a pin for input coming from the device and 4y for data going to the propeller, I have a digital scope to pins on both sides of the inverter, so I can see the difference the schmitt heristics make, but what has happened is that I get data into the inverter and nothing coming out. which seemed strange. so I thought my pins were messed up or something, but I checked everything. I didn't see anything wrong, so I switched over to a oscilloscope connected to the same two pins and what i get is good signals on both sides but the output side is only 500mvolts (4y), the input side is 2 volts (4a), so that is why my logic analyzer was not seeing any output, it was using cmos logic 1.5 volts to trigger, so the hex inverter inverted but the signal is so low voltage.
I have other hex inverters and they all do the same thing, now it get even stranger, if i disconnect the propleller pin 11 which is set as input, (to read the signal in) the output voltage on the inverter (4y) is back to avg 2.0 volts and everything is fine.
I checked all my grounds, I use a 40 pin connector between the propeller and the circuit board. and use the propeller grd between the pcb board and the propeller board. I did a ohms check from the propeller ground to the pcb ground and all is fine.
the inverter voltage is 3.3, and uses the same ground as the pcb and the propeller.
It is like the propeller when the pin is set to input, pulls voltage, but i very rarely use the propeller pins as input mostly output so this seemed strange.
the pcb has it's own supply, and the propeller has it's own supply. grounds are common between all.
I'm not sure what to check....
if anyone has any suggestions or needs any additional data please advise.
regards
Jeff
Comments
the board layout is express_pcb
it is attached to this reply
regards
Jeff
regards
Jeff
the pin of interest is pin 11, is now connected to 4Y and 4a on the inverter and connects to the device pin (26)
regards
Jeff
1. The input to the schmitt trigger is 2V but the output is effectively 0V?
A. Yes, that is what inverters do and schmitt triggers will go low once an input has reached it's minimum Vt+ level and not go high again until the input has dropped below the maximum Vt- level. That is, it may need to go much less than 2V before it schmitt triggers the output back high. Dare I say "RTM".
Then there is is this bit you said "the output voltage on the inverter (4y) is back to avg 2.0 volts and everything is fine"
A. What is "avg 2.0 volts" and "everything is fine"? as your schmitt is run from 3.3V is it not? So therefore the output should be 3.3V or close to zero.
Besides all this you indicate that you have a scope and yet you have not shown any waveforms even when you say "so I can see the difference the schmitt heristics make" and although I am confused about the word "heristics" (perhaps you meant hysteresis?) I sitll can't see what you "see"
Heater and so many of us are always willing to help but you have to help us by being more informative and less confusing which may be alleviated by inclusion of code, diagrams, and waveforms etc and a simple statement of facts.
well I documented everything and with pictures, and we just lost power, so here goes again
I have a device, and inverter and the propeller,
when i connect the propeller the voltage out from the inverter drops to the millivolt range and therefore is not seen as a signal to the propeller.
the first scope picture is without the propeller connected to pin 11 (output of inverter to pin 11), notice that the voltages (bottom of scopel show 5 volts, all is well)
the yellow (channel one) is the input to the inverter, the blue (channel 2) is the output of the inverter
the next scope picture is when the propeller is connected, nothing special, output pin of inverter to pin 11 on the propeller, you will notice that
the output voltage scale, blue , is now 500 mvolts, and 500 mvolts is to low for the propeller to transision from low to high, so I basically get no data.
I hope this helps.
regards
Jeff
-Phil
Your answer is there - clearly, whatever you disconnected, was NOT acting as an input.
You had a CMOS output driving low, hence the present but attenuated signal.
Could be a bridge, incorrect pin map, incorrect config...etc
-Phil
Which begs the question, what are you connecting the scope to for the pictures you posted? Have you added additional wiring to the board to utilize inverter 4A/4Y but did not update the layout?
If I run directly from the device to the propeller, skipping the inverter, It works fine, with no changes in the code. The issue is when I connect it from the device to the inverter to the propeller I get the voltage drop. but I understand why you would think this, because it appears that I am pulling power from the propeller all the way to the device, thru the inverter, causing it to drop.
Is there a way to test, regardless of how many cog;s are running, if the direction for the pin is input or output.
regards
Jeff
regards
Jeff
the clocks are used are 40Mhz, always on, and the other is 33 Mhz only when I transmit data, but what I am testing is sending a command to the device and receiving a reply to be processed by the propeller. which comes back on pin 11.
regards
Jeff
I ohm checked the connections, pin 11 from the propeller to the inverter 4y was 0000, pin 26 from the device to the 4a of the inverter was also 0000, what is strange is that If I wire directly from device to the pin 11 of the propeller all is well, using the same path, except for the inverter, and the inverter works fine for outgoing signals, (propeller to device).
is there some rule that you can't wire an inverter both ways? I thought an inverter simple inverts the signals highs are pulled low and lows are pulled high, hence the need for vcc and gnd on the inverter,
regards
Jeff
Yes.
The inverter input pins cannot be used as output pins, neither the other way around.
EDIT: OOPS - I just noticed in post #16 that you did cut that trace from P11.
Sounds like your device has enough output current to overwhelm the Prop IO pin even if it is in an output state. The inverter is rated at a drive current of 4ma, therefore the Prop is in control. I think Phil is right, the code has the pin in an output state when connected to the low output impedance part. Hopefully your Prop pin was not cooked in the process. You might try using a resistor to pull-up/pull-down to test if the pin is in the input state before connecting the inverter. If a large value resistor can easily pull high AND low the Prop is not in an output state.
At this point you might need to go to another pin if pin 11 is burned out.
Dom..
regarding the pin being in input vs output, isn't there a register that I can dump that shows the status of the pin prior to using it for input. so it seems the consensus is that the inverter is making things worse, and it also seems that my code, somewhere is switching input to output and vise versa, on the pin 11, and at this point it seems that pin 11 is probably damaged and I should move onto another pin. so if this is correct, or close, I need to reduce the current from the device to about 4 ma with a resistor, prior to using the inverter and before using the propeller as input for this connection.
I can verify the current from the device tomorrow, I should mention, that this device, high is low and low is high, low is a true 1 and high is a false 0, which is why there is all this inverting, it is probably true that I forgot the rule and set the pin 11 to the opposite somewhere, and I also assume that dira in spin or pasm is the only way to set direction of a pin.
I do have one question "the inverter is rated at a drive current of 4ma, therefore the prop is in control" could you explain this a little more.
regards
Jeff
Yes, and it does not have to be in the cog that's supposed to be reading the pin. Each cog has its own dira register. And if any one of them sets P11 to output, P11 will be an output.
Not necessarily. The Prop is pretty robust. I would not count that pin out yet. Just fix your program.
Also, just so you know, "pin 11," numbered sequentially from the package's pin 1, and "pin P11" are not the same pin on the Propeller. I'm sure you meant "P11," but you need to be clear when you specify which pin you're talking about.
-Phil
the connections are
device (pin 26) => 4a on inverter => 4y on the inverter => pin 11 on propeller
the board without running any programs uses 204 mA
the connection between the device (pin 26) and 4y is 18 mA,
the connection between the 4A on inverter and pin 11 on the propeller is 43 mA
if i take the inverter out of the picture, directly from the device to pin 11 on the propeller it is 43 mA
I'm checking the program for dira := 1
regards
Jeff
regarding the dira := 1, output mode for my input pin, in the spin code I set it to dira := 0, but in the assember code I load a mask (mov dira mask) that had pin 11 in output mode, I will retest and get back with the results
regards
Jeff
thanks for all the help, yes, the problem was the dira in the assembly side, being set to output rather than input., once that was set to input the inverter worked fine,
regards
Jeff