École Polytechnique de Montréal ... - quiz.aep.polymtl.ca · Quiz du volet technique Session...

Preview:

Citation preview

École Polytechnique de Montréal

Département de génie informatique et génie logiciel

INF1995: Projet initial en ingénierie informatiqueet travail en équipe

Quiz du volet technique

Session automne 2012

Section 1, le mercredi 3 octobre 2012, 8h30, local L-3816

Enseignant : Jérôme Collin, ing., M. Sc. A.

Directives:

Le quiz est sur 20 points et comporte 7 pages, incluant la présente.

La pondération pour la session est de 15%.

La documentation, le robot et la calculatrice ne sont pas permis.

Répondre sur le questionnaire et le remettre.

Pour les questions à développement, prenez soin d’exprimer clairement vos

arguments car la correction en tiendra compte.

La durée est de 30 minutes

Inutile de préciser votre matricule sur la copie

Nom, prénom: _____________________________________________

1

Question 1 (3 points)

Comment, avec une minuterie telle que le timer1 du ATMega324PA, peut-on arriver à générerune interruption après un délai de 2 millisecondes par exemple ? Il n'est pas nécessaire depréciser les noms des éléments matériels impliqués ni de faire de calculs de délais précis mais on désire avoir une description, dans vos mots, du mécanisme par lequel le réglage peut être effectué de façon générale. Les aspects matériels et de programmation doivent être abordés.

2

Question 2 (2 points)

Comment arrive-t-on à identifier la polarité d'une diode avant de la souder sur une carte de circuit imprimé ?

Question 3 (2 points)

Quelle sera la valeur de la variable result après l'exécution des deux lignes de code C suivantes ? Il serait bien de démontrer votre raisonnement pour obtenir des points en cas de simples erreurs de calcul. Donnez la réponse finale en hexadécimal.

uint8_t result = 0x85;result = ~( ( result >> 3 ) | 0x74 );

3

Question 4 (2 points)

Que est la meilleure façon de coder, en langage C/C++, la partie de code décrivant les transitions d'un état à un autre d'une machine à états finis logicielle ?

Question 5 (2 points)

Qu'est-ce qu'il faudra placer aux endroits marqués 'modifier ici' dans le code plus bas ? Il n'est pas nécessaire d'avoir la syntaxe exacte. On veut simplement savoir, dans vos mots, la raison de la présence de ce qui doit être inscrit.

ISR ( 'modifier ici' ) {minuterieExpiree = 1;...

}

ISR ( 'modifier ici' ) {boutonPoussoir = 1;...

}

4

Question 6 (2 points)

On dit souvent du microcontrôleur Atmega324PA qu'il est un microcontrôleur de 8 bits. Qu'est -ce que cela signifie ?

Question 7 (2 points)

Quelle est la différence entre générer du PWM de façon logicielle et de façon matérielle ? Quels est le principal avantage du PWM matériel par rapport à celui logiciel ?

5

Question 8 (5 points)

Pour chacune des 5 situations décrites plus bas, choisir un seul élément de 1 à 16 dans laliste proposée qui est impliqué dans la réalisation de l'action. Un choix ne peut être utiliséqu'une seule fois au maximum, donc pour une seule situation au maximum.

Choix possibles:

1 – timer/counter 1

2 – DDRA

3 – PORTA

4 – uint8_t

5 – Soudure froide

6 – volatile

7 – ATmega324PA

8 – Un bouton-poussoir

9 – ATmega8

10 – Reset

11 – Avoir une masse commune (GND)

12 – diode libre

13 – EEPROM

14 – ISP-10 et ProgSEL

15 – F_CPU

16 – Cavalier (jumper)

6

Situations:

A) Peut-être vue, à l'extrême, comme la plus grand interruption, celle de plus haute priorité.

_______

B) Sera probablement utilisé si on veux perdre du temps sans avoir recours à des formes de «busy wait» comme les fonctions de délais disponibles par les fichiers “include” <util/delay.h> par exemple.

_______

C) Partie de la carte mère qui est utile surtout lors de l'initialisation de la carte par les chargés de laboratoire en début de session, après l'étape de montage.

_______

D) Doit accompagner la déclaration d'une variable globale utilisée dans un routine d'interruption.

_______

E) Entrée sensible au phénomène de rebond.

_______

*************

7

Recommended