Université Joseph Fourier Polytech’ Grenoble Filière Informatique Industrielle
Université Joseph Fourier Polytech’ Grenoble Filière Informatique Industrielle et Instrumentation 1ère Année Cours de Microcontrôleurs Basé sur l’utilisation du HCS12 (Motorola) Christophe Durand Année universitaire 2009-2010 2 3 Document écrit par JP Perrin. Merci pour sa contribution. 4 PRÉAMBULE Objectifs épistémologiques Le but de cet enseignement est de vous familiariser avec le fonctionnement et l’utilisation des microcontrôleurs, qui sont devenus aujourd’hui des composants électroniques clé et incontournables pour tous systèmes automatisés. Cet enseignement est composé de cours théoriques (9 séances), de séances de travaux dirigés (10 séances) et de travaux pratiques (8 scéances). En fin d’année, la réalisation d’un « système embarqué » répartie sur 7 séances vous permettra de mettre en œuvre et d’approfondir vos connaissances à la fois en microcontrôleurs et en électronique. Ce sera aussi l’occasion de vous mettre en « situation de projet », situation comparable à votre futur métier d’ingénieur, où vous devrez faire preuve d’organisation, de travail en équipe, de créativité et de professionnalisme. A l’issu de cet enseignement, vous serez capable de : - Connaître le fonctionnement logiciel et matériel d’un microcontrôleur, - De programmer un microcontrôleur à partir de différents niveaux de langage pour qu’il réalise une succession d’étapes logiques et complexes, - D’intégrer un microcontrôleur dans des applications spécifiques. Support et plan du cours Les microcontrôleurs sont des composants intégrés qui contiennent dans un même boîtier un microprocesseur, de la mémoire, et des périphériques courants, tels que timer, liaison série asynchrone, liaison série synchrone, ports d’entrée sortie logiques, contrôleur de bus CAN, convertisseur analogique numérique, etc. Il en existe de nombreuses versions, qui diffèrent suivant les périphériques installés. Nous avons choisi comme support du cours le microcontrôleur Motorola MC9S12DP256B, construit autour d’un microprocesseur HCS12. L’ensemble est monté sur une carte de développement (appelée HCS12 T-Board) qui peut communiquer avec un PC de différentes façons. Motorola propose plusieurs microcontrôleurs autour du même microprocesseur comme les marques automobiles proposent plusieurs options de carrosserie autour du même moteur. Le modèle choisi est plutôt haut de gamme et comporte un grand choix de périphériques internes. Dans une première partie, on s’intéressera principalement aux aspects logiciels du microcontrôleur HCS12 (registres, programmation séquentielle, ruptures de séquence). Dans une seconde partie, on passera aux aspects matériels de la communication avec les périphériques internes ou non (bus d’adresse et de données, timing des échanges). Dans une troisième partie, on étudiera certains contrôleurs de périphériques (pas tous, il y en a trop !) et on utilisera cette programmation pour piloter ces contrôleurs. Nous travaillerons essentiellement en langage d’assemblage (assembleur), le but étant de comprendre comment s’y prend un microcontrôleur pour réaliser des instructions structurées. 5 6 COURS n°1 Du microprocesseur au microcontrôleur Comparaison anthropomorphique : Le cerveau s’apparente-t-il à un microprocesseur ? Voir présentation… Un microprocesseur muni de mémoire peut être, dans une première approche, considéré comme un « cerveau » capable d’effectuer des opérations diverses (opérations arithmétiques, logiques) et de les enchaîner dans un processus cohérent. Tel quel, un microprocesseur (on parle aussi du CPU : Central Processing Unit) n’a aucune utilité puisqu’il ne peut communiquer avec le milieu extérieur. Pour pouvoir être efficace, un microprocesseur doit disposer d’organes d’entrée-sortie (clavier, souris, écran, haut-parleur), comme le cerveau qui dispose d’organes d’entrée (oreilles, yeux, toucher) et de sortie (paroles, gestes). Nous appelons « micro »ordinateur cette structure « micro »processeur + périphériques + liens. contrôl.clavier entrée logique conv. ana/num conv. num/ana capt.logique capt.analog act. logique act.analog contrôl.écran contrôl.son sortie logique contrôl.souris contrôl mémoire de masse CPU Du microprocesseur au microcontrôleur… La partie principale d’un micro-ordinateur est la « carte mère » sur laquelle sont montés le microprocesseur, les contrôleurs de périphériques et les lignes qui les connectent entre eux sous forme de circuit imprimé. Avec les progrès de la miniaturisation, et la généralisation de l’utilisation des ordinateurs, les besoins les plus courants se sont standardisés et on a pu disposer toute une carte mère au sein d’une seule et même puce, appelée microcontrôleur. L’usage de microcontrôleurs est actuellement en plein développement dans toute l’informatique industrielle, et à tous les degrés de complexité (de 8 pattes à près de 200 pattes). 7 Un système informatique complet regroupe autour d'un microcontrôleur un ensemble de composants qui lui permettent de fonctionner (essentiellement mémoires) et de communiquer avec le milieu extérieur (contrôleurs de périphériques). Le fonctionnement du processeur consiste à exécuter un programme, c'est à dire une suite d'instructions pointées par le compteur ordinal (pointeur de programme). Logiciellement, les composants extérieurs au processeur sont vus comme des adresses avec lesquelles il communique par des opérations d'écriture (processeur→ composant) ou de lecture (composant→ processeur). L'exécution du programme comporte les phases suivantes : - Lire en mémoire l'octet dont l'adresse est contenue dans le compteur ordinal, - Analyser l'octet pour trouver le nombre d'octets qui complètent l'instruction, - Incrémenter le compteur ordinal et lire ces octets, - Interpréter le code et exécuter l'instruction, qui peut ou non comporter une lecture et une écriture à une adresse. Il y a donc sans cesse communication entre le processeur et les composants périphériques. Physiquement, le processeur utilise pour cette communication : - Le bus de données, qui véhicule l'information (sous forme de mots dans le HC12), - Le bus d'adresses, qui permet, après décodage, d'activer le chip select approprié, - Des lignes de contrôle qui permettent d'assurer les échanges d'information selon des protocoles temporels précis (chronogrammes) spécifiques au microcontrôleur. Les lignes principales sont la ligne R/ W qui indique le sens de transfert des données, et la ligne E, horloge interne du processeur, qui cadence toutes les opérations. La conception d'un système complet se décompose schématiquement en plusieurs phases : - Choix de composants compatibles avec le processeur (signaux et chronogrammes). Les fabricants de processeurs proposent en général une famille de composants périphériques directement adaptables à leur processeur. Si on choisit ailleurs, il n'est pas rare d'avoir besoin d'une mise en forme des signaux pour avoir des échanges corrects. - Choix de la carte mémoire du système. Il s'agit d'attribuer une adresse ou une zone d'adresses à chaque composant, et de réaliser les décodages d'adresse correspondants. - Réalisation matérielle du système : implantation des divers composants, des alims, des logiques de décodage et des bus sur un support matériel (routage). - Mise au point des liaisons matérielles pour un fonctionnement correct de la carte. Ces opérations représentent un investissement lourd en temps et en matière grise. En outre, on constate que les systèmes se ressemblent et utilisent les mêmes types de composants : - De la mémoire ROM et RAM au moins pour implanter le programme de gestion et tenir à jour ses variables et ses données. - Un moyen de communication logiciel avec l'extérieur en entrée et en sortie (transfert de données, téléchargement de programmes ou de paramètres de gestion), très souvent liaison série asynchrone ou synchrone. - Les autres périphériques varient suivant la tâche à exécuter, mais on retrouve très souvent des entrées et sorties logiques, des entrées et sorties analogiques et une gestion du temps (timer et horloge temps réel). 8 Il est donc naturel qu'on ait cherché à économiser du temps de mise au point en réalisant des cartes standard répondant à des demandes standard elles aussi. Il existe depuis longtemps déjà dans les catalogues une grande variété de cartes d'entrées-sorties adaptables à une grande variété de matériels avec une grande variété de destinations et de performances. Les progrès de l'intégration des circuits permettent actuellement de réaliser toute une carte de développement sur un seul composant. Cette idée est à l'origine de tous les microcontrôleurs. Notions de microcontrôleur Le principe de base des microcontrôleurs repose sur l’inclusion dans le même boîtier du microprocesseur et de divers périphériques, de manière à avoir un composant autonome. Les bus de données et d’adresses sont internes au composant, ainsi que les décodages d’adresse relatifs à chaque « périphérique interne ». Les registres de contrôle des périphériques sont regroupés dans la zone d’adresse « registres du microcontrôleur ». On trouve également dans cette zone divers registres de personnalisation du microcontrôleur. Les pattes du composant se réduisent alors essentiellement à des lignes d’entrée-sortie tant logiques qu’analogiques. L'étude d'un tel composant est beaucoup plus longue et donc beaucoup plus coûteuse que celle d'une carte. Pour être rentable, le produit doit répondre aux besoins du plus grand nombre pour un prix le plus modeste possible. Les fabricants proposent en général toute une gamme de microcontrôleurs construits à partir du même microprocesseur. De plus on peut personnaliser chaque microcontrôleur par programmation de registres internes pour encore plus de flexibilité. Toutes les fonctions ne sont pas disponibles à la fois, on aura toujours affaire à un compromis. Les avantages d’un microcontrôleur sont les mêmes que ceux des cartes toutes faites qu'on trouve dans le commerce : une utilisation quasi immédiate, sans problème de conception, de réalisation et de mise au point. On peut y ajouter son faible encombrement, son prix modéré et une plus grande fiabilité du fait que les lignes de contrôle sont toutes internes. Les inconvénients sont ceux du « tout compris ». uploads/Management/ cours-c.pdf
Documents similaires










-
39
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 30, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.3966MB