EME 31 : Mécatronique : énergie et motricité



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

PIC EVAL Dev Board PIC18F97J60

Conférence sur les microcontroleurs.

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

GPA770 Microélectronique appliquée Exercices série A

ELP 304 : Électronique Numérique. Cours 1 Introduction

PROGRAMMATION D'UN MICROCONTRÔLEUR

Temps Réel. Jérôme Pouiller Septembre 2011

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

12 applications pour maîtriser le PICBASIC PB-3B - Gérard GUIHÉNEUF. Elektor-Publitronic ISBN :

Présentation et installation PCE-LOG V4 1-5

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

Informatique Industrielle

1. PRESENTATION DU PROJET

Carte ARDUINO UNO Microcontrôleur ATMega328

Commande Prédictive des. Convertisseurs Statiques

Flowcode - Mode d'emploi

IFT1215 Introduction aux systèmes informatiques

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Initiation au HPC - Généralités

Cours 7 : Programmation d une chaîne d acquisition

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Introduction aux systèmes temps réel. Iulian Ober IRIT

Débuter avec PsoC ou PsoC niveau 0

Fiche technique CPU 314SC/DPM (314-6CG13)

Évaluation et implémentation des langages

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

Ordinateurs, Structure et Applications

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

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

Systèmes et traitement parallèles

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Architecture des ordinateurs

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

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

VIII- Circuits séquentiels. Mémoires

Programmation C. Apprendre à développer des programmes simples dans le langage C

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

! analyse du fonctionnement

ANALYSE TRAMEs LIAISON SERIE

QUESTION 1 {2 points}

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

Conception de circuits numériques et architecture des ordinateurs

Traitement de données

Le multiplexage. Sommaire

Architecture des Ordinateurs. Partie II:

Exécutif temps réel Pierre-Yves Duval (cppm)

2 La technologie DTC ou le contrôle direct de couple Guide technique No. 1

PIC : COURS ASSEMBLEUR

Activité initiation Arduino

Le Multicast. A Guyancourt le

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Métriques de performance pour les algorithmes et programmes parallèles

Commutateur statique de transfert Liebert La solution incontournable pour vos systèmes d alimentation à haute disponibilité

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

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

Organisation des Ordinateurs

MODULES ÉLECTRIQUES. - systèmes électriques DC - onduleurs - convertisseurs - interrupteurs statiques. Notre alimentation Votre confiance

La Recherche du Point Optimum de Fonctionnement d un Générateur Photovoltaïque en Utilisant les Réseaux NEURO-FLOUS

Les microcontrôleurs dans les systèmes embarqués

PIC 16F84. Philippe Hoppenot

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

IV- Comment fonctionne un ordinateur?

Equipement. électronique

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

L AUTOMATISME LE SIGNAL

De source sûre. Les inverseurs de sources statiques numériques ABB dopent la fiabilité des datacenters

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

ARCHITECTURE CONSTITUTION D'UN API

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

COACH-II Manuel d utilisation

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque

I- Définitions des signaux.

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Cours de Systèmes d Exploitation

Protect 5.31 Sortie monophasée 10kVA 120kVA Protect 5.33 Sortie triphasée 25kVA 120kVA. Alimentations Statique Sans Interruption

Carte Relais GSM (Manuel Utilisateur)

Manuel d aide à la pose

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Cours 1 : La compilation

E-BOX. MODULE DESURVEILLANCE POUR : - ESCALIER MECANIQUE - TROTTOIR ROULANT

Chapitre 4 : Les mémoires

Cours A7 : Temps Réel

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Bureau d étude Electronique Automobile

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Informatique Générale

TER Licence 3 Electronique des Télécoms Transmission GSM

Transcription:

university-logo Mécatronique : énergie et motricité 3. Microcontrôleur ENSTA

Plan du cours university-logo 1 Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? 2 Comment programmer un microcontrôleur?

Plan Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? 1 Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? 2 Comment programmer un microcontrôleur?

