
2011 Microchip Technology Inc.
Preliminary
DS41455B-page 179
PIC16LF1902/3
19.0
IN-CIRCUIT SERIAL
PROGRAMMING (ICSP)
ICSP programming allows customers to manufacture
circuit boards with unprogrammed devices. Programming
can be done after the assembly process allowing the
device to be programmed with the most recent firmware
or a custom firmware. Five pins are needed for ICSP
programming:
ICSPCLK
ICSPDAT
MCLR/VPP
VDD
VSS
In Program/Verify mode the Program Memory, User
IDs and the Configuration Words are programmed
through serial communications. The ICSPDAT pin is a
bidirectional I/O used for transferring the serial data
and the ICSPCLK pin is the clock input. For more
information
on
ICSP
refer
to
the
“PIC16F193X/LF193X/PIC16F194X/LF194X/PIC16LF
190X
Memory
Programming
Specification”
(DS41397).
19.1
High-Voltage Programming Entry
Mode
The device is placed into High-Voltage Programming
Entry mode by holding the ICSPCLK and ICSPDAT
pins low then raising the voltage on MCLR/VPP to VIHH.
Some programmers produce VPP greater than VIHH
(9.0V), an external circuit is required to limit the VPP
FIGURE 19-1:
VPP LIMITER EXAMPLE CIRCUIT
VREF
VPP
VDD
VSS
ICSP_DATA
ICSP_CLOCK
NC
RJ11-6PIN
R1
270 Ohm
To MPLAB ICD 2
To Target Board
1
2
3
4
5
61
2
3
4
5
6
R2
R3
10k 1%
24k 1%
U1
LM431BCMX
A
2
3
6
7
8
A
K
NC
1
4
5
Note:
The MPLAB ICD 2 produces a VPP
voltage greater than the maximum VPP
specification of the PIC16LF1902/3.