Structure d’un système à microprocesseur : ( Structure minimal )








titreStructure d’un système à microprocesseur : ( Structure minimal )
page1/11
date de publication21.03.2018
taille0.7 Mb.
typeDocumentos
ar.21-bal.com > droit > Documentos
  1   2   3   4   5   6   7   8   9   10   11
Structure d’un système à microprocesseur : ( Structure minimal )




Le système à microprocesseur est constitué de plusieurs éléments montés sur une carte de circuit imprimé :

* le processeur exécute les opérations logiques ou arithmétiques qui permettent de calculer les données de sorties à partir des données d’entrées,

* la mémoire

stocke le programme, ainsi que toutes les données nécessaires au traitement,

  • les bus

sont les liaisons électriques qui véhiculent les informations entre les différents composants du système électronique

  • Bus de données : c’est sur ces lignes que circulent les données du programme . Exemple sur un bus de données de 8bits = 8 fils on fera ciculer qu’un octet à la fois . Il est BI-DIRECTIONNEL

  • Bus d’adresse :

Il est parcouru par des informations qui permettent de localiser le ou les boîtiers concernés par l’échange d’information. On parle alors de l’adresse de l’information. Il est UNIDIRECTIONNEL (le microprocesseur impose sa valeur), il transporte une adresse produite par le microprocesseur. Cette adresse spécifie l’origine ou la destination des données qui transitent. Pour un bus de 16 bits, le microprocesseur peut accéder à 2^16 = 65 535 adresses différentes. Un seul composant (ROM,RAM …)est sélectionné ( par son adresse) à la fois. Le décodage du bus d’adresse permet de valider le composant sélectionné. (Rôle du décodeur d’adresse)

  • Bus de contrôle :
    C’est un ensemble de lignes « relativement indépendantes » qui permettent de :

- synchroniser le système : Horloge

- réaliser l’initialisation de l’unité centrale (Reset)

- contrôler les échanges (lecture, écriture)

- provoquer des exécutions de programmes particuliers (interruptions)
* l’interface d’entrées et sorties, parallèle ou série, permet de communiquer avec lespériphériques extérieurs au système,

* l’horloge à quartz donne la cadence, par des impulsions électriques qui synchronisent le système.

Voici l’architecture d’un (petit) microprocesseur (famille motorola 68XX) :


Le microprocesseur est composé :

* une unité arithmétique et logique qui effectue les opérations (UAL) : addition, soustraction, opérations logique (OU, ET, NON , OU exclusif)

* Des registres et accumulateurs qui permettent de stocker les données

* une unité de contrôle qui lit séquentiellement les instructions et génère les signaux de commande.

Un microprocesseur est toujours associée à de la mémoire avec qui il communique grâce au bus d’adresse et de données. C’est dans la mémoire que se trouve le programme à exécuter.

Le microprocesseur vient chercher ses « instruction » dans une « mémoire programme » où le programme est rangé sous forme d’une suite d’instructions codées en binaire. Les instructions qu’il doit exécuter sont élémentaires :

-lire ou écrire dans la mémoire de données,

-lire des entrées, écrire des sorties,

-tester des états logiques,

-effectuer des opérations logiques de base ( ET, OU, NON, OU exclusif)

-effectuer les principales opérations arithmétiques (+, -, ., /)

-transfert des données

Le microprocesseur travaille sur des mots binaires, toutes les informations sont codées en binaire. Généralement les mots ont une longueur de 8,16, 32 bits.

Exemple d’instructions en langage assembleur pour microcontrôleur 68HC11 :

LDAA $1000 ‘ Charger le contenu de l’adresse $1000 dans l’accumulateur A

ADDA #2 ‘ A = A+2

STAA $1001 ‘ Stocker A dans case mémoire adresse $1001

JSR affichage ‘ Aller au sous programme « affichage »
Les registres internes :

