Systèmes Embarqués Avancés MC-II2 - Cours/TP 0 J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2013-2014 1/26
MC-II2 Systèmes multitâches et systèmes temps réels Objectifs Comprendre et maîtriser l organisation fonctionnelle d une application embarquée Savoir développer une application embarquée en langage évolué Programmer une machine à état sur un système à microcontroleur Compétences minimales Développer une application en langage évolué pour une cible à microcontrôleur, Gérer les périphériques d entrées-sorties pour s interfacer avec un environnement, Mettre en oeuvre le mécanisme de fonctionnement en régime d interruption de programme simple 2/26
Organisation du module et notation 1 Introduction aux systèmes embarqués 2 Programmation en C des PIC 3 Constitution d un système embarqué à microcontroleur PIC16F 4 Migration vers les PIC18F 5 Gestion du temps / Timers matériel et logiciel 6 Programmation par machine à état 2 TP Test (2h chacun - coeff. 1) 1 note de participation (coeff. 0.5) 1 note de compte-rendu (coeff. 0.5) 3/26
Découpage du module Séance 1 Introduction aux systèmes embarqués (TP0) et Découverte de MPLABX Séance 2 Programmation en C des PIC (TP1) Séance 3 Constitution d un système embarqué à microcontroleur PIC16F (TP2) Séance 4 Migration vers les PIC18F (TP3) Séance 5 TP Test 1 Séance 6 Gestion du temps / Timers matériel et logiciel (TP4) Séance 7 Programmation par machine à état (TP5) Séance 8 TP Test 2 4/26
Les adresses à connaître Pour toute question sur le cours ou les TD/TP : julien.villemejane@u-pec.fr Les cours, TD et TP au format numérique : http ://cours.villemejane.net/ Microcontrôleurs PIC : http ://www.microchip.com/ http ://www.abcelectronique.com/bigonoff/ 5/26
Plan du cours 1 Les systèmes embarqués Définition Structure Caractéristiques Contraintes 2 Constitution d un système embarqué Microcontroleur FPGA et ASIC Choix de l architecture 3 Exemple : Contrôle de processus Gestion des évènements Contrôle de processus - Par interrogation Contrôle de processus - Par interruption Notions importantes Systèmes d exploitation temps réel 6/26
Les systèmes embarqués 7/26
Les systèmes embarqués 7/26
Les systèmes embarqués Définition Système embarqué Regroupement d un système matériel et d un logiciel Architecture spécifique dédiée Réalisation d une tâche particulière En parfaite autonomie En contact permanent avec l environnement Entrées/sorties spécifiques et très réactives 8/26
Les systèmes embarqués Structure 9/26
Les systèmes embarqués Caractéristiques Caractéristiques d un système embarqué Principalement numérique pouvant intégrer une partie analogique conditionnement de signaux, modulation, filtrage Exécution d une application dédiée, mais peut intégrer une interface homme-machine Système matériel simplifié Meilleure fiabilité Réduction de la consommation électrique Réduction des couts de fabrication Nombre de ressources limité (mémoires, E/S) 10/26
Les systèmes embarqués Caractéristiques Système embarqué = Sous-ensemble d un système plus complexe Dans l automobile Entre 40 et 100 systèmes embarqués pour assurer : la sécurité (ABS, EPS...) le confort (auto-radio, ouverture centralisée...) 11/26
Les systèmes embarqués Contraintes Contraintes d utilisation d un système embarqué Conditions environnementales extrêmes (température, humidité...) Consommation électrique minimale Faible encombrement et faible poids Gestion du temps très précise (souvent temps réel) Un système embarqué doit être : robuste simple fiable fonctionnel sûr autonome 12/26
Les systèmes embarqués Contraintes Contraintes d utilisation d un système embarqué Conditions environnementales extrêmes (température, humidité...) Consommation électrique minimale Faible encombrement et faible poids Gestion du temps très précise (souvent temps réel) Un système embarqué doit être : robuste simple fiable fonctionnel sûr autonome 12/26
Constitution d un système embarqué Pour concevoir un système embarqué intelligent, deux solutions principales : des architectures existantes (microcontroleurs) des architectures dédiées (FPGA, ASIC) 13/26
Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 14/26
Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 14/26
Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 14/26
Constitution d un système embarqué Microcontroleur Avantages Large choix de composants Modules déjà existants (ADC, PWM...) Gestion d horloge - oscillateur interne quelques MHz à quelques centaines de MHz Facilité de mise en oeuvre Inconvénients Exécution séquentielle des calculs Moins rapide pour le traitement de données Instructions prédéfinies Utilisation réservée de certains modules (entrées-sorties limitées) 15/26
Constitution d un système embarqué Microcontroleur Avantages Large choix de composants Modules déjà existants (ADC, PWM...) Gestion d horloge - oscillateur interne quelques MHz à quelques centaines de MHz Facilité de mise en oeuvre Inconvénients Exécution séquentielle des calculs Moins rapide pour le traitement de données Instructions prédéfinies Utilisation réservée de certains modules (entrées-sorties limitées) 15/26
Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique 16/26
Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique 16/26
Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique 16/26
Constitution d un système embarqué FPGA et ASIC Avantages Exécution parallèle des calculs Gestion d horloge avancée quelques MHz à quelques GHz Reconfiguration dynamique Inconvénients Aucun module précablé Entrées-sorties numériques seulement 17/26
Constitution d un système embarqué FPGA et ASIC Avantages Exécution parallèle des calculs Gestion d horloge avancée quelques MHz à quelques GHz Reconfiguration dynamique Inconvénients Aucun module précablé Entrées-sorties numériques seulement 17/26
Constitution d un système embarqué Choix de l architecture Les critères à prendre en compte sont les suivants : le nombre de fonctions à réaliser le nombre d entrées-sorties nécessaires la vitesse d exécution de ces fonctions la consommation électrique l aspect temps réel et multitaches 18/26
Exemple : Contrôle de processus Soit le système suivant : Cahier des charges Gestion d un moteur / tout ou rien Gestion d un arrêt d urgence Clignotement d un voyant de marche/arrêt 19/26
Exemple : Contrôle de processus Soit le système suivant : Cahier des charges Gestion d un moteur / tout ou rien Gestion d un arrêt d urgence Clignotement d un voyant de marche/arrêt 19/26
Exemple : Contrôle de processus Gestion des évènements Il y a 2 méthodes principales pour répondre à un événement : Par interrogation Cette méthode consiste à interroger chaque périphérique pour déterminer s il requiert l attention du processeur. Par interruption Permet d interrompre le travail du processeur et d exécuter une courte fonction. Utilisation d éléments matériels : circuits, lignes et signaux dédiés à cet usage. 20/26
Exemple : Contrôle de processus Contrôle de processus - Par interrogation Soit le système ci-dessous. On souhaite faire clignoter la LED avec une demi-période fixée à 1s. BOUCLEINFINIE LED =! LED ; t e m p o r i s a t i o n ( 1 ) ; FINBOUCLE Le processeur est bloqué durant toute la temporisation. 21/26
Exemple : Contrôle de processus Contrôle de processus - Par interrogation On souhaite maintenant contrôler le moteur d un procédé de fabrication. BOUCLEINFINIE SI (MARCHE = 1) LED =! LED ; MOTEUR = 1 ; SINON // on s t o p p e t o u t LED = 0 ; MOTEUR = 0 ; t e m p o r i s a t i o n ( 1 ) ; FINBOUCLE On ne contrôle le moteur que toutes les secondes. Suffisant pour un système mécanique de ce type. 22/26
Exemple : Contrôle de processus Contrôle de processus - Par interrogation Ce système est aussi équipé d un bouton d arrêt d urgence. BOUCLEINFINIE SI (URGENCE = 1) LED = 1 ; MOTEUR = 0 ; SINON SI (MARCHE = 1) LED =! LED ; MOTEUR = 1 ; SINON // on s t o p p e t o u t LED = 0 ; MOTEUR = 0 ; t e m p o r i s a t i o n ( 1 ) ; FINBOUCLE Bouton d urgence pris en compte uniquement toutes les secondes! Certains évènements peuvent avoir des répercussions graves (humaines, économiques, écologiques) s ils ne sont pas pris en compte au plus vite. 23/26
Exemple : Contrôle de processus Contrôle de processus - Par interruption BOUCLEINFINIE SI (MARCHE = 1 ET URGENCE = 0) MOTEUR = 1 SINON // on s t o p p e t o u t LED = 0 MOTEUR = 0 FINBOUCLE INTERRUPTION SI TEMPS = 1S LED =! LED SI URGENCE F = 1 LED = 0 MOTEUR = 0 ATTENTE FIN URGENCE FIN INTERRUPTION 24/26
Exemple : Contrôle de processus Notions importantes Un système, caractérisé par : sa relation entrées-sorties son temps de réponse Gestion de tâches : priorité ordonnancement Gestion d évènements (indiquant l évolution d un système) : synchrones asynchrones (non prédictibles) - interruptions SYSTEMES MULTITACHES / SYSTEMES TEMPS REEL 25/26
Exemple : Contrôle de processus Notions importantes Un système, caractérisé par : sa relation entrées-sorties son temps de réponse Gestion de tâches : priorité ordonnancement Gestion d évènements (indiquant l évolution d un système) : synchrones asynchrones (non prédictibles) - interruptions SYSTEMES MULTITACHES / SYSTEMES TEMPS REEL 25/26
Exemple : Contrôle de processus Notions importantes Un système, caractérisé par : sa relation entrées-sorties son temps de réponse Gestion de tâches : priorité ordonnancement Gestion d évènements (indiquant l évolution d un système) : synchrones asynchrones (non prédictibles) - interruptions SYSTEMES MULTITACHES / SYSTEMES TEMPS REEL 25/26
Exemple : Contrôle de processus Notions importantes Un système, caractérisé par : sa relation entrées-sorties son temps de réponse Gestion de tâches : priorité ordonnancement Gestion d évènements (indiquant l évolution d un système) : synchrones asynchrones (non prédictibles) - interruptions SYSTEMES MULTITACHES / SYSTEMES TEMPS REEL 25/26
Exemple : Contrôle de processus Systèmes d exploitation temps réel Système temps réel Système qui doit satisfaire des contraintes explicites (bornées) de temps de réponse. La non-satisfaction des contraintes peut avoir des conséquences sévères. Un système d exploitation temps réel : Apport du multitâche Maîtrise des contraintes temporelles Développement de pilotes de périphériques Système de fichiers 26/26
Exemple : Contrôle de processus Systèmes d exploitation temps réel Système temps réel Système qui doit satisfaire des contraintes explicites (bornées) de temps de réponse. La non-satisfaction des contraintes peut avoir des conséquences sévères. Un système d exploitation temps réel : Apport du multitâche Maîtrise des contraintes temporelles Développement de pilotes de périphériques Système de fichiers 26/26