Structure d’un système à microprocesseur
Un microprocesseur a besoin de certains éléments formant des blocs pour fonctionner. Parmi les blocs les plus utilisés, nous pouvons citer :
• La mémoire morte dite ROM (principalement pour stocker le programme)
• La mémoire vive dite RAM (principalement pour stocker les variables)
• Les périphériques (principalement pour communiquer avec le monde extérieur).
Ces différents blocs sont reliés entre eux par trois (3) types de bus :
• Le bus d’adresse qui permet au microprocesseur de sélectionner la case mémoire ou le périphérique auquel il veut accéder pour lire ou écrire une information (instruction ou donnée).
• Le bus de données permet le transfert des informations entre les différents blocs.
• Le bus de contrôle qui indique, soit si l’opération en cours est une lecture ou une écriture, soit si un périphérique demande une interruption.
Lorsque le microcontrôleur est en mode de fonctionnement, il suit une procédure composée de plusieurs étapes dont les essentielles sont les suivantes :
• A la mise en route du système, le microprocesseur cherche dans la mémoire à l’adresse 0 (pour la plupart des processeurs) la première instruction à exécuter.
• Il stocke cette instruction dans un registre interne appelé registre d’instruction.
• Il exécute cette instruction.
• Tout en consultant le registre pointeur d’instruction, il passe à l’instruction suivante.
Les microcontrôleurs améliorent l’intégration d’un système à base de microprocesseur en rassemblant ces blocs essentiels dans un seul circuit intégré. Et nous parlons, dans ce cas, d’un « système sur une puce ». Dans la suite, nous nous intéressons plus particulièrement aux microcontrôleurs 8 bits, c’està-dire, à ceux dont les bus de données comportent 8 bits et les bus d’adresses, 16 bits.
Description et programmation de la tâche à accomplir
On définit dans le cahier de charge l’ensemble des commandes ou actions que doit réaliser le microcontrôleur. Ces définitions sont données dans un ordre spécifique : il s’agit d’un fonctionnement séquentiel. Avant d’en générer le code machine binaire compréhensible par le microcontrôleur, des étapes intermédiaires sont nécessaires afin de réduire les risques d’erreurs et les difficultés. On fait d’abord apparaître le cycle de fonctionnement à l’aide de deux représentations normalisées : algorithme et l’organigramme. On peut ensuite écrire le programme associé en utilisant différents langages :
• Un langage assembleur spécifique au type du microprocesseur qui est traduit en code machine lors de l’opération d’assembleur.
• Un langage évolué (C, Pascal et Basic) utilisant des procédures adaptées au type de microprocesseur et qui est traduit en code machine par une opération de compilation effectuée par un « Cross compilateur ».
Que ce soit dans un langage assembleur ou évolué, l’écriture du programme ainsi que sa mise au point doit suivre l’algorithme suivant, (voir figure 1.2) :
• Saisie du programme en langage assembleur ou évolué
• Traduction du langage assembleur ou évolué en code machine
• Vérification du fonctionnement du programme avec : soit un logiciel simulant le microcontrôleur, soit une carte électronique connectée à un ordinateur et pilotée par un logiciel fonctionnant comme le microcontrôleur
• Remplissage de la mémoire programme avec le programme en code machine
• Vérification réelle du fonctionnement.
Branchement au matériel
Pour programmer le microcontrôleur, une nappe de 6 broches relie ISP6PIN et ISP. Ainsi, le câble RS-232 CTRL établit la liaison entre le STK500 et le port COM de l’ordinateur.
Résultats d’acquisition des données avec le CAN
Les quatre (4) grandeurs analogiques prélevées sont acheminées vers les voies 0, 1, 2, et 3 du port A. puis entrent, dans le CAN pour pouvoir être converties. L’intervalle de mesure est entre 0V et 5V, la tension maximale évaluée par l’ATmega16L. Les résultats obtenus par le convertisseur passent par le multiplexeur et sont envoyés sur le port B du microcontrôleur pour être affichés sur l’écran de l’ordinateur et ceci, pour une éventuelle lecture directe. La figure 4.24 montre l’évolution des températures de l’alcool dans le distillateur obtenues avec les deux capteurs de température et celle de la concentration de l’alcool à la sortie du refroidisseur donnée par le dernier capteur. Sur cette figure, les signaux numériques à la sortie du CAN ne sont encore convertis en grandeurs réelles. Il en est de même pour la figure 4.25 qui montre l’évolution des températures en trois endroits différents et l’évolution de la concentration de l’alcool à la sortie du refroidisseur. La figure 4.27 montre les évolutions des températures aux mêmes trois endroits différents que précédemment et l’évolution à la sortie du refroidisseur, mais pendant la période de préchauffage. L’alcool étant volatil que l’eau, par distillation à la pression atmosphérique, il bout à 78,4°C, une température nettement inférieure à 100 °C. Ainsi, le gaz qui surmonte le mélange alcoolique porté à l’ébullition est enrichi en alcool. Sur les figures 4.25 et 4.27, nous avons les conventions suivantes :
• La courbe en couleur marron représente la température de vaporisation d’alcool.
• Les courbes de couleurs bleu clair et vert représentent respectivement les températures à la colonne du distillateur en deux endroits différents.
• La courbe en couleur bleu foncé représente l’évolution du taux d’alcool.
Ces résultats montrent que, la courbe de la distillation de l’alcool comporte trois zones :
• Une zone correspondant à la montée de la température du chauffe-ballon
• Une zone droite de forte pente pendant laquelle la température du mélange augmente très rapidement
• Une zone horizontale, appelée palier de vaporisation, qui correspond à l’ébullition de l’alcool. Nous remarquons que tout au long du palier de vaporisation, les phases liquide et vapeur coexistent et la température ne change pas. La température du palier de vaporisation est différente de celle observée pour la vaporisation de l’eau.
CONCLUSION GENERALE
L’électronique numérique occupe une place de plus en plus importante suite à l’évolution de la technologie. Avec le phénomène de miniaturisation, les domaines d’application des microprocesseurs sont en pleine expansion. La libération du chercheur de travaux fastidieux des opérations de mesures, de suivi ou de contrôle est, en partie, atteinte à cause de l’utilisation du microprocesseur ATmega16L. Par ailleurs, ce travail nous a permis également de maîtriser la technique de la prospection des logiciels CodeVision et l’AVR Studio 4 et les avantages apportés par ATmega16L. Nous avons remarqué que ces logiciels ont facilité largement la réalisation de notre travail, malgré les nombreux problèmes rencontrés durant l’expérimentation. Toutes les données peuvent être acquises à travers le programmateur STK500 mais ces solutions sont à éviter pour la longévité du dispositif d’acquisition. L’AVR Studio 4 est un grand logiciel et soutient le réalisateur dans les procédures des conception, correction et vérification du processus. Cependant, l’ATmega16L, prêt à l’emploi, est destiné aux utilisations de 10 000 programmes différents. Dans notre étude, la manipulation était axée essentiellement à la réalisation du CAN. En outre l’ATmega16L peut être utilisé dans l’élaboration de systèmes embarqués qui nécessitent des traitements spécialisés, ou en robotique dans la réalisation de robots autonomes. Les résultats obtenus nous encouragent à développer les différentes applications de ce microprocesseur.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE 1. LE MICROCONTROLEUR EN GENERAL
1.1. Définition
1.1.1. Structure d’un système à microprocesseur
1.1.2. Périphériques
1.1.3. Jeu d’instructions
1.1.3.1. Instructions de transfert
1.1.3.2. Instructions arithmétiques
1.1.3.3. Instructions logiques
1.1.3.4. Instructions d’entrées/sorties
1.1.3.5. Instructions de branchement
1.1.4. Mode d’adressage pour les données
1.1.4.1. Adressage registre ou inhérent
1.1.4.2. Mode d’adressage implicite
1.1.4.3. Mode d’adressage immédiat
1.1.4.4. Adressage direct
1.1.4.5. Adressage indirect à registre
1.1.4.6. Mode d’adressage indexé
1.2. Description et programmation de la tâche à accomplir
1.3. Conclusion
CHAPITRE 2. LE MICROCONTROLEUR ATMEL ATmega16L
2.1. Généralités de l’Atmel
2.2. Description de l’ATmega16L
2.3. Interruption
2.4. Entrées et sorties
2.5. Convertisseur Analogique Numérique du microcontrôleur ATmega16L
2.6. Conclusion
CHAPITRE 3. ETUDE THEORIQUE D’UN PROGRAMMATEUR STK500
3.1. Branchement au matériel
3.2. Description de l’utilisateur LED
3.3. Description de l’utilisateur des Switchs
3.4. Fonction de l’interface RS-232
3.4.1. Communication en série
3.4.2. Dialogue port série
3.4.3. Brochages du port série
3.5. Transmission des données
3.5.1. Ordre de transfert de données
3.5.2. Mode de transmission de données
3.6. Conclusion
CHAPITRE 4. EXPERIMENTATION
4.1. Principe du traitement de données
4.1.1. Utilisation des logiciels CodeVision et AVR Studio 4
4.1.1.1. CodeVision
a)- Création de nouveau projet
b)- Configuration de la puce
c)- Configuration des ports
d)- Configuration de port de contrôle et port d’état
e)- Configuration du CAN
f)- Affichage du programme
4.1.1.2. AVR Studio 4
a)- Simulateur de la programmation
b)- Configuration port série
c)- Communication de l’AVR avec l’STK500
4.1.3. Résolution d’un Convertisseur Analogique Numérique
4.1.3.1. Plage de conversion du CAN
4.1.3.2. Etalonnage du CAN
4.2. Principe d’acquisition des données
4.2.1. Particularité des étapes d’acquisition
4.2.1.1. Interface
4.2.1.2. Capteur et interface
4.2.1.3. Interface et ordinateur
4.2.2. Réglages préliminaires
4.2.2.1. Capteur d’alcool
4.2.2.2. Capteurs de température
a)- Etalonnage des capteurs de température
b)- Résultat et courbe d’étalonnage du capteur
4.2.3. Mise en place des capteurs sur le distillateur
4.3. Résultats d’acquisition des données avec le CAN
4.4. Conclusion
CONCLUSION GENERALE
Télécharger le rapport complet