PLAN DE COURS Automne 2014 GIF-3002 82790 - Systèmes microprocesseurs et interfaces Informations générales Crédits : 4 Temps consacré : 3-3-6 Mode d'enseignement : Présentiel Site Web : http://gif3002.gel.ulaval.ca Intranet Pixel : https://pixel.fsg.ulaval.ca Enseignant(s) : Tremblay, Étienne [email protected] Responsable : à déterminer Date d'abandon sans échec avec 16 Septembre 2014 à 23h59 remboursement : Date d'abandon sans échec sans 11 Novembre 2014 à 23h59 remboursement : Description sommaire Ce cours traite de l'analyse et de la conception de systèmes numériques utilisant la logique programmable, les microprocesseurs et les circuits d'interfaces configurables. L'étudiant apprend à développer des systèmes basés sur microprocesseurs et circuits d'interface et à maîtriser la méthodologie du développement de logiciel d'applications industrielles et l'exploitation d'un langage approprié. Le cours détaille les composantes fondamentales d'un système microprocesseur et de ses interfaces : les jeux d'instructions, les mémoires, les entrées/sorties, les bus et la synthèse de tous ces éléments. Le cours présente également plusieurs aspects du développement logiciel embarqué, allant de la programmation d'entrées/sorties d'usage général à l'implémentation d'un système d'exploitation. Liens avec le(s) programme(s) Ce cours participe à la poursuite des objectifs suivants : • connaître les technologies pertinentes aux divers champs d'application du génie électrique; • exploiter les connaissances acquises pour la conception et la réalisation de systèmes dans les différents champs d'application du génie électrique. • acquérir une dextérité de base dans la manipulation d'appareils et l'assemblage de dispositifs et être capable d'encadrer le personnel technique qui en a la charge; • connaître et exploiter la technologie électronique, en étant en mesure d'apprécier ses fondements physiques; 1/7 • développer l'ouverture sur des champs d'applications tels que la fabrication de matériel d'ordinateur, la conception de logiciels complexes, la commande industrielle, la conception et la fabrication assistées par ordinateur, l'instrumentation et la mesure, les systèmes intelligents, le multimédia, la réalité virtuelle ou encore les communications numériques; • faire preuve de soin et de dextérité dans la mise en forme de prototypes et de réalisations et être capable d'encadrer le personnel technique qui en a la charge. • connaître et exploiter les fondements de la dynamique des systèmes en général et de l'architecture et de l'organisation des systèmes informatiques en particulier; Objectifs À la fin de ce cours, l'étudiant devra être en mesure de : • Analyser, d'effectuer le design et de développer des systèmes basés sur microprocesseurs et circuits d'interfaces. • Connaître la technologie contemporaine en la matière. • Maîtriser la méthodologie de développement de logiciel d'applications industrielles, et l'exploitation d'un langage approprié. Contenu Historique des microprocesseurs (2 h) : Microprocesseurs, microcontrôleurs et microordinateurs. Évolution et architectures. La famille Motorola. Intel. Zilog, Atmel, AVR, ARM. Architecture d'un microprocesseur (8 h) : Interface. Registres internes. Modèle de programmation. Modes d'adressage. Jeu d'instructions. Mémoire et entrées-sorties. Les exceptions. Architecture et réductions du temps d'exécution des instructions (architecture Harvard, pipeline, caches, processeur scalaire, instructions spéciales…). Développement de logiciel embarqué (11 h) : Compilation et édition de lien : Assembleur et langages de haut de niveau, directives, disposition des variables et du code en mémoire, optimisations du compilateur. Gestion du temps de CPU : tâche unique et interruptions, changement de contextes, tâches en machine d'états, système d'exploitation, système d'exploitation temps réel. Gestion de la mémoire : taille de mémoire, piles, mémoire allouée dynamiquement, adresses de mémoire, démarrage du système, (re)localisation des programmes. Gestion des entrées/sorties: accès aux périphériques par registres ou adresses, temps d'accès aux périphériques, service des périphériques, contrôle d'accès à partir de différents contextes, périphérique et système d'exploitation. 2/7 - Exemples de programmes. Systèmes à microprocesseur (10 h) : Alimentation et horloge : horloge interne/externe, oscillateurs et cristal, PLL, tension(s) d'alimentation, fréquence d'horloge, consommation des microprocesseurs et modes d'opération, gestion des fautes d'alimentation. Mémoires : Description, bus d'accès, données et instructions, décodage d'adresse, mémoires statiques et dynamiques, chronogrammes, temporisation, mémoires non volatiles ("Flash", EEProm, FRAM), mémoires séries et mémoires parallèles, gestion de la mémoire, accès-mémoire versus jeu d'instruction, temps d'accès, mémoire interne/externe, mémoire à accès multiples et banques de mémoire, unité d'accès à la mémoire, translation d'adresses et protection de la mémoire. Entrées/Sorties : bus d'accès aux périphériques, adresses et ports de périphériques, méthodes d'accès aux entrées sorties (accès directs, interruptions, DMA) Périphériques: LEDs et boutons, clavier, interfaces graphiques, “timers”, interfaces séries (RS232, SPI, I2C…), interfaces parallèles, PWM, ADC/DAC, USB, Ethernet, Firewire, CAN… Production de systèmes à microprocesseur et environnement (2 h) : Circuits imprimés, procédés de production, durée de vie du produit (MTBF, MTTR), consommation d'énergie, Energy Start, RoHS, WEEE, EPEAT, recyclage de composantes. Système d'analyse et de développement (4 h) : Environnement de développement intégré (IDE), Analyseur logique, déverminage en temps réel (exemple : JTAG), émulateurs. Méthodes de programmation de la mémoire. Consignes sur les travaux Les travaux pratiques sont effectués sur un kit d'évaluation STM32F4-Discovery. Les outils de développement logiciel (assembleur, compilateur C) sont supportés par le réseau départemental d'IBM-PC. L'écriture, l'assemblage ou la compilation des programmes se font sur IBM-PC. Les essais des programmes et du matériel se font sur les kits d'évaluation. Modalités sur les laboratoires Tous les laboratoires se font seul ou en équipe de deux. Les dates finales des remises des laboratoires seront données en classe. 3/7 Déroulement du cours Ce cours comporte trois heures d'exposés magistraux et des travaux à réaliser sur ordinateur. Des rapports de ces travaux doivent être remis. Détails sur les modalités d'évaluation L'évaluation est faite à partir de deux examens écrits, des rapports des travaux pratiques et de l'examan de laboratoire. La note moyenne pondérée des deux examens théoriques doit être supérieure à 50% afin d'obtenir la note de passage. Échelle des cotes (cycle 1) Échelle des cotes A+ [ 90.00 - 100 ] A [ 86.00 - 89.99 ] A- [ 82.00 - 85.99 ] Réussite B+ [ 80.00 - 81.99 ] B [ 77.00 - 79.99 ] B- [ 74.00 - 76.99 ] Réussite C+ [ 70.00 - 73.99 ] C [ 65.00 - 69.99 ] C- [ 60.00 - 64.99 ] Réussite D+ [ 55.00 - 59.99 ] D [ 50.00 - 54.99 ] E [ 0.00 - 49.99 ] X Réussite Échec Abandon sans échec (dans les délais prévus) Bibliographie Obligatoire : Notes de cours et la documentation reliée au kit d'évaluation STM32F4-Discovery et au microcontrôleur. Optionnel : "Embedded Systems. A Contemporary Design Tool. ", James K. Peckol, John Wiley & Sons Inc., 2008, ISBN 978-0-471-72180-2 S.Furber ARM system on a chip Architecture (2nd Ed ) 4/7 W.Hohl. ARM assembly language Fundamentals and Techniques J.Yiu The Definitive Guide to the ARM cortex-M3 (2nd Ed). W.Wolf Computers as Components ( second ed). Modalités d'évaluation Heure Pondération de la note finale 13h30 à 16h00 30.00% Calculatrice scientifique seulement Examen 2 Jeudi 11 décembre 2014 13h30 à 16h00 35.00% Calculatrice scientifique seulement Examen Date Examen 1 Jeudi 23 octobre 2014 Travail Équipes Date d'échéance Heure Laboratoire 1 1à2 Jeudi 18 décembre 2014 16h30 Laboratoire 2 1à2 Jeudi 18 décembre 2014 16h30 Laboratoire 3 1à2 Jeudi 18 décembre 2014 16h30 Laboratoire 4 1à2 Jeudi 18 décembre 2014 16h30 Laboratoire 5 1à2 Jeudi 18 décembre 2014 16h30 Laboratoire 6 1à2 Jeudi 18 décembre 2014 16h30 Jeudi 18 décembre 2014 16h30 Examen de Laboratoire Individuel Document(s) autorisé(s) Date d'activité Heure Pondération de la note finale n/a n/a 2.00% n/a n/a 2.00% n/a n/a 4.00% n/a n/a 5.00% n/a n/a 5.00% n/a n/a 7.00% n/a n/a 10.00% Horaire et disponibilités Atelier : Cours en classe : Lundi Jeudi 16h30 à 17h20 13h30 à 16h20 PLT-2546 PLT-2750 Politique sur l'utilisation d'appareils électroniques pendant une séance d'évaluation 5/7 L'utilisation d'appareils électroniques (cellulaire ou autre appareil téléphonique sans fil, pagette, baladeur, agenda électronique, etc.) est interdite au cours d'une séance d'évaluation et de toute autre activité durant laquelle l'enseignant l'interdit. De plus, seuls certains modèles de calculatrices sont autorisés durant les séances d'évaluation. Les modèles suivants sont autorisés : Hewlett Packard HP 20S, HP 30S, HP 32S2, HP 33S, HP 35S Texas Instrument TI-30Xa, TI-30XIIB, TI-30XIIS, TI-36X, BA35 Sharp EL-531*, EL-535-W535, EL-546*, EL-510 R, EL-520* FX-260, FX-300 MS, FX-350 MS, FX-300W Plus, FX-991MS, Casio FX-991ES * Calculatrices Sharp: sans considération pour les lettres qui suivent le numéro Dans tous ces cas, la calculatrice doit être validée par une vignette autocollante émise par la COOP étudiante ZONE. Information spécifique aux étudiants de l'École d'actuariat Les calculatrices autorisées lors des examens sont uniquement les modèles répondant aux normes de la Society of Actuaries et de la Casualty Actuarial Society pour leurs examens, soit les modèles Texas Instruments suivants : • BA-35 (solaire ou à pile) • BA II Plus • BA II Plus Professional • TI-30Xa • TI-30X II (IIS ou IIB) • TI-30X MultiView (XS ou XB) Politique sur le plagiat et la fraude académique Règles disciplinaires Tout étudiant qui commet une infraction au Règlement disciplinaire à l'intention des étudiants de l'Université Laval dans le cadre du présent cours, notamment en matière de plagiat, est passible des sanctions qui sont prévues dans ce règlement. Il est très important pour tout étudiant de prendre connaissance des articles 28 à 32 du Règlement disciplinaire. Celui-ci peut être consulté à l'adresse suivante: http://www.ulaval.ca/sg/reg/Reglements/Reglement_disciplinaire.pdf Plagiat Tout étudiant est tenu de respecter les règles relatives au plagiat. Constitue notamment du plagiat le fait de: 1. copier textuellement un ou plusieurs passages provenant d'un ouvrage sous format papier ou électronique sans mettre ces passages entre guillemets et sans en mentionner la source; 6/7 2. résumer l'idée originale d'un auteur en l'exprimant dans ses propres mots (paraphraser) sans en mentionner la source; 3. traduire partiellement ou totalement un texte sans en mentionner la provenance; 4. remettre un travail copié d'un autre étudiant (avec ou sans l'accord de cet autre étudiant); 5. remettre un travail téléchargé d'un site d'achat ou d'échange de travaux scolaires. L'Université Laval étant abonnée à un service de détection de plagiat, il est possible que l'enseignant soumette vos travaux pour analyse. Étudiants ayant un handicap, un trouble d apprentissage ou un trouble mental Les étudiants qui ont une lettre d'Attestation d'accommodations scolaires obtenue auprès d'un conseiller du secteur Accueil et soutien aux étudiants en situation de handicap (ACSESH) doivent impérativement se conformer à la politique d'Accommodations scolaires aux examens de la Faculté des sciences et de génie qui peut être consultée à l'adresse : http://www.fsg.ulaval.ca/fileadmin/fsg/documents/PDF/Politique-Facultaire-Accommodements.pdf 7/7