PIC-Programmiergeräte


 zurück zu PIC-Prozessoren , Elektronik , Homepage

Allgemeines

Programmiergeräte von Microchip (Auswahl) zurück zu PIC-Prozessoren

Allgemeines

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:

Brenner am Parallelport waren früher üblich, da sie einfach zu bauen waren, und somit lohnende Bastelprojekte darstellten. Heutzutage gibt es praktisch keine echten Parallelports (LPT) an PC mehr, und ein Betrieb solcher Programmiergeräte über USB-Druckerport-Adapter funktioniert nicht.

Programmiergeräte am Serial- oder USB-Port benötigen einen eigenen Microcontroller zur Steuerung. Diesen muss man seinerseits erst einmal mit einem anderen Programmiergerät 'brennen'. Da auch das Serialport zu den aussterbenden Legacy-Interfacen gehört, wird zukünftig der USB-Port dominieren. Ich hatte in der Vergangenheit Programmiergeräte mit Serialport und USB-Port (inklusive Firmware und Software) entwickelt. Diese Projekte habe ich aber eingestellt, da ich zum einen nicht mehr die Zeit für die Softwarepflege aufbringen konnte, und zum anderen inzwischen bezahlbare industrielle Programmiergeräte verfügbar sind.

Ob für den zu brennenden PIC dann auch ein passender IC-Sockel auf dem Brenner vorhanden ist, ist natürlich auch wichtig, es sei denn, man will mit einem ICSP-Kabel brennen.




Programmiergeräte von Microchip (Auswahl)

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 PICkit1 von Microchip   (USB)

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:
- PIC12F508 / 509
- PIC12F629 / 635 / 675 / 683
- PIC16F630 / 663 / 676 / 684 / 688

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.

Foto des Microchip PICkit1
Doch nun zum Positiven:
Der Preis des Brenners beträgt ca. 40 €. Der Brenner wird via USB angeschlossen. Damit ist ein problemloser Betrieb ab Win95(2nd edition) garantiert. Ein Netzteil entfällt, da der Brenner seine Betriebsspannung vom USB-Interface bezieht.

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:

Darauf zugeschnitten findet man auf der CD zum PICkit eine Reihe Lernbeispiele, mit denen man Schritt für Schritt in die Welt der PICs eingeführt wird. Das untermauert die Funktion des PICkit als Lern- und Experimentier-Board.
Beim Einsatz für Ausbildungszwecke sollte man sich für einen PIC entscheiden, den man dann nicht mehr aus der Test- und Brennfassung (Evaluation Socket) herausnimmt. Ansonsten sind abgebrochene Pins an der Tagesordnung.
 
PICkit1 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.
Im Vordergrund ist der USB-Anschluss (links) zu erkennen. Rechts befindet sich ein PIC16C745, der das PICkit steuert. 
Dahinter befindet sich der Sockel für den zu brennenden PIC. Im Foto ist ein PIC12F675 eingesetzt. Die LEDs auf der linken Seite dienen der Anzeige der PIC-Pins während der Experimente.
 

Bezugsquelle für das PICkit. ist in Deutschland semikron.
semitron.de 
Preis: 41,00 + MwSt + Versand (6€) bei Vorauskasse
Bestellung per email (vorher anrufen 07742-80010) oder Fax 07742 - 6901

Vielen Dank an Felix, der das für mich herausgefunden hat, und an Klaus für den aktuellen Preis.

nach oben

Das PICkit2 von Microchip   (USB)

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.

PICkit2 (Foto: Microchip)

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.

nach oben

Das PICkit3 von Microchip   (USB)


Bei Reichelt gibt es das "PICkit™ 3" für ~54,- Euro. China-Kopien (erkennbar am fehlenden Microchip-Schriftzug) kosten 15 € (mit DIL40-Adapter weniger als 30€). Ich halte den Preis des originalen PICkit für OK, da muss man nicht zur illegalen Kopie greifen.
Das PICkit3 ähnelt im Aufbau dem PICkit2, und ist dessen Nachfolger. Es hat ebenfalls keinerlei IC-Sockel. Man benötigt einen (universellen) Programmieradapter, oder brennt per ICSP in der Schaltung. Zum Lieferumfang gehört wieder einmal keine Experimentierplatine. Da war es nur folgerichtig, das die Chinesen für ihr Rip-Off einen DIL40-Adapter gleich mit anbieten.

nach oben

Der Baseline Flash Programmer  (USB)

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 Baseline Flash Programmer BFMP, PG164101, ist für 22,10 Euro (netto) bei SEMITRON (www.semitron.de) erhältlich.

BFMP (Foto:
                Microchip)

nach oben

Der ICD2 von Microchip   (USB)

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:
Einige PIC-Typen unterstützen "In-Circuit-Debugging". Vereinfacht gesagt, lässt sich der fertig programmierte PIC bei seiner Arbeit in der Anwenderschaltung beobachten, an beliebiger Stelle anhalten und seine Register auslesen. Das vereinfacht die Fehlersuche enorm.

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

  • 2 x 16 LCD Display
  • Piezo speaker am PWM Ausgang des PIC
  • RS 232 Anschluss
  • Temperatur Sensor
  • 4 LED's
  • 2 Taster + Reset-Taster

  und eignet sich für 18-, 28- and 40-pin PIC16XXXX und PIC18XXXX.

ICD-2
universeller Programmieradapter, Foto: Microchip 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.

nach oben


zurück zu PIC-Prozessoren , Elektronik , Homepage

Autor: sprut
erstellt: 2000
letzte Änderung: 30.12.2018