Searching \ for '[PIC]: Error programming 16F628A chips' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: massmind.org/techref/microchip/devprogs.htm?key=programming
Search entire site for: 'Error programming 16F628A chips'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]: Error programming 16F628A chips'
2005\03\20@173935 by PicDude

flavicon
face
Hmmm...  I can program 16F872, F627, F628 type PIC with no problems, but I
cannot program 16F628A type PICs -- I get an error that it failed to program
location 0000h.  I'm using IC-Prog and a Tait-style programmer
(http://www.nomad.ee/PIC/cpp.gif).  I've tried various I/O delay settings and
verified that each line to the PIC is independantly providing the correct
voltage.  My Vpp is 13.3V.

I do know that the 16F628 A has a different programming protocol than the
F628, but the programmer and IC-Prog both allegedly support the F628A.

The only possible reasons I have found thru searches relates to forcing the
PGM pin low, and I am already doing that (10k resistor to ground).

Any clues?

Thanks,
-Neil.


2005\03\20@223216 by Gaston Gagnon

face
flavicon
face
PicDude wrote:
> Hmmm...  I can program 16F872, F627, F628 type PIC with no problems, but I
> cannot program 16F628A type PICs -- I get an error that it failed to program
> location 0000h.  I'm using IC-Prog and a Tait-style programmer
> (http://www.nomad.ee/PIC/cpp.gif).  I've tried various I/O delay settings and
> verified that each line to the PIC is independantly providing the correct
> voltage.  My Vpp is 13.3V.
>
> I do know that the 16F628 A has a different programming protocol than the
> F628, but the programmer and IC-Prog both allegedly support the F628A.
>
> The only possible reasons I have found thru searches relates to forcing the
> PGM pin low, and I am already doing that (10k resistor to ground).
>

I use Picallw software by Bojan Dobaj which is by the way freeware now.
You can download it at
       http://www.picallw.com/
  "PICALLW software version 0.16 January 2005 FREEWARE"

To program 16f628a do:
1) Leave both "Erase before program" and "BlankCh. before prog." unchecked
2) Hit the Erase button
3) Then press Program button

That should do it for you.

Gaston

2005\03\22@141336 by PicDude

flavicon
face
Still no dice.  And I'm certain I've programmed 627A's before as well.  Some
more experimentation indicates that I have a may hardware problem, since I
also can't program a basic 16F872 now.  But the individual output tests work
fine....arrggghhh!!!

I've got a few ideas to try that should hopefully narrow down the problem, but
at this point I'm moving away from software being the problem

Cheers,
-Neil.


On Sunday 20 March 2005 09:36 pm, Gaston Gagnon scribbled:
{Quote hidden}

2005\03\24@094254 by PicDude

flavicon
face
Finally, I am able to program chips properly again, including 16F628A's.  The
result is that I shortened the wires from the PIC programmer to the SOIC clip
and connected them directly (instead of via a programming socket adapter
board I have).  I'm still trying to figure out what changed and why, but I'm
happy to be able to program chips again for now.

Cheers,
-Neil.


On Tuesday 22 March 2005 01:12 pm, PicDude scribbled:
{Quote hidden}

2005\03\24@102109 by John J. McDonough
flavicon
face
----- Original Message -----
From: "PicDude" <spam_OUTpicdude2TakeThisOuTspamnarwani.org>
Subject: Re: [PIC]: Error programming 16F628A chips


> Finally, I am able to program chips properly again, including 16F628A's.
The
> result is that I shortened the wires from the PIC programmer to the SOIC
clip
> and connected them directly (instead of via a programming socket adapter
> board I have).  I'm still trying to figure out what changed and why, but
I'm
> happy to be able to program chips again for now.

Interesting.  There was a thread a few months back where some folks accused
the 628A of being more susceptible to noise during programming than the 628.
That sounded a little suspicious to me, but your results seem to add another
piece of data pointing in that direction.

--McD


2005\03\24@104930 by Alan B. Pearce

face picon face
>Finally, I am able to program chips properly again, including 16F628A's.
>The result is that I shortened the wires from the PIC programmer to the
>SOIC clip and connected them directly (instead of via a programming
>socket adapter board I have).  I'm still trying to figure out what
>changed and why, but I'm happy to be able to program chips again for now.

This sounds very similar to the problem that Olin talked of a month or so
ago, as an enlargement of problems he had a while back. it seems that some
of the newer chips are more susceptible to cross talk on the ICSP lines
fouling up the replies to the programmer during verify, and he fixed it with
small (about 22pF IIRC) capacitors on both the clock and data lines at the
chip being programmed end of the wires.

