ELE-542 Systèmes ordinés en temps réels

Documents pareils
Cours A7 : Temps Réel

Conférence sur les microcontroleurs.

Initiation au HPC - Généralités

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction aux systèmes temps réel. Iulian Ober IRIT

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Temps Réel. Jérôme Pouiller Septembre 2011

Exécutif temps réel Pierre-Yves Duval (cppm)

Architecture des Ordinateurs. Partie II:

CH.3 SYSTÈMES D'EXPLOITATION

Chapitre 4 : Les mémoires

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Architecture des ordinateurs

Introduction aux systèmes temps réel

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT

Guide d'installation rapide TFM-560X YO.13

ELP 304 : Électronique Numérique. Cours 1 Introduction

SERVEUR DÉDIÉ DOCUMENTATION

Cours Informatique 1. Monsieur SADOUNI Salheddine

Un tempo de Reel sur un rythme de Java

Accès instantané aux mots et aux locutions Le dictionnaire électronique offre une traduction rapide d'un mot ou d'une locution

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

WEA Un Gérant d'objets Persistants pour des environnements distribués

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Exigences système Commercial & Digital Printing

Vue d ensemble de Windows PowerShell

Introduction au temps réel

Tests de performance du matériel

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Version janvier Manuel d'utilisation. Adaptateur Ethernet rapide 10/100 USB 2.0

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

Diagrammes de Package, de déploiement et de composants UML

Applications Embarquées Critiques

Les avantages de la virtualisation sont multiples. On peut citer:

ANALYSE TRAMEs LIAISON SERIE

Le Framework.Net. Introduction. Pourquoi.Net?

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

On appelle variable condition une var qui peut être testée et

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Robot WIFIBOT Lab V3. 4 roues motrices

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Préleveur d'échantillons d eau automatique ELECTRO-MAGNUM /AQUAMAX 1 & 2 / SERVOTOP

Systèmes et traitement parallèles

Analyse de performance, monitoring

Concept de machine virtuelle

CAHIER DES CHARGES D'IMPLANTATION

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Cours 7 : Programmation d une chaîne d acquisition

Conservation des documents numériques

Structure et fonctionnement d'un ordinateur : hardware

Petit guide pour l installation de CVW sous Linux

NFP111 Systèmes et Applications Réparties

Recommandations techniques

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

La Recherche du Point Optimum de Fonctionnement d un Générateur Photovoltaïque en Utilisant les Réseaux NEURO-FLOUS

Matériel & Logiciels (Hardware & Software)

Leçon 1 : Les principaux composants d un ordinateur

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

LYCEE DE BRAS PANON MAPA MAI 2015

Présentation du PL/SQL

Exigences système Commercial & Digital Printing

Exigences système Edition & Imprimeries de labeur

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

1 Mesure de la performance d un système temps réel : la gigue

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

PIC EVAL Dev Board PIC18F97J60

Cours de Génie Logiciel

Prise en compte des ressources dans les composants logiciels parallèles

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

SNMP for cloud Jean Parpaillon. SNMP4cloud - 1

La communication et la gestion de l'information

Compilation (INF 564)

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

1.8. APLANET GLOSSAIRE DES TERMES

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Milestone XProtect Professional

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Vérifier la qualité de vos applications logicielle de manière continue

I00 Éléments d architecture

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Windows Server Chapitre 1: Découvrir Windows Server 2008

Touch PC tébis: L écran tactile pour le montage encastré et en paroi creuse

Architecture de la Gestion du Technique du Bâtiment.

Travaux de Maintenance Software

Transcription:

ELE-542 Systèmes ordinés en temps réels Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele542/ Systèmes en temps réel Cours #1 1 Chapitre 1 Introduction et concepts de base Agenda Brève présentation personnelle Introduction Présentation du syllabus Projet de session Organisation du cours Définition et concepts Systèmes en temps réel Cours #1 2 1

Qu est-ce qu un systèmes ordinés en temps réel (S.O.T.R.)? Système Ordiné? Comprend un CPU, de la mémoire, un programme, des périphériques, des E/S CPU Temps réel? Obligation de répondre à un événement à l intérieur d un intervalle de temps borné Temps de réponse Aspect temporel crucial, sinon danger E/S Mémoire Systèmes en temps réel Cours #1 3 Exemple de système en temps réel Le système de navigation «fly-by-wire» Signaux des différents capteurs, - accéléromètres - gyroscopes - commande du pilote - température - radar CPU Affichage des calculs de - position - température Commande - des moteurs - volets. Il s agit aussi d un système embarqué Systèmes en temps réel Cours #1 4 2

