Introduction aux microcontrôleurs Un microcontrôleur est un circuit intégré d
Introduction aux microcontrôleurs Un microcontrôleur est un circuit intégré de traitement de l’information, réunissant les éléments essentiels d’une structure à base de microprocesseur. Généralement on trouve à l’intérieur d’un tel composant : • Un microprocesseur (C.P.U.), • Une horloge ( RCC) • De la mémoire vive (RAM), pour stocker les données de l’application • De la mémoire morte (EEPROM, Flash…), pour sauvegarder le code de l’application • Des interfaces d’entrées/sorties : GPIO, USART, USB, SPI, Ethernet… • Des Timers pour générer ou mesurer des signaux avec une grande précision temporelle • Des convertisseurs analogique / numérique (ADC). • Watch dog • …. Avantages/Inconvénients des MCU Avantages: • Diminution de l’encombrement du matériel et du circuit imprimé • Simplification du tracé du circuit imprimé (plus besoin de tracer de bus ) • Augmentation de la fiabilité du système: • diminution du nombre de composants. • Diminution des connexions entre composants et circuit imprimé. • Diminution de la consommation • Diminution du coût : • moins cher que les composants qu’il remplace • Diminution des coûts de main d’oeuvre (conception et montage du circuit imprimé) Inconvénients: • Performance réduite : • Investissement dans les outils de développement : IDE, compilateurs, debugger Organisation fonctionnelle microcontrôleur 1 • Les capteurs captent les grandeurs physiques de l’environnement ( température, humidité, mouvement, ….) • Le MCU traite ses informations • À travers les actionneurs, le MCU agit sur l’environnement pour le Controller. “Les capteurs ( de temperature, d’humidité, de luminosité, de movement,….) scrutent l’environnement pour y capter les grandeurs physiques et les envoyer ensuite au microcontrolleurs. • “Ce derniers traits ces signaux puis active des acctionneurs pour agir sur cet environnement ( activer un radiateur, active les vannes pour arrosage, allumer des led pour avertissement?....)” Organisation fonctionnelle microcontrôleur Architecture et composants d’un MCU 1. Le Processeur. 2. Mémoire de programmes. 3. Mémoire de données. 4. Direct Memory Access (DMA). 5. Times. 6. Le chien de garde (Watchdog). 7. Les interfaces de communication. 8. Contrôleur d’interruption. 9. Convertisseur analogique numérique. 10.Le bus interne. 2 Architecture et composant du MCU Le processeur : caractéristique : Peut être de 8, 16, 32 ou 64 bits. Peut être RISC ou CISC. Possède un Jeu d’instructions qui est généralement réduit par rapport à un microprocesseur généraliste. Caractérisé par son codage des instructions et ses modes d’adressages. Pipeline : 3,5, 7 étages. Mémoire cache/ sans cache. Le Processeur : Harvard ou Von Neumann 3 le processeur : CISC / RISC Une mémoire morte qui contient les instructions du programme que doit exécuter le microprocesseur dès la mise sous tension (de l’ordre de kilo octets). Ce type de mémoire, est uniquement accessible en lecture. Sa programmation nécessite une procédure particulière et un matériel adéquat. Il en existe différents types selon leur mode de programmation : o De la EPROM programmable électriquement et effaçable aux U-V (appelée aussi UVPROM), o De la EPROM programmable et effaçable électriquement. o De la mémoire flash (programmable à une vitesse plus rapide, densité élevée) : c’est la plus utilisée aujourd’hui dans les MCU. Mémoire de programme : • Une mémoire morte qui contient les instructions du programme que doit exécuter le microprocesseur dés la mise sous tension ( de l’ordre de kilo octets). • Ce type de mémoire, est uniquement accessible en lecture. Sa programmation nécessite une procédure particulière et un matériel adéquat. • Il en existe différents types selon leur mode de programmation : • De la EPROM programmable électriquement et effaçable aux U-V (appelée aussi UVPROM), • De la EEPROM programmable et effaçable électriquement. • De la mémoire flash (programmable à une vitesse plus rapide, densité élevée) : c’est la plus utilisée aujourd’hui dans les MCU Mémoires de données Ce dispositif permet de mémoriser temporairement les données générées par le microprocesseur pendant les différentes phases du traitement numérique (résultats d’opérations, états des capteurs...). Ces mémoires sont accessibles en écriture et en lecture ( de l’ordre de centaines d’octets). On en trouve 2 types : • De la mémoire vive (RAM) volatile : SRAM ou DRAM , les données perdues en cas de coupure de l’alimentation) ayant un temps de lecture et écriture assez court(quelques ns), • De la mémoire morte (EEPROM) non-volatile : (données conservées en cas de coupure de l’alimentation). Direct Memory Access (DMA) • Transfert rapide de données entre • Mémoire et Périphériques • Périphérique périphérique • Mémoire et mémoire sans l’intervention du processeur Permet au processeur de réaliser d’autre actions pendant le transfert. TIMER Le Timer permet de réaliser les fonctions suivantes : 1. Génération d’un signal périodique 2. Génération d’une impulsion calibrée, 3. Temporisation: compter les cycles d’horloge du uc lui-même. Dans ce cas, comme l’horloge est fixe, il s’agit en réalité de compter du temps. 4 4. Comptage d'événements: compter les impulsions reçues sur un pin d’entrée. Plusieurs registres associés au Timer permettent de configurer les différents modes décrits précédemment. Le chien de garde (Watchdog) Ce dispositif est un système anti-plantage du microcontrôleur. Il s’assure qu’il n’y ait pas d'exécution prolongé d’une même suite d’instructions. il s'agit en général d'un compteur qui est régulièrement remis à zéro. Si le compteur dépasse une valeur donnée (timeout) alors on procède à un reset (redémarrage) du système. Le chien de garde consiste souvent en un registre qui est mis à jour via une interruption régulière. Un compteur préchargeable se décrémente régulièrement au rythme de la fréquence d’horloge. Si aucun préchargement n’est effectué avant qu’il n’atteigne la valeur “0” un Reset est généré relançant ainsi le microcontrôleur. Il faut donc penser à précharger régulièrement ce chien de garde par programme lorsqu’il est activé. Interface de communication: Input/output Bloc (IOB) Répartie sur plusieurs ports (un ensemble de broches). Les broches de ces ports peuvent donc être configurées en entrée ou en sortie, avec différentes options (résistances de rappel:pull-up, pull-down,...). Les ports peuvent être configurés pour établir des connexions parallèles ou série. La configuration ainsi que l’état logique de ces broches est obtenue par des opérations d’écriture ou de lecture dans différents registres associés à chaque port. On trouve généralement : o Un registre de configuration pour une configuration en entrée ou en sortie avec plusieurs options. o Un registre de donnée recopiant les états logiques de chaque broche de port. Interface de communication : Les interfaces série C’est un circuit qui permet au processeur d’envoyer des données parallèles correspondant au différent bits de données à travers une seule ligne et l’inverse. Les données envoyées ou reçues se présentes sous la forme d’une succession de valeurs binaires (bit stream). Il y a 2 types de liaison série : synchrone et asynchrone. 5 Contrôleur d’interruptions : Le mécanisme des interruptions permet à un processeur de réagir à un ensemble d’évènements sans pour autant surveiller par programme leur apparition. Une interruption est un évènement capable d’arrêter le déroulement d’un programme pour exécuter une routine en réponse à cet événement. Deux types d’interruption: • les interruptions provenant de périphériques internes (timer, passage par zéro d’un compteur interne, watchdog, USB, ethernet, ..) • les interruptions provenant de périphériques externe (reset, bouton poussoir, clavier, changement d’état d’un signal extérieur, …) à travers les broches d’entrées sorties. Plusieurs interruptions peuvent être déclenchées en même temps, il existe souvent un contrôleur d'interruptions destiné à gérer les conflits entre interruptions Les interruptions peuvent être: • NMI (No Maskable Interrupt) : interruption non – masquable • IRQ (Interrupt Request) : interruption masquable. Une interruption est signalée au processeur par un signal électrique sur une borne spéciale. Lors de la réception de ce signal, le processeur (traite) l'interruption dès la fin de l'instruction qu'il était en train d'exécuter. Le traitement de l'interruption consiste soit : A l’ignorer et passer à l'instruction suivante : c'est possible uniquement pour certaines interruptions, nommées interruptions masquables. Il est en effet parfois nécessaire de pouvoir ignorer les interruptions pendant un certain temps, pour effectuer des traitements plus urgents . Lorsque le traitement est terminé, le processeur démasque les interruptions et les prend alors en compte. A arrêter la tâche en cours. Le processeur sauvegarde son état ( ces registres) en mémoire (la zone pile) et appelle la routine correspondant au numéro d'interruption. L'adresse de début de la routine est donnée par la table des vecteurs d'interruptions. 6 Convertisseur Analogique Numérique (CAN / ADC) • Il possède plusieurs entrées multiplexées accessibles via les broches des ports de l’interface parallèle. • Le ADC possède normalement 2 registres : • Un registre de données contenant le résultat de la conversion, • Un registre de contrôle permettant de lancer et de surveiller la conversion. Bus interne : ARM On-Chip • Tous les composants qu’on vient de voir communique avec le processeur à travers un bus interne. • Parmi les bus on cite le bus AMBA de ARM : Advanced Microcontroller Bus Architecture • AHB: Advanced High-performance Bus • APB: Advanced Peripheral Bus. 7 uploads/Management/ introduction-microcontroleur.pdf
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 04, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.5070MB