ATmega Evaluationsboard

Am Lehrstuhl wurde im Jahr 2004 begonnen ein Mikrocontrollerevaluationsboard zum Einsatz in Forschung und Lehre zu entwickeln. Dieses Board wurde über die Jahr immer weiter entwickelt. Da von Studentischer Seite immer wieder Interesse an diesem Board geäußert wurde haben wir uns 2008 entschlossen unser Boarddesign mit den zugehörigen Teilelisten online zu stellen. Dies soll nicht zuletzt Kollegen von anderen Bildungseinrichtungen dienen unser Board für Ihre Zwecke anzupassen und somit schnell eine effiziente Evaluierungsplattform zu erhalten.
Mittlerweile existieren zusätzlich zum Hauptboard auch auch mehrere Erweiterungsplatinen. Ein Teil dieser Platinen ist im Folgenden aufgeführt.

Das Hauptboard kann verschiedene Modelle des ATmega aufnehmen. Diese sind:

  • ATmega16
  • ATmega32
  • ATmega644



Hauptplatine

Die Hauptplatine nimmt einen ATmega 8 Bit Mikrocontroller auf und versorgt diesen mit Spannung. Die Eingangsspannung beträgt dabei 7 bis 25 Volt. Die bietet außerdem die folgenden Merkmale:

  • 2 x 16 Zeichen LCD
  • 4 Buttons
  • 16 LEDs
  • externer Quarz
  • RS232 Schnittstelle auf 9 poligem D-Sub Stecker
  • ISP Schnittstelle
  • JTAG Schnittstelle
  • Optional Uhrenquarz für Zeitmessung
  • Optional Spannungsversorgung über Batterieclip mit 9 Volt Block
  • Einstellbarer Displaykontrast
  • Konfigurierbare beschaltung des AD-Wandlers
  • 2 x 8 Pin Abgriffe für je 5V (Vcc) und GND
  • Reset Button

Mikrocontroller

Wie schon weiter oben erwähnt kann die Hauptplatine verschiedene Modelle des ATmegas aufnehmen. Da diese Mikrocontroller Pin kompatibel zu einander sind muss dann nur die Software angepasst werden. Die Entscheidung welcher der möglichen ATmegas am besten passt wird hauptsächlich durch den Speicherbedarf und die Kosten bestimmt. Die Speicherkapazität aller drei Speicher (Flash, SRAM und ROM) verdoppelt sich jeweils. Die kosten für den Chip selber steigen nur gering, jedoch die Kosten für den Programmer. Der ATmega644 kann (falls man die JTAG Schnittstelle nutzen möchte) nur von einen JTAGICE mk II programmiert werden. Dieser ist mehrere hundert Euro teurer als sein kleiner Brunder, der JTAGICE. Weiteres dazu weiter unten.

Externer Speicher

Im Rahmen des Praktikum Systemprogrammierung wird in späteren Versuchen eine Erweiterungsplatine mit einem SRAM verwendet. Das Layout sowie die Teilliste für diese Platine können finden Sie nachfolgend herunterladen.

Layout und Teileliste

Die Platine die dem Board zugrunde liegt wurde mit dem Programm Eagle entworfen. Von diesem Programm gibt es eine kostenfreie Lizenz zur privaten Nutzung.
Im Grundsatz gilt für die Beschaffung von Platinen, dass der Preis pro Platine stark mit der Stückzahl fällt. Es lohnt sich also mit mehreren gesammelt zu bestellen. Außerdem kommt es stark auf die Platine an welcher Hersteller der günstigste ist. Ein Vergleich loht also fast immer. Weiter unten sind einige Platinenhersteller gelistet.
Das Layout des Boardfiles
Teileliste zum Boardfile

Programmierschnittstellen

Die Platine stellt dem Nutzer mehrere Möglichkeiten Programmcode auf den Mikrocontroller zu bringen zur Verfügung. Dies ist zum einen die ISP Schnittstelle (in system programming) und zum anderen die JTAG Schnittstelle (Joint Test Action Group IEEE 1149.1). Beide Schnittstellen besitzen einige Vor- und Nachteile, die im Folgenden zusammen mit möglichen Programmern (die Geräte, die zum Programmieren des Mikrocontrollers benötigt werden) kurz vorgestellt werden.

JTAG

Die JTAG Schnittstelle ist die mächtigere der beiden Schnittstellen. Über sie kann nicht nur der Mikrocontroller beschrieben werden, sondern auch debugt werden. Debuggen umfasst z.B. den Inhalt einzelner Speicherstellen (also auch Register) auszulesen bzw. abzuändern. Vor allem zum Testen bzw. zur Fehlersuche ist diese Art der Schnittstelle gut geeignet. Der Nachteil der Schnittstelle ist, dass diese 4 Pins von Port C dauerhaft belegt. Im Folgenden werden zwei verschiedene Programmer für die JTAG Schnittstelle vorgestellt. Leider sind die älteren (und günstigeren Programmer nicht in der Lage die neuen ATmegas zu programmieren)

JTAGICE

Dies ist der ältere der beiden JTAG Adapter. Er wird nicht mehr aktiv von Atmel hergestellt, da dieser vom JTAGICE mk II abgelöst wurde. Man kann Nachbauten jedoch immer neu neu erwerben. Der Adapter ist ab ca. 30 Euro zu bekommen. Mögliche Bezugsquellen sind z.B.:

Dieses JTAG Interface kann nicht für den ATmega644 genutzt werden!

JTAGICE mk II

Dieser Programmer ist die Weiterentwicklung des JTAGICE. Leider sind unseres Wissens noch keine vollständig kompatibelen Nachbauten verfügbar. Dieser Programmer unterstützt zusätzlich zu JTAG und ISP u.a. auch die DebugWire Schnittstelle. Als Student bzw. Lehrstuhl etc. kann man diesen vergünstigt bei embedded projects beziehen.

ISP

Eine weitere Schnittstelle um Maschinencode auf den Mikrocontroller zu bringen ist das in-systm programming (kurz: ISP). Diese Schnittstelle erlaubt kein online debugging, belegt dafür aber auch keine pins und ist bedeutend günstiger. Es gibt sowohl die Originalschnittstelle von ATMEL als auch verschiedenste Nachbauten. Da diese direkt von ATMEL mit ~ 30 Euro sehr günstig ist lohnt ein Nachbau oder selber bauen nur bedingt. Einige weitere Infos gibt's bei mikrocontroller.net

Bezugsquellen

Im Folgenden finden Sie einige Bezugsquellen. Diese haben keinen Anspruch auf Vollständigkeit. Wir sind für weitere Vorschläge gerne offen. Senden Sie diese bitte an Dr.-Ing. André Stollenwerk.

Platinen

Hier finden Sie eine Liste mit Firmen, die Platinen entwickeln, ggf. mit kurzen Hinweisen:

Bauteile

Wir bemühen uns nur „Standardbauteile“ auf unseren Platinen zu verbauen. Daher sollte es möglich sein diese bei einem der folgenden Distributoren zu erhalten. Es gibt jedoch einige wenige Bauteile, die man nicht direkt dort erhalten kann.

Eine sehr viel längere Liste findet sich auf mikrocontroller.net

Veröffentlichungen

Zu unserem Evaluationsboard, bzw. basierend auf unserem Board wurden die folgenden Veröffentlichungen verfasst:


Publikations-Export

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Wenn Sie nicht einverstanden sind, verlassen Sie bitte die Website.Weitere Information

RWTH Aachen - Lehrstuhl Informatik 11 - Ahornstr. 55 - 52074 Aachen - Deutschland