PIC12C5XX
DS30557E-page 2 2000 Microchip Technology Inc.
2.0 PROGRAM MODE ENTRY
The program/verify test mode is entered by holding
pins DB0 and DB1 low while raising MCLR pin from VIL
to VIHH. Once in this test mode the user program mem-
ory and the test program memory can be accessed and
programmed in a serial fashion. The first selected
memory location is the fuses. GP0 and GP1 are
Schmitt trigger inputs in this mode.
Incrementing the PC once (using the increment
address command) selects location 0x000 of the regu-
lar program memory. Afterwards all other memory loca-
tions from 0x001-01FF (PIC12C508/CE518), 0x001-
03FF (PIC12C509/CE519) can be addressed by incre-
menting the PC.
If the program counter has reached the last user pro-
gram location and is incremented again, the on-chip
special EPROM area will be addressed. (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
Essentially, this technique includes the following steps:
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 pro-
gramming (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 location fails to program 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
programming, i.e., apply 11 times the number of
pulses that were required to program the loca-
tion. This will guarantee a solid programming
margin. The over programming should be made
“software programmable” for easy updates.
4. Program all locations.
5. Verify all locations (using speed verify mode) 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 volt-
age 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 approximately 100mA.
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
Microchip may release devices in the future with differ-
ent VDD ranges which make it necessary to have a pro-
grammable VDD.
It is important to verify an EPROM at the voltages
specified in this method to remain consistent with
Microchip's test screening. For example, a
PIC12C5XX specified for 4.5V to 5.5V should be
tested for proper programming 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) Number of over-programming pulses: should be
= (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 recommended.
The maximum number of programming attempts
should be limited to 8 per word.
After the first successful verify, the same location
should be over-programmed with 11X over-program-
ming.
Configuration Word: 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 programma-
ble VDD requirement and the verify at VDDmax
and VDDmin requirement may only be classi-
fied as “prototype” or “development” program-
mer but not a production programmer.