|
![]() |
Die AVR-Serie der Atmel Mikroprozessoren weist dank des RISC-Kerns und der gelungenen Konzeption eine durchweg hohe Leistungsfähigkeit auf. Für einen der komplexesten Bausteine dieser Serie, den AT90S8535, wurde diese Experimentierplatine entwickelt, die zudem mit dem AVR-Programmer "in System" programmiert wird. Damit sind zahlreiche universelle Projekte in greifbare Nähe gerückt.
|
Zur Programmierung wird das Basismodul (vorn) an die Experimentierplatine angeschlossen. Die Beschreibung des Basismoduls finden Sie hier |
Die Platine selbst enthält nur wenige Bauelemente. Sie besteht im Wesentlichen aus dem Prozessor selbst, der Resetlogik, einem Quarz und der Spannungsversorgung sowie den Ein- und Ausgängen vier verschiedener Ports. Weiterhin befindet sich auf der Platine eine Anpassschaltung für digitale Signale mit mehr als fünf Volt Amplitude, etwa für einen Inkrementalgeber, Näherungsschalter oder andere industrielle Sensoren, die oft erst mit einer höheren Spannung als 5 Volt arbeiten.
So "mager" die Hardwareausstattung dieser Platine auf dem ersten Blick auch aussehen mag, so vielfältig sind doch die bereits im Prozessor integrierten Funktionen und Peripherieeinheiten. Der Prozessorkern kennt immerhin 118 Befehle, die meist in einem Clock-Zyklus abgearbeitet werden. Bei einer Taktfrequenz von maximal acht MHz werden somit acht Millionen Befehle in der Sekunde bearbeitet. Genug Speicherplatz zur Datenverarbeitung stellen 32 universelle Register zur Verfügung. Dieser 8-Bit-Mikrocontroller besitzt einen Arbeitsspeicher von satten acht Kilobyte, der allein dem Programm zur Verfügung steht. Sollte das noch nicht ausreichen, bietet ein 512 Bytes großes EEPROM weiteren Platz für Daten, die während des Programmlaufs entstehen und gespeichert (sowie auch nach Spannungsausfall erhalten) werden sollen. Die interessantesten Peripheriefunktionen sind beispielsweise ein achtkanaliger 10-Bit AD-Wandler, eine schnelle, serielle Schnittstelle, zwei 8-Bit-Timer/Zähler, ein 16-Bit-Timer/Zähler sowie ein programmierbarer Watchdog. Zur Verarbeitung rein digitaler (Rechteck-)Signale stehen insgesamt 32 programmierte Input/Output-Pins an vier Ports zur Verfügung. Diese opulente Ausstattung findet in einem 44-poligen PLCC-Gehäuse Platz, dessen "Beinchen" je nach Programmierung eine von mehreren Funktionen übernehmen.
| Ansicht aller Ein- und Ausgänge. | |
Obwohl der Prozessor einen Takt bis zu acht MHz spielend verträgt, ist es nicht unbedingt notwendig diesen auch voll auszureizen. Die Taktfrequenz, also die Geschwindigkeit, mit der der Prozessor sein Werk verrichten soll, kann von weniger Hertz bis zum Maximum entsprechend der benötigten Anwendung frei gewählt werden. In dem Schaltbild ist der Quarz mit vier MHz bezeichnet - ein mittlerer Wert der geeignet ist, um den Prozessor "im System" über die serielle Schnittstelle eines PC zu programmieren. So stellt diese Platine auf der einen Seite ein eigenständiges Experimentiersystem dar und ergänzt auf der anderen Seite das Portfolio der Programmiermodule des unter [1] beschriebenen AVR-Programmers.
Nach diesem ersten, groben Überblick, betrachten wir einige wichtige Details der Schaltung. Die Spannungsversorgung wird wie üblich durch einen 7805 Spannungsregler gewährleistet. Eine Sicherung und eine Diode schützen wertvolle Bauelemente vor einer eventuell verpolten Spannung. Eine grüne Leuchtdiode visualisiert die korrekt angelegte Spannungsversorgung. Sofern der Prozessor über das 10-polige Flachbandkabel mit dem AVR-Programmer verbunden ist, kann diese alternativ über den AVR-Programmer und damit aus der seriellen Schnittstelle des PC erfolgen. Dazu stecken Sie den Jumper auf die Stiftkontakte nahe dem Platinenrand (siehe Bild 2). Achten Sie jedoch darauf, dass die serielle Schnittstelle nicht überlastet wird. Sie ist lediglich in der Lage, Programmer und Prozessor zu versorgen, nicht jedoch weitere Schaltungsteile, die evtl. an der Platine angeschlossen sind.
|
Lage der Jumper auf der Platine. |
Bevorzugen Sie die Spannungsversorgung über den leistungsfähigeren 7805-Regler, dann entfernen Sie den Jumper von den Stiftkontakten nahe am Platinenrand und stecken ihn auf die etwas weiter vom Rand entfernten Stiftkontakte. Beachten Sie bitte, dass sie nur einen Jumper stecken dürfen!
Prozessorpins sind auf acht- bis zehnpolige Pfostensteckverbinder herausgeführt. Für dieses genormte Raster gibt es viele praktische Stecksysteme. Alternativ ist es möglich, Lötnägel nach Bedarf einzusetzen und so die Verbindung zu anderen Schaltungsteilen zu ermöglichen. Auf den Steckern liegen jedoch nicht nur die Prozessorsignale, sondern zudem jeweils auch einmal GND und +5 Volt. So fällt es leicht, angedockte Schaltungen mit Spannung zu versorgen. Der Aufbau der Schaltung entspricht der üblichen Vorgehensweise. Sie starten mit vier Lötbrücken, die Sie mit 0,6 mm Silberdraht ausführen (siehe Bild 3) und setzen anschließend zuerst die niederen, schließlich die höheren Bauteile ein. Vermeiden Sie ungewollte Lötkleckser, die besonders im Bereich des Prozessors schlecht zu entfernen sind. Bild 3 zeigt die kritische Stelle.
Die Platine ist aufgebaut und liegt fix und fertig vor Ihnen. Für Ihre speziellen Zwecke kann sie leicht um einige Ein- und Ausgabeelemente erweitert werden. Eine LED samt Vorwiderstand ist bereits ein simples Ausgabeelement, ein Taster mit Pull-Up-Widerstand dient zur Eingabe. Komplexere Peripherie wie eine LCD ist über ein paar Stückchen Draht ebenso schnell mit der CPU (dem Prozessor) verbunden.
Um der Hardware "Leben" einzuhauchen, benötigen Sie einen Programmer [1] und eine Software, die Ihnen die Entwicklung von AVR-Programmen ermöglicht. Die Beschreibung des Basismoduls des AVR-Programmers, das Sie an die serielle Schnittstelle des PC anschließen, laden Sie unter [2] und bauen es mit nur wenigen Bauteilen in kurzer Zeit auf. Nun geht es an die Software: Für den PC unter Windows bietet Atmel eine komplette Assembler-Entwicklungsumgebung an, die Sie kostenfrei von [3] laden können. Damit programmiert man in der ureigensten AVR-Assemblersprache eigene Anwendungen. Wer kein Assembler möchte oder sich nicht in die prozessorspezifischen Befehle der AVR-Prozessoren einarbeiten mag, kann zu Bascom-AVR greifen, einem speziellen Basic-Compiler für die AVR-Familie. Eine Demoversion, die anstandslos bis 1 KByte Code kompiliert und sich bis zu dieser Größe des Kompilates wie die Vollversion verhält, ist unter der Adresse www.bascom.de aus dem Internet zu laden. Der Basic-Compiler unterstützt den Programmierer mit vielen praktischen Funktionen, das "Basic-Listing" zeigt ein ganz kleines Beispiel.
Basic Listing Bascom-AVR-Listing zur Ausgabe eines Textes auf ein zweizeiliges LC-Display Cls LCD löschen Lcd "Hello everybody" anzeigen in der ersten Zeile Wait 1 eine Sekunde warten Lowerline untere Zeile wählen Lcd "around the world." anzeigen in der unteren Zeile
C1, C2 27p C3,C4,C5 100n D1 1N4001 D2,D3 1N4148 D4 LED5MM F1 Sicherungshalter, RM 22,5A IC1 AT90S8535 IC2 7805 JP1 Jumper JP2 Jumper L1 10uH Q1 4 MHz Quarz HC18U-V R1,R4,R5,R6,R7,R8,R9 10k R10 470 Stiftleisten (oder Lötstifte einsetzen) SL1 PortA SL2 PortB SL3 PortC SL4 PortD SL5 TTL_OUT SL6 Dig_IN SV2 ISP-Prog Kabelklemme X1 V_IN AK500/2 SL7 V_REF Transistoren T1 BC547 T2 BC547
Für dieses Projekt biete ich einen Platinenservice an.
Und hier geht es zum Download.