les PIC le PIC16F628 - Sn-Bretagne

publicité
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
LE MICROCONTROLEUR PIC18F2455
Ce composant intègre un microcontrôleur 8 bits, c'est-à-dire un processeur et des périphériques, dans un boîtier
« Dual in Line » de 28 broches. Il est réalisé en technologie CMOS et peut être cadencé par une horloge de 48
MHz ; il doit être alimenté par une tension allant de 3 à 5.5 volts
VSS : masse
VDD : alimentation ( de 3 à 5.5 volts )
Les broches du composant possèdent plusieurs affectations entre les ports d’E/S, les périphériques et les
fonctions système.
La broche 5 RA3/AN3/VREF+ par exemple peut être :
RA3  une entrée ou une sortie du port A
AN3  une entrée analogique du convertisseur A/D
VREF  une entrée de référence pour le convertisseur A/D
Il est ainsi possible, dans certaines configurations de profiter de 24 broches d’E/S (23 entrées ou 22 sorties ou
un mixage des deux) sur ce composant
En périphérie de l’unité centrale, on peut recenser les ressources suivantes sur le composant :
Mémoire flash programme 24k instructions
Mémoire RAM Données : 2k Octets
Mémoire EEPROM Données : 256 Octets
Ports d’E/S : 3 ports de 8 bits
Périphériques :
1 Convertisseur Analogique / Numérique 10bits
3 Timers 8bits et 16bits
2 module Capture / Compare / PWM
2 comparateurs analogiques
1 référence de tension
1 USART émission / réception série / synchrone et asynchrone
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
1
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Architecture PIC 18F2455
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
2
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Mémoire de programme
Les instructions du programme sont stockées sur 14 bits dans une zone mémoire dont l’adresse s’étend de
0000h à 5FFFh ( soit 24576 lignes de programme pour le 18F2455)
Le compteur de programme repère l’adresse
courante du programme
PC <20:0 >
21 bits
Pile niveau 1
La pile est utilisée lors de l’appel
d’un sous-programme
Pile niveau 2



