INTRODUCTION AUX SYSTÈMES PROGRAMMABLES.
MICROCONTROLEURS ET MICROPROCESSEURS
Contenu
INTRODUCTION
PROGRAMMABILITÉ............................................................................................................... 1
SYSTÈMES PROGRAMMABLES. ARCHITECTURE DE VON NEUMANN..................... 2
MICROCONTROLLEURS..................................................................................................... 4
INTRODUCTION
Les systèmes que nous avons étudiés jusqu'à présent exécutent, en général, une
unique function (rigid logic): LOGIQUE CÂBLÉE
L'économie de matériel est fondamentale si l'on souhaite réaliser
opérations déterminées
Les circuits séquentiels supposent une réduction notable des
coûts matériels par rapport aux combinatoires, au prix de
augmenter le temps de fonctionnement
L'objectif est qu'une même structure physique soit capable d'effectuer
opérations multiples : LOGIQUE PROGRAMMÉE
Programmation : à ce niveau, nous entendons par là l'information qui
détermine le comportement d'un système
PROGRAMMATION
Il existe diverses façons d'implémenter des circuits logiques en fonction de la
complexité du design :
-Circuits logiques standard : 7400, 7402, 74138... Valables pour des applications
peu complexes
-Logique programmable (PLD) : alternative à la conception avec des circuits logiques
norme pour des conceptions de complexité moyenne/élevée
Systèmes microprocesseurs ou microcontrôleurs : pour des applications très
complexes ou qui nécessitent de traiter d'importantes quantités d'informations.
SYSTÈMES PROGRAMMABLES. ARCHITECTURE DE VON NEUMANN
Les systèmes programmables matériels sont très utiles, mais ce ne sont pas la meilleure solution
pour avoir un haut niveau de programmabilité.
Des systèmes beaucoup plus flexibles sont nécessaires, où la programmation est
basée sur des solutions logicielles.
Les systèmes de micro-ordinateurs actuels sont basés sur l'architecture
de von Neumann
L'opération du système consiste (de manière simplifiée) :
La fonction à réaliser s'appelle programme
Chaque étape pour compléter la fonction s'appelle instruction
(opération fondamentale très simple)
Programme : séquence ordonnée d'instructions (de manière synchrone
avec le signal de l'horloge)
La réalisation de ce type de structures avec un système séquentiel
comme ceux vus jusqu'à présent serait inviable
Différences entre MICROCONTROLEURS et MICROPROCESSEURS
Pour comprendre plus précisément les différences entre un microprocesseur et
un microcontrôleur, passons en revue la terminologie suivante :
Unité centrale de traitement (CPU) - C'est le "cerveau" d'un ordinateur.
manière plus précise, c'est la partie d'un ordinateur qui s'occupe de trier et
contrôler le processus et le transfert d'informations. Le CPU interprète les
instructions du programme et coordonne son exécution.
Microprocesseur (μp) - C'est une unité centrale de traitement (CPU) dans un seul circuit intégré.
Micro-ordinateur (μc).- C'est un ordinateur dont le CPU est un μp.
Microcontrôleur (μcc). - C'est un micro-ordinateur dans un seul circuit intégré.
Ces dispositifs réalisent la programmation par des instructions logicielles, c'est
dire, nous introduisons le comportement du système à travers une succession de
instructions sous forme de programme.
Le microcontrôleur effectuera la même opération autant de fois que nous le voulons,
ne peut exécuter qu'un seul programme
Ordinateur.- Un ordinateur est un système séquentiel synchrone programmable,
laquelle, pour exercer ses fonctions, doit posséder en plus du CPU :
Canaux pour le flux d'information
- Dispositifs pour stocker des informations
Dispositifs pour communiquer avec l'extérieur
Dans la figure suivante, la structure est présentée de manière schématique et très générale
d'un ordinateur.
L'architecture d'ordinateur la plus utilisée actuellement s'appelle
L'architecture Princeton ou Von Neumann a la caractéristique de posséder un bus
appel commun bus de données pour l'information sans distinction entre les données
instructions.
MICROCONTROLEURS
Un microcontrôleur (μC) est un ordinateur intégré dans un circuit
intégré. Donc, c'est un ordinateur "petit": il a peu de mémoire, un
processeur très simple, ne reconnaît que quelques instructions et les périphériques
que se peuvent connecter sont assez limités.
Par exemple, le modèle PIC12C509 est contenu dans un boîtier avec 8 broches,
occupe une superficie de 12 mm de long par 6 mm de large, pèse un peu plus de 3 g
et son prix peut être inférieur à 1 €.
Souvent, les μC sont intégrés dans le produit qu'ils contrôlent. Les μC embarqués
ils exécutent toujours le même programme, gèrent des données similaires et contrôlent les
mêmes périphériques.
L'entreprise Intel a été la pionnière des Μccon avec la fabrication du modèle 8048 dans la
décennie 1970. Déjà en 1971, Intel a commercialisé le premier microprocesseur.
Cependant, dans les années 1990, l'entreprise Motorola était l'entreprise leader.
mondial dans le secteur des μC.
CLASSIFICATION
La classification la plus courante des μC est selon la taille des sous-bus de données, qui
c'est l'ensemble des lignes par lesquelles l'information est transférée à l'intérieur
du processeur.
Un μC de 8 bits manipulera des données de cette longueur (l'aspect d'une donnée pourrait être,
par exemple, celui-ci : 01000110).
Selon cela, nous distinguerons quatre types :
•μC de 4 bits : ce sont les plus simples ; ils sont utilisés dans de petits automatismes.
jouets.
•μC de 8 bits : ce sont les plus utilisés en raison de leur grande diversité et polyvalence.
•µC de 16 bits : son utilisation commence à se généraliser.
•μC de 32 bits : sont utilisés dans des projets avancés (intelligence artificielle,
applications militaires, etc.).
Un μC se compose principalement de quatre parties : mémoire du programme, mémoire de
données, processeur et ressources auxiliaires.
•Mémoire du programme. Contient les instructions du programme qui gouverne la
application à laquelle le μC est destiné. Comme toujours, il effectue la même tâche, il s'agit
d'une mémoire non volatile (puisque les informations enregistrées ne doivent pas être perdues lorsque
la connexion à l'information est déconnectée).
•Mémoire de données. Stocke les données variables et les résultats temporaires.
Il doit permettre la lecture et l'écriture.
•Processeur. Il est chargé d'interpréter et d'exécuter les instructions du
programme. Il se compose de deux parties fondamentales : l'unité de contrôle (qui traduit
les instructions) et le chemin de données(qui exécute les instructions).
•Ressources auxiliaires. Parmi elles, on trouve : minuteries, comparateurs
de signaux, convertisseurs AD et DA, interruptions, etc.
LA FAMILLE PIC DE MICROCHIP
MICROCONTROLEURS CLASSIFICATION
Pour chaque application concrète, il existe un μC optimal, donc on ne peut pas parler de
meilleur de tous
L'entreprise Microchip (Chandler, Arizona) a gravi des échelons dans le classement
mondial des ventes de microcontrôleurs de 8 bits. Les modèles PIC (il y en a plus de
un centenaire) se caractérisent par leur faible consommation et par la large plage de tension
qui sont admis pour leur alimentation. D'autre part, tant la taille du code que
génèrent leurs programmes comme leur vitesse d'exécution dépasse substantiellement
à ses concurrents.
Le modèle PIC16F84 est optimal pour être utilisé comme contrôleur de petits
robots mobiles. Ses caractéristiques les plus pertinentes sont :
•Encapsulateur réduit (18 patillas).
• La mémoire du programme peut stocker 1 Ko de mots de 14 bits (en
chacune d'elles contenant une instruction). De plus, étant de type FLASH,
permet de l'enregistrer et de l'effacer environ 1000 cycles en toute sécurité.
• La mémoire de données se compose d'une zone RAM volatile de 68 octets et d'une autre
EEPROM non volatile de 64 octets.
• Dispose de 13 lignes d'E/S digitales.
• La fréquence maximale de fonctionnement est de 10 MHz.
La tension d'alimentation est comprise entre 2 et 6 VDC.
MODE DE TRAVAIL
Pour exécuter une instruction (le PIC ne distingue que 35 instructions différentes), le
PIC la divise en opérations élémentaires, chacune d'entre elles étant toujours
exécute en même temps.
Ce temps est établi par une horloge très précise qui indique le début et la fin
de chaque. Si elle travaille à 10 MHz, chaque cycle d'horloge aura une durée de 100
ns y à ce moment-là, une opération élémentaire d'une instruction sera effectuée. Par
par conséquent, une instruction mettra plusieurs cycles d'horloge à s'exécuter.
Plus la fréquence de travail est élevée, plus la consommation est également importante.
énergie.
Le cycle d'instructions est le temps nécessaire pour exécuter une instruction. Un
l'instruction s'exécute en deux phases :
1. Phase de recherche, dans laquelle on cherche le code binaire de l'instruction dans le
mémoire du programme.
2. Phase d'exécution, dans laquelle le code est interprété, les opérandes sont recherchés et
l'opération qui implique s'exécute.
APPLICATIONS DES MICROCONTROLEURS.
Les applications spécifiques des μcc sont tellement variées que non
Il est exagéré de dire que celles-ci sont limitées seulement par l'imagination de
designer.
Dans tout problème nécessitant un instrument numérique compact qui
soyez capable d'effectuer des fonctions telles que les suivantes, il est possible de penser à un système
basé sur un μcc : séquençage, codage/décodage, surveillance
acquisition de données, signalisation, traitement du signal, contrôle
temporisation, calculs arithmétiques simples, communications, automatisation
contrôle marche - arrêt, etc.
LA PROGRAMMATION DES MICROCONTROLEURS
Le terme algorithme fait référence à la manière de résoudre un problème ou de
effectuer une action.
Pour exprimer un algorithme, nous devons utiliser un langage : parlé, écrit,
graphique, gestuel…
Habituellement, dans le monde informatique, les algorithmes sont exprimés par
diagrammes de flux (en anglais, flowcharts), qui sont des combinaisons de symboles et
mots.
Les symboles les plus courants dans ces diagrammes sont :
Un diagramme de flux doit commencer par l'instruction START et, bien que ce ne soit pas
impératif, il est conseillé de terminer par l'instruction STOP.
Élaborer un diagramme de flux pour exprimer un algorithme n'est que la première étape.
pour programmer un μC. La suivante chose à faire est d'implémenter l'algorithme.
Implémenter un programme, en partant du diagramme de flux, en utilisant
un langage de haut niveau ; par exemple : Visual Basic, Delphi (Visual Pascal), Visual
C, etc.
Enfin, un logiciel compilateur se chargera de traduire ce programme en
langage que le μC peut comprendre : le code machine.