PIC16F688
PIC16F689 PIC16F690 PIC16F707 PIC16F716 PIC16F720 PIC16F721 PIC16F722 PIC16F722A PIC16F723 PIC16F723A PIC16F724 PIC16F726 PIC16F727 PIC16F753 PIC16F785 PIC16F818 PIC16F819 PIC16F84A PIC16F87 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16F88 PIC16F882 PIC16F883 PIC16F884 PIC16F886 PIC16F887 PIC16F913 PIC16F914 PIC16F916 PIC16F917 PIC16F946PIC16F688
Support summary
ICSP Connection
PIC16F688 can only be programmed with HVP (High Voltage Programming). This means it requires Vpp voltage (higher than Vdd) for programming.
NSDSP-2 generates Vpp internally and can program PIC16F688.
NSDSP-1 cannot generate Vpp. Therefore, to be programmed with NSDSP-1, PIC16F688 requires NSHVX High Voltage Extension or an external HVP circuit.
Since release 134, NSDSP software, when used with NSDSP-1, assumes that NSHVX is connected when programming PIC16F688. It manipulates the PGM/RTS pin (LVP, or pin 6 of ICSP header of NSDSP programmers) to control MCLR state through NSHVX. Even when NSHVX is not connected, NSDSP-1 will still tooggle PGM/RTS pin during programming.
Instead of NSHVX, you can use an external HVP circuit. Without NSHVX, PIC16F688 will be programmed correctly, but it may not reset after the programming, especially if MCLRE configuartion bit is ON. In such situation, it may be necessary to power-cycle the chip, or disconnect NSDSP and manually connect MCLR pin to the ground for a short moment to reset the PIC.
These considerations do not apply to NSDSP-2, which does not use PGM/RTS pin for HVP control.
Target Voltage Below 4.5V
If voltage is less than 4.5V programming is severely limited - it is impossible to bulk erase the device, it is also impossible to erase configuration bits, EEPROM, UID.
NSDSP-1 cannot detect target voltage and it assumes that the voltage is above 4.5V. If the actual target voltage is less, programming will fail. However, if you tell NSDSP that the target voltage is below 4.5V through programming software, NSDSP will use special low-voltage algorithm. NSDSP will verifies if the desired programming can be performed at voltages below 4.5V, and if it is possible (device is not code protected, configuration bits do not change or only change from 1 to 0, EEPROM is not programmed, UID is not programmed), it performs the programming. If such programming is impossible, NSDSP software will stop and show an error message.
NSDSP-2 can detect actual voltage, therefore it may choose the algorithm based on the detected voltage. However, you can override this decision by specifying your own voltage value. This will disable the voltage detection. For example, you can try to force normal algorithm even if voltage is slightly less than the threashold.
Programming using low-voltage algorithm may be considerably slower. In addition, you may need to decrease programming speed to 3MHz or below.
Programming Benchmarks
We have measured time necessary to program and verify PIC16F688.
Operation | Time | Programming and Verification | 5.1s | Programming only | 4.9s | Verification only | 0.3s |
---|
The measurements reflect the time necessary to program/verify the entire chip, including all user programmable memory areas and very slow data EEPROM.
Debugging
NSDSP cannot be used to debug PIC16F688.
Links
© 2007-2024 Northern Software Inc. All Rights Reserved.