Pile niveau31
Vecteur de RESET
0000h
Vecteur d’interruption
0008h
Vecteur d’interruption
0018h
0019h
Mémoire de Programme
type flash
24576 lignes de programme
(24k)
5FFFh
21 bits
Il y a trois adresses réservées pour les vecteurs d’initialisation ( Reset et interruption )
Lorsque l’on effectue un RESET externe le PIC démarre le programme à l’adresse 0000h
Le PIC 18F2455 a 2 vecteurs d’interruption en 0008h. et 0018h Lors d’une interruption, le sous programme
associé devra déterminer quel périphérique a demandé une interruption.
La pile utilisée par les sous programmes n’est pas implantée en mémoire de donnée comme avec les
microcontrôleurs classiques, mais dans la mémoire programme. Elles sont utilisées lors d’appels de sous
programmes, on ne peut pas imbriquer plus de 8 sous programmes (Ce qui est déjà beaucoup ! !).
La mémoire est de type flash c'est-à-dire effaçable électriquement. Le constructeur garantit un minimum de
1000 cycles d’effacement / écriture à 25°C sous 5v.
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
3
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Mémoire de données ( Registres)
La mémoire de données correspond aux registres ( Files Registers ) vus par l’unité centrale ; ces registres sont
de deux types :
Registres à fonctions spéciales ( SFR ): ils permettent la configuration et la surveillance de l’état du
processeur et de ses périphériques ; ces registres sont accessibles en lecture et en écriture suivant leur fonction ;
il y a 75 registres de ce type pour le 18F2455. Exemple : registres STATUS , TMR0H , PORTA
la cartographie des registres SFR est donnée par la figure suivante, les zones grisées sont inaccessibles.
Registres à usage général ( RAM utilisateur ): ils permettent le stockage de variables , il sont accessibles en
lecture et en écriture par le programme ; il y a 1973 registres de ce type pour le 18F2455
L’espace mémoire est décomposé en 15 banques de 256 registres,
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
4
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Jeux d’instructions
L’ensemble des 77 instructions d’un processeur 18F2455
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
5
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Les principaux registres à fonction spéciale
STATUS
Ce registre sert au contrôle de l’ALU et du Timer ainsi qu’à sélectionner la banque à laquelle on veut accéder
Registre
STATUS
Adresse
FD8h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
N
OV
Z
DC
C
C:
( Carry) ce bit est mis à 1 lorsque la retenue est générée par une addition
DC :
(Digit Carry) bit de retenue des opérations au formatBCD
Z:
(Zero) ce bit est mis à 1 si le résultat d’une opération est nulle
OV :
(Overflow) ce bit est mis à 1 si le résultat de l’opération signée provoque un dépassement
N:
(Negative) ce bit est mis à 1 si le résultat de l’opération effectuée est négatif
Ports d’entrées sorties
Le composant dispose de 3 ports d’E/S : A , B , C ; ceux-ci peuvent servir d’E/S numériques standards ou d’E/S
de périphériques internes.
Ces ports sont bi-directionnels, le sens de transfert de chaque fil est déterminé par un bit situé dans le registre
TRISA pour le port A , TRISB pour le port B et TRISC pour le port C. Chaque bit positionné à 1 place le bit du
port en entrée.
Port A
Registre
PORTA
LATA
TRISA
les registres associés au port A sont PORTA, TRISA, LATA, ADCON1, CMCON,
CVRCON, UCON
Adresse
F80h
F89h
F92h
Bit 7
Bit 6
-
RA6
LATA6
RA6 / OSC2 / CLKO
RA5 /AN4 / SS / HLVDIN / C2OUT
E/S
E/S
RA4 / TOCK1 / C1OUT / RCV
E/S
RA3 /AN3 / Vref+
RA2 /AN2 / Vref- / CVref
RA1 /AN1
RA0 /AN0
E/S
E/S
E/S
E/S
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
Bit 5
Bit 4
Bit 3
Bit 2
RA5
RA4
RA3
RA2
LATA5 LATA4 LATA3 LATA2
Registre de direction du PORTA
Bit 1
Bit 0
RA1
LATA1
RA0
LATA0
broche de sortie pour le signal d’horloge
broche d’entrée pour le CAN ; broche de sortie pour le
comparateur 1
E/S drain ouvert broche d’entrée d’horloge pour le Timer 0,
broche de sortie pour le comparateur 1
broche d’entrée pour le CAN, tension de référence
broche d’entrée pour le CAN, tension de référence
broche d’entrée pour le CAN
broche d’entrée pour le CAN
6
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Port B
Registre
PORTB
LATB
TRISB
les registres associés au port B sont PORTB, LATB, TRISB, INTCON, INTCON2,
INTCON3, ADCON1, SPPCON, SPPCFG, UCON
Adresse
F81h
F8Ah
F93h
Bit 7
Bit 6
RB7
LATB7
RB6
LATB6
RB7 / KBI3 / PGD
RB6 / KBI2 / PGC
RB5 / KBI1 / PGM
RB4 / AN11 / KBI0 / CSSPP
E/S
E/S
E/S
E/S
RB3 / AN9 / CCP2 / VPO
E/S
RB2 / AN8 / INT2 / VMO
E/S
RB1 / AN10 / INT1 / SCK / SLC
E/S
Registre
PORTC
LATC
TRISC
Bit 4
Bit 3
Bit 2
RB5
RB4
RB3
RB2
LATB5 LATB4 LATB3 LATB2
Registre de direction du PORTB
Bit 1
Bit 0
RB1
LATB1
RB0
LATB0
entrée d’interruption, broche de programmation
entrée d’interruption, broche de programmation
entrée d’interruption, broche de programmation
broche d’entrée pour le CAN, broche d’entrée d’interruption
entrée de sélection SPP
broche d’entrée pour le CAN, broche d’entrée d’interruption
externe 3,
broche d’entrée pour le CAN, broche d’entrée d’interruption
externe 2,
broche d’entrée pour le CAN, broche d’entrée d’interruption
externe 1, broche E/S d’horloge SPI et I2C
broche d’entrée pour le CAN, broche d’entrée d’interruption
externe, broche d’entrée I2C
RB0/ AN12/ INT/ FLD0/ SPI/ SDA E/S
Port C
Bit 5
les registres associés au port C sont PORTC, LATC, TRISC, UCON
Adresse
F82h
F8Bh
F94h
Bit 7
Bit 6
RC7
LATC7
RC6
LATC6
Bit 5
Bit 4
Bit 3
Bit 2
RC5
RC4
RC2
LATC2
Registre de direction du PORTC
Bit 1
Bit 0
RC1
LATC1
RC0
LATC0
RC5 et RC4 ne sont disponibles en broches du port que lorsque le module USB est désactivé (UCON <3> = 0).
Port E
Registre
PORTE
les registres associés au port E sont PORTE, ADCON1, CMCON
Adresse
F84h
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RE3
RE3 est disponible en broche d’entrée si le MASTER CLEAR est désactivé
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
7
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Les périphériques
Le TIMER 0
Le module Timer 0 est un compteur 8 bits ( TMR0 ) ou 16 bits, accessible en lecture et en écriture, il est donc
possible de pré charger une valeur initiale dans le Timer. Lorsque la valeur du registre TMR0 passe de la valeur
0×FF à la valeur 0×00, ( débordement du compteur), le bit TOIF du registre INTCON passe à 1, il est possible
de générer une interruption ( ce bit doit être remis à 0 par programme)
L’horloge de ce compteur peut être interne ou externe par l’intermédiaire d’un pré diviseur 3bits
Fosc/4 (Horloge interne)
Bus de Données
Broche
TOCKI
0
0
1
Pré-diviseur
programmable
1
3
TOSE
TOCS
TOPS0 à TOPS2
PSA
Synchronisation
avec l’horloge
interne
TMR0
Mise à 1 du bit
d’interruption TOIF sur
débordement
Les registres associés au Timer 0 sont :TMR0L, TMR0H, INTCON, INTCON2, TOCON, TRISA(4)
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
8
Traitement de l’information
Cours TSEN
_______________________________________________________________________________________
Les comparateurs analogiques
Le module est composé de deux AIL câblés en comparateurs de tension. Ils partagent leur entrée avec le port A
et une tension de référence interne
Le fonctionnement de ce module est contrôlé par le registre CMCON
Registre
CMCON
C1OUT :
C2OUT :
CxINV :
CIS:
CMx
Adresse
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
1Fh
C2OUT
C1OUT
C2INV
C1INV
CIS
CM2
CM1
CM0
Ce bit est positionné à 1 lorsque VIN+ > VIN- pour le comparateur 1
Ce bit est positionné à 1 lorsque VIN+ > VIN- pour le comparateur 2
Polarité des sorties des comparateurs
bits de sélection des broches d’entrées des comparateurs ( multiplexage des entrées)
bits de sélection du câblage interne des comparateurs.
Les registres associés au module comparateurs sont :CMCON, VRCON, INTCON, PIR1, PIE1 et TRISA
La tension de référence
Le module de référence est constitué d’un réseau de 16 résistances permettant d’alimenter les comparateurs
avec une tension de référence.
Le fonctionnement de ce module est contrôlé par le registre VRCON
Registre
VRCON
VREN :
VROE :
VRR :
VR[3 :0]
Adresse
Bit 7
Bit 6
Bit 5
9Fh
VREN
VROE
VRR
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
VR3
VR2
VR1
VR0
(VRef ENable) Validation du module si ce bit est à 1
(VRef Output Enable) la tension de référence alimente la sortie Vref et les comparateurs
(VRef Range selection) bit de sélection de la gamme de tension
Choix de la valeur dans la gamme
Si VRR = 0 : Vref = (VR[3 :0] / 24 ) × Vdd
Si VRR = 1 : Vref = Vdd / 4 + (VR[3 :0] / 32 ) × Vdd
La mémoire EEPROM
Le composant dispose d’une zone mémoire non volatile (EEPROM) de 128 octets. Cette mémoire n’est
accessible que par adressage indirect via un registre propre au module
L’acces à cette mémoire est contrôlé par les registres EECON1, EECON2, EEDATA, EEADR
Lycée des Métiers Jacques Prévert Combs – la – Ville
Section de BAC PRO Systèmes électroniques numériques
Electronique Industrielle Embarquée
9
Téléchargement