36
Les Microcontrôleurs Variétés de 16FXXX

Micocontroleur16 fxxx (1)

Embed Size (px)

Citation preview

Page 2: Micocontroleur16 fxxx (1)

Qu’est ce qu’un microcontrôleur?

• Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires

• Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, polyvalents utilisés dans les ordinateurs personnels. une plus faible consommation électrique, une vitesse de fonctionnement plus faible (de quelques mégahertz jusqu'à plus d'un gigahertz) et un coût réduit par rapport aux microprocesseurs

Page 3: Micocontroleur16 fxxx (1)

Comment on identifie les différentes variétés de pic?

• Le nom PIC initialement appelé "Peripheral Interface Controller".

• Un PIC est généralement identifié par une référence de la forme suivante :

xx(L)XXyy-zz

xx : famille du composant actuellement <<12, 14, 16, 17 et 18 >>

(L): tolérance plus importante de la plage de tension

XX: type de mémoire programme

yy: identificateur

zz: vitesse maximale du quartz de pilotage.

Page 4: Micocontroleur16 fxxx (1)

Les PICs 16F

• Les PIC de la famille 16C ou 16F sont des composants de milieu de gamme. C'est la famille la plus riche en termes de dérivés.

• Actuellement les modèles Microchip, sont classés en 3 grandes familles, comportant chacune plusieurs références. Ces familles sont :

- Base-line : les instructions sont codées sur 12 bits.

- mid-line : les instructions sont codées sur 14 bits.

- High-End : les instructions sont codées sur 16 bits.

Page 5: Micocontroleur16 fxxx (1)

• La famille PIC16F de dispositifs est CMOS (Complementary Metal Oxide Semiconductor) microcontrôleurs comprenant des types PIC16F83, PIC16C83, PIC16F84, PIC16C84, PIC16LCR8X et PIC16LF8X.

• Technologie CMOS offre un certain nombre d'avantages par rapport à d'autres technologies. Par exemple, les circuits CMOS consomment très peu d'énergie, fonctionnent sur une gamme assez large de tension et sont assez indulgents de la mauvaise mise en page et du bruit électrique.

• PIC est une famille de l'architecture des microcontrôleurs modifiés Harvard faites par Microchip Technology, issus de la PIC1650 développé à l'origine par la Division Microelectronics de General Instrument.

Page 6: Micocontroleur16 fxxx (1)

LE Pic 16F876

Page 7: Micocontroleur16 fxxx (1)

Que signifie 16F876-20:

- 16 : le circuit appartient à la série Mid-Line.

- F : la mémoire programme est de type FLASH.

- 876 : type(identificateur)

- 20 : Quartz à 20MHz au maximum.

Page 8: Micocontroleur16 fxxx (1)

Architecture interne du 16F876 :

Page 9: Micocontroleur16 fxxx (1)

Brochage du 16F876:

Page 10: Micocontroleur16 fxxx (1)

• MCLR : cette broche sert à initialiser le microcontrôleur PIC: à la mise sous tension par un front montant. Cette broche peut être simplement reliée à l’alimentation VDD si on n’a pas besoin de RESET externe

• VDD et VSS: broches d’alimentation du circuit (la tension VDD peut être comprise entre 4V à 5,5V).

