Ces dernières années, les plateformes intégrées équipées de microcontrôleurs (Arduino est probablement la marque la plus connue) ont gagné en popularité. Grâce à leur disponibilité universelle et le soutien généralisé des fabricants et de la communauté des utilisateurs, ce sont des outils de développement faciles à apprendre et polyvalents. Cependant, dans des conditions professionnelles, par exemple lors du processus de prototypage d’appareils mobiles, l’inconvénient de ces produits est le nombre limité de systèmes pris en charge. Pour ces raisons, lors des travaux de laboratoire, au stade de la conception, les plates-formes de développement préparées par les producteurs de systèmes eux-mêmes restent la solution la plus sûre. Il convient de souligner ici qu’ils n’ont pas manqué les avantages des solutions populaires du segment des consommateurs : leur facilité d’adaptation et leur prix abordable. Aujourd’hui, sur le marché, il existe  des cartes de développement faciles à utiliser préparées par les principaux fabricants de microcontrôleurs – principalement par la société Microchip dont le portefeuille comprend des systèmes des familles PIC® et AVR® . Ci-dessous, nous présentons l’une des solutions prototypes de ce fabricant, de la série Curiosity Nano.

Produits de la série Curiosity Nano

Microchip Curiosity Nano (ou MC Nano) est une plateforme de mise en service dédiée principalement aux microcontrôleurs 8-bit PIC® et AVR®. Avec leur aide, il est possible également développer des applications équipées de certains produits 32-bits des familles PIC32 et SAM avec architecture ARM® Cortex®. L’offre de TME comprend 15 cartes de développement au sein de cette plateforme et 2 cartes de base. Quel que soit le système utilisé, la plateforme Curiosity Nano a été préparée pour maximiser la vitesse de conception de nouvelles applications et, par conséquent, raccourcir le temps entre l’étape de prototypage et la mise en production en série. Un exemple d’utilisation des solutions MC Nano dans le processus de développement de projet dynamique est présenté dans la vidéo ci-dessous.
 
Exemple d’une carte MC Nano utilisant une puce 32-bit série PIC32CM

Principales caractéristiques de la plateforme MC Nano

Les cartes de développement qui font partie de la plateforme sont disponibles en plusieurs tailles (longueurs), en fonction de la taille du microcontrôleur utilisé. Les plus petites cartes sont dédiées aux circuits à 20 fils (dont 16 broches GPIO), tandis que les plus grandes contiennent des MCU dans un boîtier à 48 fils ce qui se traduit par 40 broches d’entrée/sortie. Quelle que soit la longueur, les produits inclus dans la plateforme partagent les principales caractéristiques physiques (y compris la largeur de la carte, le pas des fils, la présence d’une prise MicroUSB pour l’alimentation, la communication et la programmation) et les caractéristiques techniques, permettant une migration fiable entre les modèles individuels. De plus, le fabricant annonce que la plateforme sera développée parallèlement à l’offre de microcontrôleurs. Donc, nous pouvons attendre à ce que les puces Microchip nouvellement introduites apparaissent sur la famille Curiosity Nano, en offrant aux concepteurs le confort de travailler avec les dernières solutions dans un environnement éprouvé et bien connu.
 

Contenu de l’emballage

Des connecteurs à deux broches sont inclus avec le MC Nano. À première vue, nous pouvons observer la solution de conception intéressante utilisée par Microchip. Les champs GPIO, disposés sur le PCB selon un pas de 2,54 mm, contiennent à la fois des connecteurs de bord et des trous. Dans tous les deux cas, il s’agit de passe-fils métallisés qui sont adaptés au montage de connecteurs à broches. En raison du petit décalage transversal des trous les uns par rapport aux autres, un ajustement serré des connecteurs à broches et des paramètres de connexion optimaux sont assurés, et la nécessité de les souder est pratiquement éliminée (bien que cela soit recommandé). Après leur installation, le PCB peut être monté dans une carte de contact plus grande, une carte de base dédiée ou un adaptateur (les produits disponibles et compatibles sont décrits dans la suite du présent cet article).
 
Des trous correctement conçus éliminent le besoin de souder les connecteurs

Circuits dans le PCB

La plateforme Microchip Curiosity Nano dispose d’un certain nombre de fonctionnalités globales partagées par tous les modèles de la série. Dans la partie centrale de la carte il y a un microcontrôleur (C), dont les broches sont connectées aux champs sur les bords du PCB (F), et un résonateur à quartz (D). Pour un prototypage simple, un bouton (A) et une LED (B) ont été installés sur la carte. Contrairement à la plateforme Arduino, le commutateur n’a pas de fonction de réinitialisation et il est connecté à la broche d’entrée/de sortie du microcontrôleur (l’adresse de la sortie dédiée est marquée sur le PCB, elle diffère entre les modèles de la série). La prise USB Micro (G) est utilisée pour la communication et l’alimentation du système.
 