2005\03\24@110347 by PicDude

flavicon
face
Never saw that thread (but there was a recent couple-month period that I did
not receive piclist emails).

Between this and the EEPROM nightmares I had some months back with -A versions
of the 628, I am not thrilled.  Not sure why I let microchip support talk me
into using the -A versions, but I ordered some regular old 628's yesterday,
albeit at a slightly higher cost.

Cheers,
-Neil.


On Thursday 24 March 2005 09:21 am, John J. McDonough scribbled:
> {Original Message removed}

2005\03\24@111439 by PicDude

flavicon
face
I must try that.  Unfortunately in my desperation to get the programmer
working, I hacked most of it apart.  Hoping to get some time this weekend to
re-build it and I'll try the caps as well.

I'll post my results then.

Cheers,
-Neil.


On Thursday 24 March 2005 09:49 am, Alan B. Pearce scribbled:
> This sounds very similar to the problem that Olin talked of a month or so
> ago, as an enlargement of problems he had a while back. it seems that some
> of the newer chips are more susceptible to cross talk on the ICSP lines
> fouling up the replies to the programmer during verify, and he fixed it
> with small (about 22pF IIRC) capacitors on both the clock and data lines at
> the chip being programmed end of the wires.


2005\03\24@150143 by Lee Jones

flavicon
face
>> This sounds very similar to the problem that Olin talked of a month or so
>> ago, as an enlargement of problems he had a while back. it seems that some
>> of the newer chips are more susceptible to cross talk on the ICSP lines
>> fouling up the replies to the programmer during verify, and he fixed it
>> with small (about 22pF IIRC) capacitors on both the clock and data lines
>> at the chip being programmed end of the wires.

> I must try that.  Unfortunately in my desperation to get the programmer
> working, I hacked most of it apart.  Hoping to get some time this weekend
> to re-build it and I'll try the caps as well.

Adding the caps on the programmer end does not fix it.

Problem, as I understand it, is the newer chips (particularly dsPIC)
have such fast rise times that the PIC presentation of a data bit on the
PGD line induces a glitch on the PGC line.  The PIC being programmed sees
the extra transition on the PGC as a clock pulse and the PIC gets out of
sync with the programmer.

Advice was to add a 20'ish pF cap on each of PGC & PGD lines at the
target board end.  Addition of a low ohm (100 ohms?) resistor in series
with one of the lines (I think PGD but am not sure) was also advised.

Since it's the target board generating noise that effects the target,
you have to have the components on the target board.  Adding them to
the programmer doesn't help.  If you're laying out a new board, put
pads in for SMT caps near the programming connector.  Then populate
them only if you run into the problem.  It's nearly free insurance.

Standard things...  Keeping the cable as short as possible helps.

