Searching \ for '[PIC] Low-voltage programming, was Most compatible' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devprogs.htm?key=programming
Search entire site for: 'Low-voltage programming, was Most compatible'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] Low-voltage programming, was Most compatible'
2005\04\19@121730 by Mike Hord

picon face
> In fairness, I should also give a nod to Olin's EasyProg and
> ProProg, although I haven't extensively investigated them.
> EasyProg (I believe) is similar in character to the Wisp628
> (i.e., freely available online or you can buy a kit from Olin), but
> has a few advantages (multiple programming voltages among
> them).  DEFINITELY check that information before making
> any decisions.  IANAL, YMMV.

Before someone else jumps on me about this, I checked out
the EasyProg website, etc., and it seems pretty similar to
the Wisp628, which is to say that the controlling chip runs at
20 MHz, which rules out running it below 4.5V.  So that leaves
me stymied as to which programmer to suggest (or use) for
a hobbyist not willing (or able) to purchase a $150 ICD2 or a
$300 ProProg while still allowing ICSP of a board with
Vdd<4.5V.  

This is a problem near and dear to my heart, because I'm in
an endeavor now which requires such capacity (i.e., I'll be
sending firmware updates to other people, who will install
them and get back to me).  In time, I will implement a
bootloader (any ideas how to add that to a PicBasic Pro
project without messing things up?), but for now, the easy
thing is give each person a programmer.  I hate to spend
$150 for an ICD2 each, but I may have no other choice,
except socketing the PIC in the future...

Mike H.

2005\04\19@124123 by Spehro Pefhany

picon face
At 11:17 AM 4/19/2005 -0500, you wrote:
{Quote hidden}

Could you use the PICkit1? It's cheaper to start with, and maybe
you could get a discount on that.

Best regards,

Spehro Pefhany --"it's the network..."            "The Journey is the reward"
spam_OUTspeffTakeThisOuTspaminterlog.com             Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog  Info for designers:  http://www.speff.com




2005\04\19@140521 by olin_piclist

face picon face
Mike Hord wrote:
> Before someone else jumps on me about this, I checked out
> the EasyProg website, etc., and it seems pretty similar to
> the Wisp628, which is to say that the controlling chip runs at
> 20 MHz, which rules out running it below 4.5V.

Yes, the controlling chip is run at 5V.  However, that is an internal issue
only.  The EasyProg has it's own power supply, so I can't see why you should
care how it accomplishes its task as long as it does so.

Note that while the internal controller runs on 5V, this has nothing to do
with the Vdd level used on the target chip.  One of the differences between
the EasyProg and most other hobby programmers (including the Wisp), is that
the EasyProg has a variable target chip Vdd supply.  The configuration file
on the host contains 3 voltage levels for each chip.  These are the voltage
level to program at, and two additional levels to do verification at.

If you're sure you understand the implications, you can add additional names
for a particular PIC that specify different voltage levels.  The default
configuration file already does this with the "L" parts.  For example, here
is a snippet from the configuration entry for the 16F628:

 names 16f628 16lf628
 vdd 3 5 5.5
 vdd 2 5 5.5 16lf628

You can add any number of special names each with their own Vdd levels.  You
will have to specify your special name with the -PIC command line option to
PIC_PROG, because all variants have the same chip ID so the software assumes
the first listed name unless you tell it otherwise.  And yes, this
configuration file is fully documented.  See the PICPRG_ENV.TXT
documentation file in the DOC directory after installing the software.

> So that leaves
> me stymied as to which programmer to suggest (or use) for
> a hobbyist not willing (or able) to purchase a $150 ICD2 or a
> $300 ProProg while still allowing ICSP of a board with
> Vdd<4.5V.

Keep in mind that the target board will be powered down during programming.
If the PIC supply is not separated from the remaining circuit and the PIC
needs 5V to program and the remaining circuit can't handle more than 3.3V,
then you've got a fundamental problem that no programmer can solve.

Although it seems simple, in-circuit programming is not something you do at
the last minute in production.  The requirements of ICSP need to be
carefully considered as part of the design.  The circuit has to tolerate 13V
on the MCLR line, and the programming power supply voltage on the PIC Vdd
line.  Sometimes this is as simple as adding a resistor.  Other times it
will require some compromises or additional parts, different regulators,
etc.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\19@142356 by Mike Hord

picon face
> Could you use the PICkit1? It's cheaper to start with, and maybe
> you could get a discount on that.
>
> Best regards,
>
> Spehro Pefhany --"it's the network..."            "The Journey is the reward"

Doesn't look too good.  I'm needing support for the 18F2320 @ 3.5V.

I think I may just need to get my rear in gear and work out the bootloader.

Mike H.

2005\04\19@151124 by Mike Hord

picon face
> > Before someone else jumps on me about this, I checked out
> > the EasyProg website, etc., and it seems pretty similar to
> > the Wisp628, which is to say that the controlling chip runs at
> > 20 MHz, which rules out running it below 4.5V.
>
> Yes, the controlling chip is run at 5V.  However, that is an internal issue
> only.  The EasyProg has it's own power supply, so I can't see why you should
> care how it accomplishes its task as long as it does so.

