Nein, Sie müssen SPI, UART oder I 2 C nicht verwenden, um den PIC zu programmieren. Die einzige Möglichkeit, ein neues Programm in einen PIC zu integrieren, für den kein spezieller Code geladen ist (ein Bootloader), ist die Verwendung der externen Hardware-Programmierschnittstelle. Elektrisch bedeutet dies, dass eine Verbindung zu Vss, MCLR, PGC und PGD hergestellt wird. Es kann nützlich sein, den Programmierer auch an Vdd anzuschließen, dies ist jedoch für diesen Chip nicht erforderlich, solange der Vdd-Pegel bekannt ist und der Programmierer entsprechend angepasst wird.
Die Low-Level-Hardware-Schnittstelle ist recht einfach. PGD ist die Datenleitung, die vom PIC an der fallenden Flanke von PGC (der Taktleitung) abgetastet wird. Um den PIC überhaupt in den Programmiermodus zu versetzen, wird ein spezieller 32-Bit-Schlüssel relativ zu bestimmten Flanken des MCLR getaktet (siehe Hinweis unten zur Hochspannungsprogrammierung).
Das übergeordnete Protokoll wird komplizierter. Die meisten Dinge werden mit 6-Bit-Befehlen erledigt, von denen einige von 14-Bit-Datenwörtern gefolgt werden. Sie müssen die Programmierspezifikation sorgfältig lesen. Beachten Sie, dass die Programmierspezifikation ein vom Datenblatt getrenntes Dokument ist. Gehen Sie auf der Microchip-Website zur Produktseite für Ihren speziellen PIC. Im Abschnitt Dokumente finden Sie einen Link zur Programmierspezifikation.
Hinzugefügt über Hochspannungsprogrammierung
Diese Arten von PICs haben zwei Möglichkeiten, in den Programmiermodus zu wechseln: Hochspannung (HVP) und Niederspannung (LVP). Bei der Hochspannungsmethode muss die MCLR auf 8 bis 9 Volt angehoben und während der Programmierung dort gehalten werden. Diese Methode funktioniert immer, unabhängig von möglichen Daten, die in den PIC programmiert sind.
Das Niederspannungsverfahren zum Aufrufen des Programmiermodus beginnt damit, dass MCLR hoch, dann niedrig und dann in einer speziellen 32-Bit-Tastenfolge unter Verwendung von PGC und PGD normal getaktet wird. Das Teil wechselt nach der richtigen Tastenfolge in den Programmiermodus und bleibt im Programmiermodus, solange die MCLR niedrig gehalten wird.
Die Niederspannungsmethode kann durch eines der Konfigurationsbits deaktiviert werden. Der gelöschte Zustand des Konfigurationsbits ermöglicht jedoch eine Niederspannungsprogrammierung. Es wird ab Werk auf diese Weise geliefert, und dieses Konfigurationsbit kann nur so eingestellt werden, dass LVP nicht zulässig ist, wenn die Programmierung mit der Hochspannungsmethode eingegeben wurde. Damit LVP nicht aktiviert wird, müssen alle folgenden Bedingungen erfüllt sein:
- Der PIC wurde zuletzt mit einem HVP-fähigen Programmierer programmiert, und der HVP-Programmeingabemodus wurde verwendet.
- Die in den PIC programmierte HEX-Datei setzt das LVP-Bit in Konfigurationswort 2 absichtlich in den nicht gelöschten Zustand.
Da das Deaktivieren von LVP eine absichtliche Aktion und den richtigen Programmierer erfordert, ist es wahrscheinlich immer noch aktiviert. Wenn es aus irgendeinem seltsamen Grund absichtlich deaktiviert wurde, müssen Sie 8-9 V an MCLR liefern, um den PIC mindestens so lange in den Programmiermodus zu versetzen, dass eine Massenlöschung durchgeführt wird (wodurch LVP wieder aktiviert wird).