Mikrocontroller
Die Informationen auf dieser Seite
beziehen
sich auf die AVR-Mikrocontroller von ATMEL,
da diese die Basis meiner Selbstbauprojekte darstellen.
Einen guten Einstieg, um etwas über
die uCs zu erfahren findet man, wenn man dem Link AVR-Mikrocontroller
folgt.
Allgemeines:
Gerade Neueinsteiger haben oft erst
eine
Hemmschwelle zu überwinden, bevor sie sich an Mikrocontroller
herantrauen.
Viele schreckt auch der (vermeintliche)
finanzielle Aufwand bei der Beschaffung von notwendiger Hard- und
Software
ab, die zur Programmierung von Mikrocontrollern nötig ist.
Außerdem
erscheint vielen Neulingen die Programmierung in einer Sprache wie
ASSEMBLER
als zu abstrakt.
Ich schreibe dies aus meinen eigenen
"Berührungsängsten",
die aber Dank eines Freundes recht schnell überwunden waren. Da
die "AVR-Mikrocontroller" Familie von ATMEL gerade
in Hobbybereich dermaßen vielseitig einsetzbar sind, kann ich
jedem Interessierten diese Bausteine nur empfehlen.
Hardware:
Welche Hardware wird benötigt und
wie teuer ist sie?
Zwei Klassen von Hardware sind zu
unterscheiden:
- Externe Hardware, die zur
Programmierung
notwendig ist
- Hardware, die um den eigentlichen
uC
aufgebaut werden muss - also die Applikation selbst.
zu 1.
Ein einfacher Programmierstecker, der
an
die parallele Schnittstelle des Home-PCs angeschlossen wird reicht. Das
Platinenlayout und den Schaltplan des von mir verwendeten
ISP-Programmiersteckers
habe ich im geschützten Bereich meiner Homepage hinterlegt.
Interessierte wenden sich bitte direkt an mich, um die Zugangsdaten zu
erhalten und die noetigen Dateien kostenfrei herunterladen zu
können. Platinenlayout und Schematic habe ich mit dem Programm
EAGLE
der Firma
cadsoft
erstellt. Auf
den
Internetseiten der Firma cadsoft kann man sich eine kostenlose Version
von
EAGLE
downladen. In diesem Zusammenhang möchte ich auf die
Internetseiten
von
Claudio Lanconelli verweisen,
der
in seinem Web ein Schematic
für den Programmierstecker abgelegt hat. Dieses Schematic diente
mir
als Vorlage meines EAGLE-Platinenlayouts/Schematics.
Die Schaltung
selbst ist entweder von Herrn Lanconelli oder einem Dritten entwickelt
worden. Gerne
würde ich Herrn Lanconelli als Urheber dieser Schaltung hier
erwähnen, habe aber bisher trotz wiederholter Anfragen keine
Antwort erhalten.
Wie man dem Schaltplan
entnehmen kann, werden an Bauteilen benötigt:
- 74HC244
- 1N4148
- 100K
- 100nF
- 25 pol. Sub-D Stecker
- 10 pol Stiftwanne
- optional noch ein passendes
Gehäuse (das
Platinenlayout ist so ausgelegt, dass man ein Adaptergehäuse von
25pol
Sub-D auf 9pol Sub-D verwenden kann. Ein solches Gehäuse findet
man
z.B. bei Distributoren wie Reichelt Elektronik oder Conrad Elektronik.
Die Kosten für diese Bauteile
(inklusive eines Gehäuses) belaufen sich auf unter Euro 5,-. Ich
setzte
diesen Stecker bei meinen Anwendungen selbst ein.
Der Programmierstecker erlaubt das
Programmieren
der uCs im System (In-System-Programing = ISP). Der Programmierstecker
wird dabei von der Applikation versorgt. Meine Anwendungen statte ich
i.d.R.
mit einer 10 poligen Stiftwanne aus, die als ISP-Schnittstelle dient.
Zwischen
Dongle und Anwendung verwende ich ein Stück 10poliges
Flachbandkabel
mit 10pol Aufquetschbuchsen. Der Dongle selbst wird an die parallele
Schnittstelle
des PCs angeschlossen. Achtung! Programme die auf die parallele
Schnittsstelle
zugreifen, müssen geschlossen werden.
Weitere Hardware wird nicht
benötigt!
zu 2.
Die uCs werden typ. mit 5V versorgt (es
gibt auch 3.3V-Typen). D.h. man braucht eine stabilisierte
5V-Gleichspannungsquelle.
Mittlerweile bieten eine Vielzahl von
Mikrocontrollern
bereits die Möglichkeit, ihren Betriebstakt aus einem internen
RC-Oszillator zu
beziehen.
Damit erübrigt sich der Einsatz eines externen Quarz-Schwingkreis
zur
Taktgenerierung. Ansonsten wird lediglich nur der entsprechende Quarz
und zwei
Kondesatoren benötigt. Der Frequenzbereich liegt typischerweise
zwischen 0 - 16MHz (je
nach Mikrocontroller-Type).
Der uC verliert nach Abschalten der
Versorgungsspannung
nicht den programmierten Inhalt, so dass eine Pufferung ebenfalls
entfällt.
Weitere Hardware wie EEPROM oder
Peripheriemodule
werden nicht benötigt!
Der Vollständigkeit halber seien
hier noch
diverse Entwicklungsboards (STK100/200/500) erwähnt, die z.B. bei
ATMEL bzw. bei
entsprechenden Distributoren bezogen werden können.
Ich selber habe mir ein STK100 als Einstieg zugelegt. Damals
noch für ca. DM 100,--. Dieses Board wird über die serielle
Schnittstelle
mit dem PC verbunden. Es ist dann vom STK200 abgelöst worden.
Dieses
wurde noch ein wenig erweitert. Auf ihm befinden sich neben
verschiedenen
Programmiersockeln für unterschiedliche Typen von AVR-uCs noch ein
paar Taster und LEDs, sowie Sockel für externe Komponenten wie
zusätzliches
externes RAM, AD-Umsetzer etc.. Des weiteren sind alle Ports der uCs
auf
Stiftleisten geführt, die man über Jumper mit dem uC
verbinden
kann. Eine RS232 Schnittstelle ist ebenfalls vorhanden. Dieses Board
wird
im über den oben beschriebenen Programmierstecker betrieben, den
man
beim Kauf des Boards dann natürlich direkt dabei bekommt. Für
kleine Testzwecke ganz nett; ob es sich lohnt, dieses Board zu kaufen,
wenn man für unter Euro 5,-- den Programmierstecker selber bauen
kann,
muss aber jeder selbst entscheiden.
Mittlerweile nenne ich ein STK500 mein eigen, über das nahezu jede
uC-Type von ATMEL programmiert werden kann.
Software:
Die Software kann man sich auf der Softwareseite
bei ATMEL kostenlos downloaden. Sie ist weder durch einen Code zu
aktivieren,
noch wird ein Dongle benötigt. Auch muss nicht erst irgendein
Formblatt
ausgefüllt werden um den Download-Vorgang zu starten - ein
vorbildlicher Service!
Bei der Software handelt es sich um das
AVR-Studio. Dies ist eine komplette und hervorragende
Entwicklungsumgebung, mit der man nicht nur aus dem Asemblercode die
benötigten Dateien (.hex und .eep) erzeugen, sondern den
erstellten Code modifizieren und umfangreich simulieren kann. Es
würde an dieser
Stelle
zu weit gehen, alle Features der Software aufzulisten und zu
erklären.
Ich denke, dass nach einer kurzen intuitiven Einarbeitungszeit der
Umgang
erlernt ist.
Wie man aus dem Assemblerquellcode die zur Programmierung der uCs
nötigen Dateien generiert, habe ich anhand einer
Schritt-für-Schritt Anleitung auf meiner Softwareseite erklärt.
Ein weiteres Werkzeug ist die
ISP-Software.
Ist man Besitzer des STK500, so wird diese Software nicht
benötigt;
das AVR Studio kann direkt das STK500 ansprechen. Aber keine Angst: Es
gibt verschiedene ISP-Software, die mit dem oben beschriebenen
Programmierstecker
zusammenarbeiten und mit denen man so die uCs programmieren kann.
Weiter
lässt sich mit dieser Software der uC auslesen,
löschen,
verifizieren und die sogenannten Fuse- und Security-Bits setzten.
Zwei Links zu ISP-Software, die ich selber
mit dem oben beschriebenen Programmierstecker einsetze:
Distributoren:
Wo kann man die AVR-uCs bekommen und
was
kosten sie?
Zwei von vielen Beispielen sind die bekannten Elektronikhändler ...
- Conrad Elektronik
- Reichelt Elektronik
- daneben gibt es aber noch viele
mehr.
Über die Homepage von ATMEL kann
man
weiter Distributoren abfragen.
Das Preisniveau liegt bei wenigen Euros.
Leistungsspektrum
der
uCs:
Hier möchte ich den interessierten
Leser dann doch auf die umfangreichen Datenblätter
zu den
Mikrocontrollern
hinweisen, die ATMEL auf den eigenen Internetseiten abgelegt hat.
Schlusswort:
Gerne bin ich bereit Hilfestellung beim
Umgang mit der Software zu leisten, da
die Programmierung
der in meinen Projekten eingesetzten uCs nicht der Punkt sein
soll,
an dem alles scheitert.
Natürlich kann dies kein 24h
Support
sein ;-)
Diese Seite unterliegt den Nutzungsbedingungen und der Datenschutzerklärung (siehe weiterführende Links im Impressum) dieser Internetpräsenz
|