It was a problem for me with the Wisp628 since it hooks straight to the
target chip, and powers from the target chip, so it is limited by the target
Vdd.  Not so with the EasyProg.

{Quote hidden}

And if the PIC doesn't need 5V to program?  In that case, the target board is
powered down, draws its supply current from the EasyProg, which does its
thing at each of the 3 specified voltages and then reports back to me with the
results, correct?

> Although it seems simple, in-circuit programming is not something you do at
> the last minute in production.  The requirements of ICSP need to be
> carefully considered as part of the design.  The circuit has to tolerate 13V
> on the MCLR line, and the programming power supply voltage on the PIC Vdd
> line.  Sometimes this is as simple as adding a resistor.  Other times it
> will require some compromises or additional parts, different regulators,
> etc.

Perhaps I should have been more specific.  I'm always falling into that trap.
I'm using the 18LF2320.  Minimum operating voltage for self-timed write is
Vmin, which in my case is well below the operating voltage; however, block
erase requires 4.5V.

I take your point, however, that ICSP is more complex than it initially appears
(and moreso than I originally accounted for).

The ICD2 happily writes and verifies at 3.5V, which it uses the target to
provide; does that imply that it doesn't do a block erase?  I can't imagine
Microchip shipping a development tool that would do a block erase below the
datasheet specified voltage.  But then, you never know.

Mike H.

2005\04\19@154111 by olin_piclist

face picon face
Mike Hord wrote:
> And if the PIC doesn't need 5V to program?  In that case, the target
> board is powered down, draws its supply current from the EasyProg,
> which does its
> thing at each of the 3 specified voltages and then reports back to me
> with the results, correct?

Yes.  Keep in mind that the EasyProg is the low cost model and isn't
intended to supply much more power than the target PIC needs.  The ProProg
on the other hand was specifically designed to provide up to 1/2 amp to the
target circuit.

> Perhaps I should have been more specific.  I'm always falling into that
> trap. I'm using the 18LF2320.  Minimum operating voltage for self-timed
> write is Vmin, which in my case is well below the operating voltage;
> however, block erase requires 4.5V.

That will still be a problem since the first thing my programmers do is a
bulk erase.  I suppose it's too late to separate the PIC supply from the
rest of the circuit?

> The ICD2 happily writes and verifies at 3.5V, which it uses the target
> to provide; does that imply that it doesn't do a block erase?

I would think so.  Note that Microchip makes a distinction between
"development" and "production" programmers, and they classify the ICD2 as
development.  Then there's the issue that you can't program some PICs with
certain code protection settings without doing a bulk erase.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\19@165600 by Mike Hord

picon face
> > And if the PIC doesn't need 5V to program?  In that case, the target
> > board is powered down, draws its supply current from the EasyProg,
> > which does its
> > thing at each of the 3 specified voltages and then reports back to me
> > with the results, correct?
>
> Yes.  Keep in mind that the EasyProg is the low cost model and isn't
> intended to supply much more power than the target PIC needs.  The ProProg
> on the other hand was specifically designed to provide up to 1/2 amp to the
> target circuit.

My board is VERY low power to begin with.  It's designed to operate for some
months on a 9V battery.  During normal ICD2 programming, current draw leaps
to a whopping 1.2 mA; even the EasyProg should handle that.

> > Perhaps I should have been more specific.  I'm always falling into that
> > trap. I'm using the 18LF2320.  Minimum operating voltage for self-timed
> > write is Vmin, which in my case is well below the operating voltage;
> > however, block erase requires 4.5V.
>
> That will still be a problem since the first thing my programmers do is a
> bulk erase.  I suppose it's too late to separate the PIC supply from the
> rest of the circuit?

Yes and no.  Yes, because we have some boards made already, but
no, because those are prototypes, so I can change things before
production time.

> > The ICD2 happily writes and verifies at 3.5V, which it uses the target
> > to provide; does that imply that it doesn't do a block erase?
>
> I would think so.  Note that Microchip makes a distinction between
> "development" and "production" programmers, and they classify the ICD2 as
> development.  Then there's the issue that you can't program some PICs with
> certain code protection settings without doing a bulk erase.

So it becomes important later, when we want to send the devices out
into the world.  Good to know.  I knew that the ICD2 is called a development
programmer, and for the most part what that entailed.  I didn't realize that
development programming was necessarily that different than production
programming.

This IS my first commercial product, and I'm essentially on my own, so I'm
feeling things out and discovering things the hard way an unfortunate
number of times.  But things are going pretty well, considering.

Mike H.

2005\04\20@013457 by Denny Esterline

picon face
> In time, I will implement a
> bootloader (any ideas how to add that to a PicBasic Pro
> project without messing things up?),

Piece of cake. Add this to your defines:

define LOADER_USED 1

Check the manual for the specifics. I use it with MicroCode Studio's loader
all the time - no problems so far.

But you might want to check the datasheet, ISTR that they can't self program
below 4.5 V either - don't take my word for it though.

