% EMB7000 — Introduction aux systèmes embarqués % UQAM — Département d'informatique % Plan de cours — Automne 2019 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Boukadoum, A. Mounir PK-4540 poste 4565 Description du cours ==================== Ce cours vise à familiariser les étudiants avec les grandes familles de solutions utilisées en systèmes embarqués. Il permettra aussi aux étudiants de maîtriser le langage et la terminologie propres au domaine des systèmes embarqués. Introduction aux systèmes embarqués; aspects matériels et logiciels; systèmes d'exploitation pour systèmes embarqués; processeurs à usage spécifique et processeurs à usage général; mémoires; périphériques et interfaces; mécanismes de communication et protocoles associés; détection et gestion des défaillances; sécurité des systèmes embarqués; systèmes de commande et régulation; environnements de conception; cycle de vie et étapes du développement d'un système embarqué; exemples de conception. Préalables académiques : Cours de 3 heures et un laboratoire de 3 heures/semaine. Objectif du cours ================= Introduire l'étudiant aux systèmes embarqués et à leur applications dans les systèmes de mesure et de commande en temps-réel. L'emphase est mise sur le design de systèmes à microcontrôleurs et sur les aspects pratiques de leur réalisation. Le cours s'adresse aux étudiants ayant déjà une connaissance préalable des circuits analogiques et numériques, et des microprocesseurs; il vise principalement à initier l'étudiant à la conception et réalisation d'un système d'instrumentation au complet. Le cours magistral analyse les différents aspects et est complété par des expériences de laboratoire pour a pratique. L'enseignement vise l'apprentissage des différentes étapes de conception et de réalisation matérielles et logicielles, et la discussion avec les étudiants est favorisée. Contenu du cours ================ 1. Introduction Définition d'un système embarqué; survol des différents types de systèmes embarqués; défis du design et métriques de conception; technologies de mise en oeuvre et outils de conception. 2. Microcontrôleurs Différences entre microcontrôleur, microprocesseur, DSP et FPGA; différentes familles de microcontrôleurs : architectures, description des membres, jeu d'instructions, émulation ; exemples de programmation; survol d'une famille typique. 3. Modules et périphériques d'entrée-sortie standard Chronomètres, temporisateurs et chiens de garde; interfaces de communication sérielle : UART, I2C, SPI, USB, PWM; interfaces de communication parallèle; afficheurs à segments et LCD; entrée-sorties analogiques. 4. Formats de représentation et convertisseurs Convertisseurs analogiques-numériques et numériques-analogiques; précision, sources d'erreurs et impacts; critères de sélection; chaines de mesure; circuit d'interfaces. 5. Capteurs Différents types, capteurs résistifs, réactifs et intégrés; caractéristiques; circuits de traitement associés 6. Prétraitement des signaux de capteurs Préamplificateurs de gain et de transimpédance; compensation de linéarité et de câbles de raccordement, filtrage du bruit. 7. Réseaux de capteurs Modules de capteurs à microcontrôleurs, réseaux de capteurs; standards et circuits de communication sans fil. 6. Actueurs Moteurs, dispositifs électromécaniques et thermiques; circuit d'isolation avec le microcontrôleur; commutateurs de puissance à relais mécaniques et semi-conducteurs. 9. Circuits d'alimentation Convertisseurs continu à contiu; rectificateurs alternatif à continu; inverseurs de polarité; régulateurs lunaires et à commutation d'onde; différents types et design. 10. Commande en temps réel Mécanismes d'asservissement; différents types de commande : commande "oui-non", commande PID, commande en cascade, commande par anticipation; commande à logique floue; codage des algorithmes en virgule fixe : problèmes de débordement et approches de solution. 11. Systèmes exécutifs en temps réel raison d'être ; tâches, priorités et états ; types d'ordonnancement ; composantes d'un système exécutif en temps réel ; exemples d'utilisation 12. Design d'un système embarqué à microcontrôleur Choix du processeur : taille, vitesse d'horloge, périphériques internes; choix des interfaces; périphériques externes et circuits associés; conception du circuit imprimé : outils (dessin, capture schématique, etc.) ; procédé de fabrication; programmation en C romable vs. Assembleur; stratégies de calcul; systèmes d'exploitation en temps réel; cycle de développement logiciel ; assemblage et test du prototype. Formule Pédagogique =================== Le cours est organisé sous forme de cours magistraux de 3 heures par semaine et de séances de laboratoires de 3 heures par semaine. Les laboratoires se font par équipes de deux au maximum. La préparation des laboratoires doit se faire avant la séance. Les comptes-rendus de préparations sont ramassés par le responsable du laboratoire en début de séance et notés. Format des rapports de laboratoire 1. Objectif(s) 2. Description des méthodes et matériaux utilisés 3. Liste détaillée et abondamment commentée des programmes s'il y'a lieu 4. Résultats 5. Discussion s'il y a lieu 6. Conclusion(s) 7. Références si besoin est Se rappeler que "la sobriété a bien meilleur goût" - surtout pour celui qui corrige les rapports. Donc, être bref et précis. Modalités d'évaluation ====================== 1 examen intra au milieu du semestre 35% 1 examen final à la fin du semestre 35% 5 rapports d'exercices et de laboratoires 30% Pour réussir le cours, il faut avoir au minimum 60 % de moyenne générale et 60 % de moyenne pour les 2 examens. Une pénalité de -10% sera appliquée sur la note pour les travaux remis en retard d'une semaine. Un retard de deux semaines donne une note de zéro. Il sera tenu compte de la qualité du français à raison de 10% par devoir ou examen. Barème des notes : A : \>= 87%, B : \>= 77%, C : \>= 67%, D : \>=60%, E : \< 60% Materiel de cours ================= 1. Recueil de transparents disponible sur le site web 2. Liste de documents à lire fournie en séance Renseignement utiles ====================