Les registres peuvent être plus ou moins nombreux dans le microprocesseur

Un grand nombre de registres permet un maximum du traitement des données à l’intérieur de processeur. On évite ainsi de nombreux accès du processeur à la mémoire externe pour stocker et lire des données intermédiaires de calcul. Le temps de traitement se trouve ainsi accéléré. (note : dans les processeurs type « pentium » on trouve ce qu’on appelle de la mémoire « cache » qui travaille à la même vitesse que le processeur et sert de tampon entre la mémoire externe et les registres internes)

Un minimum de registres internes est indispensable au fonctionnement de l’unité centrale et est nécessaire à la programmation :



  • L'accumulateur

C'est une des deux entrées de l'UAL. Il est impliqué dans presque toutes les opérations réalisées par l'UAL. Certains constructeurs ont des microprocesseurs à deux accumulateurs(Motorola6800),qu’on peut associer pour travailler sur un format supérieur

  • Le registre indicateur CC

contient des indications sur le résultat après chaque traitement de l’unité arithmétique et logique. Il est modifié automatiquement par l’unité arithmétique et logique quand elle effectue une opération.

- Le bit de zéro Z est mis à un quand le résultat de l’opération est zéro,

- Le bit négatif N est mis à un quand le résultat de l’opération est négatif,

- Le bit de retenue C est mis à un quand le résultat ne peut tenir dans l’accumulateur de

sortie A (débordement)

- Le bit V (overflow) mis à 1 si dépassement de la capacité de codage

- Le bit I : masque d’interruption

- Le bit H : Half Carry : demi retenue : retenue sur la somme des bits 3.

  • Le compteur ordinal PC

est le registre qui pointe dans la mémoire l’adresse de la prochaine instruction à traiter par l’unité de commande

  • Le pointeur de pile SP

est le registre qui pointe l’adresse du dernier élément de la pile. La pile est utilisée pour stocker des données intermédiaires ou l’adresse de retour des sous programmes.

  • Le registre d’index X

est un registre qui pointe l’adresse en cours de lecture dans une table de données.

Note : Les registres CC, PC et SP sont totalement transparent pour le programmeur.

Exemple, programme de décomptage  :

LDAA $F000 ‘ charge A avec le contenu de l’adresse $F000

DEBUT : DECA ‘ Décrémente l’accumulateur A (A = A-1)
Le microcontrôleur 16F84


  1. Présentation générale

Ce modèle de PIC (Programmable Interface Controler) est un circuit de petite taille,fabriqué par la Société américaine Arizona MICROCHIP Technology.

En dépit de sa petite taille, il est caractérisé par une architecture interne qui lui confère souplesse et vitesse incomparables. Ses principales caractéristiques sont :

- 13 lignes d’entrées/sorties, réparties en un port de 5 lignes (Port A) et un port de 8 lignes (Port B)

- alimentation sous 5 Volts

- architecture interne révolutionnaire lui conférant une extraordinaire rapidité

- une mémoire de programme pouvant contenir 1.019 instructions de 14 bits chacune (allant de l’adresse 005 à l’adresse 3FF)

- une mémoire RAM utilisateur de 68 emplacements à 8 bits (de l’adresse 0C à l’adresse 4F)

- une mémoire RAM de 2x12 emplacements réservée aux registres spéciaux

- une mémoire EEPROM de 64 emplacements

- une horloge interne, avec pré diviseur et chien de garde

- possibilité d’être programmé in-circuit, c’est à dire sans qu’il soit nécessaire de le retirer du support de l’application

- bus d’adresses de 13 lignes

- présence d’un code de protection permettant d’en empêcher la duplication

- facilité de programmation

- simplicité

- faible prix

  1. Les Entrées/Sorties

A part les cinq pins réservées au cortège des invariants devant nécessairement figurer dans tout montage, les treize autres pins du 16F84 servent d’entrées/sorties.

Elles sont regroupées en deux ports : Port A et Port B.

