Author Topic: reason for not being able to drive another input low  (Read 1015 times)

0 Members and 1 Guest are viewing this topic.

Offline rookieTopic starter

  • Contributor
  • Posts: 33
  • Country: us
reason for not being able to drive another input low
« on: February 11, 2019, 08:54:16 pm »
I have a circuit that detects a pulse and counts it(henceforth "counter"). I treat it like a black box at the moment The input to this circuit is pulled up with a resistor.
I am testing this with two inputs:
1 - one where a microcontroller GPIO is being pulled up briefly and then pulled back down at some interval
2 - another where a PWM signal is being generated by another microcontroller

When I connect the PWM signal(2) to the counter circuit, it is able to detect and count pulses correctly. The signal at the input of the counter also looks like the PWM signal.
But when I connect the GPIO signal(1), the signal on the input of the counter does not look like the original signal when unconnected. There is a DC offset to the signal, and hence the counter doesn't work correctly. It seems that it is not able to bypass the pullup on the input of the counter.

What could be happening here? Is it worth while to remove the pull up as there would always be some signal connect to the counter in a practical scenario? Why is the PWM signal able to drive the signal low but the other GPIO input not able to do so(they are separate microcontrollers)? What electrical characteristic of the pin should I look at when trying to figure this out.
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11656
  • Country: us
    • Personal site
Re: reason for not being able to drive another input low
« Reply #1 on: February 11, 2019, 10:41:19 pm »
What is the value of your pull-up resistor? Generally you need to look at the maximum output current to know what kind of pull-up resistor can be pulled low by the output.
Alex
 

Offline rookieTopic starter

  • Contributor
  • Posts: 33
  • Country: us
Re: reason for not being able to drive another input low
« Reply #2 on: February 11, 2019, 11:39:01 pm »
I think the GPIO is pulled up with a 25k pullup and is connected to the counter circuit which has a 10k input pullup
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11656
  • Country: us
    • Personal site
Re: reason for not being able to drive another input low
« Reply #3 on: February 11, 2019, 11:42:10 pm »
I don't understand your configuration. Any reasonable MCU output should be able to overpower the 10K pull-up. Do you actually drive the output low, or just pull-down the input?
Alex
 

Offline fsr

  • Regular Contributor
  • *
  • Posts: 169
  • Country: ar
Re: reason for not being able to drive another input low
« Reply #4 on: February 12, 2019, 12:26:57 am »
Generally, pull-ups are needed for inputs, not for outputs, unless they're open collector outputs, or something like that. Is that the case?
Anyways, it shouldn't make any difference, as when the output is "open" the pull-ups should pull the output up, and when the output is low, it should drive both the pull-ups low, unless that's over the output current capabilities, which would be rare.
Better if you put a schematic of the whole thing.
 

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 3033
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: reason for not being able to drive another input low
« Reply #5 on: February 12, 2019, 12:53:12 am »
Are you sure you have the GPIO set to be an output? 

A common mistake for example when using an AVR, if you have left the pin as an input, toggling high/low is just be enabling/disabling an internal pullup resistor.
~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf