Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jan 2017 22:23:36 -0800
From:      "Tony Hain" <tony@tndh.net>
To:        "'Ian Lepore'" <ian@freebsd.org>, <freebsd-arm@freebsd.org>
Subject:   RE: BBB uarts & pps dts definitions
Message-ID:  <041b01d27865$e4c54810$ae4fd830$@tndh.net>
In-Reply-To: <1485490656.30533.111.camel@freebsd.org>
References:  <03a801d2776e$cae997e0$60bcc7a0$@tndh.net>			 <1485400906.30533.54.camel@freebsd.org>			 <03bb01d2779d$45d6edd0$d184c970$@tndh.net>			 <03c101d277ae$70f142c0$52d3c840$@tndh.net>		 <1485445768.30533.68.camel@freebsd.org>		 <040101d27816$3f7547b0$be5fd710$@tndh.net>	 <1485466405.30533.96.camel@freebsd.org>	 <041a01d2782d$bee11850$3ca348f0$@tndh.net> <1485490656.30533.111.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Ian Lepore wrote:

> > > > snip

> > > > This is so close, there must be something really trivial that I =
am
> > > > overlooking...
> > > >
> > > > Tony
> > > I'm using a 5v->3.3v level shifter right now, but I have in the =
past
> > > succesfully used resistive dividers. =A0My PPS output device is
> > > designed to drive 5v into a 50 ohm load, so when using a divider I
> > > just try various values I have handy until my scope says the =
voltage
> > > high level is somewhere in the 2.8-3.3v range. =A0Usually I use
> > > resistance that adds up to somewhere between 40-100 ohms when I do
> > > that (depends on what resistors pop out first when I reach into =
the
> > > bag of loosies).
> > >
> > > -- Ian
> > That makes some degree of sense based on what I am seeing, though =
that
> > is a very low input impedance on the BBB. I was expecting ~100k. My
> > source is a
> > 555 on an ancient ttl/RS232 board I built because the 20 us pulse =
from
> > the GPS was too fast (between the slew rate of the 3232 and the DCD
> > detection window on the com port) to go with a simple level
> > conversion. Sounds like it might be best to do an active 3.3v driver
> > at this point.
> >
> > Tony
> >
>=20
> Well you were right, it all boiled down to electrical trouble, but it =
was
caused
> by software, and I just committed a fix as r312859. =A0I'll MFC the =
fix to
11 in a
> few days (you could just grab the patch/source from -current and build =
a
> new kernel now).
>=20
> Even though the code was asking the pinmux driver to configure the pin =
as
> an input, there is also a bit in the timer control register that
configures the pin
> as input or output for capture vs. pulse mode. =A0That setting =
apparently
> overrides the pinmux choice, so the timer block was driving a signal =
onto
that
> pad. =A0(The code had a comment next to one bit in the control =
register
defines
> "no description in datasheet".
> =A0That goes back to the original timer driver from years ago. =A0A =
newer copy
of
> the manual is where I discovered that the bit is now described as
> input/output config.)
>=20
> I think my testing was working because my level-shifter was able to =
out-
> muscle the weaker drive in the TI chip. =A0As soon as I switched to a
passive
> voltage divider it stopped working. =A0Now with the pin configured =
correctly
it
> works fine for me, and probably will for you too.
>=20
> I find that it captures pulses as narrow as 100nS perfectly now. =A0A =
10nS
pulse
> it captures maybe 35% of the time. =A0(My timing hardware has no =
choices
> between 10nS and 100nS to try.)

Glad to hear. I have been investigating alternatives for a driver, and =
the
mosfet approach I was gravitating toward would likely not have made any
difference if the BBB was driving the signal because it is active low =
with
an even higher resistance pull-up. I will look into building  a kernel, =
I
know there are instructions for the cross-compile tools, so it should be
straight forward.=20

Last item, do you know if the DTS src includes the Beaglebone-Green? If =
not,
what can I do to help make that happen. Once I get the Black running, I =
have
a Green to build as its ~twin.

Tony
=20






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?041b01d27865$e4c54810$ae4fd830$>