La gamme de microcontrôleurs PIC® de Microchip Technology est populaire auprès des ingénieurs concepteurs pour plusieurs raisons, notamment le prix, les performances et le support de conception étendu. Il existe également une large sélection de microcontrôleurs PIC (MCU) qui ont été soigneusement conçus pour répondre aux exigences de diverses applications.
Démarrer avec les PIC est similaire à démarrer avec pratiquement n'importe quel MCU : au niveau le plus élémentaire, le concepteur doit connaître – en détail – la logique qui sera implémentée dans le matériel du MCU. De nombreuses conceptions rencontrent des problèmes parce que le concepteur n’a pas complètement réfléchi à la logique.
En plus de construire une base solide de logique de circuit, une connaissance détaillée de l'application fournit des réponses à des questions critiques telles que le nombre d'entrées et de sorties requises, le niveau de performance, les budgets de coût et de temps de développement qui doivent être respectés.
Il existe également des questions importantes au-delà de la conception électronique simple qui doivent être traitées par le MCU : Où le dispositif au niveau du système sera-t-il utilisé (conditions environnementales et situation géographique) ? À quelles normes industrielles doit-il se conformer et avec quels autres produits doit-il interagir ? Quelles réglementations industrielles et gouvernementales concernant les exigences en matière de santé, de sécurité et d’environnement doivent être respectées ?
La figure 1 montre un schéma fonctionnel du PIC16F84 de Microchip Technology avec E/S et quelques périphériques. Introduit au début des années 1990, il remplit des fonctions de base. Les microcontrôleurs 8 bits actuels intègrent généralement plusieurs périphériques, ce qui crée davantage de complexité logicielle pour le développeur d'applications.

Figure 1. Le PIC16F84 est l'un des premiers microcontrôleurs à disposer d'un algorithme de programmation série et d'une mémoire EEPROM. Source : Microchip Technology Inc.
Principes essentiels du matériel du microcontrôleur PIC
Pour programmer un microcontrôleur PIC, vous devez 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, voire essentiel. Choisir le bon ensemble d'outils de développement logiciel facilite et accélère également la mise en route.
L'architecture mémoire sous-jacente de nombreux PIC est l'architecture Harvard, qui a été largement déployée pour la première fois dans le microcontrôleur 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 de disposer d'espaces mémoire séparés (qui peuvent être de la mémoire Flash intégrée, de la ROM, de la RAM ou une puce externe) permet généralement une exécution plus rapide du programme. (Le terme « architecture de Harvard » est souvent utilisé de manière vague. De nombreux MCU appelés « 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 sur le MCU PIC qui sera choisi pour la conception. Un PIC 8 bits est un bon choix car il est généralement moins cher que les MCU 16 et 32 bits, dispose d'un ensemble adéquat 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, moins de broches et moins de périphériques. Choisir la puce PIC la moins chère comporte le risque de découvrir à mi-chemin de la conception que le MCU ne répond pas entièrement aux besoins de l'application. La série PIC18F se situe à l’autre extrémité du spectre des performances des produits 8 bits de Microchip. Elle est plus sophistiquée, propose des périphériques sur puce hautement spécialisés et constitue également la famille la plus chère. Pour une première conception, la série PIC18F serait probablement excessive.
Conception avec microcontrôleurs PIC
Un concepteur qui débute avec l'architecture de microcontrôleur PIC est probablement mieux servi par une puce de la série PIC16F, qui existe depuis plus d'une décennie et est toujours populaire. Par conséquent, la famille dispose de la plus grande bibliothèque de codes disponible sur Internet, ce qui signifie qu'une grande partie du code de base a été écrit et peut être simplement téléchargé.
Cette mine de ressources est inestimable. Il existe en particulier une grande richesse de codes et de schémas pour le PIC16F877, qui a été utilisé dans de nombreux projets « de démarrage » par des enseignants en ligne et en classe ainsi que par une légion de concepteurs professionnels. Il s'agit cependant d'une ancienne conception de MCU et Microchip ne la recommande pas pour les nouveaux projets. Heureusement, presque tout le support de conception du PIC16F877 est encore utilisable avec le PIC16F887, qui dispose à peu près des mêmes options pour la disposition des broches et les périphériques.
Le PIC16F887 exécute le même code avec – au plus – des modifications mineures. Il utilise également des outils de développement logiciel moins coûteux.
Le PIC16F887 dispose de 256 octets de mémoire de données EEPROM et d'un ensemble de périphériques qui le rendent adapté aux applications A/N dans les secteurs de l'automobile, de l'industrie, de l'électroménager ou des applications grand public. Sa fiche technique est disponible ici.
Comment programmer un microcontrôleur 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 assembleur MCU communément connu par les ingénieurs concepteurs sous le nom de fichiers HEX
- Un IPE (Integrated Programming Environment - Environnement de programmation intégré) qui permet de transférer un fichier hexadécimal dans le PIC après quelques réglages du programme
- Un débogueur/programmateur en circuit
Les outils de développement logiciel de Microchip sont très appréciés pour leurs performances et leur facilité d’utilisation. L'IDE MPLAB®X, les compilateurs MPLAB®XC et l'IPE MPLAB® de la société soulagent les concepteurs du fardeau de comparer et d'acheter des outils tiers. Les outils de base de Microchip sont fournis gratuitement. Un aperçu de tous les outils de développement Microchip est accessible ici.
La figure 2 montre les produits Microchip disponibles dans cinq catégories de l'environnement de développement intégré (IDE) MPLABX de la société.

