La famille M0+ de μC ARM Cortex combine puissance, prix abordable et polyvalence. Il existe un riche environnement d’outils pratiques et gratuits. Idéal pour s’initier, non ? Voici un cours pour apprendre à utiliser ces microcontrôleurs à 32 bits. Tout ce qu’il faut pour se lancer, c’est de la curiosité et une certaine familiarité avec les μC à 8 bits !
 
Ce nouveau cours de programmation Elektor vous ouvre le monde des μC Cortex-M0+ d’ARM en mettant l’accent sur la pratique. Il existe de nombreux environnements de développement gratuits et une pléthore de cartes abordables. Le pilier de notre cours est la carte SAM D20 Xplained Pro, avec un μC à faible consommation, le SAM D20.
 
Après avoir examiné la carte et le μC, nous passerons à l’installation de l’environnement de développement Atmel Studio 6.2 et attaquerons un premier projet. Nous lorgnerons, à l’occasion, vers la famille AVR à 8 bits, réputée s’il en est, en raison de nombreuses similitudes. Dans les articles suivants, nous présenterons, sous forme de petits projets, les périphériques majeurs et leurs fonctions.
 
À propos de l’auteur
Du haut de ses 15 ans, Viacheslav Gromov est le benjamin des auteurs d’Elektor ; pourtant, son enthousiasme pour l’électronique analogique et numérique ne date pas d’hier : son atelier est bien équipé, Elektor a déjà publié plusieurs de ses articles, il est aussi l’auteur de livres qui traitent, entre autres, des μC ARM Cortex. Pour leur vigoureux soutien, l’auteur remercie sa famille ainsi qu’Andreas Riedenauer de la société Ineltek Mitte GmbH.

La carte
À première vue, rien de spectaculaire sur la carte (fig. 1). Bon nombre des 64 broches du μC sont amenées vers l’extérieur sur des embases mâles. Des tableaux donnent le brochage des connecteurs et les dénominations d’autres points de connexion.
 
L’alimentation de la carte peut se faire soit par l’embase USB soit par application de +5 V au connecteur PWR. En cas d’alimentation via le port USB, on dispose sur PWR respectivement de 5 V et de 3,3 V pour l’alimentation des circuits connexes. Si la carte est alimentée via l’embase PWR, le débogueur embarqué EDBG (Cf. encadré) se désactive automatiquement pour économiser de l’énergie. L’alimentation ou le port USB d’alimentation doivent pouvoir fournir un courant de 500 mA minimum.

 
Figure 1. Le synoptique fonctionnel de la carte.
Les embases EXT1 à EXT3 mettent chacune à disposition une tension de 3,3 V pour l’alimentation de cartes d’extension. Sur chacune de ces embases, la broche 1 baptisée ID est réservée pour la connexion d’une puce ID présente sur la carte d’extension. Cela permet à EDBG de reconnaître de quelle carte d’extension il s’agit. Ladite information sera transmise à l’environnement de développement sur le PC.
 
Autres éléments sur la carte, outre le quartz 32 kHz (une des sources d’horloge du μC principal) : l’embase DEBUG USB pour un débogueur externe, un bouton RESET, le bouton SW0 et une LED jaune, LED0. SW0 et LED0 sont reliés respectivement à PA15 et PA14, et sont à disposition de l’utilisateur. Le cavalier proche de SW0 relie la tension de sortie du régulateur de tension présent sur la carte au μC. Si, au lieu du cavalier, on branche à cet endroit un instrument de mesure, on pourra mesurer la consommation électrique du μC.
 
Les LED d’alimentation et d’état (non représentées) voisines du connecteur USB sont connectées à l’EDBG. La LED d’alimentation s’allume lorsque la carte est alimentée. La LED d’état clignote lorsque l’EDBG a accès au μC principal SAM D20 en cours du débogage ou lors d’autres opérations. En cas de réactualisation du progiciel (firmware) du débogueur, les deux LED clignotent. Pour le manuel d’utilisation de cette carte, cliquez ici (pdf).