You are on page 1of 3

Les microcontrôleurs PIC

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, bien que la traduction en « Peripheral
Interface Controller » (contrôleur d'interface périphérique) soit généralement 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 permettant de réaliser des
montages sans nécessiter l’ajout de composants annexes.
Un microcontrôleur peut donc fonctionner de façon
autonome après programmation.
En ce sens, les PIC sont particulièrement bien dotés,
car ils intègrent mémoire de programme, mémoire de
données, ports d'entrée-sortie (numériques, analogiques,
PWM, UART, bus I²C, etc.), et même horloge, bien que 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 séparées. La plupart des
instructions occupent un mot de la mémoire de
programme. La taille de ces mots dépend du modèle de
PIC, tandis 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 réduit
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 plupart des instructions durent un
cycle, sauf les sauts qui durent deux cycles. On atteint donc des vitesses élevées.
Avec un quartz de 4 MHz (ou l'horloge interne), on obtient donc 1 000 000 de
cycles/seconde, or, comme le PIC exécute pratiquement 1 instruction par cycle, hormis les sauts, cela
donne une puissance de l’ordre de 1 MIPS (1 million d'instructions par seconde).
Les microcontrôleurs PIC

Les PIC peuvent être cadencés à 20 MHz (série PIC16), 40 MHz (série PIC18), voire 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 : PIC kit 2 ou
ICD2 de Microchip).

Débogage :
Plusieurs solutions existent pour déboguer un programme écrit pour un microcontrôleur PIC :
- Simulateur.
- Emulateur.
- 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).
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.
Toutefois il y a maintenant des exceptions : PIC18F25K20 ou PIC18F96J60 par exemples.
- un groupe de lettres pour indiquer le boîtier et la gamme de température.
Par 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.
Les microcontrôleurs PIC

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 gammes. C'est la famille la plus fournie.

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 puisqu'il comprend de l'ordre de 75
instructions. Cette palette d'instructions étendue lui permet de faire fonctionner du code C compilé
de manière nettement plus efficace que les familles précédentes. On peut les utiliser avec un quartz
oscillant jusqu'à 64 MHz.

PIC24 :
Cette famille est sortie en 2004. Elle est programmable en C comme tous les autres PICs.
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.

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 donc remplacer un DSP.

You might also like