Programmation des microcontrôleurs PIC : Les bases pour chaque concepteur
Les microcontrôleurs PIC® de Microchip Technology sont populaires auprès des ingénieurs concepteurs pour plusieurs raisons, notamment le prix, les performances et le support de conception étendu. Il existe également une vaste sélection de microcontrôleurs PIC (MCU) qui ont été soigneusement conçus pour répondre aux exigences de diverses applications. Commencer avec les microcontrôleurs PIC est similaire à commencer avec pratiquement n'importe quel MCU : Au niveau le plus basique, le concepteur doit connaître – en détail – la logique qui sera implémentée dans le matériel sur le MCU. De nombreux problèmes surviennent dans les conceptions parce que le concepteur n'a pas réfléchi en profondeur à la logique. En plus de construire une base solide en logique de circuit, une connaissance détaillée de l'application fournit des réponses à des questions cruciales telles que le nombre d'entrées et de sorties nécessaires, le niveau de performance, les budgets de coûts et de temps de développement qui doivent être respectés. Il y a également des questions importantes au-delà de la simple conception électronique qui doivent être gérées par le MCU : Où le dispositif au niveau du système sera-t-il utilisé (conditions environnementales et localisation géographique) ? À quelles normes industrielles doit-il se conformer et avec quels autres produits doit-il être interopérable ? Quelles réglementations industrielles et gouvernementales concernant les exigences de santé, de sécurité et d'environnement doivent être respectées ? La figure 1 montre un diagramme en blocs du PIC16F84 de Microchip Technology avec des E/S et quelques périphériques. Introduit au début des années 1990, il exécute des fonctions de base. Les MCU 8 bits actuels intègrent généralement plusieurs périphériques, ce qui crée une complexité logicielle accrue pour le développeur d'applications.

Figure 1. Le PIC16F84 est parmi les premiers MCU à intégrer un algorithme de programmation série et une mémoire EEPROM. Source : Microchip Technology Inc.
Éléments essentiels du matériel des microcontrôleurs PIC
Pour programmer un microcontrôleur PIC, il est nécessaire de connaître les éléments de base spécifiques de l’appareil, tels que les registres de configuration, les bus et les types de mémoire. Comprendre le langage de programmation PIC est très utile – pour ne pas dire essentiel. Le choix du bon ensemble d’outils de développement logiciel facilite également la montée en charge et accélère le processus. L’architecture mémoire sous-jacente de nombreux PIC repose sur l’architecture Harvard, qui a été largement déployée pour la première fois dans le MCU 8051 d’Intel. Cette architecture dispose d’un espace mémoire pour stocker les commandes du programme et alloue un autre espace pour les données. Le fait d’avoir des espaces mémoire séparés - qui peuvent correspondre à une mémoire Flash embarquée, une ROM, une RAM ou une puce externe - permet généralement une exécution des programmes plus rapide. (Le terme « architecture Harvard » est souvent utilisé dans un sens large. De nombreux MCU désignés comme « Harvard » ont été modifiés en mélangeant les architectures mémoire Harvard et von Neumann.) Avant d’aller plus loin, nous devons être assez précis concernant le microcontrôleur PIC qui sera choisi pour la conception. Un PIC 8 bits est un bon choix, car il est généralement moins coûteux que les MCU 16 et 32 bits, dispose d’un ensemble suffisant de périphériques (tels que des convertisseurs A/N) et offre de bonnes performances. Microchip propose plusieurs familles de PIC 8 bits. Les PIC10F et PIC12F sont les moins chers mais offrent moins de mémoire, un nombre réduit de broches et moins de périphériques. Choisir le PIC le moins coûteux comporte le risque de découvrir à mi-parcours de la conception que le microcontrôleur ne satisfait pas pleinement les besoins de l’application. La série PIC18F se situe à l’autre extrémité du spectre de performances des produits 8 bits de Microchip. Elle est plus sophistiquée, offre des périphériques embarqués très spécialisés et est également la famille la plus coûteuse. Pour une première conception, la série PIC18F serait probablement excessive.
Concevez avec les microcontrôleurs PIC
Pour programmer un microcontrôleur PIC (ou tout autre MCU), les outils logiciels suivants sont généralement requis :
- Un IDE (Environnement de Développement Intégré), qui convertit la logique symbolique écrite pour l'application en commandes de programme
- Un compilateur, qui convertit le programme en langage d'assemblage MCU communément connu par les ingénieurs de conception sous le nom de fichiers HEX
- Un IPE (Environnement de Programmation Intégré) utilisé pour transférer le fichier hex dans le PIC après quelques ajustements du programme
- Un débogueur/programmeur in-circuit

