Strange Significant Loading on IO pin set as input on CPLD

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
I have the following circuit that feeds a pin on a CPLD. The pin is programmed as an input. I have applied a 5V DC signal to R_RPM with this the DC voltage at C_RPM is around 0.85V. IF I keep the meter connected to the C_RPM signal it is what it is suppose to be that is around 3.3V! If I remove the meter and check it again with power still on it drops to 0.85V? This is making no sense to me! Here is the input circuit that converts the 5V to 3.3V filters it some and sends it to the CPLD:
1649303300854.png
C_RPM runs to pin 42 of a Xilinx XC9572 44TQFP CPLD:
1649303384141.png
Note: C_RPM goes to the CPLD pin 42 and nowhere else.

The CPLD has a maximum input leakage current of 10 microamps. So even at the worse it should not drop more than about 0.66V worst case.
I removed R14, C29, and D5 and the problem remains up a little to like 0.9V at C_RPM and at 3.3 due to diode protection on CPLD, until you remove and relook at the voltage on C_RPM then the problem comes back? I have no idea what is going on. Any help appreciated.
 

BobTPH

Joined Jun 5, 2013
4,906
Your divider resistors are too large. 10uA through 100K is 1V.

But this does not explain what you are seeing.

Edited: And what are you measuring it with? An impedance of less than a Meg would noticeably change the output.

Bob
 

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
Your divider resistors are too large. 10uA through 100K is 1V.

But this does not explain what you are seeing.

Edited: And what are you measuring it with? An impedance of less than a Meg would noticeably change the output.

Bob
Thanks for the response. I am using a Fluke 115 handheld multimeter. The specifications have the input impedance when measuring DC voltages at 10Meg. I agree with the voltage drop calculation you have. But like you said, it does not explain what is happening.
 

Delta Prime

Joined Nov 15, 2019
1,326
I had a problem when the input pin was actually configured as an output. If it was configured as an input you can take an 10k pull down resistor & measure approximately 0 volts.The opposite would be true approximately more than 3 volts for an output pin configuration,but as you said the meter itself is loading the pin.
If the results are similar to your original measurements with the 10K pull down, then pin 42 is blown
And is stated previously remap to a different pin.
 

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
The IC might have been damaged from static electricity. Can you move over to a different pin and try?
That is a good idea. I cannot just move to a different pin and try because the PCB is already completed. But I have the same type circuit going to another CPLD pin. I will check that one out Friday Morning. ESD damage does not seem likely, I have an active monitor static safe bench and wrist strap that is always used. I don't think it should hurt the part but the CPLD was installed using solder paste and a hot air rework station set at 350C.
 

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
I don't know your IC well. Some have "week pull up" or "pull down" options. There is chance that some options is turned on.
Thanks for the idea. I will check the ucf file settings. At the moment the ucf has no special settings on that pin except declaring it a digital input.
 

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
Latest update. I tried a different IO pin and it is acting the same way. The circuit as shown is the same. Again 5V this time on R_THROTTLE with 0.8V on the CPLD C_THROTTLE pin:
1649381108430.png
It appears the issue is not the IO pin but something else.
 

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
What is P3P3V? If it is low, D8 will conduct and sink your current.
What is the voltage with D8 and D9 removed?
P3P3V Acronym for 'Positive 3 Point 3 Volt' it is 3.3V power. With D8/D9 removed the output voltage is the same.
 
Last edited:

Thread Starter

dcbingaman

Joined Jun 30, 2021
566
P3P3V is 3.3V power. With D8/D9 removed the output voltage is the same.
That solved the problem! Thank you so much! I doubt I would have found that on my own. In the fitter options I just changed the default IO from KEEPER to FLOAT problem solved. Thanks for everyone elses input as well!
 
Top