gnupic: DIY USB programmer ?


Previous by date: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Next by date: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Previous in thread: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Next in thread: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff

Subject: Re: DIY USB programmer ?
From: David Willmore ####@####.####
Date: 5 Jan 2005 22:15:23 +0000
Message-Id: <200501052214.j05MEn8N019509@localhost.localdomain>

> > You're unlikely to find a USB interface chip + PIC combo cheaper than a UBS
> > PIC, so why not use use it from the beginning--and get the benefit of an
> > 18F pic? ;)
> 
> The original catch 22 problem. How do you program the USB PIC?

Sure, so have someone program one for you.  Send an email to ####@####.####
and ask someone to burn you a chip.  SASE the chip to them.  Not so hard. :)

> > Okay, maybe this is a definition problem, but the difference between 'dump
> > USB interface chip' and uC with USB interface doesn't seem to be meaningful.
> > Why not use base the programmer around a USB micro?
> 
> Because you then have to either buy a preprogrammed micro or have a 
> programmer which will require a preprogrammed micro.

Sure, that's no big deal, though. 

> Let's define the requirements again:
> 
> 1) You have a user with a blank PIC.
> 2) The user doesn't have a traditional PIC programmer of any type.
> 3) As per the spec of the OP the user's machine only has USB.
> 4) The user has access to ordinary electronics and computer parts such as
>    a USB to serial cable. However special parts, including preprogrammed 
>    PICs, would require a significant investment in funds and time.
> 5) And the most important one: The user really isn't interested in 
>    programming PICs. So they don't want to buy a traditional programmer.
>  
> Essentially the design is for a one off PIC programmer that can be driven
> from the USB port. Keep the design simple, the parts cheap and available.

That would be a very cool project, but I'd really only want to bootstrap
the first 'real' programmer with it.  Otherwise, you're going to be relying
on too many marginal issues--timing, software, etc.

> BTW the FTDI parts fail all of the above as a complete module using the
> chip isn't easily available and is expensive.

Digikey sells someones module with one on it for some $25 or so.  What price
range are we looking at?  I was thinking $25 for micro/PCB/parts seems fair.
For a case+ZIF, you're going to go up in price.  But, if you have a breadboard
and don't mind wiring stuff up, you're done.

> I think the clear winner in this segment is the USB to serial cable. 
> It's cheap. It keeps the design simple and is readily available everywhere.

If your 555 design can do it, I think it'd be cool.  But, like the zero
pin programming trick, not really useful for anything over the most
casual development.  So, as a true "I'm only going to do this once" bootstrap,
I think it's great.

> > Fine, you say, those <waits> can be as long as they want.  Sure, they
> > can, but that's not what you run into.  The FTDI windows driver *caches*
> > things you send to it and only updates the chip (over the USB) some 8000
> > times a second.  If you say "do something" and wait a little bit and
> > then say "do something else", there is no guarentee that those two
> > somethings will be sequenced when they hit the chip--they may hit the
> > chip simultaniously--violating setup times for data->clock.  So, I find
> > these chips to be useless for this task.  Blink a LED with a pin, yeah,
> > they can do that, but something with delicate timing?  No.
> 
> This is the reason that in another post I stated that I have some 
> apprehension about using the modem control signals on a USB to serial
> cable. There's no guarantee with the timing relationships between those
> signals. 

Exactly and the USB->RS232 are even worse than a hardware UART in that
department--much worse.

> In TX we trust!

In TX *alone*. :)  No way to *verify* the chip. ;)

> > Develop, yes.  We'll see how much time it takes, but the design is
> > fairly simple from a hardware standpoint.  The software isn't much
> > more complex--look at the protocol used by the pulseEngine in PikDev
> > and you'll see what I mean.  Maintenance shouldn't be hard as once
> > you can manipulate all of the pins, what more is there? ;)
> 
> Well there's still the bootstrap issue. How you program the chip for a
> programmer when you don't have a programmer?

SASE+sample chip or just paypal someone $10 and ask nicely? :)

> That's what the OP means by intelligent. A "dumb" solution can be 
> "programmed" with solder and wire, not requiring an additional programmer in
> order to program the chip to make the programmer. It breaks the catch 22 
> chain.

Okay, so how about a 'front pannel' bank of toggles type of programmer and
a contest to see who can write the smallest 18F2550 USB bootstrap program? ;)

> Maybe we should come up with a term to describe this type of programmer
> whose sole purpose is a one off load into a part. I nominate bootstrap
> programmer because its purpose is to bootstrap a PIC with project code or
> a bootloader.

Yep, I think that's the perfect term.  Is the OT wants a bootstrap programmer,
you design looks like the way to go.  If they want a very basic/flexable
USB programmer, mine might be a better choice.

Cheers,
David

Previous by date: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Next by date: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Previous in thread: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff
Next in thread: 5 Jan 2005 22:15:23 +0000 Re: DIY USB programmer ?, Byron A Jeff


Powered by ezmlm-browse 0.20.