Le Port A possède 5 lignes, nommées:

RA0..........pin 17 RA1..........pin 18

RA2..........pin 1 RA3..........pin 2

RA4..........pin 3 (RA4/T0CKI) (NB : RA = Register A)
Le Port B possède 8 lignes, nommées:

RB0..........pin 6 (RB0/INT) RB1..........pin 7

RB2..........pin 8 RB3..........pin 9

RB4..........pin 10 RB5..........pin 11

RB6..........pin 12 RB7..........pin 13

(NB : RB = Register B)

A remarquer que RB0 (pin 6) et RA4 (pin 3), outre qu’à pouvoir servir d’entrées/sorties, selon la façon dont on les programme peuvent respectivement servir l’une comme entrée d’interruption et l’autre comme entrée d’horloge externe pour le pilotage du timer (TMR0).


  1. Organisation de la mémoire du PIC 16F84

La mémoire du PIC 16F84 est répartie en trois espaces, logés sur la même pastille de silicium :
1) Une mémoire EEPROM de type flash, de 1 K mots de 14 bits, allant de l’adresse 000 à l’adresse 3FF.

Cet espace est dénommé mémoire de programme, dont le plan est le suivant :

5 adresses réservées au C

 Vecteur de Reset





003

 Vecteur d’Interruption

 Début du programme utilisateur

.

1019 adresses restantes,. disponibles pour y loger les instructions de votre programme .

.

.

..

3FF Fin de l’espace mémoire disponible
Cette mémoire est celle dans laquelle le programmateur écrit les instructions du programme.

Dans cet espace mémoire, les cinq premières adresses (000, 001,002, 003, et 004) sont réservées au microcontrôleur.
Certaines d’entre elles sont particulièrement remarquables :

a) l’adresse 000 correspond au vecteur de Reset.

A la mise sous tension, ou à chaque fois que des instructions spécifiques l’obligent, le Program Counter (PC) se rend à cette adresse et c’est là que le système trouve la première instruction à exécuter.

C’est une case devant obligatoirement être remplie et contenir l’origine du programme (ORG).

Si cette adresse était vide, le microcontrôleur ne ferait rien, car aucun programme ne serait exécuté.

b) l’adresse 004 correspond au vecteur d’interruption.

C’est l’adresse « point de rencontre » définie par le fabricant, à laquelle système et utilisateur se rendent lorsqu’un problème surgit, pour se dire ce qu’il se passe et quel sont les remèdes d’urgence à apporter.
2) Une mémoire RAM à 8 bits, que Microchip appelle Register File, réservée aux données.

A plus proprement parler, il s’agit d’une RAM statique (SRAM). Cet espace est à son tour réparti en deux zones :

a) une zone RAM de 24 emplacements à 8 bits réservée aux registres spéciaux, dont 12 situés en Page 0 (adresses 00 à 0B) et 12 situés en Page 1 (adresses 80 à 8B) selon la mappe suivante :


Page 0

Page 1

00 Adressage indirect

01 TMR0

02 PCL

03 STATUS

04 FSR

05 PORT A

06 PORT B

07

08 EEDATA

09 EEADR

0A PCLATH

0B INTCON

80 Adressage indirect

81 OPTION

82 PCL

83 STATUS

84 FSR

85 TRIS A

86 TRIS B

87

88 EECON1

89 EECON2

8A PCLATH

8B INTCON


Ces registres - auxquels on accède en programmant le bit 5 (RP) du registre STATUS - servent à contrôler le fonctionnement de nombreux organes internes au PIC.

b
0C- 0D - 0E-0F-10-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F
) une zone RAM de données, constituée de 68 emplacements à 8 bits (adresses de 0C à 4F) situés juste au dessous des registres spéciaux, formant la RAM utilisateur proprement dite, selon la mappe détaillée ci- après :