La transmission de données entre MC Nano et un ordinateur (système, logiciel IDE, terminal de communication, etc.) s’effectue via un port COM virtuel. La plupart des cartes analysées, après leur connexion à un PC, seront reconnues par le système d’exploitation comme un lecteur externe étiqueté « CURIOSITY ». Il suffit de copier simplement le fichier .hex sur cet appareil – et la programmation du microcontrôleur sera fait automatiquement. Cette fonctionnalité est possible car les cartes MC Nano ont une puce nEDBG intégrée, c’est-à-dire un débogueur / un programmeur (E). Sa présence permet de faire fonctionner les produits en question sans utiliser d’appareils supplémentaires. De plus, grâce à lui, le microcontrôleur n’est pas surchargé par le support du chargeur de démarrage, ce qui accélère l’exécution du programme cible et libère de la mémoire.

De plus, les circuits MC Nano utilisent un régulateur de tension programmable. Il permet de définir la tension de fonctionnement et la plage de puissance du microcontrôleur dans la plage de 1,8V à 5V DC.

Normalisation des fils

Parmi les avantages de la plate-forme Microchip est la standardisation des broches. Quel que soit le modèle de carte sélectionné et le microcontrôleur installé dessus, les champs sur les bords du PCB sont connectés aux broches du programmeur, du débogueur et de la centrale système avec la même fonctionnalité. Donc : l’ordre des connecteurs sur la carte ne correspond pas à la numérotation des fils du microcontrôleur – il est cependant le même pour toute la série MC Nano. Cette norme s’applique les premiers (du côté du connecteur USB) 28 broches.

Les fils sont divisés en plusieurs sections. La première est définie comme DEBUG (groupe de connexions système). Ces broches sont utilisées pour communiquer avec le circuit nEDBG. Il existe également des entrées d’alimentation (VBUS, VTG réglable), la masse GND et la broche VOFF qui contrôle le fonctionnement du régulateur de tension intégré. Nous pouvons même les désactiver s’il est nécessaire. L’utilisateur dispose également des lignes de communication série suivantes (port COM virtuel) : CDC RX / TX. Les 4 broches suivantes DBG1-DBG4 appartiennent à l’interface du débogueur. L’interface prise en charge par un modèle de carte donné dépend du type de microcontrôleur. En ce qui concerne les PIC, ce sera l’interface ICSP™ et MCLR, pour AVR l’interface UPDI et pour ARM® - l’interface SWD.
 
Les autres fils constituent les sections de communication (COM) et analogique (ANALOG). Elles sont également une caractéristique commune de la série MC Nano. La section COM regroupe les fils pour la communication via : UART, I2C bus et SPI. Sur le bord opposé du PCB il y a des entrées analogiques, c’est-à-dire les fils des convertisseurs analogiques et numériques intégrés au microcontrôleur. Le plus souvent, ils peuvent également être utilisés comme les sorties pour compteurs (minuteries) et générateurs de signaux PWM. Bien sûr, ces fils ne peuvent pas être programmées sur n’importe quelle broche du microcontrôleur (comme en cas d’entrées/de sorties numériques). La standardisation de leur position sur la carte se traduit par la facilité d’utilisation et de migration entre les différents modèles de cartes de développement. Si le microcontrôleur installé sur la carte dispose de plusieurs entrées ADC ou sorties PWM, elles sont disponibles dans la section suivante : GPIO. Ici, le mappage est plus libre car le nombre et les capacités des ports d’E/S sont strictement dépendants de la fonctionnalité du système central. Nous recommandons de consulter la documentation pour des informations exactes sur quelle broche physique a été affectée à quel connecteur. La documentation est disponible après connexion de la carte NC Nano au port USB de l’ordinateur. Le périphérique de stockage de masse (qui sera détecté par le système et affiché comme un lecteur étiqueté « CURIOSITY ») contient le fichier KIT-INFO.HTM – qui contient des informations détaillées sur la fonctionnalité de chaque fils sur le modèle de carte donné.
 
Les appareils MC Nano incluent une mémoire de masse avec une documentation numérique préchargée

Fonctionnalité de débogueur intégrée

Le débogueur Microchip Curiosity Nano intégré (appelé PKOB nano, nEDBG ounano debugger) a des fonctionnalités de base, c’est-à-dire : contrôle de flux d’exécution de programme (flow control – démarrage, arrêt, déclenchement d’étape, réinitialisation) ; lecture et écriture du contenu de la mémoire non volatile du microcontrôleur ; prise en charge des pièges (breakpoint) dans le nombre en fonction du type de système.

Le micrologiciel du débogueur intégré peut être mis à jour via l’environnement de développement MPLAB® IDE ou Microchip Studio. PKOB nano est un peu plus lent que des solutions similaires, telles que le programmateur PICkit™4. Il présente également certaines limitations, telles que l’impossibilité d’écrire certaines zones de la mémoire flash du microcontrôleur. D’autre part : il protège contre l’écrasement accidentel des zones mémoire qui sont responsables du processus de débogage lui-même ou d’un changement indésirable de la valeur des fuse bits dans le cas des microcontrôleurs AVR®. En ce qui concerne les avantages, il faut aussi mentionner que grâce à la présence de PKOB nano la carte est automatiquement reconnue dans les environnements de développement MPLAB IDE et Microchip Studio. Après avoir connecté la carte, l’utilisateur accède immédiatement aux exemples de programmes, à la documentation, au schéma électrique, au schéma des fils, à la carte de catalogue du microcontrôleur, etc.

À la fin de cet article  il y a des vidéos présentant les et les bases de la programmation Curiosity Nano.