{{{ #!html

Programmation des MicroContrôleurs Industriels
Université Pierre et Marie Curie, niveau L3
LI326

}}} [[PageOutline]] == Le module microcontrôleur === Objectifs Comme chacun peut s'en rendre compte, l'informatique est de plus en plus «enfouie» : elle est cachée dans les puces que l'on trouve dans les téléphones portables, dans les agendas électroniques, dans les automobiles, dans les équipements électroménagers, etc. La puce spécialisée qui contrôle le système de freinage d'une voiture moderne contient un processeur qui exécute un petit système d'exploitation multitâches embarqué sur la puce elle-même. Le circuit intégré qui constitue le coeur d'un téléphone portable contient plusieurs microprocesseurs et constitue un véritable ordinateur parallèle sur une seule puce. La caractéristique de ces systèmes sur puce est l'intégration étroite entre la conception du matériel et la conception du logiciel spécialisé pour chaque application. Un microcontrôleur est un circuit intégré d'usage général qui intègre sur une seule puce un microprocesseur programmable et les principaux contrôleurs de périphériques. Ils sont devenus des composants incontournables dans les domaines de la télécommunication, de l'automatisme, de la robotique. Ce module vise à l'apprentissage de la compréhension de l'architecture de ces composants tant sur le plan matériel que logiciel. Il s'agit aussi de savoir utiliser les outils de développement associés à ces microcontrôleurs. Cet enseignement, très pratique, vous concerne si vous êtes intéressés par la programmation «bas-niveau» en assembleur et en C de vrais microcontôleurs. Nous allons en aborder deux. * Le premier est le PIC16F877, processeur 8 bits de la société Microchip. * Le second sera un ARM9, processeur 32 bits de la société ARM. === Où et quand ? Les TME se déroulent dans les locaux de l'équipe ASIM en Tour 65-66 salle 408. Nous vous attribuerons un compte spécifique. Les salles sont ouvertes en libre service sauf les heures où elles sont utilisées pour les TME. Vous pouvez utiliser le simulateur ou les kits de développement en dehors des heures de TME. Les étudiants souhaitant accéder à leur compte de l'ARI depuis le compte ASIM peuvent le faire en demandant à l'administrateur système ([mailto:root] depuis les salles machines) que leur compte soit ouvert sur la passerelle durian. Notez que pour le transfert de données, vous pouvez aussi utiliser une clé USB. * 12 cours de 1h30, le mardi de 17h45 à 19h15, en salle J6, patio 44-55. * 12 TME de 3h30, le vendredi de 15h45 à 19h30, en salle 408 du couloir 65-66. * Les dernières séances de TME sont consacrés à la réalisation d'un micro-projet permettant d'approfondir la connaissance du microcontrôleur sur un exemple plus volumineux que ce qui peut être fait en un seul TME. === Pré-requis Il est nécessaire d'avoir des connaissances de base en architecture des ordinateurs : codage des informations, notions d'assembleur. Ces pré-requis correspondent au contenu des enseignements d'initiation à l'informatique et à la structure des machines inculqués lors des deux premières années de la licence. Même si elle est bienvenue, aucune connaissance en électronique n'est nécessaire. Notez que l'apprentissage des microcontrôleurs est d'autant plus facile que l'on aime le travail minutieux et qu'on a un peu de sens pratique. Notez également que la documentation est principalement en anglais car c'est celle fournie directement par les constructeurs. Nous vous aidons à la lire, mais la connaissance de l'anglais technique lu est indispensable. === Contrôle des connaissances La notation de ce module provient de 60% de l'examen final de mai et de 40% du contrôle continu. Le contrôle continu est constitué des notes TME et de la note de micro-projet (tous les TME pourront faire l'objet d'évaluation). === Équipe pédagogique ||[[Image(htdocs:franck.gif, nolink, align=center)]][[BR]][mailto:franck.wajsburt@lip6.fr]||[[Image(htdocs:francois.gif,nolink, align=center)]][[BR]][mailto:francois.pecheux@lip6.fr]|| == Matériel Pédagogique === Cours 1. [htdocs:2011_cours1_microcontroleurs_v2.pdf Qu’est-ce qu’un micro-contrôleur] ? 2. [htdocs:2011_cours2_pic16f877.pdf Le PIC16f877] 3. Les GPIO 4. Programmation événementielle 5. La gestion du temps 6. Conversion A-N 7. UART 8. I2C 9. Architecture NDS, environnement de programmation 10. Architecture de l’ARM 7 et 9 11. API et premier programme 12. programmation graphique === TME 1. [wiki:MicroTmeBase Prise en main des outils] === Annales 2001 :: * [[htdocs:exams/avril01.pdf avril]] Afficheurs 7 segments * [[htdocs:juin01.pdf juin]] Génération d'un signal PWM à partir d'un entrée analogique * [[htdocs:sept01.pdf septembre]] Génération d'un signal PWM également 2002 :: * [[htdocs:avril02.pdf avril]] Générateur de fréquence * [[htdocs:juin02.pdf juin]] Commande de feux tricolores * [[htdocs:setp02.pdf septembre]] Commande d'un volet roulant 2003 :: * [[htdocs:avril03.pdf avril]] Lecture d'états d'interrupteur * [[htdocs:juin03.pdf juin]] Trace de courbe de température * [[htdocs:sept03.pdf septembre]] Commande de servo moteurs 2004 :: * [[htdocs:avril04.pdf avril]]+[[htdocs:avril04.tar.gz fichiers]] Minuterie oeuf coque * [[htdocs:juin04.pdf juin]]+[[htdocs:juint04.tar.gz fichiers]] Digicode * [[htdocs:sept04.pdf septembre]]+[[htdocs:sept04.tar.gz fichiers]] Commande de moteurs pas-à-pas == Documentations Officielles