[Thumbgps-devel] Responses to comments from Dave Taht

Patrick Maupin pmaupin at gmail.com
Sat Mar 10 10:40:54 PST 2012


This is a response to comments made by Dave on esr's blog here:

http://esr.ibiblio.org/?p=4171&cpage=1#comment-374799

> A full uart emulation chip for usb is just slightly
> more expensive than a 4 wire one.

yes but that may be irrelevant because even the 4 wire
one will do what we need (none of the GPS modules
use CTS, and the FTDI will interrupt on a change in
CTS, and you don't have to use RTS/CTS flow control.)

> Which I think sort of begins to explain why the PPS
> devices have been vanishing from the planet.

No, I think there are three reasons: (a) most people don't care,
and (b) wobbling the RS232 control signals could actually
confuse some software.  Many fewer support calls to not
connect it up to the converter.

I said three reasons and I listed two.  What's (c)?  Well, I
could be all wet, but I've worked for chip manufacturers
most of my adult life now, and I know how they think.  Building
chips is like flying a plane.  The first seat costs a lot, the
rest are practically free.  Like  airlines, at some point when
the market gets big enough, manufacturers like to try to
extract the maximum value that each customer will pay.

If this means only supporting PPS for extra money, this
will happen.  If this means making sure that the customers
who don't buy the PPS version can't extract that information
from the RS232 message timing, THEY MIGHT ACTUALLY
GO OUT OF THEIR WAY TO WOBBLE THE RS232
MESSAGE TIMING AROUND.  This is not conspiracy theory
talking.  This is experience from being around where you
can make something for $1 and your largest customer will
only give you $1.50 but others might give you $3.00.  It
is in your interest to make sure that, if the $1.50 product
leaks on the open market, it doesn't perform as well as
the $3.00 product.  Blow a fuse, attach an extra bond wire,
have a different firmware load, whatever.  A really cheap
to implement modification can mask the fact that, underneath,
the two parts came from the same silicon wafer.

Case in point.  I used to work for a company that made a DAA
(phone interface for voice and modems).  They wanted to
price-differentiate the market into 1200/2400 baud and above,
so they actually added hardware to add distortion to the cheap
part to make it not work so well at 56K.  Their goal is to achieve
economies of manufacturing scale, and keep as much of that
as surplus as possible.  Our goal is to engage in arbitrage to
figure out which devices will work well enough for us.

> It does strike me as kind of odd [that there is not a native GPS device class]

Yeah, that's a lot of engineering AND political work.  Plus, personally,
I think there are almost too many device classes.  Unlike the internet,
USB was defined as a monolithic whole.  Sure, it's been updated
multiple times since, but I believe there are device classes that
probably nobody uses.

> USB2 has several modes of ‘native’ operation that seem more
> suitable… interrupts, and isochronous mode. ‘Interrupts’ are
> interesting in that they aren’t actually interrupts, but are polled for.

Yes, that's how all the RS232 devices send data into the host.

> isochronous mode supports data streams of up to 480Mbit

Not quite.  That's the total bus bandwidth including all overhead...

> and individual ‘packets’ of up to 1024 bytes.

Which might be dropped.  isochronous is analogous to UDP in
that there are no guarantees.  So it's actually good for timestamps,
bad for content other than real-time streaming stuff where being
late is as bad as not being delivered.


More information about the Thumbgps-devel mailing list