Problématique centrale du cours Quel est le temps de réponse du système? Corollaires: Quelles sont les stratégies pour réduire le temps de réponse? Comment accélérer le traitement? Quels sont les facteurs que déterminent ce temps de réponse (temps de traitement)? Compilation Logiciel de l'application Entrée Sortie Mémoire CPU Systèmes en temps réel Cours #1 5 Modèle du système -- Architecture en couches Couche application Jeu d'instructions Couche Matérielle code source Langage de programmation Langage + Compilateur Système d'exploitation Langage assembleur Processeur + Mémoire + E/S Aspects logiciels Aspects matériels Systèmes en temps réel Cours #1 6 3

Présentation du cours et du syllabus Description sommaire Initiation aux systèmes embarqués et S.T.R Révision de la structure matérielle Performance et le temps de réponse du système Aspects logiciels: Programmation de bas niveau (en C et pas d assembleur) Traitement des interruptions et entrées-sorties Programmation concurrente Principaux éléments des noyaux en temps réel Structure et services Ordonnancement Fiabilité Systèmes en temps réel Cours #1 7 Présentation du cours et du syllabus Description sommaire (suite) Utilisation du langage C Compilateur mixte [Cross-compiler] Laboratoire Réaliser un système impliquant deux ordinateurs : Un ordinateur PC Un microcontrôlleur AVR de Atmel. Systèmes en temps réel Cours #1 8 4

Présentation du cours et du syllabus Objectifs Réaliser des systèmes satisfaisant aux contraintes matérielles et logicielles associées au traitement des évènements en temps réel. Comprendre l opération des microcontrôleurs et des ordinateurs utilisés dans les systèmes temps réel. Comprendre l opération des systèmes d exploitation et savoir les utiliser dans le développement de SOTR. Développer et programmer un système embarqué en temps réel qui fait fonctionner un robot mobile. Choisir une technique de conception sécuritaire pour les SOTR. Réf. : Plan de cours Systèmes en temps réel Cours #1 9 Présentation du cours et du syllabus Stratégie pédagogique Cours magistraux : Laboratoires : 1 cours/semaine 6 séances de 4 heures Note : Les cours sont d une durée de 3 heures 30 minutes. Contenu Systèmes en temps réel Cours #1 10 5

Séance Contenu Séances Vs chapitres Chapitre 1. Introduction aux systèmes en temps réel / systèmes embarqués 2. Introduction au laboratoire et révision du langage C 3. Révision du langage C et optimisation 4. Mesure de performance et aspects matériels 5. Réponse aux évènements et interruptions 6. Noyaux temps réel et exécution concurrente 7. EXAMEN 8. Système d exploitation «temps réel» 9. Interruptions et partage des ressources 10. Contrôle d accès et synchronisation 11. Configurer l OS et tampon circulaire 12. Validation et fiabilité 13. Révision et exercices Systèmes en temps réel Cours #1 11 Présentation du cours et du syllabus Évaluation Examen partiel 25% Cours 7 22 février Examen final 30% Laboratoire 40% Système embarqué (robot mobile) 20 % Système d exploitation multitâches 20 % Devoirs 5 % Systèmes en temps réel Cours #1 12 6

Références Présentation du cours et du syllabus LAPLANTE, P.A., Real-Time System Design and Analysis: An Engineer s Handbook, 2 e édition, IEEE Press, 1997. LEWIS, D.W., Fundamental of Embedded Software : where C and assembler meet, Prentice Hall, 2002. LABROSSE, J. J., MicroC/OS-II The Real-Time Kernel, CMP Books, 1999. Systèmes en temps réel Cours #1 13 Présentation du cours et du syllabus Références BURNS, A. et WELLINGS, A., Real-Time Systems and Programming languages, 3 e édition, Addison-Wesley, 2000. DOUGLASS, B.P., Doing Hard Time Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, Addison-Wesley, 1999. COTTET, F. et AL., Ordonnancement temps réel, Hermes Science, 2000. Systèmes en temps réel Cours #1 14 7

