Microcontrôleur PIC
Les microcontrôleurs PIC forment une famille de microcontrôleurs de la société Microchip. Ces microcontrôleurs sont dérivés du PIC1650 développé à l'origine par la division microélectronique de General Instruments.
Les microcontrôleurs PIC (ou PICmicro dans la terminologie du fabricant) forment une famille de microcontrôleurs de la société Microchip. Ces microcontrôleurs sont dérivés du PIC1650 développé à l'origine par la division microélectronique de General Instruments.
Le nom PIC n'est pas officiellement un acronyme, quoique la traduction en «Peripheral Interface Controller» (contrôleur d'interface périphérique) soit le plus souvent admise. Cependant, à l'époque du développement du PIC1650 par General Instruments, PIC était un acronyme de «Programmable Intelligent Computer» ou «Programmable Integrated Circuit».
Mise en œuvre
Un microcontrôleur est une unité de traitement de l'information de type microprocesseur à laquelle on a ajouté des périphériques internes servant à réaliser des montages sans nécessiter l'ajout de composants annexes. Un microcontrôleur peut par conséquent fonctionner de façon autonome après programmation.
Les PIC intègrent une mémoire de programme, une mémoire de données, des ports d'entrée-sortie (numériques, analogiques, PWM, UART, bus I²C, etc. ), et même une horloge, quoique des bases de temps externes puissent être employées. Certains modèles disposent de port et unités de traitement de l'USB.
Architecture
Les PIC se conforment à l'architecture Harvard : ils possèdent une mémoire de programme et une mémoire de données scindées. La majorité des instructions occupent un mot de la mémoire de programme. La taille de ces mots dépend du modèle de PIC, alors que la mémoire de données est organisée en octets.
Les PIC sont des processeurs dits RISC, c'est-à-dire processeur à jeu d'instruction réduit. Plus on diminué le nombre d'instructions, plus facile et plus rapide en est le décodage, et plus vite le composant fonctionne. Cependant, il faut plus d'instructions pour réaliser une opération complexe.
Un cycle d'instruction d'un PIC dure 4 temps d'horloge. La majorité des instructions durent un cycle, sauf les sauts qui durent deux cycles. On atteint par conséquent des vitesses élevées.
Avec un quartz de 4 MHz (ou l'horloge interne), on obtient par conséquent 1 000 000 de cycles/seconde, or, comme le PIC exécute quasiment 1 instruction par cycle, outre les sauts, cela donne une puissance de l'ordre de 1 MIPS (1 million d'instructions par seconde).
Les PIC peuvent être cadencés à 20 MHz (série PIC16), 40 MHz (série PIC18), ou alors 48 MHz (exemple : PIC18F2550 — PIC avec USB) et 64 MHz (exemple : PIC18F25K20 — PIC en 3, 3 V).
Programmation
Les PIC disposent de plusieurs technologies de mémoire de programme : ROM, EPROM, EEPROM, UVPROM, flash. Certains PIC sont dépourvus de mémoire programme interne, c'est le cas des PIC18C601 et PIC18C801 où le programme doit être contenu dans une mémoire externe.
La programmation du PIC peut se faire de différentes façons :
- par l'intermédiaire d'un programmateur dédié (par exemple : PRO MATE ou PICSTART Plus de la société Microchip) ;
- par programmation in-situ. Il suffit alors de câbler correctement le microcontrôleur sur la carte fille pour qu'une simple liaison série suffise. Il existe pour cela plusieurs solutions libres (logiciel + interface à faire soi-même) ou commerciales (par exemple : PICkit 2 ou ICD2 de Microchip).
Débogage
Plusieurs solutions existent pour déboguer un programme écrit pour un microcontrôleur PIC :
- simulateur ;
- émulateur ;
- débogueur in-situ.
Familles de PICs
Les modèles de PIC courants sont repérés par une référence de la forme :
- 2 chiffres : famille du PIC (10, 12, 16, 17 et 18) — le PIC14 existe, c'est le PIC14000.
- 1 lettre : type de mémoire de programme (C ou F). Le F indique généralement qu'il s'agit d'une mémoire flash et par conséquent effaçable électroniquement. La lettre C indique généralement que la mémoire ne peut être effacée que par exposition aux ultra-violets (exception pour le PIC16C84 qui utilise une mémoire EEPROM par conséquent effaçable électriquement). Un L peut être ajouté devant pour indiquer qu'il s'agit d'un modèle basse tension (exemple : 2 V à 5, 5 V si LF — 4, 2 V à 5, 5 V si F).
- un nombre de 2 à 4 chiffres : modèle du PIC au sein de la famille.
Cependant il y a désormais des exceptions : PIC18F25K20 ou PIC18F96J60 par exemples.
- un groupe de lettres pour indiquer le boîtier et la gamme de température.
A titre d'exemple, le PIC18LF4682-I/P est un microcontrôleur de la famille PIC18, basse tension (L), à mémoire flash (F), modèle 4682, gamme de tempèrature industrielle (I) et boîtier DIL40.
PIC10 et PIC12
Ce sont des composants récents. Ils ont comme particularités d'être extrêmement petits (pour donner une idée, existe en boîtier SOT-23 à 6 broches de moins de 3×3 mm), simples et économiques.
PIC16
Composants de milieu de gamme (mid-range family). C'est la famille la plus apportée. La Famille 16F dispose dorénavant de 2 sous-familles :
- La sous-famille 16Fxxx (3 chiffres) est la famille la plus connue. Ses limitations au niveau du jeu d'instruction et de la pile en font un mauvais candidat à l'utilisation du C, le langage d'assemblage restant le langage le mieux adapté à cette famille en terme d'efficacité. Microchip ne apporte du reste pas de compilateur C pour cette famille.
- La sous-famille 16Fxxxx (4 chiffres) : c'est une nouvelle famille créée particulièrement pour permettre l'utilisation du C via essentiellement l'ajout d'une série d'instructions conçues pour favoriser et perfectionner la compilation. Il s'agit certainement plus d'une solution marketing servant à rendre les 16F accessibles aux amateurs de C en leur évitant d'aller regarder du côté de la concurrence que d'une véritable innovation. En réalité, un utilisateur de langage C a avantage à utiliser des 18F, ou, mieux, des pic 16 ou 32 bits.
PIC17
Gamme intermédiaire entre PIC16 et PIC18. Cette gamme n'est plus enrichie par Microchip. Elle supporte la compilation en C.
PIC18
Cette famille a un jeu d'instruction plus complet dans la mesure où il comprend quelques 75 instructions. Cette palette d'instructions étendue lui sert à faire fonctionner du code C compilé de manière nettement plus efficace que les familles précédentes. Le format natif de cette famille restant en 8 bits, et l'utilisation de la pile restant limitée, l'utilisation du C n'est cependant pas aussi optimale que sur les familles de PIC à 16 bits et plus. Pour Microchip, il s'agit de la première famille où l'utilisation du C devient envisageable, quoique les documentations continuent de privilégier l'utilisation du langage assembleur. On peut les utiliser avec un quartz fonctionnant jusqu'à 64 MHz.
PIC24
Cette famille est sortie en 2004. L'utilisation du C y est plus efficace que sur les familles précédentes, du fait de l'utilisation du format 16 bits, du jeu d'instruction prévu en conséquence, et de la plus grande souplesse de la pile matérielle.
Quelques caractéristiques à remarquer :
- programmable avec le compilateur MPLAB C30, dérivé de GCC 3.3 (toutes les familles de microcontrôleurs 16 bits de chez Microchip peuvent être programmées avec ce compilateur) ;
- dispose d'un port JTAG.
PIC32
Sortis en novembre 2007, les PIC32 sont des microcontrôleurs 32 bits. Ils sont basés sur le cœur MIPS M4K (Architecture MIPS).
dsPIC30/dsPIC33
Le dsPIC (digital signal PICs) est le premier microcontrôleur de la société Microchip qui ait une architecture 16 bits (les autres étant à 8 bits). Il est adapté aux applications de traitement du signal et peut par conséquent remplacer un DSP.
Différents programmateurs de PIC
|
Voir aussi
Liens externes
- GNU PIC Utilities
- Base de Données Technique du site Fribotte
- Tutoriels sur les pics, depuis le plus commun (le 16F84) jusqu'aux pics plus récents.
- L'essentiel des PIC : un databook simplifié et en français pour 4 principaux PICs
- Diverses informations mais aussi des tutoriels sous MPLAB avec CC5X.
- Prototypage rapide pour PIC/dsPIC sous Matlab/Simulink
- Initiation au microcontrôleur PIC (ClubElek)
- Formation académique sur microcontrôleurs PIC
- GENELAIX IUFM d'Aix-Marseille cours TP et exemples pour les microcontrôleurs PIC18 et PIC24 programmés en C
- PMP (Pic Micro Pascal) est un compilateur Pascal gratuit avec son propre EDI. Il est conçu pour travailler avec MPLAB de Microchip dont il utilise les fichiers de définition de processeurs, l'assembleur et l'éditeur de liens. Il supporte les processeurs PIC10 à PIC18.
Recherche sur Google Images : |
"Microcontrôleur PIC" L'image ci-contre est extraite du site elektronique.fr Il est possible que cette image soit réduite par rapport à l'originale. Elle est peut-être protégée par des droits d'auteur. Voir l'image en taille réelle (2288 x 1712 - 328 ko - jpg)Refaire la recherche sur Google Images |
Recherche sur Amazone (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.