Der Mikrocontroller
Der SAM D20J18 ist ein interessantes Mitglied der ARM-Cortex-M0+-Familie. Er besitzt 64 Pins, 256 kB Flashspeicher, 32 kB SRAM und wird mit einer maximalen Frequenz von 48 MHz getaktet. Er ist stromsparend, schnell, besitzt viel Peripherie und ist daher sehr universell einsetzbar. Er verbraucht nur 70 μA / MHz bei 1,62...3,63 V. Besonderheiten sind das Event-System und der Peripheral Touch Controller (PTC). Der PTC wird in einer der späteren Kursfolgen genauer erläutert und in Betrieb gesetzt.
 
ARM Cortex-M0+
Bild 2. Blockschaltbild der SAM-D20-Controller.
Das Event-System kann, ähnlich wie bei den ATxmegas, je nach Konfiguration zum Beispiel die CPU aus dem Schlaf wecken, wenn ein Peripherieelement wie der ADC ein Event auslöst (allerdings ist nicht jedes Peripherie-Element dazu in der Lage). Der Mikrocontroller kennt zwei Schlafmodi: Im IdleMode ist nur die CPU ausgeschaltet, während im Standby-Mode die ganze Taktversorgung und alle Elemente (außer denen, die im Programm anders konfiguriert wurden) in den Schlaf verfallen.
 
In Bild 2 ist ein Blockschaltbild dieser Mikrocontrollerfamilie dargestellt. Auf der linken Seite erkennt man ganz oben den ARM Single Cycle I/O-Bus, der dem Prozessor einen ganz schnellen Zugriff auf die GPIOs gewährt. Darunter ist die serielle Debug-Schnittstelle mit direktem Zugriff auf den Prozessor zu sehen. Unter der High Speed Matrix, an die rechts die Speicher mit dem entsprechendem Controller als Slaves angeschlossen sind, erkennt man (im Gegensatz zu einem üblichen 8-bit-Mikrocontroller) mehrere Datenbusse und Peripheral Access Controller, die bei Bedarf das Beschreiben von Peripherie-Registern blockieren können. Am Bus APB-C liegt die wichtigste Peripherie, das interessanteste davon sind sicher die sechs SERCOM-Blöcke, die der seriellen Kommunikation dienen und als serielle Schnittstellen (USART, I2C, SPI) an verschiedenen Pins konfiguriert werden können. Die restlichen Peripherieelemente (abgesehen vom PTC) sind auch bei den meisten 8-bit-Mikrocontrollern vorhanden, allerdings mit weniger Leistung und in geringerer Anzahl. Die acht TIMER COUNTER können übrigens jeweils als 2x8-bit-Counter, 1x16-bit-Counter oder (zwei zusammen) als 32-bit-Counter eingestellt werden. Die andere Seite des Blockschaltbildes ist weniger spektakulär, es ist hauptsächlich nur die Stromund Taktversorgung zu sehen. Auf die Möglichkeiten, Einstellungen und Anwendungen der genannten Peripherieelemente werden wir in den nächsten Folgen Schritt für Schritt praxisnah angehen. Das Datenblatt mit ca. 700 Seiten finden Sie unter [3].
 
Die Erweiterungsboards
Atmel hat für das Xplained Pro-Board einige Erweiterungs-Boards entwickelt, die beim Einstieg und in der Prototyping-Phase helfen sollen, schnell zum Erfolg zu kommen und den Mikrocontroller besser kennen zu lernen. Die Erweiterungsboards werden praktischerweise direkt auf die Stiftleisten der Hauptplatine aufgesteckt. Jedes Erweiterungsboard besitzt einen dreibeinigen CryptoAuthentication-Chip ATSHA204, der dem EDBGChip auf dem Xplained-Pro-Board Informationen über das angeschlossene Zusatzboard mitteilt, zum Beispiel die Spannungsbereiche und den maximalen Strom für den Betrieb. Der EDBG-Chip gibt diese Daten dann an das Atmel Studio weiter. Das Studio öffnet ein Fenster mit Links zu Datenblättern, Bibliotheken oder Beispielprogrammen.
 
Bild 3: Das einfachste bei Atmel erhältliche Erweiterungsboard ist ein Prototyping-Board mit Lötinseln.
Atmel Proton Xplained Pro

Wer einfach seine selbstgebaute Schaltung an ein Xplained-Pro-Board anschließen möchte, ist mit dem PROTO1 Xplained Pro (Bild 3) bestens bedient. Es besitzt insgesamt 200 Lötpads und wird auf die Stiftleisten EXT1 und PWR gesteckt. An der rechten Seite gibt es einen Anschluss für die so genannten Xplained-Top-Module, der nur anders geroutet ist. Der obere Platinenteil mit der Spannungsversorgung kann an einer Sollbruchstelle leicht abgetrennt werden.