Les ports du microcontrôleur 16F876 sont couplés à différents modules (Timers (ports A et C), convertisseur analogique numérique (port A), plusieurs types de liaisons séries (port C).

Page 11: Micocontroleur16 fxxx (1)

• RA0 à RA5: 6 broches du port A. Chaque ligne peut être configurée individuellement en entrée ou en sortie.

• RB0 à RB7: 8 broches du port B. Chaque ligne peut être configurée individuellement en entrée ou en sortie. Les broches RB6/PGC (ProGramming Clock) et RB7/PGD (ProGramming Data) permettent la connexion à un module ICD (In Circuit Debugger, mise au point de programme sur site).

• RC0 à RC7: 8 broches du port C. Chaque ligne peut être configurée individuellement en entrée ou en sortie.

Page 12: Micocontroleur16 fxxx (1)

• OSC1 et OSC2: ces broches permettent de faire fonctionner l’oscillateur interne du microcontrôleur PIC de trois façons différentes.

2- Un quartz ou résonateur céramique permet d’obtenir une fréquence de fonctionnement très précise

3- Un oscillateur externe permet une synchronisation avec un autre circuit

1- Un simple réseau RC peut suffire, l’oscillateur est peu précis mais économique.

Page 13: Micocontroleur16 fxxx (1)

Organisation de la mémoire RAM

• L’espace mémoire RAM adressable est de 512 positions de 1 octet chacune : • 96 positions sont réservées au SFR ( Special Function Registers ) qui sont les registres de configuration du PIC.

• Les 416 positions restantes constituent les registres GPR ( General Propose Registers ) ou RAM utilisateur. Sur le 16F876 et 16F877, 3 blocs de 16 octets chacun ne sont pas implantés physiquement d’où une capacité de RAM utilisateur de 368 GPR.

Page 14: Micocontroleur16 fxxx (1)

Organisation de la RAM:

Page 15: Micocontroleur16 fxxx (1)

Accès à la RAM par adressage DIRECT:

• La RAM apparaît alors organisée en 4 banks de 128 octets chacun. L'adresse instruction permet d'adresser à l'intérieur d'un bank alors que les bits RP0 et RP1 du registre STATUS permettent de choisir un bank . La Figure II-1 montre l’organisation de la RAM avec les zones allouée au SFR et aux GPR. Les zones hachurées ne s ont pas implantées physiquement.

Si on essaye d’y accéder , on est aiguillé automatiquement vers la zone [ 70h ,7Fh ] appelée zone commune.

Page 16: Micocontroleur16 fxxx (1)

LE PIC 16F628

Page 17: Micocontroleur16 fxxx (1)

LE PIC 16F628 : Définition

• 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 18 broches. Il est réalisé en technologie CMOS et peu cadencé par une horloge allant de 0 à 20 MHz; il doit être alimenté par une tension allant de 3 à 5,5 Volts.

Page 18: Micocontroleur16 fxxx (1)

Brochage du 16F628

• Les broches du composant possèdent plusieurs affectations entre les ports d’E/S, les périphériques et les fonctions système.

Page 19: Micocontroleur16 fxxx (1)

- 3 Timers (8 et 16 bits);

- 1 module Capture/Compare/PWM;

- 2 comparateurs analogiques; 1 référence de tension;

- USART (émission/réception série synchrone et asynchrone)

En périphérie de l’unité centrale, on peut recenser les ressources suivantes sur le composant :

Mémoire Flash Programme : 2048 instructions Mémoire RAM Données : 224 Octets Mémoire EEPROM Données : 128 Octets Ports d’E/S : 2 ports 8 bits Périphériques:

Page 20: Micocontroleur16 fxxx (1)

Architecture interne:

Page 21: Micocontroleur16 fxxx (1)

Mémoire

Ce microcontrôleur est basé sur une architecture de processeur de type Harvard, c’est à dire qu’il y a séparation des bus d’instructions et de données ainsi que de l’espace d’adressage

1) Mémoire programme- Les instructions du programme sont stockées sur 14 bits dans une zone mémoire dont l’adresse s’étend de 000h à 7FFh (2048 lignes de programme pour le 16f628)- Il y a 2 adresses réservées pour les vecteurs d’initialisation (Reset et interruptions) ; le processeur possède une pile de 8 niveaux pour gérer les adresses de retour de sous programmes ; il n’y a aucun contrôle sur l’état de la pile par le processeur.

Page 22: Micocontroleur16 fxxx (1)

2) Mémoire données (Registres)

La mémoire données correspond aux registres (File Registers) vus par l’unité centrale ; ces registres sont de2 types :

