Für erste Versuche mit 8Bit AVR (Advanced
RISC; RISC steht für Reduced Instruction Set
Computer) Controllern der Firma ATMEL
habe ich ein einfaches Experimentierbord entworfen. Es können neben
dem ATmega8 auch andere Controller im 28poligen DIP Gehäuse eingesetzt
werden.
Das fertig bestückte Testboard. Zwei
blaue Brücken sind schon gesteckt, um den Controller mit dem COM
Port zu verbinden.
Die Schaltung benötigt eine Spannungsversorgung
von etwa 9V bis 12V. LED9 zeigt die, auf dem Board mit IC2 geregelte,
5V Spannung an, wenn der Batterieschalter auf EIN steht. Verwendet man
nur die auf dem Board vorhandenen Bauteile benötigt IC2 keinen Kühlkörper.
Auch der, für die Programmierung des Controllers notwendige, ISP
(In System Programmer) wird vom Board mit Spannung
versorgt. D1 schützt das Board und einen verbundenen ISP vor einer
falsch angeschlossenen Spannungsversorgung und sollte nicht gespart werden.
Auf der Platine befinden sich im Wesentlichen folgende
Bauteile:
- 28polige Fassung für AVR Controller
- 3polige Fassung für Quarz (Mittelanschluss an GND)
- LED1 bis LED8 für die Anzeige von Portzuständen
- zwei Einstellregler Poti1 (R3), Poti2 (R4) für die Simulation von
Analogeingängen zwischen 0V und 5V
- zwei Taster S1, S2
- ein Piezoschwinger für Tonausgaben
- eine 16polige Fassung für einen Pegelwandler TTL <--> V.24
für die Verbindung zu einem Standard COM Port
- ein 9poliger SubD Stecker für Verbindung zu einem Standard COM
Port
- ein 5V/1A Spannungsregler
- eine 6polige Standard ISP Schnittstelle für die Programmierung
des Controllers
- jeweils ein Stützpunkt für GND und +5V
Für den Pegelwandler IC1 und den AVR Controller
sind Standard IC Fassungen vorgesehen (Einbaurichtung beachten). Die Ein-
bzw. Ausgänge der Baugruppen sind mit einfachen Steckbuchsen abgeschlossen.
Diese Steckbuchsen gibt es im Fachhandel in verschiedenen Längen
im Raster 2,54mm. Mit einem Seitenschneider sind die benötigten Längen
einfach herzustellen. Die Verdrahtung zwischen diesen Steckbuchsen erfolgt
je nach Anwendungsfall mit einfachem, starren Schaltdraht. Auch für
einen Quarz ist eine 3polige Buchse vorgesehen. Der mittlere Anschluss
ist mit GND verbunden. Der ISP Steckverbinder ist fest verdrahtet.
Der Aufbau der Schaltung erfolgt auf einer kleinen Leiterplatte 75x100mm.
Die Leiterplatte ist mit dem Programm EAGLE
erstellt. In der Leiterplatte sind 4 Bohrungen für Kunststoff Abstandsstücke.
Es ist kein Gehäuse vorgesehen.
Bevor die Platine benutzt wird, sollte die Funktion ohne
IC getestet werden. Nach einer sorgfältigen, optischen Fehlerprüfung
schließt man die Spannungsversorgung an und schiebt den Schalter in Position
EIN. LED9 leuchtet. Am Pin16 der IC1 Fassung ist eine Spannung von +5V
gegen GND (TP37) zu messen. Nun schiebt man den Schalter in Position AUS
und steckt IC1 in die Fassung. Dann wird die Baugruppe mit einem Nullmodem
Kabel an einen COM Port am PC angeschlossen. Auf dem PC startet man unter
Windows das Programm Hyperterminal. In Hyperterminal wird eine Direktverbindung
zur COM (wo das Testboard angeschlossen ist) mit 4800,8,1,n kein Protokoll,
Echo aus, eingerichtet.
Nun steckt man eine Drahtbrücke wie das Bild zeigt und schiebt den
Schalter in Position EIN. Eingaben mit der Tastatur in Hyperterminal sollten
jetzt auf dem Bildschirm zu sehen sein. Wird die Drahtbrücke entfernt,
dürfen keine Ausgaben am Bildschirm zu sehen sein. Damit ist die
Schnittstelle getestet. Der Schalter wird in die Position AUS geschoben.
Bei Problemen sind die Bauteile um IC1, insbesondere der richtige Einbau
der Elkos, zu überprüfen.
Dieser Test wird auch mit jeder anderen Baudrate funktionieren. Die benutzte
Baudrate von 4800 ist aber für die folgenden Tests notwendig.
Dafür habe ich ein einfaches Basic Programm für
BASCOM-AVR geschrieben.
Ich verwende die Demo Version von BASCOM-AVR, die frei von der BASCOM
Webseite zu laden ist und entsprechend der Anleitung installiert werden
sollte. Um das vorgestellte Programm auszuprobieren, ist BASCOM-AVR aber
nicht erforderlich, weil alle notwendigen Dateien im Downloadbereich vorhanden
sind.
Das vorgestellte Beispiel testet die Funktionen des
Boards in Verbindung mit einem ATmega8. Dazu ist das Board entsprechend
der folgenden Tabelle zu verdrahten.
Das Bild zeigt die Verdrahtung für das vorgestellte
Testprogramm. Diese einfache Tabelle ist im EXCEL Format erstellt. Hier
kann man die Portzuordnung eintragen. In der *.board Datei von EAGLE befindet
sich ein Layer 117 Beschriftung. In Verbindung mit dem EXCEL Arbeitsblatt
behält man die Übersicht um das Testboard entsprechend der Programmierung
zu verdrahten.
Das BASCOM-AVR Programm muss zuerst in einen ATmega8
Controller programmiert werden. Ich verwende den original ATMEL AVR ISP.
Dieser Programmer wird mit dem mitgelieferten Kabel an einen COM Port
eines PC angeschlossen. Dem Programmer liegen ein 10poliges und ein 6poliges
Kabel für die Verbindung zur AVR ISP Schnittstelle bei. Für
mein Testboard muss das 6polige Kabel verwendet werden. BASCOM-AVR unterstütz
in der getesteten Demo Version den ATMEL AVR ISP leider nicht. Aber dem
ATMEL AVR ISP liegt die aktuelle Version des ATMEL AVR STUDIO bei. Dieses
Programm kann man aber auch von der ATMEL Seite frei laden.
Für dieses Beispiel findet man die notwendige Datei zur Programmierung
im Downloadbereich. BASCOM-AVR erzeugt diese Datei beim Kompilieren eines
BASIC Programms. Der ATMEL AVR ISP benötigt die *.HEX Datei.
Das Bild zeigt das, entsprechend der obigen Tabelle,
verdrahtete Testboard mit angeschlossenem ATMEL AVR ISP. Der ISP sollte
immer bei ausgeschalteter Spannung mit dem Testboard verbunden bzw. getrennt
werden. Erst danach schaltet man den Batterieschalter in Stellung EIN.
Die LED am ISP leuchtet erst rot und nach kurzer Zeit ständig grün.
Jetzt startet man das AVR STUDIO und wählt unter
Connect...
den COM Port aus, an dem der ISP angeschlossen wurde.
Im Beispiel ist das COM1. Wenn der ISP erkannt wird, erscheint folgendes
Bild:
Unter Device wird der ATmega8 ausgewählt. Unter
Flash wird die Input Datei BOARDTEST.HEX ausgewählt. Alle anderen
Einstellungen im AVRISP Menü bleiben unverändert. Jetzt klickt
man unter Flash den Button Program. Bei erfolgreicher Programmierung erscheinen
im AVRISP Menü die unten aufgeführten Meldungen.
Das Programm auf dem Testboard startet automatisch. Vorausgesetzt
wird die richtige Verdrahtung wie in der oben angegeben Tabelle. Es leuchten
jeweils paarweise die LED1 + LED5 bis LED4 + LED8 auf. Der Piezoschwinger
gibt dazu Töne aus. Poti1 verändert die Tonhöhe. Poti2
verändert die Geschwindigkeit der LED Weiterschaltung. S2 schaltet
den Ton ab. Mit S1 kann man die Tonausgabe wieder einschalten.
Nun verbindet man den COM Port vom Testboard und einen
COM Port am PC mit einem Nullmodem Kabel. Auf dem PC startet man unter
Windows das Programm Hyperterminal. In Hyperterminal wird eine Direktverbindung
zur COM (wo das Testboard angeschlossen ist) mit 4800,8,1,n kein Protokoll,
Echo aus, eingerichtet. Jetzt sollte man Anzeigen vom Testboard in Hyperterminal
sehen. Es werden die Werte der AD Wandler 1 und 2 angezeigt.
Ein Druck auf ESC an der PC Tastatur beendet das Programm.
Ist man bis hierher erfolgreich gekommen, kann man davon ausgehen, dass
die Komponenten des Testboards funktionieren.