wiki:WikiStart

Version 29 (modified by Franck Wajsburt, 13 years ago) (diff)

--

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

make sim1

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.

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. La connaissance de l'anglais technique lu est indispensable.

En pratique

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 (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.

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).

franck.wajsburt@…franck.giffrancois.pecheux@…francois.gif

Matériel Pédagogique

Cours

  1. Qu’est-ce qu’un micro-contrôleur ?
  2. Le PIC16f877
  3. Les GPIO
  4. Les interruptions
  5. La gestion du temps
  6. Les communications série
  7. Conversion A-N
  8. Architecture NDS, Environnement de programmation
    Architecture NDS, Jeu d'instruction du processeur ARM
  9. API et premier programme
  10. programmation graphique
  11. Architecture de l’ARM 7 et 9

TME

  1. Prise en mains de l'assembleur pic et des outils de développement
  2. Plus loin en assembleur : la mémoire, le temps et les fonctions
  3. L'affichage LCD?
  4. Le bouton poussoir, usage des interruptions
  5. Gestion du port RS232
  6. Les entrées analogiques et les sorties PWM
  7. Reconnaissance des chiffres avec la NDS

Aide mémoire

Documentations Officielles

Les logiciels fournis fonctionnent sous Linux. ce sont des logiciels libres, dont les sources et les exécutables sont chargeables sur le net. A titre indicatif, la société Microchip® qui fabrique le PIC16F877 fournit une suite logicielle complète et gratuite pour Windows®.

Plateforme de développement

pic-mt-lcd.jpgpic-mt-pcb.jpg

Extraits de la documentation officiel du PIC16F877

Protocoles de communication

Attachments (2)

Download all attachments as: .zip