Microprocesseur MSP430-F249 Interruptions port P1, mise en veille, Code Composer Studio, PROTEUS Simulation Validation

Documents pareils
Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Conférence sur les microcontroleurs.

PIC EVAL Dev Board PIC18F97J60

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Instructions Mozilla Thunderbird Page 1

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

NTP (Network Time Protocol)

CONTEC CO., LTD. Novembre 2010

Le No.1 de l économie d énergie pour patinoires.

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

Garage Door Monitor Model 829LM

Paxton. ins Net2 desktop reader USB

WEB page builder and server for SCADA applications usable from a WEB navigator

Exercices sur SQL server 2000

Editing and managing Systems engineering processes at Snecma

Fabricant. 2 terminals

Wobe.

Spécial Catégorie 6 Patch Cords

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

CLIM/GTP/27/8 ANNEX III/ANNEXE III. Category 1 New indications/ 1 re catégorie Nouvelles indications

SERVEUR DÉDIÉ DOCUMENTATION

Once the installation is complete, you can delete the temporary Zip files..

Notice Technique / Technical Manual

L identification par radio fréquence principe et applications

Face Recognition Performance: Man vs. Machine

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Ordinateurs, Structure et Applications

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

MANUEL D INSTRUCTION

Description du logiciel Modbus RTU

La programmation des PIC en C. Les fonctions, les interruptions.

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Renewable Energy For a Better World. Transforming Haïti s energy challenges into wealth and job creating opportunities ENERSA

Prise en main. Prise en main - 0

Guide d'installation rapide TFM-560X YO.13

Initiation. àl algorithmique et à la programmation. en C

L impact des délais de paiement et des solutions appropriées. Dominique Geenens Intrum Justitia

Cette Leçon va remplir ces attentes spécifiques du curriculum :

The impacts of m-payment on financial services Novembre 2011

Contents Windows

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Contrôle d'accès Access control. Notice technique / Technical Manual

How to Login to Career Page

Configuration de TCPIPconfig.h

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Embases pour raccordement G1/8 - G1/4

sur le réseau de distribution

1. PRESENTATION DU PROJET

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Improving the breakdown of the Central Credit Register data by category of enterprises

Introduction au langage C

ARP-090G / ARP-090K NOTICE D'EMPLOI INSTRUCTION MANUAL

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Développement guidé par les tests d acceptation (ATDD/BDD) au Ministère de la défense nationale

PLM 2.0 : Mise à niveau et introduction à l'offre version 6 de Dassault systèmes

Les marchés Security La méthode The markets The approach

INSTRUMENTS DE MESURE SOFTWARE. Management software for remote and/or local monitoring networks

Représenté par Eric Mamy A22 présenté par CFR & CGL Consulting

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Notice d emploi Sonomètre PCE-353

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

ALLIANZ MODE OPERATOIRE DE MIGRATION D UNE AGENCE WINDOWS Août Version du document : 010

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

Conférence Web sur demande de TELUS Guide de référence rapide

Cloud Computing: de la technologie à l usage final. Patrick CRASSON Oracle Thomas RULMONT WDC/CloudSphere Thibault van der Auwermeulen Expopolis

Product Overview Présentation produits

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Les Portfolios et Moodle Petit inventaire

Technologies quantiques & information quantique

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.

PROJECT POUR LE SYSTÈME DE SURVEILLANCE PAR CAMERA BASÉ SUR TECHNOLOGIE AXIS, PANNEAUX SOLAIRES ET LUMIERE DU LEDS BLOC D APARTEMENT LAURIER.

AMC 120 Amplificateur casque

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

Comment consolider des données

TM238LDA24DR 230VAC - RELAYS OUTPUTS -

Création de Sous-Formulaires

Cours Langage C/C++ Programmation modulaire

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF DF 08 / 10

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

AUDIT COMMITTEE: TERMS OF REFERENCE

Cours Informatique 1. Monsieur SADOUNI Salheddine

Tutoriel de formation SurveyMonkey

Transcription:

François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE Développement de microcontrôleurs MSP430 avec validation fonctionnelle PROTEUS Microprocesseur MSP430-F249 Interruptions port P1, mise en veille, Code Composer Studio, PROTEUS Simulation Validation Prérequis : langage C, Code Composer Studio, PROTEUS ISIS simulation d un microprocesseur. 1

