|
|
Castellano
Deutsch
English
|
Diese PIC werden mit einem proprietären seriellen Protokoll programmiert. Man kann sie also nicht einfach direkt an ein "übliches" Interface anschließen. Glücklicherweise sind die zeitlichen Anforderungen ziemlich lax. Dadurch erhält man die Möglichkeit, die Programmiersequenz mit Hilfe einiger Leitungen einer parallelen oder seriellen Schnittstelle des PC per Software zu erzeugen.
Neben der Betriebsspannung sind drei weitere Signale nötig: die Programmierspannung Vpp (ca. 13V), sowie Programmiertakt (clk = PGC = ICSPCLK) und Programmierdaten (data = PGD = ICSPDAT).
Da die meisten PIC eine Programmierspannung Vpp leicht unterhalb der Spezifikation tolerieren, bietet sich die serielle Schnittstelle eines Desktop-PC mit ihren Signalpegeln von ±12V an, um einen PIC ohne die Notwendigkeit einer Extra-Spannungsquelle zu "brennen".
Die Pegelanpassung läßt sich mit wenigen Bauteilen erledigen.
Allerdings hat diese einfache Schaltung ihre Grenzen und erlaubt nur das Lesen und Schreiben des PIC. Es gibt auch keine Garantie, daß sie mit allen Controllern funktioniert, da sie die Programmier-Spezifikationen nur teilweise einhält.
(Leiterbild (seitenverkehrt), Bestückungsplan)
Das Schaltbild unten zeigt, wie man die Programmiersignale an den PIC anschließt.
ICSP bietet eine Möglichkeit, den Mikrocontroller innerhalb der Anwendungsschaltung zu programmieren. Das ist besonders von Vorteil in der Ausbildung und Entwicklung, wo wiederholt zwischen dem Programmieren des PIC und dem Testen der Schaltung gewechselt wird. Man vermeidet dabei nicht nur Risiken, die entstehen, wenn der PIC zwischen verschiedenen Fassungen bewegt wird – wie beispielsweise das Verbiegen der Anschlußbeine oder das "Foltern" des PIC mit elektrostatischen Entladungen –, sondern spart auch Zeit.
Um ICSP nutzen zu können, darf weder die Schaltung die Programmiersignale verfälschen, noch sollten die Programmiersignale die Schaltung beeinflussen.
Die wichtigsten Programmierbedingungen sind:
Die einfachste Lösung, um die ersten beiden Bedingungen einzuhalten, besteht darin, diese Anschlüsse in der Anwenderschaltung nicht zu verwenden. Falls man den Debugger benutzen möchte, ist das sogar obligatorisch.
Empfehlungen:
Die Nummer unter dem Signalnamen entspricht dem Anschluß am ICSP-Steckverbinder des Programmiermoduls.
Bitte beachten: die Signalreihenfolge am ICSP-Anschluß weicht von der anderer PIC-Programmierer ab. Bei Verwendung des Programmiermoduls mit anderen Test-Platinen ist ein Adapter nötig.
| Controller | Vpp (1) |
GND (2) |
Vdd (3) |
Data (4) |
Clk (5) |
PGM @ "Low" |
Vdd-Bereich Programmierung |
|
|---|---|---|---|---|---|---|---|---|
| 8-pin | 12F629/675 | 4 | 8 | 1 | 7 | 8 | - | 4,5V - 5,5V |
| andere 12Fxxx | 4 | 8 | 1 | 7 | 8 | - | 2,0V - 5,5V | |
| 14-pin | 12F630/676 | 4 | 14 | 1 | 13 | 12 | - | 4,5V - 5,5V |
| andere 16F6xx | 4 | 14 | 1 | 13 | 12 | - | 2,0V - 5,5V | |
| 18-pin | 16F62x(A), 16F648A | 4 | 5 | 14 | 13 | 12 | 10 | 4,5V - 5,5V |
| 16F716 | 4 | 5 | 14 | 13 | 12 | - | 4,5V - 5,5V | |
| 16F818/819 | 4 | 5 | 14 | 13 | 12 | 9 | 2,0V - 5,5V | |
| 16F84(A) | 4 | 5 | 14 | 13 | 12 | - | 4,5V - 5,5V | |
| 16F87/88 | 4 | 5 | 14 | 13 | 12 | 9 | 2,0V - 5,5V | |
| 20-pin | 16F6xx, 16F785 | 4 | 20 | 1 | 19 | 18 | - | 2,0V - 5,5V |
| 28-pin | 16F7x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 4,75V - 5,25V |
| 16F7x7 | 1 | 8, 19 | 20 | 28 | 27 | - | 4,75V - 5,25V | |
| 16F87x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,5V - 5,5V | |
| 16F87xA | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 16F88x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 16F91x | 1 | 8, 19 | 20 | 28 | 27 | 24 | 2,0V - 5,5V | |
| 40-pin | 16F7x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 4,75V - 5,25V |
| 16F7x7 | 1 | 12, 31 | 11, 32 | 40 | 38 | - | 4,75V - 5,25V | |
| 16F87x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,5V - 5,5V | |
| 16F87xA | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
| 16F88x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
| 16F91x | 1 | 12, 31 | 11, 32 | 40 | 38 | 36 | 2,0V - 5,5V | |
Die folgenden Schaltbilder zeigen, wie man die Programmiersignale an die PIC 12Fxxx/16Fxxx anschließt.
![Verbindungsschemas [Verbindungsschemas]](icsp_c.png)