High Voltage Programming
NSDSP only supports LVP programming. However on some PIC devices, LVP has to be disabled to make use of MCLR pin. In such situations, NSDSP may use an external circuit to enable HVP programming.
The circuit does not extend the list of supported devices. It only allows HVP for devices which are already supported by NSDSP. For the list of supported devices, click here.
The circuit must supply Vpp voltage to the target's PIC MCLR when NSDSP drives its MCLR pin low. An example of such circuit is shown below.
When NSDSP drives MCLR high, the Q1 transistor turns on and pulls the anode of D1 low. In this state, the voltage on PIC's MCLR pin depends on "GP input" voltage - when "GP input" is high, D2 pulls MCLR pin high; when "GP input" is low, the pull-down resitor R3 pulls MCLR pin low.
When NSDSP drives MCLR low, the Q1 transistor turns off, and resistor R2, through D1, pulls PIC's MCLR to Vpp level. Diode D2 protects "GP input" from high Vpp voltage.
This circuit is designed to program PIC devices when MCLR and LVP are disabled. However, if MCLR or LVP is enabled, the "GP input" must be tied to VDD. Otherwise, the PIC will reset.
Vpp level must be supplied externally and selected according to Microchip Flash Programming Specifications for your PIC device, Since there is some voltage drop through R2 and D1, it is better to select Vpp close to high end of the allowable Vpp range.
This circuit is not energy efficient. When Q1 is turned on, up to 0.2W may be dissipated by R2. If higer efficiency is required, the circuit needs to be redesigned.
When using this circuit, you must configure your programming software to use HVP.
© 2007-2019 Northern Software Inc. All Rights Reserved.