Présentation du cours et du syllabus Références sur les contrôleurs AVR TAVERNIER, Ch., Les microcontrôleurs AVR: Description et mise en oeuvre, Dunod, 2001. ATMEL, ATMega32 Document de référence complet, 2005 Systèmes en temps réel Cours #1 15 Projet de session Ecole de Technologie Supérieure Robot mobile Contrôle du déplacement en mode téléguidage Détection de collision avec sonars Systèmes en temps réel Cours #1 16 8

Projet de session Plate-forme matérielle : Atmel AVR Plate-forme logicielle : Noyau en temps réel Micro-C/OS-II Systèmes en temps réel Cours #1 17 Système d injection électronique pour Évolution II Mathieu Dutrisac Systèmes en temps réel Cours #1 18 9

Projet de session Ecole de Technologie Supérieure Module RS232-Bluetooth Tx Rx Carte STK500 ATMega32 D B 0 0 UART Timer Counter CPU DIR PWM PWM DIR G D ADC 0 0 A C TWI M M G D Systèmes en temps réel Cours #1 19 Système microc/os-ii Noyau en temps réel simple Multi-tâches avec préemption Écrit en langage C ( + code assembleur) Code source accessible Services: Sémaphores & Mutex Boîte à messages et queues Gestion des tâches (priorité fixée) Accès au service de DOS Site Web : http://www.ucos-ii.com/ Systèmes en temps réel Cours #1 20 10

Introduction aux STR Un exemple de Système en Temps réel Signaux des différents capteurs, - accéléromètres - gyroscopes - commande du pilote - température - radar CPU Affichage des calculs de - position - température Commande - des moteurs - volets. Systèmes en temps réel Cours #1 21 Terminologie des SOTR Un système peut être vu comme une boîte noire Un système se caractérise par: La relation entrés-sortie Son temps de réponse e 1... e n Système s 1... s n Permet de représenter un phénomène complexe Définition : Temps de réponse Intervalle entre la présentation d un patron d entrée et l apparition des sorties associés Systèmes en temps réel Cours #1 22 11

Terminologie des SOTR Exemple pratique de temps de réponse... Systèmes en temps réel Cours #1 23 1.6 Terminologie des SOTR (suite) Définition: Système en 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. Gradation du temps réel: Temps réel DUR: Le respect du temps de réponse est crucial, sinon danger Temps réel ferme: Tolérance face au respect du temps de réponse. Probabilité faible mais possible. Temps réel mou: Temps de réponse peu critique (Traitement de texte) Systèmes en temps réel Cours #1 24 12

Terminologie des SOTR (suite) Différents types d application en temps réel Activé par événements ( Événements non-cycliques) le système est au repos, l événement se produit, le système répond dans un temps garanti Exemple: Guichet automatique, interaction homme-machine Événements cycliques à taux constant Un événement se produit de façon cyclique à toutes les x microsecondes, tous les traitements doivent être effectué avant l arrivée de l événement suivant. Exemple: Simulateur de vol Traitement rapide (data storage/display) Les données sont traitées au fur et à mesure qu elles arrivent Exemple: Traitement d un signal vidéo Systèmes en temps réel Cours #1 25 Terminologie des SOTR (suite) Systèmes en temps réel Cours #1 26 13

Terminologie des SOTR (suite) Définition: Événement Signal (externe ou interne) qui permet, par ses différents états, d'indiquer la situation ou l'évolution d'une partie d'un système. Tout fait significatif pour un traitement. Synchronisation Évènement synchrone (ou synchronisé) avec un signal ou une horloge de référence Évènement asynchrone ne peut être prédit interruption externe changement d état du registre d un périphérique Réf. : Grand Dictionnaire Systèmes en temps réel Cours #1 27 Notions Synchrone versus Cyclique Évènement synchrone Prévisible par rapport à une référence Ex: Pour le CPU, un événement est synchrone si on peut prédire à quel cycle/instruction il survient Ex: Pour un bus de communication, la transmission de données est synchrone si on mesure le signal en phase avec l horloge Événement asynchrone Il ne peut pas être prédit Ex: Une interruption externe Ex: Le signal/interruption du port série Événements cyclique Revient de façon périodique ou régulière Systèmes en temps réel Cours #1 28 14

