PIC16F1454PIC16F1455 PIC16F1459 PIC16F1503 PIC16F1507 PIC16F1508 PIC16F1509 PIC16F1512 PIC16F1513 PIC16F1516 PIC16F1517 PIC16F1518 PIC16F1519 PIC16F1526 PIC16F1527 PIC16F15313 PIC16F15323 PIC16F15324 PIC16F15325 PIC16F15344 PIC16F15345 PIC16F15354 PIC16F15355 PIC16F15356 PIC16F15375 PIC16F15376 PIC16F15385 PIC16F15386 PIC16F1574 PIC16F1575 PIC16F1578 PIC16F1579 PIC16F1613 PIC16F1614 PIC16F1615 PIC16F1618 PIC16F1619 PIC16F1703 PIC16F1704 PIC16F1705 PIC16F1707 PIC16F1708 PIC16F1709 PIC16F1713 PIC16F1716 PIC16F1717 PIC16F1718 PIC16F1719 PIC16F1764 PIC16F1765 PIC16F1768 PIC16F1769 PIC16F1773 PIC16F1776 PIC16F1777 PIC16F1778 PIC16F1779 PIC16F1782 PIC16F1783 PIC16F1784 PIC16F1786 PIC16F1787 PIC16F1788 PIC16F1789 PIC16F1823 PIC16F1824 PIC16F1825 PIC16F1826 PIC16F1827 PIC16F1828 PIC16F1829 PIC16F1829LIN PIC16F18313 PIC16F18323 PIC16F18324 PIC16F18325 PIC16F18326 PIC16F18344 PIC16F18345 PIC16F18346 PIC16F18424 PIC16F18425 PIC16F18426 PIC16F18444 PIC16F18445 PIC16F18446 PIC16F18455 PIC16F18456 PIC16F1847 PIC16F18854 PIC16F18855 PIC16F18856 PIC16F18857 PIC16F18875 PIC16F18876 PIC16F18877 PIC16F19155 PIC16F19156 PIC16F19175 PIC16F19176 PIC16F19185 PIC16F19186 PIC16F19195 PIC16F19196 PIC16F19197 PIC16F1933 PIC16F1934 PIC16F1936 PIC16F1937 PIC16F1938 PIC16F1939 PIC16F1946 PIC16F1947 PIC16F610 PIC16F616 PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F631 PIC16F636 PIC16F639 PIC16F648A PIC16F677 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 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 PIC16F946
Since NSDSP is a Low-Voltage Programmer (LVP), it can only program PIC devices if LVP configuration bit is enabled. Fresh (unprogrammed) devices have LVP bit set and therefore they can be programmed. It is impossible to disable LVP bit during LVP programming, but if the device has been previously programmed with HVP programmer, the LVP bit may have been disabled.
When brown-out is enabled with BOREN configuration bit, LVP is only possible when the VDD voltage is above the brown-out threshold.
These limitations may be avoided with High-Voltage Programming (HVP), however NSDSP requires an external circuit for HVP.
Target Voltage Below 2.7V
If voltage is less than 2.7V programming is severely limited - it is impossible to bulk erase the device, it is also impossible to erase configuration bits.
NSDSP cannot detect target voltage and it assumes that the voltage is above 2.7V. If the actual target voltage is less, programming will fail. However, if you tell NSDSP that the target voltage is below 2.7V through programming software, NSDSP will use special low-voltage programming mode. In this mode, NSDSP verifies if the desired programming can be performed at voltages below 2.7V, and if it is possible (device is not code protected, configuration bits do not change or only change from 1 to 0), it performs the programming. If such programming is impossible, NSDSP software will stop and show an error message.
Programming in low-voltage mode may be considerably slower. In addition, you may need to decrease programming speed to 3MHz or below.
Alternative ICSP pins
PIC16F1454 has an alternative pair of ICSP pins multiplexed with USB D-/D+ lines. These pins can be used for LVP programming, but they cannot be used for debugging.
Since they are used for USB, these pins cannot be used at voltages above 3.3V. Therefore, if your PIC runs at 5V, programming requires special considerations.
First, you need to make sure that NSDSP runs at 3.3V. If you use NSDSP-1-3V3 then this is automatic. If you use NSDSP-1-U, set the jumper to supply 3.3V. The 3.3V power will not be used to power the target PIC. It only sets the voltage level which is suitable for the alternative ICSP pin pair.
Then you need to disconnect the NSDSP VDD line from the PIC. This is necessary because it uses 3.3V while your PIC is running at 5V. Make sure VSS line is still connected.
Finally, you need to make sure that the NSDSP's MCLR 3.3V output can drive PIC's MCLR pin at 5V. Theoretically this would require a level translator (as shown on the schematics), but in our tests straight connection worked sufficiently well.
We have measured time necessary to program and verify PIC16F1454.
|Operation||Time||Programming and Verification||0.9s||Programming only||0.6s||Verification only||0.4s|
The measurements reflect the time necessary to program/verify the entire chip, including all user programmable memory areas.
NSDSP firmware contains all the necessary provisions for debugging PIC16F1454 and may be debugged when debugging software becomes available.
© 2007-2019 Northern Software Inc. All Rights Reserved.