Figure 2. L'IDE MPLAB X couvre une large gamme de fonctions annexes de programmation de MCU. Source : Microchip Technology Inc.
Pour les nouveaux utilisateurs des microcontrôleurs PIC 8 bits, Microchip a rendu le démarrage encore plus simple en lançant MPLAB® Xpress, un IDE basé sur le cloud qui élimine les contraintes de téléchargement, d'installation, de configuration et de mises à jour périodiques des outils. MPLAB Xpress inclut MPLAB Code Configurator, qui permet aux utilisateurs de générer automatiquement du code C d'initialisation et d'application pour les microcontrôleurs PIC 8 bits (et 16 bits) à l'aide d'une interface graphique et d'une carte de broches. Comme pour tout microcontrôleur, la première étape consiste à configurer les registres de configuration. Les bits programmés dans ces registres spécifient le fonctionnement fondamental de l'appareil, comme le mode oscillateur, le timer watchdog, le mode de programmation et la protection du code. Ces bits doivent être correctement configurés pour que le code s'exécute avec succès. Une fois les bits de configuration définis, le reste du processus de création du programme dépend de l'application. Et une fois le code finalisé, les étapes suivantes consistent à transférer l'entité logique dans le monde réel des bits. L'Environnement de Programmation Intégré (IPE) intervient pour diverses fonctions, notamment le transfert du programme créé sur votre PC ou station de travail vers le microcontrôleur. Comme mentionné précédemment, les environnements de Microchip regroupent ces fonctions, mais trois concepts importants sont la simulation, le débogage et la programmation du PIC. Une description complète des outils logiciels et de leur utilisation dépasse toutefois le cadre de cet article. Il convient de mentionner le PICkit™ 3 In-Circuit Debugger/Programmer, car il s'agit de matériel additionnel et, par conséquent, il va conceptuellement un pas au-delà de la configuration logicielle des autres outils. Il est utilisé après le transfert du programme d'application vers le microcontrôleur. Le PICkit 3 est contrôlé par un PC exécutant le logiciel MPLABX IDE et fait partie intégrante de la suite d'outils. La légende de la Figure 3 montre les principales connexions entre le microcontrôleur en cours de programmation ou de débogage et le PC qui exécute l'IDE MPLABX de Microchip Technology.

Figure 3. Le PICkit 3 de Microchip fournit le matériel nécessaire pour déboguer et/ou programmer une large gamme de MCU. Source : Microchip Technology.
Avantages des microcontrôleurs PIC
Pour débuter avec un microcontrôleur PIC, il est essentiel de bien comprendre l'application, l'architecture matérielle de base du PIC à utiliser et la chaîne d'outils logiciels. Microchip a rendu le processus de conception très accessible aux ingénieurs familiarisés avec d'autres microcontrôleurs ainsi qu'aux véritables concepteurs débutants. Les outils logiciels gratuits rendent le coût d'installation raisonnable, et il existe une abondance de code et de conseils disponibles, tant dans l'écosystème de conception de Microchip que sur le web en général. Tout ce qui est requis de la part du concepteur potentiel de PIC, c'est le désir de commencer et la persévérance pour mener le projet à terme.
Étiquettes d'article