-Denny




2005\04\20@032536 by Wouter van Ooijen

face picon face
> This is a problem near and dear to my heart, because I'm in
> an endeavor now which requires such capacity (i.e., I'll be
> sending firmware updates to other people, who will install
> them and get back to me).  In time, I will implement a
> bootloader (any ideas how to add that to a PicBasic Pro
> project without messing things up?)

What would be the problem? Use the relocation approach and the PBP
program won't even know the bootloader is there.

Note that some (most?) target chips that support <4.5V HVP programming
require a different programming algorithm than the preffered one for
>4.5V programming.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\20@083629 by Mike Hord

picon face
> > In time, I will implement a
> > bootloader (any ideas how to add that to a PicBasic Pro
> > project without messing things up?),
>
> Piece of cake. Add this to your defines:
>
> define LOADER_USED 1
>
> Check the manual for the specifics. I use it with MicroCode Studio's loader
> all the time - no problems so far.
>
> But you might want to check the datasheet, ISTR that they can't self program
> below 4.5 V either - don't take my word for it though.

They can- part of what I'm doing is using the lower 256 bytes of the program
memory to store a "scratchpad" full of data- user notes and so on.  So far, I've
had no problem writing data to or reading data from that memory.

The self-timed write functionality is guaranteed by the datasheet above Vmin.
Whatever that's worth.

Mike H.

2005\04\20@083941 by Mike Hord

picon face
> > This is a problem near and dear to my heart, because I'm in
> > an endeavor now which requires such capacity (i.e., I'll be
> > sending firmware updates to other people, who will install
> > them and get back to me).  In time, I will implement a
> > bootloader (any ideas how to add that to a PicBasic Pro
> > project without messing things up?)
>
> What would be the problem? Use the relocation approach and the PBP
> program won't even know the bootloader is there.

Which is automated by the HLL, I suppose.  I just have a natural distrust of
anything that seems that easy.

> Note that some (most?) target chips that support <4.5V HVP programming
> require a different programming algorithm than the preffered one for
> 4.5V programming.
>
> Wouter van Ooijen

In a manner which impacts bootloader operation?  I guess I've never really
checked a bootloader, but I always figured it just minimally configures the
serial port, accepts some input, validates it somehow, then writes it to the
flash.  Self-timed write and all that.  Oh, wait, I think I see what you mean.
<4.5V HVP implies that the writes on the chip are done self-timed during
HVP.  Okay, that makes sense.

Mike H.

2005\04\20@093644 by Jan-Erik Soderholm

face picon face
Mike Hord wrote :

> > But you might want to check the datasheet, ISTR that they
> > can't self program
> > below 4.5 V either - don't take my word for it though.
>
> They can-...

Right.
It's the "block erase" that needs at least 4.5 V.

> So far, I've had no problem writing data to or
> reading data from that memory.

I'm not 100% sure how writing to the prog mem is done,
but maybe you don't need to do the "block erase" in
your case... ?

Jan-Erik.



2005\04\20@101202 by Wouter van Ooijen

face picon face
>> What would be the problem? Use the relocation approach and the PBP
>> program won't even know the bootloader is there.
>
> Which is automated by the HLL, I suppose.  I just have a
> natural distrust of
> anything that seems that easy.

I prefer to use the same HLL settings (hence exactly the same .hex file)
with and without a bootloader. YPMBD: Your Preference Might Be
Different.

>> Note that some (most?) target chips that support <4.5V HVP
> programming
>> require a different programming algorithm than the preffered one for
>> 4.5V programming.

> In a manner which impacts bootloader operation?

No, this remark was addressing your ideas for <4.5V HVP ICSP. But you
might check which constraints apply to <4.5 self-writing.

>I guess I've
> never really
> checked a bootloader, but I always figured it just minimally
> configures the
> serial port, accepts some input, validates it somehow, then
> writes it to the
> flash.

That's a bootloader for sissies :) A Real Man does not eat quiche,
writes the .hex file of his bootloader using a text editor, and that
bootloader does not use the serial port at all. Better: it uses no I/O
pin. Still better: it does not even use the /MCLR. And for a real coding
challenge (why don't we have regular coding challenges any more?): it
must use no code space either. And for Olin: the bootloader must also
reject non-appropriate application programs. I am at least partially a
real man (I do like quiche, so I can't be a real one).

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\20@123543 by Mike Hord

picon face
> That's a bootloader for sissies :) A Real Man does not eat quiche,
> writes the .hex file of his bootloader using a text editor, and that
> bootloader does not use the serial port at all. Better: it uses no I/O
> pin. Still better: it does not even use the /MCLR. And for a real coding
> challenge (why don't we have regular coding challenges any more?): it
> must use no code space either. And for Olin: the bootloader must also
> reject non-appropriate application programs. I am at least partially a
> real man (I do like quiche, so I can't be a real one).
>
> Wouter van Ooijen

I seem to recall you having something you called a "Zero-pin loader",
Wouter.  Can't find it on your site, though.

Those are all very interesting challenges, none of which am I up to.

Mike H.

More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...