Hat man sein PIC-Programm fertig entwickelt und mit MPLAB in ein HEX-File umgewandelt, muss dieser Code noch in den PIC "hineingebrannt" werden. Dazu dient ein PIC-Programmiergerät - ein Brenner.
Alle Programmiergeräte funktionieren nach dem Prinzip der ICSP. Dabei wird der PIC mit nur 5 Leitungen an den Brenner angeschlossen und über diese die zu brennenden Daten in den PIC geschrieben:
      Das Programmiergerät wird von einem PC gesteuert, mit dem es über
      ein Kabel verbunden ist. Als Schnittstelle kommen in Betracht: 
Nicht jeder kann oder will einen PIC-Brenner selber bauen. Es gibt aber eine ganze Reihe von Fertiglösungen aus industrieller Produktion.
Für die industrielle Massenproduktion gibt es robuste Programmiergeräte, deren Preis einem Einsatz im Privatbereich oder in der Lehre und Ausbildung eher abträglich ist. Diese Geräte haben vor allem den Vorteil, das sie die Funktion des programmierten PICs (d.h. die Korrektheit des gebrannten Programms) bei unterschiedlichen Versorgungsspannungen prüfen können. Auf diesen Luxus kann man aber im Privatbereich oder in der Lehre problemlos verzichten.
Brenner, die nur mit einer festen PIC-Betriebsspannung arbeiten heißen Developement-Programmer, und sind deutlich preiswerter. Einige interessante Typen möchte ich hier vorstellen:
Das hier beschriebene PICkit1 ist zu meiner Hard/Software NICHT kompatibel. Ich stelle es aber hier vor, da es ein preiswerter industriell hergestellter Brenner ist, der sich auch als Experimentierboard eignet.
| Nachdem die Industrie lange Zeit überwiegend teure
              Brenner für den industriellen Prototypenbau oder für die
              industrielle Produktion anbot, gibt es nun von Microchip
              einen interessanten Brenner für Einsteiger, der sich auch
              gut für Bastler eignet: das PICkit1 Die schlechte Nachricht vorweg. Das PICkit1 eignet sich
                nur für Flash-PICs mit 8 oder 14 Pins:  Eine Erweiterung auf andere PIC-Typen ist nicht möglich, da die Brennroutinen im Steuerpic auf dem Brenner fest abgespeichert sind. Die Routinen wurden für die 12F629/675 entwickelt, und nur noch die 14-pin-Typen 16F630/676 sind als einzige (bisher) dazu kompatibel. MPLAB will aber auch 12F508/509 mit dem PicKit1 brennen können, schon dass erstaunt mich. Außerdem wurde (um den Preis zu minimieren) auf einen Nullkraftsockel (Textoolsockel) verzichtet, der PIC sitzt in einer normalen 14-poligen IC-Fassung. Auch einen ICSP-Steckverbinder gibt es nicht (was für Bastler aber kein Problem darstellt). Eine Integration in MPLAB ist inzwischen vorhanden. Es gibt aber auch ein eigenständiges Brennprogramm. |  | 
Das PICkit1 ist nicht nur ein Brenner, sondern auch ein kleines Experimentierboard. Nach dem Brennen kann das Programm im PIC gleich ausprobiert werden. Zum Experimentieren stehen zur Verfügung:
|  | Das PICkit besteht aus einer Leiterplatte, die in 2
            Hälften aufgeteilt ist. Eine Hälfte ist nicht bestückt und
            kann vom Nutzer als Experimentierboard (incl.
            RS232-Interface) bestückt werden. Die andere Hälfte (linkes Foto) ist Brenner und
              Experimentierboard in einem. Diese Hälfte ist auf dem
              nebenstehendem Foto zu sehen.  Bezugsquelle für das PICkit. ist in Deutschland
                semikron.  Vielen Dank an Felix, der das für mich herausgefunden hat, und an Klaus für den aktuellen Preis. | 
Im Unterschied zum PICkit1 ist das PICkit2 nur ein
      Programmiergerät ohne Experimentierplatine, dafür unterstützt es
      aber eine viel breitere Typenpalette. 
      Das PICkit2 ist eine reiner ICSP-Brenner. Als solcher besitzt es
      keinen IC-Sockel, in den der PIC zum programmieren eingesetzt
      wird, sondern nur einen 6-poligen ICSP-Steckverbinder.
      Mit diesem Stecker kann der Brenner z.B. an eine
      Experimentierplatine mit ICSP-Anschluss angesteckt werden. In
      dieser Platine wird dann der PIC programmiert. 