Qu est-ce qu un système embarqué (SE)? Un appareil électronique qui inclut un processeur numérique, généralement un microcontrôleur. «Système informatique qui est intégré à un dispositif, une machine ou un autre système et qui pilote ce dispositif, cette machine ou ce système» Réf:Grand dictionnaire terminologique Rapport processeurs embarqués / PC 100/1 Combien de processeurs dans une maison? En 1999, le nombre moyen de processeurs par maison était estimé entre 40 et 50. Réf. : Lewis, Chap. 1 Systèmes en temps réel Cours #1 29 Exemple de système embarqué Produit: Hunter Thermostat Programmable Digital. Microprocesseur: 4-bit Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 30 15

Exemple de système embarqué Produit: Lave vaiselle Miele. Microprocesseurr: 8-bit Motorola 68HC05. Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 31 Exemple de système embarqué Produit: NASA's Mars Sojourner Rover. Microprocesseur: 8-bit Intel 80C85. Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 32 16

Exemple de système embarqué Produit: Chien robot -- Sony Aibo Microprocesseur: 64-bit MIPS RISC. Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 33 Microprocesseur vs Microcontrôleur Microprocesseur Circuit optimisé pour le traitement d'information: Manipulation de l'information calcul et E/S Besoin d'autres composantes spécialisées pour son fonctionnement ( "chip set" + mémoire + ) Microcontrôleur Inclure des fonctions additionnelles (nécessaire au applications) directement dans le circuit Mémoire,horloge (timer) Entrés/Sortie, convertisseur Systèmes en temps réel Cours #1 34 17

Le règne des microprocesseurs Les processeurs Pentium représentent environ 2% des microprocesseurs vendus (2000) dans le monde. Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 35 Examples of Embedded Real-Time Software. Property FAX Machine CD Player Microprocessor: 16-bit 8-bit Number of Threads: 6 9 Read-Write Memory (RAM): 2048 Bytes 512 Bytes Total RAM Actually Used: 1346 Bytes (66%) 384 Bytes (75%) Amount Used by Kernel: 250 Bytes (19%) 146 Bytes (38%) Read-Only Memory (ROM): 32.0 KB 32.0 KB Total ROM Actually Used: 28.8 KB (90%) 17.8 KB (56%) Amount Used by Kernel: 2.5 KB (8.7%) 2.3 KB (13%) Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 36 18

Contraintes Processeurs embarqués Fiabilité Opération critique Danger pour les humains Opération continue 24 heures sur 24 Pas de réamorçage «reboot» Performance Choix du processeur relié au coût Utilisation efficace des ressources (CPU, mémoire, ) Optimisation des entrées / sorties Précision des calculs vs rapidité Coût Réduire le coût de fabrication Réduire le temps/coût de développement Réf. : Lewis, Chap. 1 Systèmes en temps réel Cours #1 37 Quel sont les langages utilisés dans les SE? 90.0% 80.0% 70.0% 60.0% 50.0% 1998-1999 1999-2000 40.0% 30.0% 20.0% 10.0% 0.0% Assembly C C++ Java Other Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 38 19

Utilisation des noyaux en temps réel dans les nouveaux systèmes 100.0% 80.0% 60.0% 40.0% 20.0% 0.0% 4-bit 8-bit 16-bit 32-bit 64-bit Special Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 39 Méthodes de détection et de réponse à un événement Il y a deux 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. Interruptions Interruptions Systèmes en temps réel Cours #1 40 20

Programmation concurrente Logiciel réalisé en divisant le problème en plusieurs morceaux (tâches) Conception plus simple Généralement plus efficace Capable de gérer la priorité des tâches ou des morceaux Chaque tâche exécute «comme si» elle possède le CPU. Très utile pour les systèmes qui doivent souvent traiter plusieurs sources d évènements +/- indépendants Systèmes en temps réel Cours #1 41 Programmation concurrente Exemple : Thermostat programmable (3 tâches) /* Monitor Temperature */ do forever { measure temp ; if (temp < setting) start furnace ; else if (temp > setting + delta) stop furnace ; } /* Monitor Time of Day */ do forever { measure time ; if (6:00am) setting = 72 o F ; else if (11:00pm) setting = 60 o F ; } /* Monitor Keypad */ do forever { check keypad ; if (raise temp) setting++ ; else if (lower temp) setting-- ; } 15 secondes 1 minute Interruption Copyright 2000, Daniel W. Lewis. Systèmes en temps réel Cours #1 42 21