0% ont trouvé ce document utile (0 vote)
36 vues44 pages

Présentation 2

Transféré par

alaaabidi475
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues44 pages

Présentation 2

Transféré par

alaaabidi475
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Microcontrôleur

Deuxième partie :
Les microcontrôleur de
Microchip: PIC

Thamallah Ali
1
1
Plan
Les différentes familles des Microcontrôleurs
Les différentes familles des PICs
Identification d’un PIC
Famille Mid-Range
PIC : 16F84
Architecture interne du 16F84

2
1. Les différentes familles des Microcontrôleurs

la famille Atmel AT91 ;


Le C167 de Siemens;
la famille Hitachi;
la famille Intel et le Fresscale;
la famille des PIC de MICROCHIP;
la famille des STMicroelectronic;
la famille V800 de NECMSP430 de Texas Instruments ;
Motorola,

3
2. Les différentes familles des PICs
La famille Base-Line
12 Bits
la famille Mid-Range 14 Bits
PIC family
la famille High-
16 Bits
Performance

PIC24 and dsPIC 24 Bits

PIC32 32 Bits

La différence entre ces familles réside dans la taille de l’instruction


(case de mémoire)
la famille Mid-Range

instructions
Mémoire

Bus
Instruction1
Instruction2
Instruction3
Instruction4 4
Case mémoire
14 bits
3. Identification d’un PIC
Pour identifier un PIC®, vous utiliserez simplement son numéro

Sur le corps du PIC on trouve :

PIC __ _ _ -XX

Les 2 premiers une lettre indique


une lettre A
chiffres une lettre L : le type de la
représente
indiquent la Celle-ci indique mémoire
la
catégorie du que le PIC® peut programme : Série
fréquence
PIC® fonctionner avec C : EPROM ou Dans la
d’horloge
12: Base-Line une plage de bien EEPROM famille
maximale
16:Mid-Range tension beaucoup CR : ROM
est
18:High- plus tolérante. F :FLASH.
20Mhz
Perfermance

5
Exemples
Famille : Mid-Range

Mémoire Programme est de type : Flash


PIC 16 F 84-04
Série : 84

Horloge Maximale : 4Mhz

Famille : Base-Line

Mémoire Programme est de type : ROM


PIC 12 L CR 508-20
Série : 508

Horloge Maximale : 20Mhz


6
Famille : High-Performance

Mémoire Programme est de type : Flash


PIC 18 F 45-20
Série : 54

Horloge Maximale : 20Mhz

7
4. Caractéristiques de familles Mid-Range (PIC
16F877) et High-perfermance (18F4520)
Mid-Range

Tous les PICs Mid-Range ont un jeu de 35 instructions (RISC)

Tous les PICs Mid-Range stockent chaque instruction dans un seul mot de
programme
Mot de programme(word): 14
bits
Case mémoire

Tous les PICs Mid-Range exécutent une instruction en un cycle

L’horloge fournie au PIC est prédivisée par 4 au niveau de celle-ci. C’est


cette base de temps qui donne le temps d’un cycle. 8
Exemples
Exemple 1
Si on utilise par exemple un quartz de 4MHz , on obtient donc 1000000 de
cycles/seconde, or, comme le PIC exécute pratiquement 1 instruction par
cycle, hormis les sauts, cela vous donne une puissance de l’ordre de
1MIPS (1 Million d’Instructions Par Seconde). La figure II.1 montre le
déroulement d’un cycle

T=1/4Mhz=0,00000025s
Cycle=4 xT=0,000001s=1micros
1s= 1000000 x1micros

on obtient donc :
1000000 de cycles/seconde
T

Cycle

9
Exemple 2
Si on a le programme suivant stocké la mémoire programme d’un PIC de
la famille Mid-Range.
On vous demande de déterminer le temps total d’exécution et l’espace
utilisé de la mémoire programme en octet (1octet=8bit)

Mémoire
Instruction1
Instruction2
Instruction3
Instruction4

Temps d’exécution=

Espace mémoire= 4x14bit=56bit=56bit/8=7oct

10
Famille High-Performance (PIC 18F4520)
Tous les PICs High-Performance ont un jeu de 75 instructions (RISC)

Pour les PICs High-Performance les instruction sont stockées sur 16 bits et il y a
quelques instructions codée sur 32 bits