Classification des processeurs Classification des processeurs Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? DSP : Digital Signal Processor ASIP : Application Specific Instruction Set Processor ASIC : Application Specific Integrated Circuit university-logo

Comparatifs des processeurs Comparatif des processeurs Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? ASIP - ASIC : Inconvénients : développement très important. Atouts : très rapide, low power et performant (car dédié). DSP et microcontrôleurs : Inconvénients : perf limitées pour le haut niveau. Atouts : très performant pour l acquisition massive de données multi-entrée, le calcul scalaire (DSP), low power. Correct pour le moyen niveau (machines à état...) Processeurs classiques Inconvénients : trop cher, difficile à intégrer, forte consommation et forte dissipation d énergie. Atouts : versatile (mais à quel prix!) university-logo

Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? Contexte d utilisation des processeurs Contexte d utilisation des processeurs ASIP - ASIC : Taches dédiées (encodeur MPEG, contrôleur RAID...) DSP et microcontrôleurs Acquisition et traitement de signal (filtrage linéaire, calcul matriciel) à fort débit de données. Commande d actionneurs : génération des signaux de sortie temps réel (PWM à l aide de Timers). Pilotage système : gestion d un automate de pilotage... Processeurs classiques Algorithmique de haut-niveau : traitement d image, intelligence artificielle... university-logo

Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? Contexte d utilisation des processeurs Ventes annuelles de processeurs Ventes annuelles de processeurs en 1999. (Source : D. Tennenhouse - Intel - RTSS 99).

Qu est-ce qu un microcontrôleur? Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? Qu est-ce qu un microcontrôleur? Base : microprocesseur simple (ALU, registres, mémoires...). Éléments supplémentaires utiles au contrôle de systèmes : Timers (minuteries). Convertisseurs analogiques/numériques. Interfaces de communication : Bus RS232 (série), bus I2C... Oscillateur (horloge) interne. Cela permet d éviter d avoir à rajouter soi-même des composants sur le circuit imprimé.

Qu est-ce qu un microcontrôleur? Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? Les spécificités en programmation sur microcontrôleur Pas d OS (dans la plupart des cas). Contrôle total et bas niveau de tous les périphériques. Faible capacité mémoire allocation statique. Possibilités de debuggage limitées. Les conséquences Programmation très proche de l électronique. Pour simplifier la programmation : recours à des librairies de macro-fonctions. Utilisation d outils de debuggage connectés à la carte.

Plan 1 Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? 2 Comment programmer un microcontrôleur?

Comment programmer un microcontrôleur? Microcontrôleur = proche de l électronique Besoin d un langage de bas-niveau Contrôle direct des composants électroniques : registres, mémoires, ADC, timers... Programmation optimale : ressources très limitées (CPU, mémoire...) Besoin d un certain niveau d abstraction Pour implanter des concepts de moyen niveau (machines à état...). Pour simplifier la programmation : macro-fonctions. Un langage répond à ces contraintes le C. university-logo

Comment programmer un microcontrôleur? MPLAB, C18 et le programmateur ICD2 C18 + MPLAB IDE : un compilateur dédié PIC C18 (compilateur PIC) : génère du code assembleur PIC. MPLAB : génère du code machine PIC à partir du code assembleur. ICD2:unprogrammateur in-situ Programmateur EEPROM de PIC sur carte (sans démontage du PIC). Possibilités de debuggage (limitées) : moyennant 2 E/S en moins.

Structure d un programme microcontrôleur Boucle infinie Démarre à la mise sous tension du système et après une initialisation. Peut intégrer une machine à état. Interruptions Evènements extérieurs ou internes interrompant momentanément la boucle.

Structure d un programme microcontrôleur Boucle infinie : machines à état

Un exemple : le PIC 18F4520

Les entrées-sorties logiques Les entrées-sorties logiques 5 Ports d entrée-sortie numérique Les broches sont configurées indépendamment en entrées ou en sorties. Au Reset les broches sont toujours configurées en entrées. Spécificités des ports Port A et B : partagés avec le module ADC (toutes les combinaisons A/D ne sont pas possibles sur les entrée). Port C et D : toujours numérique university-logo

