AVR128DA48 Curiosity Nano: Mikrocontroller-Kit von Microchip

ATmega128x-MCUs sind neben vielen anderen derzeit ausverkauft – für zukünftige Projekte haben wir uns deshalb den neuen AVR128 auf dem Curiosity-Kit angesehen.

vorlesen Druckansicht 35 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Carsten Meyer

Momentan haben es nicht nur die Autohersteller schwer: Die Chipkrise macht inzwischen auch Makern zu schaffen. Viele Mikrocontroller sind schlicht nicht vor Anfang nächsten Jahres zu bekommen – von den weit über 1000 verschiedenen STM32-Ausführungen beispielsweise sind bei großen Distributoren gerade mal 17 Typen auf Lager. Auch die ATmega-Serie von Microchip (ehemals Atmel) ist betroffen; restliche Lagerbestände eines 128-KByte-ATmega, den wir in einem Projekt verwenden wollten, werden inzwischen zu Mondpreisen gehandelt.

Da sieht sich der flexible Entwickler lieber nach Alternativen um: So sind ganz neue Chip-Serien noch gut zu bekommen, weil sie eben noch nicht verbreitet eingesetzt werden. Während der ATmega1284P-AU erst im Januar 2023 wieder in den Regalen liegen soll, ist der vergleichbar leistungsfähige AVR128DA48 ab Lager lieferbar – für derzeit weniger als 3 Euro. Den haben wir uns in Form des rund 20 Euro teuren Curiosity Kits von Microchip einmal angesehen.

Das AVR128DA48-Curiosity-Board wird mit Breadboard-freundlichen Steckleisten geliefert.

(Bild: Microchip)

Die recht junge AVRxx-Serie von Microchip verwendet nach wie vor den bekannten AVR-Kern, hat aber andere Anschlussbelegungen und auch eine andere Programmierschnittstelle. Daneben bestehen subtile Unterschiede in der Registerbelegung einiger Chip-interner Peripherieeinheiten und in der Größe des EEPROM-Speichers: Statt üppiger 4 kByte des ATmega1284 gibt es nur noch 512 Bytes. Der Kern selbst ist mit 24 statt 20 MHz etwas schneller geworden, auch der A/D-Wandler hat nun 12 statt 10 Bit Auflösung. Größere Unterschiede bestehen in der Taktaufbereitung: Der AVR128DA lehnt sich mit seiner konfigurierbaren PLL-Clock eher an die ATXmega-Serie an.

Statt der ehrwĂĽrdigen ISP-Programmierpins findet man nun eine UPDI (Unified Program and Debug Interface) genannte Eindraht-Verbindung; vorhandene Programmier- und Debug-Adapter werden also unbrauchbar, wenn sie kein Update erlauben. Zum GlĂĽck ist ein UPDI-Programmer auf der Curiosity-Platine schon eingebaut, der Anschluss erfolgt ĂĽber Micro-USB. Treiber dafĂĽr sind in den IDEs von Microchip (MPLAB und Studio 7.0) enthalten. Wenn man die installiert hat, kann man sofort mit den Beispiel-Projekten loslegen.

Praktisch: FĂĽr die Click-Boards von MikroElektronika gibt es eine Basisplatine, die das Curiosity-Modul aufnimmt.

(Bild: Microchip)

Bei anderen Entwicklungsumgebungen muss man gegebenenfalls Packages nachinstallieren, bei der Arduino-IDE zum Beispiel die Dx-Core-Bibliothek von SpenceKonde. In schwierigen Fällen sind allerdings eigene Anpassungen an die Controller-Beschreibungsdateien des Compilers nötig, um ihm die unterschiedliche Registerbelegung beizubringen. Die zum 128-KByte-ATmega geänderten Parameter betreffen natürlich die CPU-ID und EEPROM-Größe, aber auch einige Timer- und EEPROM-Register. Immerhin gelang es uns, selbst mit einem älteren Pascal-Compiler (AVRCo) die Board-LED blinken zu lassen - dieses "Hello World" der Mikrocontroller war schon mal beruhigend.

Um die neuen Features der AVR-Chips zu nutzen, sind allerdings größere Änderungen am Quellcode nötig. Der AVR128DA bietet zum Beispiel ein Event-System, das bei Interrupts ohne Zutun des CPU-Kerns andere Peripheriebausteine triggern kann. Zudem ist nun ein Controller für kapazitive Touch-Buttons eingebaut, ebenso eine konfigurierbare I/O-Logik, die an die Makrozellen von FPGAs erinnert und die es erlauben soll, I/O-Leitungen schon vor der Verarbeitung seitens der CPU mit Logikfunktionen zu verknüpfen.

Videos by heise

(cm)