0% ont trouvé ce document utile (0 vote)
52 vues3 pages

Système embarqué : Examen M2ESE 2021-2022

Transféré par

Abdo Hamani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
52 vues3 pages

Système embarqué : Examen M2ESE 2021-2022

Transféré par

Abdo Hamani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Mostaganem, Département de GE 2021-2022

Matière/Filière : Systèmes embarqués/ M2ESE


Responsable de la matière : NasrEddine Abdellaoui
---------------------------------------------------------------------------------------------------------------------------------
Epreuve finale (Durée 1H)

Questions de cours : (4 pts)


Q1) Donnez deux critères physiques à prendre en considération lors du choix de l’unité de traitement à utiliser pour
réaliser un système embarqué. (1.5 pts)
Réponse : le boitier et la plage de température par exemple.
Q2) Quelle est la fonction du « chien de garde » dans un système embarqué ? (1.5 pts)
Réponse : surveiller le bon déroulement du programme embarqué.
Q3) Quand, on utilise les modes de fonctionnement de « mise en sommeil » dans un système embarqué ? (1 pt)

Réponse : quand le système embarqué fonctionne avec une batterie éventuellement des batteries pour
économiser l’énergie et augmenter leur durée de vie.

Exercice 1 : (10 pts)


On souhaite réaliser un système embarqué de mesure de trois grandeurs physiques : x, y et z.
Un schéma fonctionnel de ce système, est la suivant :
Mémoire de
0 – 5V stockage
Echantillon
Capteur x 0 - 1023
Lecture et stockage
des valeurs de
Capteur y CAN mesure de x, y et z
par interruption du
Affichage en Volt, après
Capteur z Timer.
leur conversion en réel,
des valeurs de mesure
de x, y et z, sur un
terminal série, par la
méthode cyclique.
Interruption du « Timer »

Question :
En supposant que la composante matérielle de ce système est réalisée à l’aide d’une plateforme arduino, on
demande de donner le programme correspondant à sa composante logicielle, en langage arduino.

Déclarations des variables et constantes : (1.5 pt)


Configurations : (1.5 pt)
Fonction lecture et stockage : (3 pts)
Fonction de conversion et d’affichage : (4 pts)

Données :
 Librairie : TimerOne.h ;
 Fonction : [Link](ServiceInterruption) ;
 Fonction : [Link](periodeDuTimer(µs)) avec periodeDuTimer égale à 100000μs ;
 Fonction : analogRead(broche) ; avec broche = A0, A1, A2, A3, A4 ou A5.
 Fonction : [Link](VitesseEnBps) ; avec VitesseEnBps = 9600 bps

-1/3-
 Fonction : [Link]("ChaineDeCaractères") ; pour afficher une chaine de caractères sans retour à la
ligne.
 Fonction : [Link](valeur) ; pour afficher une donnée de type : int, float ou double, avec retour au
début de la ligne suivante.

Programme en langage arduino :

#include <TimerOne.h>

int x,y,z ;

void setup(){

[Link](9600);
[Link](lire_xyz) ;
[Link](100000) ;
}

Void loop(){

afficher_syz() ;
}

void lire_xyz(){
x=analogRead(A0) ;
y=analogRead(A1) ;
z=analogRead(A2) ;
}

void afficher_syz(){

float xr = 5.0 *x/1023 ;


float yr= 5.0 *y/1023 ;
float zr = 5.0 *z/1023 ;
[Link]("xr = ") ;
[Link](xr) ;
[Link]("yr = ") ;
[Link](yr) ;
[Link]("zr = ") ;
[Link](zr) ;
}

-2/3-
Exercice 2 : (6 pts)
Le programme suivant :

#include <avr/wdt.h>

void setup() {
[Link](9600);
[Link]("Demarrage ..");
pinMode(LED_BUILTIN, OUTPUT);
wdt_enable( WDTO_TimeOut);
}
void loop() {
wdt_reset();
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); //temporisation de 1S.
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}

Pour WDTO_TimeOut = 1S

a) Affiche sur le terminal, le message « Demarrage .. » une seule fois, ensuite fait clignoter la LED à un rythme
de 2S.
b) Affiche sur le terminal le message « Demarrage .. » une première fois, ensuite allume la LED sans pouvoir
l’éteindre après, ensuite répète à l’infini l’affichage sur le terminal du message « Demarrrage .. ».
c) Affiche sur le terminal le message « Demarrage .. » une seule fois, ensuite allume la LED et l’éteint plusieurs
fois.
d) Affiche sur le terminal le message « Demarrage .. » plusieurs fois, ensuite allume la LED et l’éteint à un
rythme de 1S.

Réponse : (b) car le temps d’exécution du programme (= 2S) est supérieur à WDTO_TimeOut = 1S

Et pour WDTO_TimeOut = 4S

a) Fait clignoter la LED avec un rythme de 2S ;


b) Affiche sur le terminal le message « Demarrage .. », une première et dernière fois, ensuite fait clignoter la
LED avec un rythme de 2S.
c) Répète l’affichage sur le terminal du message « Demarrage .. », ensuite fait clignoter la LED avec un rythme
de 4S.
d) Affiche sur le terminal le message « Demarrage .. », plusieurs fois, esuite allume la LED sans pouvoir par la
suite l’éteindre.

Réponse : (b) car le temps d’exécution du programme (=2S) est inférieur à WDTO_TimeOut = 4S

-3/3-

Vous aimerez peut-être aussi