Les entrées-sorties logiques Les entrées-sorties logiques Registres utilisés par les ports E/S PORTx : bits représentants l état réel des lignes d E/S. LATx : bits représentants l état forcé des sorties. TRISx : bits de configurations : 1 : entrée (valeur au reset) 0 : sortie En principe, LATx = PORTx sauf court-circuit ou sur-consommation.

Les entrées-sorties logiques Les entrées-sorties logiques Utilisation en entrée logique Configuration : Lecture :

Les entrées-sorties logiques Les entrées-sorties logiques Utilisation en sortie logique Configuration : Ecriture :

Le convertisseur analogique numérique Le convertisseur analogique numérique Résolution : 10 bits à approximations successives Nombre de voies : 13 canaux Références de tension : Haute : Vdd ou externe par l entrée V ref + (AN3) Haute : Vss ou externe par l entrée V ref (AN2) Valeur obtenue : N = 1024E V e V ref V ref + V ref Durée de conversion :12T ad + T acq

Le convertisseur analogique numérique Le convertisseur analogique numérique

Le convertisseur analogique numérique Le convertisseur analogique numérique Initialisation Conversion Remarque : La conversion n est pas instantanée! university-logo

Les Timers Les Timers : compteurs 8 ou 16 bits préchargeables et dont on peut spécifier l horloge. Principe : Le compteur s incrémente à chaque période. Lorsque le compteur sature, il émet un signal (interruption) et revient à 0. Il est possible de précharger le compteur. Horloge : Dérivée de l horloge principale du PIC : période T osc ou K p T osc avec K p = 1, 2, 4, 8, 16, 32... appelé prescaler. Signal externe : RA4 pour le Timer 0. Utilisation : Temporisation. Comptage d événements. Mesure du temps entre 2 événements. university-logo

Les Timers Les Timers : exemple - clignotement d une LED Initialisation Boucle infinie : clignotement de la LED OutPin

Les PWM : Pulse Width Modulation Les PWM : Pulse Width Modulation Principe : Utilise le module CCP (Capture, Compare, PWM) et le Timer 2. Période : Periode =(valeur + 1) 4 prescaler(timer2) T OSC Temps haut (T haut = valeur prescaler(timer2) T OSC ) préchargée à l aide de SetDCPWMx à la valeur du compteur. Utilisation : Commande de hacheurs de moteurs à courant continu : rapport cyclique constant à vitesse fixée. Commande d onduleurs : rapport cyclique variable sinusoïdalement. university-logo

Les PWM : Pulse Width Modulation Les PWM : Pulse Width Modulation Configuration et démarrage

Les interruptions Les interruptions Principe : Utilisation : Actions urgentes, courtes et asynchrones. university-logo

Les interruptions Traitement des interruptions Traitement immédiat Action effectuée dans la routine d interruption : utilisé pour les actions à temps de traitement court (arrêt d urgence, mesure temporelle, temporisation...) Traitement différé Un drapeau est levé dans la routine d interruption : l action est effectuée ensuite dans la boucle principale qui consulte l état du drapeau périodiquement : utilisé pour les traitements lourds. Traitement mixte Une partie immédiate et une partie différée.

Les interruptions Les interruptions : implantation Initialisation Autoriser la source à émettre des interruptions. Autoriser globalement l usage des interruptions.

Les interruptions Les interruptions : implantation (suite) Code spécifique aux interruptions Définir les fonctions d interception d interruptions sur les adresses des vecteurs 8 et 18.

Les interruptions Les interruptions : implantation (suite) Code spécifique aux interruptions (suite) Définir les routines d interruptions Remarque : il faut absolument effacer la notification d interruption pour en sortir ensuite university-logo

Questions? Questions Contact : vgies@hotmail.com Site internet : www.vgies.com