Microélectronique appliquée GPA770 Automne 2013 Sommaire Organisation du cours GPA770: 1) Présentation personnelle 2) Plan détaillé du cours 3) Séances en laboratoire 4) Introduction aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 2 (1) Présentation personnelle 2008-présent: Directeur de programme MGPA 2006-présent: Professeur agrégé (permanent) 2004-2006: Professeur adjoint Département de GPA, ÉTS 2001-2004: Ingénieur en circuits ITGE R&D, Mitel Networks 1999-2001: Chercheur pour la défense DRDC – Ottawa, DND 2001: Ph.D. en génie électrique École Polytechnique de Montréal GPA770: Microélectronique appliquée Éric Granger 3 (1) Présentation personnelle Intérêts en recherche et expertise: reconnaissance de formes systèmes adaptatifs pour la reconnaissance – – – – – apprentissage incrémental et enligne classifieurs neuroniques et statistiques systèmes à classifieurs multiples détection de changement et d’ambigüité calcul évolutionnaire intégration de systèmes microélectroniques GPA770: Microélectronique appliquée Éric Granger 4 (1) Présentation personnelle Programme de recherche: Conception de systèmes de reconnaissance adaptatifs avec des applications en: – sécurité et surveillance – authentification biométrique – bio-marquage de documents numérisés GPA770: Microélectronique appliquée Éric Granger 5 (1) Présentation personnelle Domaines d’application: ̶ surveillance militaire: identification d de signaux radars-communications ̶ biométrie: reconnaissance de visages en vidéo et vérification de signatures ̶ détection d’intrusions dans les réseaux informatiques ̶ bio-marquage intelligent de documents numérisés GPA770: Microélectronique appliquée Éric Granger 6 (1) Présentation personnelle Vidéosurveillance – reconnaissance automatique de visages dans des vidéos ̶ reconnaitre et poursuivre des individus d’intérêt perçus d’un réseaux de caméras IP Type 1 GPA770: Microélectronique appliquée Type 3 Type 2 Éric Granger 7 (1) Présentation personnelle CMU – FIA (mono-modal, 1 visage) Type 1: file d’inspection à l’aéroport 8 (1) Présentation personnelle Chokepoint (mono-modal, 1 to 24 visages) Type 2: marcher à travers un portail 9 (1) Présentation personnelle Système pour la reconnaissance de visages en vidéo surveillance GPA770: Microélectronique appliquée Éric Granger 10 (1) Présentation personnelle System adaptatif basé sur l’optimisation évolutionnaire (Connolly et al., PR 2011) GPA770: Microélectronique appliquée Éric Granger 11 (1) Présentation personnelle System adaptatif avec un ensemble de classifieurs par personne (Pagano et al., IEEE IJCNN 2012) GPA770: Microélectronique appliquée Éric Granger 12 (1) Présentation personnelle System qui s’adapte dynamiquement à de nouvelles trajectoires (De le Torre et al., IF 2013) GPA770: Microélectronique appliquée Éric Granger 13 (1) Présentation personnelle Fusion dynamique des classifieurs selon le débalancement des données (Radtke et al., IF 20013) GPA770: Microélectronique appliquée Éric Granger 14 (1) Présentation personnelle Réalisation de classifieurs sur un processeur parallèle (Prieur et al., MVA 2012) GPA770: Microélectronique appliquée Éric Granger 15 (1) Présentation personnelle Sécurité dans les réseaux informatiques – détection d’intrusions GPA770: Microélectronique appliquée Éric Granger 16 (1) Présentation personnelle Sécurité dans les réseaux informatiques système hybride pour la détection – d’anomalies: modélise le comportement normal – de menaces: modélise de attaques prédéfinis GPA770: Microélectronique appliquée Éric Granger 17 (1) Présentation personnelle Sécurité dans les réseaux informatiques ensembles de HMM pour la détection d’anomalies/menaces class 1 HMM1,1 P(O/λ1,1) HMM1,2 P(O/λ1,2) ... FUSION OF RESPONSES IN ROC SPACE HMM1,m familiarity P(O/λ1,m) observation O CLASS familiarity 2 ... CLASS n familiarity DRIFT DETECTION MODULE GPA770: Microélectronique appliquée Éric Granger 18 (1) Présentation personnelle Sécurité dans les réseaux informatiques fusion des réponses dans l’espace ROC GPA770: Microélectronique appliquée Éric Granger 19 Sommaire Organisation du cours GPA770: 1) Présentation personnelle 2) Plan détaillé du cours 3) Séances en laboratoire 4) Introduction aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 20 (2) Plan détaillé du cours Encadrement: Éric Granger (enseignant et responsable) – – – – local: A-3642 téléphone: (514) 396-8650 courriel: [email protected] disponibilité: lundi au jeudi, ou par rendez-vous Maurice Tremblay (chargé de laboratoire) – local: A-3580 – pagette: (514) 302-1451 – courriel: [email protected] (ou [email protected] pour MSN) – disponibilité: MSN en ligne et sur rendez-vous Lien Internet du cours: https://cours.etsmtl.ca/gpa770/ GPA770: Microélectronique appliquée Éric Granger 21 (2) Plan détaillé du cours Le cours GPA770 est axé sur: l’étude de systèmes microélectroniques de pointe l’intégration de diverses technologies électroniques et informatiques Objectifs spécifiques d’apprentissage: – A) notions fondamentales: caractéristiques et applications des microcontrôleurs – B) logiciel: méthodes de programmation en assembleur – C) matériel: composants et interfaces d’un microcontrôleur – laboratoire: synthèse et conception de systèmes avec les outils de développement modernes GPA770: Microélectronique appliquée Éric Granger 22 (2) Plan détaillé du cours Stratégie pédagogique pour atteindre les objectifs: adopter un microcontrôleur commun et versatile ̶ famille 68HC12 de Motorola Inc. Répartition du travail: (11hrs/semaine) cours magistraux: (3hrs/semaine) ̶ concepts théoriques, exemples d’applications et réalisations concrètes ̶ suggestion d’exercices personnels laboratoires: (3hrs/semaine) ̶ développement d’un système embarqué pour la navigation d’un robot mobile travail personnel: (5hrs/semaine) GPA770: Microélectronique appliquée Éric Granger 23 (2) Plan détaillé du cours Contenu du cours: GPA770: Microélectronique appliquée Éric Granger 24 (2) Plan détaillé du cours A. Mise en contexte: A.1 Survol de l’électronique numérique − systèmes de numérotation − opérations arithmétiques binaires − circuits électroniques de base: portes, registres, etc. A.2 Architecture et programmation du 68HC12: − systèmes électroniques universels − architecture, sous-systèmes et mémoires − modèle du programmeur et exécution d’instructions GPA770: Microélectronique appliquée Éric Granger 25 (2) Plan détaillé du cours B. Concepts logiciels: B.1 Langage assembleur et programmation structurée: − modes d’adressage et jeu d’instructions − boucles, pile et sous-routines − programmation structurée B.2 Microcontrôleurs à logique floue: − systèmes de contrôle à logique floue − instructions spécialisées du 68HC12 B.3 Programmation à haut niveau: − comparaisons assembleur vs C − passages de paramètres − bibliothèques et compilation mixte GPA770: Microélectronique appliquée Éric Granger 26 (2) Plan détaillé du cours C. Concepts matériels: C.1 Configurations matériels du 68HC12: − architecture système, modes d’opération, et ports d’e/s − principaux sous-systèmes et expansion C.2 Gestion d’exceptions: − exceptions et réponses aux interruptions − vecteur et priorité d’exceptions − routines de service d’interruption C.3 Module de temporisation: − module de temporisation standard − saisie des entrées, comparaison de sorties et accumulation d’impulsions GPA770: Microélectronique appliquée Éric Granger 27 (2) Plan détaillé du cours C. Concepts matériels: (suite) C.4 Convertisseur analogique-numérique: − concepts fondamentaux − système de conversion du 68HC12 C.5 Interfaces sériels de communications: − communications sérielles avec un microcontrôleur − interface de communications sérielle (SCI) − interface de périphérique sérielle (SPI) GPA770: Microélectronique appliquée Éric Granger 28 (2) Plan détaillé du cours Évaluation: ACTIVITÉS % Laboratoires: 35 1. Programmation assembleur du 68HC12 10 2. Exploitation en temps réel du matériel et des ports d’entrées/sorties 15 3. Navigation en temps réel du robot mobile 10 Examens: 65 intra (durant la 7ème ou 8ème semaine) en salle de cours 30 final (période des examens finaux) 35 GPA770: Microélectronique appliquée Éric Granger 29 (2) Plan détaillé du cours Documentation obligatoire: 1. Pack, D. J. et Barrett, S. F., Microcontroller Theory and Applications: HC12 & S12, Second Edition, Prentice-Hall, 2008, ISBN 0-13-615205-8. GPA770: Microélectronique appliquée Éric Granger 30 (2) Plan détaillé du cours Documentation obligatoire: (suite) 2. Motorola, S12CPUV2 Reference Manual, HCS12 Microcontrollers, Rev. 4.0, Freescale Semiconductor, March 2006. GPA770: Microélectronique appliquée Éric Granger 31 (2) Plan détaillé du cours Documentation obligatoire: (suite) 3. Tremblay, M., Granger, É., et Grenier, D., Cahier le laboratoires pour GPA770: Microélectronique appliquée, ÉTS, décembre 2008. GPA770: Microélectronique appliquée Éric Granger 32 Sommaire Organisation du cours GPA770: 1) Présentation personnelle 2) Plan détaillé du cours 3) Séances en laboratoire 4) Introduction aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 33 (3) Séances en laboratoire Série de trois laboratoires: 1. Programmation assembleur du 68HC12 2. Exploitation en temps réel du matériel et des ports d’entrées/sorties 3. Navigation en temps réel du robot mobile Formation d’équipes et de groupes: équipe: 2 étudiants max. par station de travail groupes: 10 équipes (20 étudiants) max. par plage – groupe A: jeudi AM (8h45 à11h45) – groupe B: jeudi soir (18h00 à 21h00) GPA770: Microélectronique appliquée Éric Granger 34 (3) Séances en laboratoire Stations de travail avec les technologies: logiciel: environnement de développement intégré (IDE) CodeWarrior de Freescale Inc. matériel: microcontrôleur MC9S12C32 de la famille HCS12 de Motorola Inc. carte de développement PK-HCS12C32 de SofTec Microsystems robot mobile miniature ‘Carpet Rover Basic’ de Lynxmotion Inc. GPA770: Microélectronique appliquée Éric Granger 35 (3) Séances en laboratoire Environnement CodeWarrior: GPA770: Microélectronique appliquée Éric Granger 36 (3) Séances en laboratoire Carte de développement PK-HCS12C32: GPA770: Microélectronique appliquée Éric Granger 37 (3) Séances en laboratoire Robot mobile miniature ‘Carpet Rover’: GPA770: Microélectronique appliquée Éric Granger 38 (3) Séances en laboratoire Robot mobile miniature ‘Carpet Rover’: GPA770: Microélectronique appliquée Éric Granger 39 Sommaire Organisation du cours GPA770: 1) Présentation personnelle 2) Plan détaillé du cours 3) Séances en laboratoire 4) Introduction aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 40 (4) Intro aux microcontrôleurs Origines des Systèmes Ordinés (SO): SO à utilité générale: (i.e., PC, portable et tablette) – une machine générique – accommode une grande diversité d’applications – amélioration rapide des performances → grande capacité de traitement de données SO embarqué: (i.e., microcontrôleur) – une machine spécialisée ou optimisée – optimisé pour des applications spécifiques – moins performant, plus compact, peu coûteux GPA770: Microélectronique appliquée Éric Granger 41 (4) Intro aux microcontrôleurs L’architecture générique d’un SO comprend 4 composants matériels: CPU Bus (Données, Adresses, Conrôle) Mémoire GPA770: Microélectronique appliquée Éric Granger Périphériques I/O d’entree/sortie 42 (4) Intro aux microcontrôleurs L’architecture générique d’un SO comprend 4 composants matériels: GPA770: Microélectronique appliquée Éric Granger 43 (4) Intro aux microcontrôleurs Unité de traitement central (CPU): fonctions: – gouverne l’ordre d’exécution des instructions – contrôle l’accès à la mémoire et aux périphériques d’entrée/sortie – effectue les opérations arithmétiques et logiques – gère les interruptions de services composants − ALU, registres, buses, unité de contrôle et module de temporisation performance − dépend de la fréquence d’horloge, architecture, du format d’instructions, des temps d’accès GPA770: Microélectronique appliquée Éric Granger 44 (4) Intro aux microcontrôleurs Mémoire: fonction: stocker les instructions et les données utilisées par le CPU architectures de mémoires: ̶ Harvard – instructions et données dans différentes unités de mémoires ̶ von Neumann – instructions et données dans la même unité de mémoire technologies: RAM et ROM systèmes de mémoire hiérarchiques (unités ‘cache’) ̶ réduire le temps d’accès pour grosses mémoires GPA770: Microélectronique appliquée Éric Granger 45 (4) Intro aux microcontrôleurs Mémoire: systèmes de mémoire hiérarchiques: GPA770: Microélectronique appliquée Éric Granger 46 (4) Intro aux microcontrôleurs Périphériques d’entrée/sortie: fonction d’un périphérique d’entrée: ̶ permet de transférer des informations du monde externe au SO ̶ ex: clavier, souris, etc. fonction d’un périphérique de sortie: ̶ permet au SO de communiquer ses états et données internes au monde externe ̶ ex: écran, imprimante, etc. GPA770: Microélectronique appliquée Éric Granger 47 (4) Intro aux microcontrôleurs Buses: fonction: assure la connexions physiques entre composantes du SO 3 types de buses: – adresse (ADDR): transporte des adresses mémoire correspondant aux instructions et aux données – données (DATA): transporte des instructions et des données entre mémoire et autres composants – contrôle (CTL): transfert des commandes de contrôle entre composants GPA770: Microélectronique appliquée Éric Granger 48 (4) Intro aux microcontrôleurs Microprocesseur: un circuit intégré qui comporte seulement un CPU Micro-ordinateur: une carte électronique qui est composé de tous les composants d’un SO, et qui utilise le microprocesseur comme CPU Microcontrôleur: un circuit intégré qui composé de tous les composants d’un SO − contrôleur ou système embarqué GPA770: Microélectronique appliquée Éric Granger est 49 (4) Intro aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 50 (4) Intro aux microcontrôleurs Rôle des microcontrôleurs en société moderne: − intelligence ambiante et calcul pervasive − on les retrouve partout, e.g., dans tous les systèmes automatisés temps réel − on s’en sert pour automatiser à tous les niveaux Revenues énormes de l’industrie des microcontrôleurs − on vend15-20 fois plus de microprocesseur Diversification de microcontrôleurs pour toutes sortes d’applications GPA770: Microélectronique appliquée Éric Granger 51 (4) Intro aux microcontrôleurs Applications pour consommateurs: maison: caméra, four micro-ondes, laveuse de vaisselle, laveuse et sécheuse, lecteur blu-ray, porte de garage, jeu vidéo, système de sécurité, etc. bureau: calculatrice, clavier, imprimante, router, téléphone cellulaire, etc. GPA770: Microélectronique appliquée Éric Granger 52 (4) Intro aux microcontrôleurs Applications en transport: avionique train automobile: système de suspension, système d’injection d’essence, sac gonflable GPA770: Microélectronique appliquée Éric Granger 53 (4) Intro aux microcontrôleurs Exemple: Compteur pour taxis GPA770: Microélectronique appliquée Éric Granger 54 (4) Intro aux microcontrôleurs Exemple: Compteur pour taxis (suite) GPA770: Microélectronique appliquée Éric Granger 55 (4) Intro aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 56 (4) Intro aux microcontrôleurs GPA770: Microélectronique appliquée Éric Granger 57