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