Freitag, 26. Juni 2009

PIC Microcontroller Teil 2

PIC vs AVR

Die Konkurrenz schläft nicht. Die Firma Atmel hat mit seiner AVR Microcontroller Serie eine Alternative zu den PIC Microcontrollern geschaffen, die in vielen Anwendungsbereichen besser geeignet sind. AVR Controller sind bei ihrem Design direkt auf die Bedürfnisse von C-Compilern optimiert worden. Der Befehlsatz aller AVR Controller ist bis auf wenige Ausnahmen für die ganze AVR-Famile gleich. Bei PIC-Controllern muss man für Low-End, Mid-Range und High-End Controller jeweils Anpassungen vornehmen bzw. sogar die Handhabung komplett ändern. Die AVR Entwicklungstools sind besser und billiger als die die MicroChip für den PIC zu Verfügung stellt.

Als Anfänger, der sich in den Themenbereich Microcontroller einarbeiten will, steht man hier oft vor dem Scheideweg: Soll ich PIC oder AVR nehmen? Meine Antwort ist AVR, weil man hier mit weniger Aufwand zu ersten Erfolgserlebnissen kommt. Wenn man hingegen an einen bestimmten Controller-Hersteller gebunden ist, geht den Weg den man gehen muss.

PIC Entwicklungs-Werkzeuge

Ohne Entwicklungswerkzeuge kommt man auch bei so einem einfach gestrickten Microcontroller wie den PIC nur wenig weiter. Was braucht man also an Werkzeug um mit einem PIC Controller eine Aufgabe zu erfüllen, z.B. zwei LEDs im Sekundentakt blinken zu lassen?
  • Man sollte wissen, wie man einen PIC programmiert. D.h. dass man sich die Programmier-Sprache aneignet in der man auf dem PIC ein Programm schreibt. Die erste Wahl sollte hier Assembler/Maschinensprache sein. An dieser Stelle sollte man sich die Assembler-Literatur zum PIC von Mircochip laden und lesen. Einfaches Leser reicht für den Anfang, man braucht die Befehle nicht auswendig zu können, man sollte sich nur einen groben Überblick verschaffen, was mit dem PIC möglich ist.

  • Um ein Maschinenprogramm für einen PIC schreiben zu können, sollte man sich nun die MPLAB-IDE von Microchip herunterladen und installieren. Diese ist kostenlos und enthält eine Entwicklungsumgebung mit Editor, Assembler und Simulator. Man sollte sich nun mit der Handhabung der IDE vertraut machen und das PIC-Programm schreiben und mit dem Simulator testen.

  • Wenn man sich noch nicht für einen bestimmten PIC-Controller entschieden hat, sollte man dies nun tun. Ich empfehle einen Mid-Range Controller mit Flash-Memory der eine interne Takterzeugung hat. Hierdurch entfällt ein weiteres Bauteil der Testschaltung, der Quarz und somit auch eine weitere mögliche Fehlerquelle im Schaltungsaufbau. An diesem Punkt stellt ich nun auch die Frage: Wie bekomme ich mein PIC-Programm in den PIC-Controller hinein. Zu dieser Frage gibt es mit Sicherheit viele Antworten und Vorschläge. Ich rate von dem Selbstbau eine PIC-Programmiergerätes ab, selbst wenn die Material-Kosten nur gering erscheinen. MicroChip bietet den ICP-2 Programmer/Debugger mit USB-Schnittstelle für etwa 200 Euro an. Mit diesem Gerät kann man fast alle PIC-Controller flashen und sogar Debuggen. Die Investition von 200 Euro mag den meisten als zu hoher Preis für Hobby erscheinen. Wenn man sich etwas im Internet umschaut (eBay) findet man schnell nachbauten dieses Gerätes für weniger als 60 Euro. Dieses Geld sollte man investieren, es lohnt sich.

  • Nachdem man sich ein Programmiergerät beschafft hat und nun in der Lage ist, den PIC Controller zu programmieren (und auch zu debuggen), kann man nun sein erstes Programm in den PIC laden und ausprobieren. Die Testschaltung sollte man an Anfang so einfach wie möglich aufbauen. Evtl. lohnt sich auch der Kauf eines PIC-Entwicklungskits, dann hat man zumindest die Gewissheit, dass man keinen Fehler beim Aufbau der Schaltung gemacht hat.
Hat man diese Hürden erst einmal genommen, sind die nächsten Schritt weniger schwer. Durch das Schreiben von weiteren Programmen lernt man die PIC Controller immer besser kennen, und die Anwendungen und Aufgaben werden anspruchsvoller und interessanter.
Im nächsten Teil beschreibe ich wie und wo man sich die Dokumentation zum PIC Controller besorgt und wie die Maschinenbefehle der Mid-Range PIC-Controller aufgebaut sind.

Keine Kommentare:

Kommentar veröffentlichen