De microcontroller
De SAM D20J18 is een interessant lid van de ARM-Cortex-M0+-familie. Hij heeft 64 aansluitpennen, 256 KB flash-geheugen, 32 KB SRAM Touch Controller (PTC). We zullen de PTC in één van de volgende delen van de cursus uitgebreid bespreken en aan het werk zetten. Het EventSystem kan, net als bij ATxmega’s, afhankelijk van de configuratie bijvoorbeeld de CPU uit zijn slaaptoestand opwekken als een periferie-element zoals de ADC een event start (niet alle periferie-elementen kunnen dat trouwens doen). De microcontroller kent twee verschillende slaaptoestanden: In de Idle-modus is alleen de CPU uitgeschakeld, terwijl in de Standby-modus de hele klokgenerator en alle elementen (behalve degene die door de software anders zijn geconfigureerd) buiten werking zijn.

 
ARM Cortex-M0+
Figuur 2 (klik om te vergroten)
In figuur 2 zien we het blokschema van deze familie van microcontrollers. Links herkennen we helemaal bovenaan de ARM Single Cycle I/O-bus, waarmee de processor een heel snelle toegang tot de GPIO’s heeft. Daaronder zien we de seriele Debug-interface met rechtstreekse toegang tot de processor. Onder de High Speed matrix waaraan rechts het geheugen met de bijbehorende controller als Slave is aangesloten, zien we meerdere databussen (in tegenstelling tot wat we gewend zijn bij 8-bits microcontrollers) en Peripheral Access controllers die indien nodig het schrijven naar periferie-registers kunnen blokkeren.

De belangrijkste periferie ligt aan de APB-Cbus. Het meest interessant zijn ongetwijfeld de zes SERCOM-blokken die dienen voor de seriële communicatie en die kunnen worden geconfigureerd als seriële interfaces (USART, I2C, SPI) aan verschillende pennen. De overige periferie-elementen (behalve de PTC) zijn ook bij de meeste 8-bits microcontrollers beschikbaar, al zijn ze dan meestal minder snel en minder talrijk. De acht TIMER COUNTERs kunnen trouwens elk als 2x8-bits counter, 1x16-bits counter of (paarsgewijs) als 32-bits counter worden gebruikt. De andere kant van het blokschema is minder spectaculair, die bevat voornamelijk onderdelen voor de voeding en de klokgeneratoren. In de volgende delen zullen we de mogelijkheden,  instellingen en toepassingen van de genoemde periferie-elementen stap voor stap bespreken en toepassen. De datasheet telt circa 700 pagina’s en is te vinden onder [3].

De uitbreidingskaarten
Atmel heeft voor het Xplained Pro-Board enkele uitbreidingskaarten ontwikkeld, die kunnen helpen bij het leren kennen van het systeem en die het ontwikkelen van prototypes kunnen versnellen. De uitbreidingskaarten worden gewoon rechtstreeks op de connectors van de hoofdprint gestoken. Elke uitbreidingskaart heeft een CryptoAuthentication-chip ATSHA204 die de EDBGchip op het Xplained-Pro-Board informatie over de aangesloten uitbreidingskaart geeft, bijvoorbeeld over de voedingsspanning en over het maximale stroomverbruik. De EDBG-chip geeft deze data door aan Atmel Studio. Atmel Studio opent dan een venster met links naar datasheets, softwarebibliotheken en/of voorbeeldprogramma’s.

Figuur 3: De eenvoudigste uitbreidingskaart van Atmel: een prototyping-kaart met soldeereilanden.
Atmel Proton Xplained Pro

Wie een zelfgebouwde schakeling aan een Xplained-Pro-board wil aansluiten, kan het beste gebruik maken van de PROTO1 Xplained Pro (figuur 3). Dit is een prototypingkaart met in totaal 200 soldeereilanden, die op de connectors EXT1 en PWR kan worden gestoken. Aan de rechterkant zit een aansluiting voor de zogenaamde Xplained-Top-module, die alleen een andere layout heeft. De voeding zit op het bovenste gedeelte van de print. Dit deel van de print kan gemakkelijk worden afgebroken om het afzonderlijk te gebruiken.