Der ICSP-Steckverbinder des PICkit2 entspricht übrigens nicht dem Microchip-typischen ICD-Anschluss (6-poliger Westernstecker), sondern dem auch auf meinen Brennern verwendeten Steckverbinder, der um ein (für das normale Brennen nicht unbedingt nötiges) sechstes Pin verlängert wurde. Meine ICSP-Brenn-Adapter für unterschiedlichste PIC-Typen sollten also am PICkit2 funktionieren.
Zum PICkit2 gehört das "low-pincount-demonstration-board", das an
      den ICSP-Verbinder des PICkit2 gesteckt wird, und auf dem ein
      18-poliger IC-Sockel sowie ein paar LEDs (u.ä.) sitzen. Kleine
      PICs können hier programmiert werden, und einfache Experimente
      sind auch möglich. 
      Flexibler wird es, wenn man den universellen
        Programmieradapter anschließt. Dazu muss man sich allerdings
      ein Adapterkabel löten. Wenn man aber schon den Lötkolben heiß
      macht, kann man sich so einen Adapter auch für 1/3 des Preises
      selber bauen. Dann brennt mann mit dem PICkit2 warscheinlich
      alles, was PIC im Namen trägt und ein DIL-Gehäuse hat. 
Da das PICkit2 aus dem USB-Bus gespeist wird, benötigt es keine separate Stromversorgung.
Die Preisvorstellungen liegen bei 40..50 Euro. 
      Das PICkit2 wurde aber auch schon ohne
      "low-pincount-demonstration-board"
      für
      nur
      21
      Euro
      gesichtet. Damit wäre es ein echtes Schnäppchen.
    
Auf der Microchip Homepage steht der Preis bei ca. 27,- Euro
      (plus Steuer und Versand). Das ergibt einen Endpreis von ca. 40,-
      Euro. 
    
Bei Reichelt gibt es eine "PICkit™ 2 Debug Express" für 68,-
      Euro. Was da zum Lieferumfang gehört weiß ich leider noch 
      nicht.
    
| Wenn man mit dem Rotstift an das PICkit2-Design
              herangeht und alles nicht unbedingt nötige streicht, dann
              kommt der Baseline-Flash-Programmer (BFMP) heraus. Der BFMP ist eine reiner ICSP-Brenner und hat den selben ICSP-Anschluss wie das PICkit2. Da der BFMP aus dem USB-Bus gespeist wird, benötigt es keine separate Stromversorgung. Andreas schrieb (danke):  |  | 
Der ICD2 ist ICSP-PIC-Programmiergerät und In-Circuit-Debugger in einem.
| Als Programmiergerät ist es mit dem PICkit2
              vergleichbar. Es hat ebenfalls keinen IC-Sockel, sondern
              brennt ausschließlich über ein ICSP-Kabel.
              Der Steckverbinder ist hier allerdings der
              Microchip-typische ICD-Stecker (6-polig western). Der
              Anschluss an den PC erfolgt über USB oder RS232. In
              letzterem Fall wird noch ein Streckernetzteil benötigt. Die Stärke des ICD2 ist aber seine Debug-Funktion:  Der ICD2 ist mit ca. 170,- Euro nicht gerade ein
                Schnäppchen, vor allem da man zusätzlich noch geeignete
                Experimentierboards
                benötigt, oder Anwendungsschaltungen mit
                ICD-(ICSP)-Anschluss. Es gibt preiswertere reine
                Programmiergeräte (z.B. PICkit2).
                Wer aber die Debug-Funktion benötigt, liegt mit dem ICD2
                hier richtig. Für 350,- Euro gibt es das ICD2 im Set mit dem "PICDEM
                2 Plus demonstration board" . Dieses Board enthält  
 und eignet sich für 18-, 28- and 40-pin PIC16XXXX und PIC18XXXX. |  | 
|  | universeller Programmieradapter Es gibt auch von Microchip einen universellen Brennadapter, mit dem nahezu jeder PIC (im DIL-Gehäuse) an das ICD2 angeschlossen werden kann. Dabei handelt es sich um einen Platine mit einem 40-poligen Nullkraftsockel und einem Patch-Feld. Mit dem Patch-Feld verbindet man die Pins des ICSP-Anschlusses mit den für den zu brennenden PIC-Typ richtigen Pins des Nullkraftsockels. Das ist etwas umständlich und fehlerträchtig, dafür aber sehr flexibel Der Preis für diesen Adapter liegt bei 40,- €. Ein Eigenbau ist für 1/3 dieses Preises möglich. | 
Autor: sprut 
      erstellt: 2000 
      letzte Änderung: 30.12.2018