powering bone through header causes IO pins to float up despite pull-downs

Bad things happen when I try to power the beaglebone through the header pins.
I'm doing this by connecting an external 5V supply to header P9 pin 5,
and ground header P8 pin 1.

I have the pull-downs for GPIO1_12:15 enabled in software. I believe this is
done correctly: I've verifying that the pull-downs overcome a large external
resistor pulling up, and that enabling the internal pull-up instead works
as expected (my interface doesn't support no-pull so I can't test that).

The IO pins stay right near 0V when I power the bone through the jack. When I
power it through the the header as described above, the pins float up to
0.1 V or more, sometimes high enough to cause spurious high reads on the pins.

I've also tried connecting header P9 pin 6 to 5V as well (no change).
The GND pins appear to be internally connected (as expected).

I'm on a BBW Rev. A6.

Ideas? Success stories? Known problems?

How "large" is your external pull-up resistor?

The AM335x pull-down current is specified to be between 51 and 210 uA,
so if you see 0.1V at the pin, that would put your external pull-up at
15K to 63K.

Be more specific on your exact circuit, the exact voltages you are
seeing, and all details related to operating state when you measure the
values. Basically, there should be zero difference between powering the
BeagleBone from the DC power jack and powering it from VDD_5V on the P9
header since the two signals are tied together.

Sorry, I gave a wrong impression mentioning the external pull-up. Its not
part of the circuit that behaves strangely, I just used it to verify that
the software that enables the internal pull-ups is working right.

There's nothing to the circuits under test. One uses the barrel connector,
with a 5V 1A wall wart, the other uses power via header. Then I plug in a
wire and check the voltage on GPIO1_14 at the other end. With the barrel
connector its 0.014, with the header-fed power its about 0.08.

I did notice that the power supply feeding the bone via the headers might be
lightly underpowered: its coming from a 12 V 0.7 A wall ward that then runs
though a DC-DC coverter that might be as low as 50% efficient for maybe only
4-5 W.

The bone seems to run fine, but it is possible that slight underpower could
somehow cause the IO pins not to pull down correctly?

Britton

Either there is a bad connection somewhere between the barrel jack and the header pins (unlikely), or one of the power supplies is causing the problem. I would check the resistance between the jack contacts and the corresponding header pins, and then try powering via the headers with the known-good supply. If that’s ok, then (with the load connected) look for sag and ripple on the other supply.

Well, its the supply. In some hideous way that I can't figure out how
to measure.

It works fine going straight from a wall wart to the header.

The on-board 12V to 5V supply *looks* fine, it shows up a totally
clean 5V on the scope, no noise that I can measure. There's 220 uF of
output filter. But somehow 500 kHz triangular fuzz is showing up on
the bone IO pin -- exactly the switching frequency of the step-down
switcher.

Its a design from TI switcher-pro. It also agrees almost completely
with the reference design in Fig. 11 of the attached spec sheet. I
feel sorta stupid to be using a design I don't completely understand,
but I'd like to at least be able to measure where the problem
originates.

Any hints?

Thanks,
Britton

Either there is a bad connection somewhere between the barrel jack and
the
header pins (unlikely), or one of the power supplies is causing the
problem.
I would check the resistance between the jack contacts and the
corresponding
header pins, and then try powering via the headers with the known-good
supply. If that's ok, then (with the load connected) look for sag and
ripple on the other supply.

Well, its the supply. In some hideous way that I can't figure out how
to measure.

It works fine going straight from a wall wart to the header.

The on-board 12V to 5V supply *looks* fine, it shows up a totally
clean 5V on the scope, no noise that I can measure. There's 220 uF of
output filter. But somehow 500 kHz triangular fuzz is showing up on
the bone IO pin -- exactly the switching frequency of the step-down
switcher.

Its a design from TI switcher-pro. It also agrees almost completely
with the reference design in Fig. 11 of the attached spec sheet. I
feel sorta stupid to be using a design I don't completely understand,
but I'd like to at least be able to measure where the problem
originates.

The important part is the switch on time (power on ramp time). Does it
ramp linearly and are there any glitches in the ramp. What is the ramp
time? The 500KHz noise sounds like a PCB layout issue. Also, what is the
ESR of the output cap? Don¹t use electrolytic or tantalum capacitors as
they have higher ESR. I recommend you use ceramic capacitors, even if you
have to reduce the size of the capacitor. Try adding a smaller ceramic
capacitor in parallel.

Regards,
John

How close is the switching supply to the BBB? It could be coupling
from the inductor. If so changing orientation might well fix it or at
least prove that's what the problem is.

Either there is a bad connection somewhere between the barrel jack and
the
header pins (unlikely), or one of the power supplies is causing the
problem.
I would check the resistance between the jack contacts and the
corresponding
header pins, and then try powering via the headers with the known-good
supply. If that's ok, then (with the load connected) look for sag and
ripple on the other supply.

Well, its the supply. In some hideous way that I can't figure out how
to measure.

It works fine going straight from a wall wart to the header.

The on-board 12V to 5V supply *looks* fine, it shows up a totally
clean 5V on the scope, no noise that I can measure. There's 220 uF of
output filter. But somehow 500 kHz triangular fuzz is showing up on
the bone IO pin -- exactly the switching frequency of the step-down
switcher.

Thinking about this, perhaps this is just simple pickup from your
oscilloscope probe. This happens if you have a long ground wire on your
probe. Connect the tip of the probe to your ground wire and move your
probe over your power supply. If you still see the 500KHz ³fuzz², then you
need to use a shorter ground wire.

Regards,
John