Lors de la programmation il faut toujours indiquer l’adresse de la zone RAM à partir de laquelle le C doit commencer à écrire, ainsi que le nombre d’emplacements à réserver pour chaque variable.

exemple :

ORG OC

Compteur RES 3

Ce qui revient à dire : réserve trois emplacements à la variable Compteur, dans l’ordre suivant :

Compteur à l’adresse 0C Compteur+1 à l’adresse 0D Compteur+2 à l’adresse 0E . Ainsi, par exemple : pour effacer les données de l’adresse OE, on écrira : CLRF Compteur+2.
3) une mémoire de données (Data Memory) EEPROM flash, de 64 emplacements à 8 bits, allant de l’adresse 00 à l’adresse 3F, auxquels on accède uniquement par l’intermédiaire de quatre registres spéciaux:

- EEADR (EEprom ADRess) pour ce qui concerne les adresses

- EEDATA (EEprom DATA) pour ce qui concerne les données

- EECON1 (EEprom CONtrol) permettant de définir le

- EECON2 mode de fonctionnement de cette mémoire.

Pour lire dans cette mémoire, les étapes à suivre sont les suivantes :

1) on écrit l’adresse dans le registre EEADR ;

2) on met à 1 le bit 0 (RD : Read Data) du registre EECON1 (ce qui provoque le transfert de la donnée dans le registre EEDATA)

3) on lit la donnée dans le registre EEDATA où elle est devenue disponible.
Exemple : on veut lire le contenu de l’emplacement mémoire 03 :

BCF STATUS,RP

MOVLW 03

MOVWF EEADR

BSF STATUS,RP

BSF EECON1,0

BCF STATUS,RP

A partir de ce moment, ayant autorisé le mode « lecture », la donnée contenue à l’adresse 03 est disponible dans le registre EEDATA, et on peut l’utiliser comme on veut.

Ainsi, par exemple, on veut lire une donnée en EEPROM et la porter dans le registre W :

BCF STATUS,RP

MOVLW adresse dont on veut lire le contenu

MOVWF EEADR

BSF STATUS,RP

BSF EECON1,0

BCF STATUS,RP

MOVF EEDATA,W
Ecrire une donnée en EEPROM :

Cette séquence montre que pour écrire dans cette mémoire, les étapes à suivre sont un peu plus complexes, car on est obligé de passer d’abord par EECON2 avant de confirmer la donnée par EECON1 :
  1   2   3   4   5   6   7   8   9   10   11

similaire:

Structure d’un système à microprocesseur : ( Structure minimal ) iconChapitre 1 management nrc 2
«structure» dans l'entreprise: struc­ture du capital, structure juridique, structure financière, structure de coûts, structure de...

Structure d’un système à microprocesseur : ( Structure minimal ) iconChapitre 1 management nrc 2
«structure» dans l'entreprise: struc­ture du capital, structure juridique, structure financière, structure de coûts, structure de...

Structure d’un système à microprocesseur : ( Structure minimal ) iconLe Parti communiste est une force qui s’oppose à l’univers
«le temps opportun, l’endroit favorable et l’harmonie entre les gens» expriment des valeurs chinoises. [3] Dans la pensée chinoise,...

Structure d’un système à microprocesseur : ( Structure minimal ) iconAdresse : Structure d'information

Structure d’un système à microprocesseur : ( Structure minimal ) iconIii structure et fonctionnement

Structure d’un système à microprocesseur : ( Structure minimal ) iconLa structure de la Divine Comédie

Structure d’un système à microprocesseur : ( Structure minimal ) iconII\ Morphologie et structure des protozoaires

Structure d’un système à microprocesseur : ( Structure minimal ) iconChapitre 1 : La structure des molécules

Structure d’un système à microprocesseur : ( Structure minimal ) iconIntitulé complet de la structure fédérative

Structure d’un système à microprocesseur : ( Structure minimal ) iconPvc : chemical structure and properties








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com