Notices techniques du microprocesseur MSP430-F249 : MSP430x23x, MSP430x24x(1), MSP430x2410 MIXED SIGNAL MICROCONTROLLER MSP430x2xx Family : notice technique famille MSP430x2xx. Description du support d activités : Nous proposons de développer les fonctions drivers bas niveau d un ensemble GPS. Le schéma modèle pour la simulation avec PROTEUS est donné page suivante. Le développement est effectué afin d obtenir la consommation la plus faible. Ceci veut dire, qu il faut utiliser les modes de veille du microprocesseur et que cela impose de travailler avec une programmation événementielle (interruption). Nous trouvons les éléments : - 4 boutons reliés aux entrées P1.0 à P1.3 du port P1, qui sont interruptibles et qui possèdent en interne des résistances de tirage. Ces résistances de tirage seront utilisées pour fixer le niveau haut sur ces entrées. - 4 Leds sont reliées à P5.0 à P5.3, elles serviront à afficher le mode de fonctionnement du GPS. - Une mémoire MMC utilisée en mode SPI. Elle est reliée au module SPI B0. - Un GPS série : 9600Bd, 1 bit stop pas de parité. Il est relié au module série A0. - Un module USB/RS232 :19200Bd, 1 bit stop pas de parité. Il est relié au module série A1. - Un quartz 7,3728MHz relié au processeur. Remarques : - Le nombre d interfaces série impose un microcontrôleur possédant au moins un module SPI et deux module RS232. Pour cette raison nous avons choisi un MSP430F249. - Le composant MSP430F249 possède une gestion de modes de veille très évoluée. Il est donc bien adapté au fonctionnement désiré. - 2 systèmes d horloge pour minimiser la consommation : «XT2 Oscillator» MCLK, «LFXT1 Oscillator» 32768Hz ACLK. - Certaines fonctions ne sont pas implémentées ici : affichage graphique, oscillateur à quartz 7,3728MHz 2

Schéma pour la simulation sous Proteus : Microprocesseur F249 - les registres mode de fonctionnement : Vous trouvez les informations pour compléter cette partie paragraphe 4, document «slau144e.pdf». Le processeur possède 4 registres particuliers : R0 à R3, donner la taille et le rôle de chacun. Une ressource s appelle ALU, donner sa fonction. Microprocesseur F249, mise en veille, interruptions masquables - SR ou STATUS REGISTER BITS : Bit GIE : indiquer son rôle. Que veut dire interruption masquable, non masquable? Bits SCG1, SCG0, OSCOFF et CPUOFF : indiquer leurs rôles. La fonction «_BIS_SR()» permet d écrire dans le registre «STATUT». En vous aidant du fichier de déclaration «msp430f249.h», quelle action a sur le processeur la ligne de programme suivante : «_BIS_SR(LPM4_bits + GIE)»? 3

Les modes de fonctionnement, la consommation et les ressources : Applications à faible consommation : Issue de la notice MSP430F249. Often, the most important factor for reducing power consumption is using the MSP430 s clock system to maximize the time in LPM3. LPM3 power consumption is less than 2 µa typical with both a real-time clock function and all interrupts active. A 32-kHz watch crystal is used for the ACLK and the CPU is clocked from the DCO (normally off) which has a 6-µs wake-up. Use interrupts to wake the processor and control program flow. Peripherals should be switched on only when needed. Use low-power integrated peripheral modules in place of software driven functions. For example Timer_A and Timer_B can automatically generate PWM and capture external timing, with no CPU resources. Calculated branching and fast table look-ups should be used in place of flag polling and long software calculations. Avoid frequent subroutine and function calls due to overhead. For longer software routines, single-cycle CPU registers should be used. Remarques : La suite va être développée comme une suite de fiches de découverte de la programmation des drivers bas niveau (écrire, lire un octet ) de cette application. Le microprocesseur fonctionnera en mode LPM3 en mode veille, en lpm0 en mode normal et AM lorsqu il sera en interruption. 4

Le système d horloge du MSP430F249 voir chapitre 5. 3 horloges ACLK, MCLK et SMCLK sont produites à partir de différentes sources. Citer les différentes sources d horloge : - 4 registres permettent de gérer le système d horloge : DCOCTL, BCSCTL1, BCSCTL2, and BCSCTL3. On désire avoir une fréquence de 32768Hz sur ACLK. XIN et XOUT sont câblées avec un quartz horloger à 32,768kHz. Le système d horloge est configuré de façon à avoir en LFXT1CLK le signal XIN. Définir la valeur à donner à LFXT1sx et DIVAx. - 5

