Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Cette semaine Plus matérielle, exploitation des ressources internes du microcontrôleur Nécessite la lecture de sections du document de Atmel sur le ATmega324PA Distinctions en scrutation (polling) et interruptions Utilisations de minuteries (timers) On refait deux exercices des semaines précédentes en utilisant des périphériques internes. Un seul est «nouveau». Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 2
Le microcontrôleur ATmega324PA Est comme un processeur à la base Possède des périphériques internes pour aider au contrôle (minuteries, bus de communication, CAN, etc…) Possède quelques mémoires Est petit et économique (< $7) Possède souvent des entrées/sorties ayant deux ou trois rôles Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 3
Interruptions et scrutation Interruption: lorsqu’un signal externe et asynchrone avertit la partie processeur du microcontrôleur d’un évènement. Le processeur quitte le déroulement des opérations courantes pour gérer l’événement (routine d’interruption). Scrutation: lorsque la partie processeur du microcontrôleur vérifie l’état des périphériques internes (ou de signaux externes). Cette vérification fait partie des opérations prévues durant le déroulement du programme. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 4
Les minuteries (timers) Forme de compteur (comme en inf1500) mais plus sophistiquée Peut faire certaines comparaisons tout en comptant (parfois à rebours) Peut générer des interruptions Peut générer des signaux PWM directement vers les sorties Peut être de 8 ou 16 bits Implique un comportement parallèle Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 5
Les mémoires Flash: pour conserver le programme EEPROM interne: ne sera pas utilisé EEPROM externe: semaine prochaine RAM: Gérée par le compilateur Registres de base: comme tout processeur (32 pour les AVR) Registres spéciaux: permettent de contrôler les périphériques internes Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 6
Retour les opérations sur les bits maVariable = 10; /* dix */ maVariable = 0x10; /* seize */ Dans la documentation: #define CEBIT 6; /* fait pour vous */ #define AUTREBIT 3; CEREGISTRE = (1 << CEBIT) | (1 << AUTREBIT) ; /* ou 0x48 */ Il est nécessaire d’écrire de bons commentaires! Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 7
Quelques remarques Certaines difficultés importantes: Attentions à l’utilisation des points flottants! Rester avec des types uint8_t autant que possible! Lire la documentation! C’est la façon d’apprendre dans le cours… car c’est un cours projet! Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 8
Quiz technique Individuelle, par écrit Durée de 50 minutes Couvre la matière jusqu’à et incluant la semaine 5 Lire les documents du site web accessibles à partir des T.P. Cherche à vérifier votre compréhension des exercices et concepts Aucune documentation permise (ni le robot…) Exemple du quiz de la session passée sur Moodle. Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 9
Évaluation Aucun code à remettre pour le travail pratique 5. En profiter pour bien étudier les concepts importants de la semaine 5. Le quiz technique de 50 minutes: Voir la première page du site web pour des détails… Polytechnique Montréal - Département de génie informatique et de génie logiciel - INF page 10