
2011-2012 Microchip Technology Inc.
Preliminary
DS41579C-page 347
PIC16(L)F1782/3
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/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 “PIC16(L)F178X
Memory Programming Specification”
(DS41457).
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/VPP to VIHH.
28.2
Low-Voltage Programming Entry
Mode
The Low-Voltage Programming Entry mode allows the
PIC Flash MCUs to be programmed using VDD only,
without high voltage. When the LVP bit of Configuration
Words is set to ‘1’, the low-voltage ICSP programming
entry is enabled. To disable the Low-Voltage ICSP
mode, the LVP bit must be programmed to ‘0’.
Entry into the Low-Voltage Programming Entry mode
requires the following steps:
1.
MCLR is brought to VIL.
2.
A 32-bit key sequence is presented on
ICSPDAT, while clocking ICSPCLK.
Once the key sequence is complete, MCLR must be
held at VIL for as long as Program/Verify mode is to be
maintained.
If low-voltage programming is enabled (LVP = 1), the
MCLR Reset function is automatically enabled and
information.
The LVP bit can only be reprogrammed to ‘0’ by using
the High-Voltage Programming mode.
28.3
Common Programming Interfaces
Connection to a target device is typically done through
an ICSP header. A commonly found connector on
development tools is the RJ-11 in the 6P6C (6 pin, 6
FIGURE 28-1:
ICD RJ-11 STYLE
CONNECTOR INTERFACE
Another connector often found in use with the PICkit
programmers is a standard 6-pin header with 0.1 inch
1
2
3
4
5
6
Target
Bottom Side
PC Board
VPP/MCLR
VSS
ICSPCLK
VDD
ICSPDAT
NC
Pin Description*
1 = VPP/MCLR
2 = VDD Target
3 = VSS (ground)
4 = ICSPDAT
5 = ICSPCLK
6 = No Connect