You are on page 1of 9

Microcontrleurs

Les PIC
I INTRODUCTION

Dans la chane de traitement de linformation, le programme informatique (firmware ou microcode)


ralise une fonction importante et est toujours associe un composant programmable (hardware) quip
dlments de sauvegarde ou de mmorisation : le microcontrleur.

II GENERALITES
Diffrence microprocesseur
et microcontrleur :

Il y a une diffrence fondamentale entre un microprocesseur et un microcontrleur :

Cours microcontroleurs PIC 1/9


Microcontrleurs
- le microcontrleur intgre dans un mme botier, un microprocesseur, de la mmoire, et des
interfaces entres/sorties.

- le microprocesseur se prsente sous la forme dun botier qui ncessite des lments externes,
comme de la mmoire et des circuits dinterfaces.
Ils sont prsents dans la plupart des systmes lectroniques embarqus ou ddis une application unique
(exemple : tlphone portable).
Il en existe de nombreux modles : 68HC11 de Motorola, 8051 de Intel, les ARM (7..9,11) trs en vogue
en ce moment et trs utiliss en lectronique embarque et les PIC de Microchip. On parle aussi de
processeurs.

III GENERALITES SUR LES PIC


1- 3 grandes familles :
- Base-Line (mots dinstructions de 12 bits ou 14 bits comme les 12Cxxx, 12Fxxx)
- Mid-Range (mots de 14 bits comme le 16F628, 16F877..)
- High-End (mots de 16 bits)

2- Identification :
Prenons lexemple du PIC de lEasyPic : PIC16F877A-I/P. , 07514KQ
- Les 2 premiers chiffres indiquent la catgorie du PIC : 16 = Mid-Range.
- F indique que la mmoire programme est de type FLASH ; on retrouve CR pour ROM et C pour
EPROM ou EEPROM.
Les mmoires de type FLASH et EEPROM peuvent tre crites et effaces mais pas la ROM.
(ROM : Read Only Memory ; EPROM : Erasable ROM ; EEPROM : Electrical Erasable ROM).
Remarque: un composant quon ne peut reprogrammer est appel OTP pour One Time
Programming.
- 877A indique le modle du PIC.
- Parfois, un suffixe supplmentaire comme 20 est indiqu. Il sagit de la frquence dhorloge
maximale. 20 pour 20 MHz. Les PIC sont des composants statiques , ainsi, on peut abaisser la
frquence dhorloge jusqu larrt complet sans perte de donnes et sans dysfonctionnement.
- I est la gamme de temprature industrielle (-40C +85C)
- P est le type de botier PDIP, botier 40 broches Plastique DIL (Dual In Line)
- 07 est lanne de fabrication 2007 et 51, la semaine 51, donc fin dcembre. 4KQ est un code de
traabilit.

3- Architecture interne :
Tous les microcontrleurs utilisent lune des 2 architectures nommes Harvard et Von Neumann.
Elles reprsentent les diffrentes manires dchange de donnes entre le CPU (microprocesseur
interne) et la mmoire.
- Architecture Von Neumann:
1 bloc mmoire et 1 bus de donnes sur 8 bits (1 octet).

Cours microcontroleurs PIC 2/9


Microcontrleurs
Toutes les donnes sont changes sur ce bus qui, surcharg,
rend la communication trs lente.

- Architecture Harvard:
2 blocs mmoire distincts et 2 bus
diffrents : 1 bus 8 bits pour
comuniquer avec la RAM,
1 bus 14 bits pour communiquer
avec la ROM, qui contient le
programme.

Le CPU peut lire une instruction (en ROM) et accder la mmoire


de donnes (en RAM) en mme temps.

Remarque : la mmoire RAM (Random Access Memory) est utilise pour stocker temporairement
les donnes utilises dans le programme ; ces donnes sont en effet perdues lors dune coupure de
courant.
Tous les PIC courants ont une architecture de type Harvard.

4- Jeu dinstructions :
Toutes les instructions comprhensibles par les microcontrleurs forment ce que lon appelle le
jeu dinstructions.

On distingue 2 types :
- composants dits RISC (Reduced Instructions Set Computer), par exemple les PIC.
Dans ce cas, le microcontrleur reconnat et excute seulement des oprations simples (addition,
soustraction ) et des oprations plus complexes sont ralises en les combinant.
Tous les PIC Mid-Range ont un jeu de 35 instructions.

Cours microcontroleurs PIC 3/9


Microcontrleurs

- composants dits CISC (Complex Instructions Set Computer).


Les microcontrleurs de ce type possdent 200 instructions diffrentes et peuvent raliser de
nombreuses oprations grande vitesse. Les instructions sont plus complexes.

5- Nombre dinstructions par secondes:


Les PIC stockent et excutent chaque instruction en 1 cycle dhorloge. On peut atteindre de trs
grandes vitesses.

Lhorloge est la fonction qui cadence le fonctionnement des microcontrleurs en dlivrant un