• Registres « Système » : ils permettent la configuration et la surveillance de l’état du processeur et de ses périphériques ; ces registres sont accessibles en lecture ou en écriture suivant leur fonction ; il y a 34 registres de ce type pour le 16f628

• Registre d’usage général : ils permettent le stockage de variables; ils sont accessibles en lecture et en écriture par le programme ; il y a 224 registres de ce type pour le 16f628,

Page 23: Micocontroleur16 fxxx (1)

Le jeu d’instructions du

processeur ne permet

l’adressage des registres

que sur 7 bits (128

registre), l’espace mémoire

est alors décomposé en 4

bancs de 128 registres ; la

cartographie de la mémoire

données est donnée par la

figure suivante ; les zones

grisées ne sont pas

implémentées

Page 24: Micocontroleur16 fxxx (1)
Page 25: Micocontroleur16 fxxx (1)
Page 26: Micocontroleur16 fxxx (1)
Page 27: Micocontroleur16 fxxx (1)

LE Pic 16F877

Page 28: Micocontroleur16 fxxx (1)

Architecture interne

mémoires

Port I/O

Contrôle

ALU

Timers,

EEPROM,

USART

• Programme : mémoire Flash

de 8k (mots de 14 bits)

• RAM : 368 bytes

• Pile matérielle (stack) : jusqu’à

8 fonctions Imbriquées

• 5 ports 5 PORTS (A,B,C,D et

E) ont une double fonction au

moins, D :I/O pure et/ou port

parallèle 8 bits associé au PORT

E, E(3 bits) I/O pure et/ou

pilotage du PORT E

Décode/contrôle

les instructions (CLK)

• formée de W (accumulateur

8bit) et STATUS(registre d’etat)

T0 (8 bits):incrémenté par la

broche (TOCKI/ RA4) ou par

l’horloge interne

T1 (16 bits): incrémenté soit par

l’horloge interne, par des

impulsions sur la broche

T1CKI/RC0 ou par un

oscillateur (RC ou quartz)

T2 (8 bits) : Il est incrémenté par

l’horloge interne

Page 29: Micocontroleur16 fxxx (1)

Brochage du 16F877/16F874:

Remarque : Les 16F873 et 16F874 présentent peu d’intérêt par rapport aux 16F876 et 16F877, en effet ils possèdent moins de mémoires programmes et ils sont à peu près au même prix.

Page 30: Micocontroleur16 fxxx (1)

Le µC dispose de 3 PORTS (A,B et C) pour le 16F876 et 5 PORTS (A,B,C,D et E) pour le 16F877. Tous

les ports d’entrées sorties Input/ Output sont bidirectionnels. La plupart des lignes de PORTs ont une

double fonction.

• Le PORT A (5 bits) I/O pure et/ou convertisseur analogique et/ou TIMER 0. La broche RA4 du PORT

A (Entrée du TIMER 0 T0CKI) est du type DRAIN OUVERT.

• Le PORT B (8 bits) I/O pure et/ou programmation in situ ICSP/ICD (Broche RB3/PGM, RB6/PGC et

RB7/PGD) et l’entrée d’interruption externe RB0/INT.

Remarque : Si le PIC est utilisé en mode ICSP/ICD il faut laisser libre les broches RB3/PGM, RB6/PGC

ainsi que RB7/PGD) et les configurer en entrée.

• Le PORT C (8 bits) I/O pure et/ou TIMER 1 et/ou SPI / I2C et/ou USART.

• Le PORT D (8 bits) I/O pure et/ou port parallèle 8 bits associé au PORT E.

• Le PORT E (3 bits) I/O pure et/ou pilotage du PORT E RE0/RD, RE1/WR et RE2/CS. Toutes les lignes

des PORTs peuvent fournir un courant de 25mA par ligne de PORT. Une limite de 40mA par PORT doit

être respectée pour des questions de dissipation.

