Was ist ein USB-ISP-Programmiergerät und wofür benötigen Sie es? Und was bedeutet ISP? Genau darum geht es in diesem Beitrag.
Bevor man einen Mikrocontroller einsetzen kann, muss er mit der entsprechenden Firmware versehen werden. Man nennt das auch flashen (kommt von der Bezeichnung Flash-Speicher des Mikrocontrollers).
Die ersten von mir eingesetzten Mikrocontroller habe ich mithilfe einfacher und selbstgebauter Programmierkabel oder Programmiergeräte mit der jeweiligen Firmware versehen. Die Kabel und Programmiergeräte wurden dazu am Parallelport des PCs angeschlossen. Leider haben heute immer weniger Computer einen Parallelport. Außerdem ist es alles andere als praktisch, zum Anschluss des Kabels den PC vorzuziehen und an den Anschlüssen hinten am Computer herumzuwurschteln.
USB-ISP-Programmiergerät: USB statt Parallelport
Aus diesem Grunde entschloss ich mich dazu, mir ein Programmiergerät für den USB-Anschluss zuzulegen, den heute jeder Computer hat und der auch von vorne leicht zugänglich ist. Weiterhin hat der USB-Anschluss den Vorteil, dass das Programmiergerät über den USB-Anschluss direkt mit Strom versorgt wird.
Was heißt ISP?
Die meisten Programmiergeräte für den USB-Anschluss besitzen eine sogenannte ISP-Schnittstelle (ISP = In-Schaltungs-Programmierung), mit deren Hilfe der Mikrocontroller direkt in der Schaltung mit der Firmware versehen wird, in der er auch später eingesetzt werden soll. Allerdings kann es trotzdem von Vorteil sein, eine Schaltung zu besitzen, in welcher der Mikrocontroller schon vor dem eigentlichen Einsatz zunächst programmiert werden kann. Normalerweise wird eine solche Schaltung als Entwicklungsumgebung bezeichnet. Der Bausatz oben im Bild ist eine solche Schaltung. Sie besitzt einen IC-Sockel, in welchem der Mikrocontroller eingesetzt wird und eine ISP-Schnittstelle zum Anschluss des Programmiergerätes. Das Programmiergerät ist übrigens weiter unten zu sehen. Ich habe es zusammen mit dem Bausatz bei einem chinesischen Anbieter bei eBay bestellt.
Der Inhalt der Tüte besteht aus der gedruckten Schaltung, dem IC-Sockel, den Steckverbindungen sowie einer Hand voll Bauteilen. Die ganze Schaltung war in wenigen Minuten zusammengelötet und somit fertig für den eigentlichen Einsatz.
Hier ist der fertige Baustein zu sehen. Der USB-Anschluss auf der Platine dient übrigens nur zur Stromversorgung des Mikrocontrollers. Man benötigt allerdings ein doch eher seltener verwendetes Kabel mit zwei USB-A-Steckern, um die Schaltung mit einer USB-Stromquelle zu verbinden. Der ISP-Anschluss befindet sich auf der linken Seite der Platine. Außerdem sind sämtliche Ein- und Ausgänge des Mikrocontrollers über Kontaktstifte herausgeführt. Es handelt sich bei diesem Bausatz um eine sehr einfache Schaltung, die ich hauptsächlich zum Programmieren der Mikrocontroller einsetzen möchte und nicht als Entwicklungsumgebung.
Programmiergerät mit USB-Anschluss
Dies ist das eigentliche Programmiergerät für ATMega8, ATMega48 sowie weitere Mikrocontroller mit USB-Anschluss. Leider wurde es ohne Gehäuse geliefert. Dafür war es allerdings extrem günstig. Inklusive Versand und den Bausatz oben habe ich etwas mehr als fünf Euro bezahlt. Allerdings dauerte der Versand aus China knapp drei Wochen. Die Treiber für das USB-Gerät können aus dem Internet heruntergeladen werden. Laut Hersteller funktionieren die Gerätetreiber allerdings nicht auf Windows 7 oder noch neueren Versionen des Betriebssystems. Nachfolgend sind noch weitere Bilder des Programmiergerätes zu sehen.
Über ein zehnadriges Kabel und entsprechenden Steckverbindungen werden das USB-ISP-Programmiergerät und die Programmierschaltung miteinander verbunden. Nach der Treiberinstallation und den Verbinden der Geräte mit einem Computer kann der Mikrocontroller nun mit der Firmware versehen werden. Die Programmierung kann beispielsweise mit der Software BASCOM erfolgen, welche ich schon mit meinem einfachen Programmierkabel verwendet habe. Als Programmer wird in der Software „USBASP“ eingestellt.
Dieses Bild zeigt die Komponenten beim Einsatz an einem Laptop. Das passende USB-Kabel mit zwei USB-A-Steckern hatte ich Gott sei Dank noch da. Leider ist es nicht im Lieferumfang enthalten. Allerdings kann man dies bei dem geringen Preis auch nicht erwarten. Sowohl Programmiergerät als auch Bausatz funktionieren einwandfrei. Nun kann ich auf einfache Weise meine Mikrocontroller ATMega8 programmieren. Lediglich zwei USB-Anschlüsse werden benötigt.