Figure 2. L'IDE MPLAB X couvre une large gamme de fonctions de programmation auxiliaires du MCU. Source : Microchip Technology Inc.
Pour les nouveaux utilisateurs de PIC 8 bits, Microchip a rendu la prise en main encore plus facile en lançant MPLAB® Xpress, un IDE basé sur le cloud qui élimine les tracas du téléchargement, de l'installation, de la configuration et de la mise à jour périodique des outils. MPLAB Xpress comprend MPLAB Code Configurator, qui permet aux utilisateurs de générer automatiquement le code C d'initialisation et d'application pour les MCU PIC 8 bits (et 16 bits) à l'aide d'une interface graphique et d'un plan des broches.
Comme pour tout MCU, 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, tel que le mode d'oscillation, le minuteur de boîte noire, le mode de programmation et la protection du code. Ces bits doivent être définis correctement 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 terminé, les étapes suivantes consistent à déplacer l’entité basée sur la logique dans le monde réel des bits.
L'environnement de programmation intégré (IPE) entre en jeu pour une variété de fonctions, notamment le transfert du programme créé sur votre PC ou poste de travail vers le MCU. Comme mentionné précédemment, les environnements de Microchip combinent 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 la manière dont ils sont utilisés dépasse le cadre de cet article.
Le débogueur/programmateur en circuit PICkit3™ mérite toutefois d'être mentionné, car il s'agit d'un matériel supplémentaire et va donc conceptuellement au-delà de la configuration logicielle des autres outils. Il est utilisé après le transfert du programme d'application vers le MCU. 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 MCU 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 du microcontrôleur PIC
La mise en route d'un MCU PIC implique une compréhension approfondie de l'application, de l'architecture matérielle de base du PIC à utiliser et de la chaîne d'outils logiciels. Microchip a rendu le processus de conception réel très accessible aux ingénieurs qui connaissent d'autres MCU et aux véritables concepteurs novices également. Les outils logiciels gratuits rendent le coût d'installation raisonnable et il existe une multitude de codes et de conseils sur le Web, à la fois dans l'écosystème de conception de Microchip et sur le Web en général. Tout ce qui est requis du futur concepteur de PIC est la volonté de se lancer et la persévérance pour mener le projet à terme.

