Programming PIC mounted to PCB

Thread Starter

AlwaysBufferGhz

Joined Oct 1, 2020
1
I have a few PIC16C57C ICs already mounted to boards that mistakenly were not programmed before mounted. Attaching wires to each lead of the IC and soldering them to header then attempting to program failed our to a program error not open pin so that tells me my connections were good. I also confirmed the IC can properly program by connecting it directly to the programmers headers. However, why do do think they cannot be programmed when already mounted to the boards.

To assist with this issue, I also tried to solder wires directly to a loose IC (not soldered to a board) which also failed.

Is there not enough current to initiate the programming or is data being lost due length of the wires. I’m trying to understand why this will not work.
 

DickCappels

Joined Aug 21, 2008
8,180
Remember to check and see whether any of the pins used for programming are connected to any on-board circuitry that might keep the programmer from being able to control the pin, for example, a 100 uf capacitor to ground or a low value base drive resistor connected to the programming pin. Go through the circuit pin-by-pin to assure that the voltage on every pin used in the programming process is free to wiggle.

I don't know about your particular chip, but sometimes the clock rate of the chip to be programmed is too slow.

Did I mention power supply voltages being in an acceptable range?
 

dl324

Joined Mar 30, 2015
13,857
In circuit programming doesn't work unless the board has that feature designed in. If you try to power only the chip you want to program in a board that doesn't support programming, it will power up the rest of the board and you'll be fighting other devices for control.
 

KeithWalker

Joined Jul 10, 2017
2,100
You can not program the PIC16C57C by connecting wires directly to the pins because you need external components to activate the clock, either a crystal or ceramic resonator with capacitors or a resistor and capacitor. These components are usually incorporated into the programming module but long leads will prevent the oscillator from working correctly. As Dick mentioned, programming the chip in circuit may not be possible if components are loading the lines used by the programmer.
 

JohnInTX

Joined Jun 26, 2012
4,629
Here is the programming spec for the 16C57C. This chip predates ISCP and repurposes various pins for the programming / verify operations. Note the ~13V on MCLR/. OSC1 is used to increment the program counter during programming / verify. The normal oscillator function is not used in programming. This means that the circuitry attached to the PIC is likely fouling the programming operation. See the Electrical Specifications for particulars.
The PIC16C5X Series can be programmed by applying
the 12-bit wide data word to the 12 available I/O pins
while the address is generated by the on-chip Program
Counter. The MCLR/VPP pin provides the programming
supply voltage (VPP). Programming/verify chip enable
is controlled by the T0CKI pin while the OSC1 pin controls
the Program Counter.
I'd pull the chips, blast them then reinstall.
Good luck!
 

Attachments

Last edited:

John P

Joined Oct 14, 2008
1,928
Since he says "To assist with this issue, I also tried to solder wires directly to a loose IC (not soldered to a board) which also failed" I don't see how components on the board can be having any effect! But if programming requires extra components, he should wire them in and then try again. Use a breadboard or something.

But honestly, it seems to me as if this product needs a redesign, with a more modern processor!
 
Top