The silver satin wire used by Microchip on the ICD2 doesn't help at
all since the wires are parallel to each other.  I've built cables
using twisted pair cable (UTP).  Put PGD & ground on a pair, put PGC
& ground on another pair; physical seperation & grounds help reduce
crosstalk.  Getting the multiple grounds hooked up at the RJ12 plug
end is the hardest problem.  Much easier to build the cable if you
have a SIP header at the programmer end (see Olin's ProProg).

                                               Lee Jones

2005\03\24@170123 by Wouter van Ooijen

face picon face
> Adding the caps on the programmer end does not fix it.
> (snip)

My Wisp628 has always had series resistors in all lines from the
programmer to the target (except power and ground). Once I used 470
ohms, nowaydays 47 ohms. The resistors are in the programmer. I recall
Vasile Surducan once reporting problems that were cured by putting 22pF
or something like that on clock and/or data pins near the target, but
otherwise I have yet to hear of any crostalk-like problems. I have used
both standard ribbon cable and standard DB15 extension cable up to a few
meters between the programmer and the target, without problems. So you
might try to use series resistors. But note that this might affect the
data and clock timing.

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\03\24@174714 by Herbert Graf

flavicon
face
On Thu, 2005-03-24 at 23:01 +0100, Wouter van Ooijen wrote:
> > Adding the caps on the programmer end does not fix it.
> > (snip)
>
> My Wisp628 has always had series resistors in all lines from the
> programmer to the target (except power and ground). Once I used 470
> ohms, nowaydays 47 ohms. The resistors are in the programmer. I recall
> Vasile Surducan once reporting problems that were cured by putting 22pF
> or something like that on clock and/or data pins near the target, but
> otherwise I have yet to hear of any crostalk-like problems. I have used
> both standard ribbon cable and standard DB15 extension cable up to a few
> meters between the programmer and the target, without problems. So you
> might try to use series resistors. But note that this might affect the
> data and clock timing.

I don't know about other chips, but the 30F2010, in at least certain
revisions, does need this, even with an ICD2. TTYL


-----------------------------
Herbert's PIC Stuff:
http://repatch.dyndns.org:8383/pic_stuff/

2005\03\24@181754 by olin_piclist

face picon face
Lee Jones wrote:
> Advice was to add a 20'ish pF cap on each of PGC & PGD lines at the
> target board end.  Addition of a low ohm (100 ohms?) resistor in
> series
> with one of the lines (I think PGD but am not sure) was also advised.

It was the PGD line, and the resitor goes between the PIC and the cap.  This
provides additional filtering to remove high frequencies from what is driven
over the PGD wire back to the programmer.


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

2005\03\25@034317 by ThePicMan

flavicon
face
At 12.08 2005.03.24 -0800, you wrote:
{Quote hidden}

If the programmer's output clock line was low impedance, this wouldn't
happen, right?


{Quote hidden}

>-

2005\03\25@082336 by olin_piclist

face picon face
ThePicMan wrote:
> If the programmer's output clock line was low impedance, this wouldn't
> happen, right?

No, since the whole effect can happen in the propagation time of the data
signal from the target chip to the programmer and back.  Anything you do at
the programmer end of the cable can't possibly make a difference during this
time.


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

2005\03\25@105808 by Wouter van Ooijen

face picon face
> If the programmer's output clock line was low impedance,
> this wouldn't
> happen, right?

The effect is caused by the rise time of the 'source' line, combine with
the high impedance (only at the target side?) of the other line. A
series resistor softens the rise time, and damps ringing. A capacitor
softens the riste time, and (when placed at the target) provides a
low-impedance.

A low impedance of the clock output driver can only worsen the effect.

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\03\25@113134 by Bob Axtell

face picon face
Agreed. The series resistor softens the wavefront, reducing the
radiation effects to the nearby wiring.

The PIC has a Schmitt-triggered input in program mode, so the
R won't prevent proper operation even when it is larger. An R of
100 ohms should be right.

The RJ12 of the ICD2 is a problem, as the wires are bundled too
tightly.

--Bob

Wouter van Ooijen wrote:

{Quote hidden}

--
Note: To protect our network,
attachments must be sent to
.....attachKILLspamspam@spam@engineer.cotse.net .
1-866-263-5745 USA/Canada
http://beam.to/azengineer


'[PIC]: Error programming 16F628A chips'
2005\04\19@114545 by PicDude
flavicon
face
Getting back to this old thread, now that I'm back home for a bit, I tried the
caps/resistors, but it did not solve the problem for me.  However, I did find
a problem...

Short answer is that the ribbon cable and SOIC test clip attached in parallel
to the ZIF programming socket was causing the problem, but I'm still not sure
why, since I verified no shorts/opens and voltages at the appropriate pins
were fine.

Long version...
My programmer is a Tait parallel programmer with a jumper at the output.  This
jumper is then connected to one of a few headers which routes the programmer
output to the appropriate PIC pins, based on the type of chip to be
programmed.  This photo may clarify this a bit...
       http://www.narwani.org/neil/electronics/TaitProgrammerNew.jpg

There is a 28-pin zif socket that the PICs fit into.  There is also a 28-pin
SOIC test-clip wired in parallel to the socket, so I can program either
package type.  This is connected with 2 pieces of 14-conductor ribbon cable.

When I had the problem, the pins on the SOIC test clip and on the ZIF socket
tested fine, but I could not program the 16F628A-SO's.  Apparently there were
intermittent problems programming the DIP version as well.  It would work
sometimes, but not always.

After I de-soldered the ribbon cables from the programmer board, I can program
DIP versions of the F628A properly.  I re-soldered the ribbon cables with the
SOIC test clip, tested thoroughly and verified no shorts, opens, etc, but it
would still not program the F628A-SO, and had intermittent probs with the DIP
version again.

Last thing I tried was to remove the ribbon cable and just route 6 wires from
the DIP socket to the SOIC test clip, and I can program the SOIC version
again.

I'm still unsure why this would happen.

Cheers,
-Neil.


On Thursday 24 March 2005 10:13 am, PicDude scribbled:
{Quote hidden}

2005\04\19@150050 by J. Gromlich

flavicon
face
It looks to me as though the ribbon cable was presenting too much
of a capacitive load to the driver circuits on the programmer board.
Also, the ribbon may have been introducing excessive crosstalk
between pins.  Going to the separate wires soldered point-to-point
would be likely to have lower capacitance and maybe lower cross-
talk as well,

RJG

> {Original Message removed}

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