Page 31: Micocontroleur16 fxxx (1)

Tableaux récapitulatifs des pic16f étudiés

Page 32: Micocontroleur16 fxxx (1)

Différence entre pic 16F627/28:

Page 33: Micocontroleur16 fxxx (1)

PIC 16F876 PIC 16F873

Operating Frequency DC-20 MHZ DC-20 MHZ

RESETS (and Delays) POR, BOR

(PWRT, OST)

POR, BOR

(PWRT, OST)

Flash Program Memory (14 bit-

words)

8K 4K

RAM Data Memory (bytes) 368 192

EEPROM Data Memory 256 128

Interrups 13 13

I/O Ports Ports A,B,C Ports A,B,C

Timers 3 3

Capture/compare/PWM Modules 2 2

Serial Communications MSSP,USART MSSP,USART

Parallel Communications -- --

10-bit Analog-to-Digital Module 5 input channels 5 input channels

Instruction Set 35 instructions 35 instructions

Différence entre pic 16F676/73:

Page 34: Micocontroleur16 fxxx (1)

PIC16F874 PIC16F877

Operating Frequency DC-20 MHZ DC-20 MHZ

RESETS (and Delays) POR, BOR

(PWRT, OST)

POR, BOR

(PWRT, OST)

Flash Program Memory (14 bit-

words)

4K 8K

RAM Data Memory (bytes) 192 366

EEPROM Data Memory 128 256

Interrups 14 14

I/O Ports Ports A,B,C,D,E Ports A,B,C,D,E

Timers 3 3

Capture/compare/PWM Modules 2 2

Serial Communications MSSP,USART MSSP,USART

Parallel Communications PSP PSP

10-bit Analog-to-Digital Module 8 input channels 8 input channels

Instruction Set 35 instructions 35 instructions

Différence entre pic 16F877/74:

Page 35: Micocontroleur16 fxxx (1)

Nouveauté concernant les pic16F:

Microchip annonce, depuis le salon DESIGN West à San José (Californie), l’extension de sa famille de microcontrôleurs à cœur milieu de gamme amélioré : les microcontrôleurs 8 bits PIC16F(LF)178X intègrent des périphériques analogiques avancés et de communication, tels que des convertisseurs analogiques-numériques (CAN) 12 bits, des convertisseurs numériques-analogiques (CNA), des amplificateurs opérationnels et des comparateurs rapides, ainsi qu’un EUSART compatible LIN et des périphériques de communication SPI et I2C™.Ces nouveaux microcontrôleurs affichent également le meilleur niveau de contrôle PWM et de précision du marché grâce aux nouveaux modules PSMC (Programmable Switch-Mode Controllers - contrôleurs programmables à découpage).

Les modèles « LF » de ces microcontrôleurs sont dotés de la technologie XLP très faible consommation, affichant une consommation en fonctionnement et en mode veille respectivement d’à peine 32 µA/MHz et 50 nA, permettant d’améliorer la durée de vie des batteries et de réduire la consommation en veille. Grâce à leur faible consommation et à leur intégration avancée analogique et numérique, les microcontrôleurs à usage général PIC16F(LF)178X sont idéaux pour les applications du type éclairage par LED, gestion de batteries, alimentation numérique et contrôle de moteurs entre autres.

les normes relatives à la consommation énergétique se multiplient dans le monde entier. Grâce aux microcontrôleurs PIC16F(LF)178X, les développeurs peuvent créer de meilleurs produits moins gourmands en énergie.Le cœur 8 bits milieu de gamme amélioré de Microchip permet de meilleures performances, dont une vitesse de 32 MHz, l’enregistrement automatique du contexte pour une gestion plus rapide des interruptions, plus d’efficacité dans le jeu d’instructions avec une densité de code plus élevée, ainsi qu’un contrôle direct des ports plus rapide et plus performant.

Page 36: Micocontroleur16 fxxx (1)

Merci pour votre attention