Case mémoire

Tous les PICs Mid-Range exécutent une instruction en un cycle

L’horloge fournie au PIC est prédivisée par 4 au niveau de celle-ci. C’est


cette base de temps qui donne le temps d’un cycle.

11
5. PIC16F84
Donc, un 16F84-04 est un PIC® Mid-Range
(16) donc la mémoire programme est de
type FLASH (F) donc réinscriptible de
type 84 et capable d’accepter une
fréquence d’horloge de 4MHz en théorie
(probablement : 10Mhz pour un 16F84 et
20Mhz pour un 16F84A).

5: Vss(masee); 14:Vdd (alimenation 5v)

16 et 15 : Oscillateur
Port A (4 Pins): RA0:17, RA1:18, RA2:1, RA3:2,RA4: 3
18 Pins
Port B (8 Pins): RB0:6, RB1:7, RB2:8, RB3:9, RB4:10,
RB5:11, RB6:12, RB7:13,

Pins4: MCLR (Reset)

12
6. Architecture interne du PIC16F84

13
6.1 les éléments du PIC
1-Mémoire programme de type Flash(1Kx14)
2 - Registre compteur de programme
3 - Port A et Port B d'entrées - sorties
4 - Unité Arithmétique et logique
5- RAM (68x8)
6- EEPROM (64x8)
7- Horloge système
8- Registre de décodage des instructions
9- Registre d'état
10- Registre de travail
11- Registre d'instruction
12- Timer
13- Pointeur de pile
14- Bus internes
15- Reset ; Watch dog ; Alimentation
14
6.1.1 Port A et Port B d'entrées - sorties

Port A (4 Pins): RA0:17, RA1:18, RA2:1, RA3:2

Port 8 (8 Pins): RB0:6, RB1:7, RB2:8, RB3:9, RB4:10,


RB5:11, RB6:12, RB7:13,

15
6.1.2 Mémoire programme de type Flash(1Kx14) Case mémoire

14 bits

Début de l’adresse =000hex=0000.0000.0000 bin=0 décimal

Fin de l’adresse =3FFhex=0011.1111.1111 bin=1023 décimal

Nombre des cases =1023 –0+1=1024 case En informatique =1024 =1K


Mémoire Flash =1Kx14bit

16
6.1.3 Registre compteur de programme
Le microcontrôleur exécute, une à une les instructions codées sous forme
binaire ceci se fait grâce un registre interne nommé "compteur de programme"
(2 : Programme Counter PC)

Le contenu du registre du pointeur de programme augmentera au grès de


l'exécution des instructions, le PC pointe toujours à la prochaine instruction à
exécuter.
17
 Les registres PCL &PCLATH

Registre compteur de programme PC va pointer à 1024 adresse

Pour cela le PC doit avoir 1 3 bits or les cases de la RAM sont de 8bits

Il faudra donc 2 registres pour accéder à une adresse

Donc PC est divisé en deux registres de 8 bits PCL(PC Low8bits)


et PCLATH(PC LATch counter High 5bits)

18
6.1.4 Pointeur Pile (Stack Pointeur)
Adresse
Mémoire programme
PC : compteur de programme
0000 Instriction1
0001 Saut: aller à l’adresse 0004
0002 Instriction3
SP : Pointeur Pile
0003 Instriction4
0002
0004 Instriction5
0005 Instriction6

Exécution Ins1
Exécution Ins2
Exécution Ins5
Exécution Ins3

Exécution Ins4

Exécution Ins5
Exécution Ins6
19
Les huit niveaux du pointeur de pile (stack pointer)veulent que l'on peut
imbriquer huit sous-programmes
Pointeur Pile
Adresee1
Adresee2
Adresee3
Adresee4
Adresee5
Adresee6
Adresee7
Adresee8
20
6.1.5 RAM
- Bank 0
La mémoire RAM est organisée en 2 banques pour le 16F84
- Bank 1

Les 11 premiers octets(8bits) de l'espace


mémoire sont réservés pour la
configuration et l'accès à certains registres
spécifiques

De l'adresse (0C) 11. à l'adresse (4F) 79 nous


retrouvons les 68 octets réservés à l'utilisateur

La zone située en bank 1 entre l'adresse 140


(8C) et 208 (CF) est une image de la bank 0

