PIC12C5XX
DS30557F-page 2 2001 Microchip Technology Inc.
2.0 PROGRAM MODE ENTRY
The Program/Verify Test mode is entered by holding
pins D B0 and DB1 low , whil e raisin g MCLR pin from VIL
to VIHH. Once in this Test mode, the user program
memory and the test program memory can be
accessed and programmed in a serial fashion. The first
selec ted memor y locatio n is the f uses. GP0 and GP1
are Schmitt Trigger inputs in this mode.
Incrementing the PC once (using the increment
address command), selects location 0x000 of the reg-
ular program memory. Afterwards, all other memory
locations from 0x001-01FF (PIC12C508/CE518),
0x001-03FF (PIC12C509/CE519) can be addressed
by in crementing the PC.
If the program counter has reached the last user pro-
gram location and is incremented again, the on-chip
specia l EPROM area wi ll be addres sed. (See Figure 2-
2 to determine where the special EPROM area is
located for the various PIC12C5XX devices.)
2.1 Programming Method
The programming technique is described in the follow-
ing section. It is designed to guarantee good program-
ming margins. It does, however, require a variable
power supply for VCC.
2.1.1 PROGRAMMING METHOD DETAILS
Essenti ally, this techni que inc ludes the followi ng st eps :
1. Perform blank check at VDD = VDDMIN. Report
failure. The device may not be properly erased.
2. Program location with pulses and verify after
each pulse at VDD = VDDP:
where VDDP = VDD range required during
programming ( 4.5V - 5.5V) .
a) Programming condition:
VPP = 13.0V to 13.25V
VDD = VDDP = 4.5V to 5.5V
VPP must be ≥ VDD + 7.25V to keep
“Programming mode” active.
b) Verify condition:
VDD = VDDP
VPP ≥ VDD + 7.5V but not to exceed 13.25V
If locati on fa il s to p rogram after “N” pulses (sug-
gested maximum program pulses of 8), then
report error as a programming failure.
3. Once location passes “Step 2", apply 11X over
progra mming, i.e ., apply 11 times the number of
pulses that were required to program the loca-
tion. This will insure a solid programming mar-
gin. The over programming should be made
“software programmable” for easy updates .
4. Progr am all locations.
5. Verify all l oc ati ons (us in g Speed Verify mo de) at
VDD = VDDMIN.
6. Verify all locations at VDD = VDDMAX.
VDDMIN is the minimum operating voltage spec.
for the part. VDDMAX is the maximum operating
voltage spec. for the part.
2.1.2 SYSTEM REQUIREMENTS
Clearly , to implement this technique, the most stringent
requirements will be that of the power supplies:
VPP: VPP can be a fixed 13.0V to 13.25V supply. It must
not exceed 14.0V to avoid damage to the pin and
should be current limited to approxima tely 100m A.
VDD: 2.0V to 6.5V with 0.25V granularity. Since this
method calls for verification at different VDD values, a
programmable VDD power supply is needed.
Current Requirement: 40mA maximum
Microc hip ma y release devices in the fu ture with differ-
ent VDD ranges, which make it necessary to have a
programmable VDD.
It is important to verify an EPROM at the voltages
specified in this method to remain consistent with
Microc hip's test sc reening. For example, a PIC12C5XX
specified for 4.5V to 5.5V should be tested for proper
programm in g from 4.5V to 5.5V.
2.1.3 SOFTWARE REQUIREMENTS
Certain parameters should be programmable (and
therefore, easily modified) for easy upgrade.
a) Pulse width.
b) Maximum number of pulses, present limit 8.
c) Numbe r of ov er-prog rammi ng pulse s: sh ould b e
= (A • N) + B, where N = number of pulses
required in regular programming. In our current
algorithm A = 11, B = 0.
2.2 Programming Pulse Width
Program Memory Cells: When programming one
word of EPROM, a programming pulse width (TPW) of
100µs is reco mmended.
The maximum number of programming attempts
should be lim ite d to 8 per word.
After the first successful verify, the same location should
be over-programmed with 11X over-programming.
Configuration W ord: The configuration word for oscil-
lator selection, WDT (Watchdog Timer) disable and
code protection, and MCLR enable, requires a pro-
gramming pulse width (TPWF) of 10ms. A series of
100µs pulses is preferred over a single 10ms pulse.
Note: Device must be verified at minimum and
maximum specified operating voltages as
specified in the data sheet.
Note: Any programmer not meeting the program-
mable VDD requirement and the verify at
VDDMAX and VDDMIN requirement, may
only be classified as a “prototype” or
“development” programmer, but not a
produ cti on prog ram me r.