Microchip Technology AC160214 Data Sheet

Page of 478
 2010-2012 Microchip Technology Inc.
DS41414D-page 371
PIC16(L)F1946/47
28.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/V
PP
• V
DD
• V
SS
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 Memory
Programming Specification
” (DS41397).
28.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/V
PP
 to V
IHH
Some programmers produce V
PP
 greater than V
IHH
(9.0V), an external circuit is required to limit the V
PP
voltage. See 
 for example circuit.
FIGURE 28-1:
VPP LIMITER EXAMPLE CIRCUIT
V
REF
V
PP
V
DD
V
SS
ICSP_DATA
ICSP_CLOCK
NC
RJ11-6PIN
RJ11-6PIN
R1
270 Ohm
To MPLAB
®
 ICD 2
To Target Board
1
2
3
4
5
6
1
2
3
4
5
6
R2
R3
10k 1%
24k 1%
U1
LM431BCMX
A
2
3
6
7
8
A
A
A
K
NC
NC
1
4
5
Note:
The MPLAB
®
 ICD 2 produces a V
PP
voltage greater than the maximum V
PP
specification of the PIC16(L)F1946/47.