Certains registres tels que le registre STATUS


sont accessibles depuis n'importe quelle bank

PCL,INTCON,PCL,FSR , STATUS et PCLATH

21
Adressage directe

Registre STATUS

la sélection de telle ou telle bank se


fait selon la position (0 ou 1) de deux
bits de contrôle,
contenus dans le registre STATUS qui
est situé à l'adresse 3 en mémoire
RAM.
Ces deux bits de contrôle sont RPO
et RP1.
•Si RP1 = 0 et RPO= 0 bank 0
•Si RP1 =0 et RPO = 1 bank 1

22
23
PIC 16F877

24
25
 Les registres FSR & INDF(Indirect adress)

Les registres FSR, IDF et le bit IRP font le mécanisme de


l’adressage indirecte

26
PIC 16F877

27
Mémoire programme
Instriction1
FSR
00001111
ADRESSE: 00000001
Instriction3
Instriction4
Instriction5
IND : valeur
Instriction6
00001111

28
 Les registres PORTA & PORTB &TRISA & TRISB
Les Registres associés aux PORTA sont PORTA et TRISA :

Registre PORTA 8bits : directement accès au monde


extérieur
Registre TRISA : Configuration Entrée 1/Sortie 0

Les Registres associés aux PORTB sont PORTB et TRISB:

Registre PORTB 8bits : directement accès au monde


extérieur
Registre TRISB : Configuration Entrée 1/Sortie 0

29
30
Entrée Horloge(entrée clock) pour le timer

31
Trigger de Smith ou bien bascule de Smith

32
6.1.6 Timer

Un timer est un registre 8 bits dans lequel on charge une valeur

01

il réalise un comptage depuis la valeur que vous avez prédéterminée jusqu'à


255

Exemple On charge le timer par la valeur 250

10
1 1 1 1 1 1
0 1
1 0 250
251
252
253
254
255

6.1.7 Chien de garde watch Dog


Le watchdog, ou chien de garde est un mécanisme de protection de votre
programme. Il sert à surveiller si celui-ci s’exécute toujours dans l’espace et
dans le temps que vous lui avez attribués.

33
6.1.8 Unité arithmétique (ALU) et logique & Décodeur d’instruction &
registre de travail(w)
ALU va être chargée d'effectuer toutes les opérations de type arithmétique ou
bien de type logique
Entrée 2 Entrée 1

Décodeur d’instruction

Sortie

Registre W

34
6.1.9 Registre d’état STATUS

Bit C (carry) : Ce bit du registre d'état va passer à "1" lorsque


le résultat de la dernière opération arithmétique a provoqué
une retenue.

1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
+

Retenue 1 1 1 1 1 1 1 0 1

35
Bit DC (digit carry) : Ce bit du registre d'état va passer à "1"
lorsque le résultat de la dernière opération arithmétique a
provoqué une retenue sur les quatre premiers bits, ce bit (ou
bien flag... pour drapeau) sera utilisé lorsque l'on travaillera
en BCD (binaire codé décimal).

1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1

Retenue 1 0 0 0 1 1 1 0 1

36
Bit Z (zéro) : Ce bit du registre d'état va passer à "1" lorsque
le résultat de la dernière opération est égal à zéro.

0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

Retenue 1 0 0 0 0 0 0 0 0

37
Bit PD (power down) : Ce bit du registre d'état va passer à "0"
lorsque le microcontrôleur rencontre l'instruction particulière
"Sleep" (mise en sommeil)

Mémoire programme
Instriction1
Sleep
Instriction3
Instriction4
Instriction5
Instriction6

38
Bit TO (time out) : Ce bit du registre d'état va passer à "0" lorsque
le chien de garde atteint la fin de comptage que le programmateur
lui a défini

39
6.1. EEPROM

La mémoire EEPROM est une particularité du PIC 16F877, c'est une zone
comportant 64 octets mise à la disposition d’utilisateur et dont la
particularité est de pouvoir être sauvegardée même en absence
d'alimentation.

EEPROM
Case de 8bits

Nombre des cases 68

40
Système d’horloge pour la famille Mind-Range
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, C2) limite les harmoniques dus à l’écrêtage
et réduit l’amplitude de l’oscillation, il n'est pas obligatoire.

41
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.

42
43
44

Vous aimerez peut-être aussi