Thanks for the quick responses, I tried compiling my 877a program with the 18f4620 and it seems that I do have some register issues, but they should be easy enough to work around.
Thanks for the quick responses, I tried compiling my 877a program with the 18f4620 and it seems that I do have some register issues, but they should be easy enough to work around.
I didn't do anything wierd, just what's been known to work since whenever...
.1uf caps on both sides of the PIC, or wherever there is a power pin or ground...
the clock circuit, whether it be an oscillator chip or a crystal stays relatively isolated from everything else...
a good fat cap on the power supply output, even if it's a battery pack, along with a middle sized and a smaller one near the output before it even gets close to the PIC...
a few .1uf scattered here and there wherever I thought they might do some good around the circuit board, whether that be an actual PCB, a solderless breadboard, or a soldered perf-board matrix...the only drawback to all of those capacitors everywhere is that your initial load on the power supply is a bit big when initially turned on...
and lots of ground lines. Don't daisy chain grounds or power lines. That's a sure recipe for wierd stuff happening.
Again, nothing wierd here, just a bit of overkill I guess...
JDG
I do all the things that skimask describes and I've never had any ESD and lockup propblems either.
One additional thing I do is put a DS1233 reset generator chip on the MCLR pin. This assures a proper reset and restart if any spikes do occur. I've been doing it as standard operation procedure for years without problem.
Note: you will also need to insert two diodes, in an 'AND' fconfiguration, between the MCLR pin and the reset generator and MCLR line so that the bootload reset cycle won't invoke an unitended 350mS delay from the reset generator.
I can post a schematic if you would like to see what I'm referring to.
I would appreciate a schematic of what you are describing, with 2 diodes helping the bootload issue.
Schematic attached.
The double diode doesn't "help the bootloader". What it does is prevent the reset generator from interfering with the bootloader.
The reset generator helps prevent spurious PIC operation in the presence of "dirty" power, or start-up transient spikes. I once designed a PIC circuit that was powered by 110VAC. Everytime I switched on the power, the PIC would go "off in the weeds". This reset generator circuit solved the problem beautifully, and I've stuck with it ever since.
This particular reset generator imposes a 350mS delay upon power up and "other" power line disturbances, as well as debounces the reset switch. Note: there are other reset generators out there with shorter delays if 350mS is too long for your application.
When the bootloader "wiggles" the MCLR line, as part of it's normal start-up process, this would invoke a "fresh" (and undesirable) 350mS delay, from the reset generator, on the PIC reset pin if the double diode weren't there. Note: it doesn't have to be the BAT54 series diode, but it should be the Schottky type.
Newer PIC devices have brownout protection that may obviate this circuitry. I've just always used this circuit to solve a host of start-up and voltage transient problems.
Last edited by J. Mark Wolf; - 4th February 2006 at 17:11.
Bookmarks