2. Architecture Interne :
Figure I.2 : Schéma interne du
PIC
2.1 Coeur du PIC : le microprocesseur :
Un microcontrôleur, c'est avant tout un microprocesseur
: une unité de traitement logique qui effectue l'une après
l'autre les opérations contenues dans un programme stocké en
mémoire (la mémoire FLASH). On peut le voir sur le schéma
de la figure I.2, il est essentiellement composé de :
· L'ALU (Unité Arithmétique et Logique) :
Exécute les opérations sur les donnés.
· Le registre de travail « W reg. ».
· Le multiplexeur « MUX ».
· Le registre de statut « status reg ».
· Le registre « FSR reg » utilisé pour
l'adressage direct et indirect.
· Le multiplexeur d'adresse « Addr mux ».
· Le compteur programme « Program Counter » :
Pointage des instructions à exécuter
· La pile à 8 niveaux « 8 level Stack
».
· Le registre d'instruction « Instruction reg
»
Figure I.3 : Schéma de
L'ALU
Bus du programme
AddrMUXM
Direct Adrr
Indirect Adrr
STATUS
Wreg
2.2 Horloge :
L'horloge peut être soit interne soit externe. L'horloge
interne est constituée d'un oscillateur à quartz ou d'un
oscillateur RC. Avec l'oscillateur à quartz, on peut avoir des
fréquences allant jusqu'à 20 MHz selon le type de
microcontrôleur.
Le filtre passe bas (Rs, C1, ) limite les harmoniques dus
à l'écrêtage et réduit l'amplitude de l'oscillation.
Avec un oscillateur RC, la fréquence de l'oscillation est fixée
par Vdd, Rext et Cext. Elle peut varier légèrement d'un circuit
à l'autre.
Dans certains cas, une horloge externe au
microcontrôleur peut être utilisée pour synchroniser le PIC
sur un processus particulier. Quelque soit l'oscillateur utilisé,
l'horloge système dite aussi cycle d'instruction est obtenue en divisant
la fréquence par 4. Le terme Fosc/4 désigne l'horloge
système. Par exemple on obtient un cycle d'instruction de 1 MHz, en
utilisant un quartz de 4 MHz.
10
|
13
|
|
Bus de Données 8
|
Mémoire Flash
|
|
|
P.C
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pile
Figure I.4 : Schéma de
l'horloge
2.3 Pile et Compteur Programme :
Le « Program Counter » ou PC est le compteur qui
pointe, dans la mémoire de programme, la prochaine instruction à
exécuter. Il est lié à la pile système (Stack en
anglais) à 8 niveaux dans le 16F877. C'est-à-dire qu'on peut
avoir jusqu'à 8 niveaux d'imbrication d'appels de sous-programmes ou
fonctions.
Figure I.5 : Schéma de la
pile
3. Mémoires du PIC :
Le PIC 16F877 contient trois types de mémoires :
3.1 Mémoire FLASH :
C'est dans celle-ci qu'est stocké le programme du PIC.
Après compilation du fichier source, le compilateur génère
un fichier « .hex », Celui-ci est transféré ensuite
dans la mémoire programme du PIC à l'aide du programmateur. La
capacité de cette mémoire est de 8Kmots.
Cette mémoire n'est pas reliée au bus de
données (DATA Bus), elle sert à stocker le programme du PIC, mais
pas les variables du programme. L'avantage de cette mémoire c'est qu'on
peut l'effacer et la réécrire facilement.
3.2 Mémoire RAM :
Fait partie de la zone d'adressage des données. Elle
comprend tous les registres spéciaux permettant de contrôler le
coeur du PIC ainsi que ses périphériques. Les variables des
programmes pourront être stockées dans des cases mémoires
à usage commun.
3.3 Mémoire EEPROM :
L'EEPROM est une mémoire de stockage de données.
Sur le PIC 16F877, il y a 256 octets d'EEPROM disponibles. Le nombre de cycles
d'effacement / écriture sur la mémoire EEPROM est limité
d'ordre du million pour le PIC, mais cette limite pourrais être atteinte
plus vite pour le stockage des variables modifiées plusieurs milliers de
fois par seconde.
Figure I.6 : Schéma interne des
mémoires
4. Architecture Externe :
Le boîtier du PIC 16F877 décrit par la figure I.7
comprend 40 pins : 33 pins d'entrées/sorties, 4 pins pour
l'alimentation, 2 pins pour l'oscillateur et 1 pin pour le reset (MCLR).
Figure I.7 : Brochage du PIC
12
- La broche MCLR sert à initialiser le
pic qui dispose de plusieurs sources de RESET
(POR: la mise sous tension, EXTERNAL RESET: remise
à zéro externe, WDT: chien de garde, BOR : baisse
de tension d'alimentation).
- Les broches VDD (Broche 11 et 32) et
VSS (Broche 12 et 31) servent à alimenter le PIC.
On remarque qu'on a 2 connections «VDD» et 2
connections « VSS ». La présence de ces 2 pins s'explique pour
une raison de dissipation thermique. Le courant porté dans le PIC n'est
pas négligeable parce qu'il existe de nombreuses lignes
d'entrées/sorties disponibles.
- Les broches OSC1 (Broche 13) et
OS (Broche 14) permettent de faire fonctionner
l'oscillateur interne du PIC qui peut être (un quartz, un
résonateur céramique, un oscillateur externe ou un réseau
RC).
5. Ports d'Entrées Sorties :
Le microcontrôleur dispose de 5 PORTS (A, B, C, D et E).
Tous les ports d'entrées sorties sont bidirectionnels. La plupart des
lignes ont une double fonction.
Remarque : L'indicateur
x signifie un bit non implémenté. L'indicateur
Gras signifie un bit utilisé.
|