Contents |
Microchips production programming algorithm consists
of programming at the normal VDD then verifying at VDD-Hi
and VDD-Lo. These 3 levels are set with 3 resistors on the PCB, in a normal LM317 voltage regulator arrangement. When we ship the programmer the voltages are
Note that earlier devices specified VERIFY at VDDMAX, which was 6V. Recent PIC's have VCC_MAX=5.5V, and you need to change VDD_HI. Note that later flash PIC's don't specify 3 level verify, so you can just use the -lax option |
Production programming uses a full verify of the whole memory space at 2 different voltages. This slows it down, and is unneccessary for development.
The -lax option (PP06 -lax .....) means that the programmer programs and verifies at Vdd Mid, and only verifies the part of the program memory that is in the input file.
First download and print the circuit and overlay PDF's
The diagnostic mode steps through the 3 voltages, so you can use this to check what the actual VDD and VPP voltages are.
PP06 -debug
VDD Hi is set by R4 alone. (This arrangement ensures that software can only make VDD lower)
VDD Mid is set by R2//R4 and T1
VDD Lo is set by R3//R4 and T2
To reduce VDD Lo try resistors around these calculated values.
VddLo | R3 |
3 | 365 |
2.5 | 244 |
2 | 108 |
When using production programming in-circuit, you need to change the VCC of the whole circuit. You may need to change delays in the program to allow sufficient time for voltages to transition from one level to another.
Here are some ways of using the PICPN to change the whole circuits voltages:
If this forms part of an ATE system, you might find it useful to use an I2C adaptor to put together other testing components.
(PDF 71k) (PDF37k) (Documentation and Hi-Res Drawings) File Formats