PROGRAMME DE TECHNOLOGIE DE SYSTÈMES ORDINÉS 243.A0 SESSION HIVER 2013 PLAN D ÉTUDES PROGRAMMATION DE SYSTÈMES EMBARQUÉS 247-416-SH (2-4-2) 2,67 UNITÉS Groupe 2217 Préalable relatif : Préalable à: Programmation structurée (247-316-SH) Programmation avancée de systèmes embarqués (247-516-SH) Systèmes ordinés temps réel (247-536-SH) ENSEIGNANT : Théorie et laboratoire : Richard Cloutier Bureau: 2-48-212 819-564-6350 poste 4093 Courriel : richard.cloutier@cegepsherbrooke.qc.ca
NOTES PRÉLIMINAIRES Les tâches typiques du technologue en systèmes ordinés incluent la mise au point d une solution matérielle et logicielle autonome, basée sur un système ordiné dit embarqué («embedded») et centré sur un microcontrôleur disposant de toutes ses ressources sur le circuit imprimé. Le marché offrant un vaste éventail de plateformes pour réaliser ces solutions, il est crucial pour le technologue de bien maîtriser un langage de programmation universel, le langage C, et d avoir une bonne compréhension de l architecture, des possibilités et de la dynamique d un système embarqué. Le cours Programmation de systèmes embarqués est le troisième cours de l axe Programmation et est offert en 4 e session. Suite du cours 247-316-SH Programmation structurée, il fera appel aux notions acquises sur la démarche de création d un programme, l algorithmie, les règles syntaxiques du langage C, les variables et leurs types, les procédures et fonctions ainsi que les ressources offertes par un système intégré de développement et de mise au point à distance de programmes. COMPÉTENCE VISÉE 037S Programmer des systèmes ordinés. Le développement de la compétence 037S Programmer des systèmes ordinés et l acquisition de ces notions ont été lancés par l apprentissage d un premier langage simple sur ordinateur personnel puis consolidés par l apprentissage du langage C dans un contexte simple de développement d applications exécutées sur un système extérieur. Dans le cours Programmation de systèmes embarqués, l élève poursuivra l apprentissage du langage C avec les spécificités liées à la plateforme matérielle utilisée, différente de la structure d un ordinateur personnel. De plus, on laissera davantage de latitude aux élèves en termes d analyse et de résolution de problèmes. Dans ce contexte, le cours Programmation de systèmes embarqués entend familiariser l élève avec les notions suivantes : l acquisition des concepts et techniques usuelles en algorithmie et en programmation; l acquisition de la syntaxe et du cadre de développement d une application en langage C spécifiques à une plateforme matérielle définie et sans système d exploitation interne; l interprétation et le codage d un algorithme partiellement défini ou à définir, particulièrement dans un contexte de réalisation d un sous-programme de traitement d une interruption matérielle; les contraintes de programmation liées à l architecture interne d un microcontrôleur donné; les contraintes de programmation liées au fonctionnement des principaux circuits périphériques et fonctions internes usuelles d un microcontrôleur; le respect et l application de normes institutionnelles de codage et de documentation des productions logicielles; le recours à une démarche explicite et structurée de mise au point logicielle, incluant la mise au point de programmes de traitement d interruptions matérielles. Page 2
CONTENU: Le microcontrôleur 18F458 (22 hres) a) Introduction aux diverses familles de microcontrôleurs de Microchip; comparaison des caractéristiques et critères de choix pour une application donnée. b) Principales caractéristiques des périphériques et description des signaux du PIC 18F458. c) Architecture interne. d) Organisation de la mémoire. e) Aperçu du jeu d instructions. f) Les ports I/O A, B, C, D, E et le port parallèle esclave. g) Les temporisateurs 0, 1, 2 et 3. h) Le module de capture et comparaison. i) Le module de modulation de largeur d impulsions. j) L interface de communication série asynchrone. k) Le convertisseur A/D. l) Les comparateurs analogiques. m) La source de tension de référence. n) Le port série synchrone SPI. o) Caractéristiques spéciales du CPU Les types d horloges Les types de RESET Les interruptions avec les PICS Le «watchdog» Le mode faible consommation d énergie. Le RTC DS-1305 (4 hres) a) Principe de fonctionnement d un RTC. b) Description des signaux et raccordement à un PIC. c) Programmation des registres. d) Interface série SPI et modes de fonctionnement associé. e) Fonctionnement des interruptions d alarme. f) Programmation du registre permettant la recharge d une pile extérieure. Page 3
Le Potentiomètre SPI MCP4261 (4 hres) a) Principe de fonctionnement d un potentiomètre SPI. b) Description des signaux et raccordement à un PIC. c) Valeurs de résistances possibles. d) Cartographie et type de mémoire associée. e) Programmation des registres. f) Calcul de la résistance. g) Commandes de contrôle du Potentiomètre de type 8 bits et 16 bits. MÉTHODOLOGIE: Le cours est dispensé à raison de 2 périodes d enseignement théorique et de 4 périodes de travaux pratiques en laboratoire, par semaine pendant 15 semaines. La 16 e semaine étant réservée pour les évaluations finales. Théorie Les présentations théoriques seront faites sous forme magistrale en utilisant : les notes de cours du professeur, les tableaux de classe, des acétates sur rétroprojecteur et/ou l utilisation d un canon électronique. Plusieurs exemples seront apportés pour aider les étudiants à maîtriser les nouveaux concepts en programmation. Certaines sections de la théorie pourront être réalisées en laboratoire. Des exercices seront soumis aux étudiants pour compléter leur apprentissage. La fonctionnalité de ces exercices sera souvent vérifiée en laboratoire. Ces exercices doivent être remis au moment indiqué par le professeur pour être notés. Les travaux en retard ne seront pas notés. L'évaluation de la partie théorique se fera à l'aide de 2 tests (1 test durant la session et 1 test final). Travaux pratiques Les travaux pratiques seront des applications utilisant un microcontrôleur PIC et des circuits périphériques associés (RTC, Pot SPI, clavier, affichage LCD ). L étudiant aura à réaliser le montage associé et la programmation (en langage C) de l application. Pour certains circuits, une section de code peut lui être fournie, mais l étudiant aura à intégrer et utiliser ce code dans l application finale. Les laboratoires doivent être préparés par les étudiants avant chaque séance. Tous les programmes réalisés par les étudiants doivent être documentés. Les programmes non-documentés ne seront pas notés. On pourra également demander les ordinogrammes associés aux différentes sections de code réalisé par l étudiant. La qualité du français est évaluée dans les listages et 10% à 15% (selon l ampleur du document) de la note finale y est consacrée. Page 4
Les travaux pratiques sont réalisés en laboratoire et la présence est essentielle afin d atteindre les objectifs et habiletés associés à ceux-ci. La remise des travaux à la date et l'heure indiquées par le professeur est obligatoire. Les travaux pratiques remis en retard seront pénalisés de 20% par journée de retard. ÉVALUATION : Numéro Description Contenu Pourcentage Date 1 Test # 1 Test sur le 18F458 20% (vers la 10ième (2 hres) semaine.) 2 Test final Toute la matière 30% (dernière semaine.) 3 Exercices Sur les différentes parties du cours 4 Évaluation des - Préparation des labs laboratoires - Fonctionnement - Listing 5 Évaluations courtes (Quiz) -Ordinogrammes Sur les différentes parties du cours 20% Tout au long de la session 20% Tout au long de la session 10% Tout au long de la session Critères d évaluation des travaux de laboratoires: Qualité de la préparation (ordinogramme et première ébauche). Propreté et lisibilité de l ordinogramme et conformité avec la solution. Respect des normes dans la présentation des lignes de code. Fonctionnalité du programme codé. Documentation significative du programme source. Qualité du Français. Choix pertinent des fonctions. Respect des contraintes imposées. etc... Critères d évaluation des tests: Exactitude des réponses. Fonctionnalité des programmes. Clarté du code et logique associée. Exactitude des ordinogrammes etc... Page 5
Critères d évaluation du français: Qualité de l orthographe Qualité de la grammaire. Qualité de la syntaxe phrases bien construites.. etc... Si la quantité de mots utilisés dans le travail est jugée insuffisante le professeur, il se réserve le droit de ne pas évaluer le français. MESURES D AIDE ET D ENCADREMENT : L enseignant déterminera avec les élèves, en fonction de leur horaire respectif, les périodes propices à des rencontres d encadrement. On recommande cependant aux élèves de prendre rendez-vous avec l enseignant lorsqu une rencontre est désirée. RÉTROACTION : La rétroaction se fera de façon continue pendant la session. Les élèves sont invités à exprimer leurs commentaires sur les différentes parties du cours, que ce soit verbalement ou par écrit, afin d'en améliorer le contenu ou la présentation. Références utiles www.microchip.com/ www.maxim-ic.com/ Page Wiki du département: www.wikitge.org Microcontrôleurs PIC 18 Description et mise en œuvre, Christian Tavernier 2008, 342 p Dunod. Page 6