M1-Archi 2016-2017 Page 1 ___________________________________________________________________________ Architecture des systèmes à microprocesseur TD n°2 : Interruptions ___________________________________________________________________________ Objectifs de la séance -Prise en main de la plateforme en ligne : mbed -Compréhension du mécanisme d’interruption ___________________________________________________________________________ Matériel requis : -Une plateforme nucleo-board STM32F446RE ___________________________________________________________________________ I. Introduction Comme lors du précédent TD, on se propose d’utiliser la plateforme de développement en ligne mbed d’ARM. Cette plateforme regroupe tout un ensemble de fonctionnalités permettant à l’utilisateur de se focaliser sur le codage de son système via l’utilisation d’un grand nombre d’API. I. Aller sur le site : https://www.mbed.com/en/ puis Developer Resources et enfin Compiler. II. Authentifiez-vous afin d’accéder à votre workspace.
6
Embed
Architecture des systèmes à microprocesseur TD n°2 ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Afin de se familiariser avec l’environnement mbed, importer directement le programmeexempleintituléReadtheuserbuttonusingexternalinterrupt,commeindiquéci-dessous.
3. Comptage du nombre d’appui par interruption et affichage de lavaleursurlaliaisonsérie
A partir du template précédent, on souhaite faire évoluer le programme vers unsystèmequicomptelenombred’appuisurlebouton.Lenombred’appuiseramisàjouretenvoyésurlaliaisonsérie.
• Onsouhaitequel’interruptionsoitissued’unebrocheextérieure(etnonplusparle bouton poussoir). On vous laisse la possibilité de travailler sur une seuleplateformeouavecunbinôme.
o Binôme1:Réaliserleprogrammepermettantdegénérerdesimpulsionsrégulièressurunebrocheexterne.Onpourraparexemplemettreà1unebrocheexternependant1mspuisà0pendant1s.
o Binôme 2 : Réaliser le programme permettant de prendre en compte
l’interruption sur la broche. La détection devra tenir compte du frontdescendantetafficherlenombred’impulsionsurlaliaisonsérie.
• Dans ce nouveau programme sous mbed, on souhaite que l’interruption soitgénéréepériodiquementparuntimer.Réaliserunprogrammequipermettoutesles3secondesdechangerlapériodedeclignotementdelaled.Onpourrafixerunepériodep1à200msetunepériodep2à1s.
o RegardernotammentlesautresAPIdisponibles…
iii) Sourcesmultiplesd’interruption
• Danscenouveauprogramme,onsouhaitegérerplusieurssourcesd’interruption.Lapremièresourceserauneinterruptiongénéréeparuntimerquipermettradelirelavaleurissueducapteurdetempérature(AnalogInadc_temp(ADC_TEMP)).Lasecondesourced’interruptionseralagénérationpériodiqued’unsignalPWMsurlaled.LapériodedusignalPWMsera500msavecunrapportcycliquede40%.Générer aussi une interruption au niveau du bouton poussoir pour changer lerapportcyclique.Onleferavarierde10%à80%parpasde10%.