signal de frquence fixe. On utilise gnralement un quartz.
Par exemple, avec un quartz de 4MHz, la frquence du signal est dabord divise par 4 ; cest ce
signal de 1MHz qui cadence les oprations et qui permet dobtenir la dure d1 cycle, soit 1
million de cycles par seconde.
Pour 1 instruction par cycle, cela donne une puissance de traitement de 1 million dinstructions par
seconde, soit 1MIPS.

6- Quelques caractristiques importantes:


Resolut
ROM RAM Clock ion of Comp 8/16 Serial PWM Ot
A/D
Family [Kbytes [bytes Pins Freq. A/D ar- bit Comm Outpu he
Inputs
] ] [MHz] Convert ators Timers . ts rs
er

Base-Line 8 - bit architecture, 12-bit Instruction Word Length

0.375 - 16 -
PIC10FXXX 6-8 4-8 0-2 8 0-1 1x8 - - -
0.75 24

EE
0.75 - 25 -
PIC12FXXX 8 4-8 0-3 8 0-1 1x8 - - PR
1.5 38
OM

EE
25 - 14 -
PIC16FXXX 0.75 - 3 20 0-3 8 0-2 1x8 - - PR
134 44
OM

Vd
d
PIC16HVXX 18 -
1.5 25 20 - - - 1x8 - - =
X 20
15
V

Mid-Range 8 - bit architecture, 14-bit Instruction World Length

EE
1.75 - 64 - 1-2x81
PIC12FXXX 8 20 0-4 10 1 - 0-1 PR
3.5 128 x 16
OM

PIC12HVXX 1-2x81
1.75 64 8 20 0-4 10 1 - 0-1 -
X x 16

USART
1.75 - 64 - 14 - 1-2x81
PIC16FXXX 20 0 - 13 8 or 10 0-2 I2C 0-3 -
14 368 64 x 16
SPI

PIC16HVXX 1.75 - 64 - 14 - 2x81x USART


20 0 - 12 10 2 - -
X 3.5 128 20 16 I2C

Cours microcontroleurs PIC 4/9


Microcontrleurs
SPI

High-End 8 - bit architecture, 16-bit Instruction Word Length

USB2.
0
CAN2.
256 - 18 - 0-2x82
PIC18FXXX 4 - 128 32 - 48 4 - 16 10 or 12 0-3 0 0-5 -
3936 80 - 3 x 16
USART
I2C
SPI

USB2.
0
PIC18FXXJ 1024 - 28 - 0-2x82 USART
8 - 128 40 - 48 10 - 16 10 2 2-5 -
XX 3936 100 - 3 x 16 Ethern
et I2C
SPI

USART
PIC18FXXK 768 - 28 - 1x83x
8 - 64 64 10 - 13 10 2 I2C
XX 3936 44 16
SPI

IV PIC 16F877A
1- Brochage :

Cours microcontroleurs PIC 5/9


Microcontrleurs

Bus donnes RAM sur 8 bits


2- Synoptique complet :

Bus donnes FLASH sur 14bits

Cours microcontroleurs PIC 6/9


Microcontrleurs

3- Synoptique simplifi :

Le CPU excute les instructions du


programme (codes sur 14 bits), traite et
produit des oprations sur des informations
numriques.

La mmoire vive (RAM) de 368 octets est


utilise pour le stockage temporaire des
donnes et rsultats.

La mmoire morte (EEPROM) de 256


octets permet de conserver des donnes trs
utiles de manire semi-permanente.

La mmoire FLASH de 8k x 14bits permet


de stocker le programme (les instructions).

Lhorloge gnre le signal qui cadence


lexcution des instructions.

Les ports (A E) bidirectionnels permettent


de communiquer avec lextrieur ; les lignes
de chaque port peuvent tre programmes en
entre ou en sortie.

Les timers (3), modules programmables


dont les fonctions sont :
- astable (signaux priodiques)
- monostable (impulsion)
- compteur
- signaux PWM (commande de
moteurs courant continu)

Le CAN convertisseur analogique /


numrique 10 bits 8 entres disponibles de
0 5V ; les rsultats des conversions sont
stocks dans des registres internes.

Cours microcontroleurs PIC 7/9


Microcontrleurs

V LA PROGRAMMATION
Le microcontrleur excute le programme charg dans sa mmoire FLASH. Les mots binaires (sur 14 bits
pour le PIC16F877A) sont considrs par le CPU comme une commande.

Mais programmer en binaire ou mme en hexadcimal est impossible. Les programmeurs utilisent des
langages comme lassembleur ou le C, qui utilise des abrviations.
Le passage de ce code plus lisible en code binaire prt tre mis en mmoire sappelle la compilation.

Remarque : lassembleur est un langage bas niveau troitement li au type de microcontrleur.


Le C est un langage de plus haut niveau que lassembleur et permet en thorie dtre portable, donc de
sadapter nimporte quel microcontrleur.

Cours microcontroleurs PIC 8/9


Microcontrleurs

Le langage C est plus lisible que lassembleur exemple :

Cours microcontroleurs PIC 9/9

You might also like