Organisation d un projet avec CCS. Production du projet et de la base du programme : chaque nouveau projet sera réalisé sur la même base. Production du projet et de l organisation des dossiers. - Créer un projet nommé «Gps1» avec un microprocesseur «MSP430F249». - Définir l extension du fichier de sortie : «.coff». - Créer un dossier nommé «inc» pour placer les fichiers «en-tête» personnels. - Déclarer le dossier «inc» dans la liste des inclusions (fichiers.h). - Créer un dossier nommé «driver» pour y placer les fichiers «librairies» personnels (fichiers.c). - Rendez votre nouveau projet comme «projet actif». - Vous créez bien sur un fichier «main.c» dans lequel vous écrivez la fonction main() Bien sûr, si vous possédez déjà un projet construit suivant cette organisation, il vous est possible de le copier dans votre dossier «Espace de travail» de CCS et de l importer. Voici l allure de votre projet, ainsi que le fichier main.c. Activité 1. Cette activité est simple, et va vous permettre d apprendre à travailler avec les dossiers «inc» et «driver». 1. Le programme permet d afficher sur les LEDS, l état des boutons poussoirs. Démarche de conception du programme : Création des fichiers programmes *.C dans le dossier driver. Création des fichiers «entête» dans le dossier inc. Modification du fichier main : o Déclaration des fichiers «entête» o Appel des fonctions. Création d un fichier «Port.c» dans driver, dans lequel nous allons placer 2 fonctions : 6

Création des fichiers «entête» «port.h» dans le dossier inc, dans lequel nous allons déclarer le prototype des fonctions de «port.c» On constate au niveau du fichier «port.h» les directives, qui ont été produites automatiquement : #ifndef PORT_H_ #define PORT_H_ #endif /*PORT_H_* Elles permettent, si ce fichier «entête» est inclus dans plusieurs fichiers programmes, d avoir la partie déclaration incluse une seule fois. Le fichier main.c devient : Déclaration de port.h Appel de la fonction d initialisation des ports Appel de la fonction gestion des leds Indiquer les registres qui permettent de configurer le mode de fonctionnement des ports. Compléter le programme et valider le fonctionnement par simulation. 2. Modification du programme. Le nouveau programme va piloter seulement la LED D1. Lorsqu un seul des boutons poussoir est appuyé, la LED éclaire. Modifier le programme et valider le fonctionnement. Activité 2. Cette activité va consister à mettre le processeur en veille, le réveiller par un appui sur un bouton poussoir, à effectuer l action associée et à mettre à nouveau le processeur en veille Dans cette partie nous allons apprendre à utiliser une interruption sur les entrées du port P1. Pour ne pas détruire le projet GPS1, vous pouvez copier ce projet vers GPS2. Sur le projet touche droite de la souris Sur la zone projet touche droite de la souris 7

1. Le programme permet d afficher sur les LEDS, l état des boutons poussoirs. Pour obtenir un fonctionnement par interruption, il va falloir modifier : - la fonction gestion_led(), - la fonction main(), - la fonction port_initialize(), - et le fichier port.h. La fonction gestion_led() devient une fonction interruption, elle se déclare ainsi : #pragma vector=port1_vector interrupt void gestion_led(void) { // écriture des lignes de gestions des leds P1IFG &= ~0x0F; // effacement des flags } Indiquez le rôle de la ligne : P1IFG &= ~0x0F; Cette fonction n est plus appelée par le programme principal, mais par un appui sur un des boutons. La fonction main() devient : void main(void) { port_initialize(); _BIS_SR(GIE); // activation interruptions while (1) { } } Quel est le rôle : o de l instruction _BIS_SR(GIE), o de la boucle while (1) { }? Voici le début de la fonction port_initialize() modifiée. void port_initialize(void) { P1DIR = 0x00; P1OUT = 0xFF; P1REN = 0xFF; P1IE = 0x0F; P1IES = 0x0F; P1IFG &= ~0x0F;. } Commenter chacune des lignes. Fichier port.h : on enlève simplement la déclaration de la fonction «gestion_led()». Modifier le programme et valider le fonctionnement. 2. Reprendre la question 2. De l activité A1. 8

3. Mise en veille. Pour passer à un fonctionnement basse consommation du processeur, c est très simple, la fonction main() devient : void main(void) { port_initialize(); _BIS_SR(LPM3_bits + GIE); // Mode LPM3/ activation interruptions } Que se passe-t-il après que le processeur a exécuté la fonction : _BIS_SR(LPM3_bits + GIE); Modifier le programme et valider le fonctionnement. Activité 3. Cette activité est une activité de synthèse : transmission série. Vous utilisez l interface série UCA0 en mode transmission série asynchrone : 8 bits de données, 1 bit de stop, pas de parité et 9600Bd. Ecrire le driver permettant de transmettre à chaque appui sur un bouton poussoir le numéro du bouton appuyé. Valider le fonctionnement. 9