Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin...

41
Le microcontrôleur La logique programmée

Transcript of Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin...

Page 1: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleurLa logique programmée

Page 2: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleurLa logique programmée

Le microprocesseur (du µC) exécute séquentiellement les instructions

codées en binaire et présentent dans la mémoire programme

Page 3: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleurLa logique programmée

Le microprocesseur (du µC) exécute séquentiellement les instructions

codées en binaire et présentent dans la mémoire programme,

Il y a donc un temps de traitement et rares sont les µC capables de gérer

du multi-thread

Page 4: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, le besoin

Page 5: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, le besoin

Page 6: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, le besoin

Page 7: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, le besoin

Page 8: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, la structure

Page 9: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, la structure

Un objet technique, intégrant de l’électronique, fait souvent

apparaître des fonctions ayant pour rôle le traitement

d’informations : opérations arithmétiques (addition,

multiplication...) ou logiques ( ET, OU...) entre plusieurs

signaux d’entrée permettant de générer des signaux de sortie.

Ces fonctions peuvent être réalisées par des circuits intégrés

analogiques ou logiques. Mais, lorsque l’objet technique devient

complexe, et qu’il est alors nécessaire de réaliser un ensemble

important de traitements d’informations, il devient plus simple

de faire appel à une structure à base de microcontrôleur.

Page 10: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Structure d’un système technique

Page 11: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Structure d’un système technique

Page 12: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, les boitiers

Page 13: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, descriptionUn microcontrôleur se présente sous la forme d’un circuit intégré réunissant tous les éléments d’une structure à

base de microprocesseur. Voici généralement ce qu’on trouve à l’intérieur d’un tel composant :

- un microprocesseur (C.P.U.).

- de la mémoire de donnée (RAM et EEPROM).

- de la mémoire programme (ROM, OTPROM, UVPROM ou EEPROM).

- des interfaces parallèles pour la connexion des entrées / sorties.

- des interfaces séries pour le dialogue avec d’autres unités.

- des timers pour générer ou mesurer des signaux avec une grande précision temporelle.

- des convertisseurs analogique-numérique pour le traitement de signaux analogiques.

avantages : - encombrement réduit

- circuit imprimé peu complexe

- faible consommation

- coût réduit

Page 14: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, son marché

Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète (des composants mémoires + des composants d’E/S + …. Cette structure devenait compliquée d’autant plus que les µP devenaient de plus en plus puissants: utilité de cette puissance?????Des constructeurs ont donc décidé de créer un composant unique qui rassemble dans le même boitier tous les composants utiles: des mémoires + des composants d’E/S et évidemment, un petit µP

Page 15: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, les constructeurs

• Mototola,• Microchip, (PIC)• Atmel, (Attiny…, AT90S…., ARM Cortex,….)• NXP,• Cypress,• Texas Instrument• Samsung

Page 16: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, organisation fonctionnelle

Page 17: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877

Page 18: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877

Page 19: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877High performance RISC CPUOnly 35 single word instructions to learnAll single cycle instructions except for program branches which are two cycleOperating speed: DC - 20 MHz clock input

DC - 200 ns instruction cycleUp to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory (RAM),Up to 256 x 8 bytes of EEPROM Data MemoryInterrupt capability (up to 14 sources)Direct, indirect and relative addressing modesPower-on Reset (POR)Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operationProgrammable code protectionPower saving SLEEP modeSelectable oscillator optionsLow power, high speed CMOS FLASH/EEPROM technologyIn-Circuit Serial Programming (ICSP) via two pinsIn-Circuit Debugging via two pinsWide operating voltage range: 2.0V to 5.5V - High Sink/Source Current: 25 mA

Page 20: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877

bit timer/counter with 8-bit prescaler-bit timer/counter with prescaler,can be incremented during SLEEP via external crystal/clockbit timer/counter with 8-bit periodregister, prescaler and postscaler

Two Capture, Compare, PWM modules- Capture is 16-bit, max. resolution is 12.5 ns- Compare is 16-bit, max. resolution is 200 nsPWM max. resolution is 10-bit

bit multi-channel Analog-to-Digital converterSynchronous Serial Port (SSP) with SPI (Master mode) and I2C(Master/Slave)Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detectionParallel Slave Port (PSP) 8-bits wide, withexternal RD, WR and CS controls (40/44-pin only)

out detection circuitry forBrown-out Reset (BOR)

Page 21: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877

Page 22: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, exemple du PIC 16F877

Page 23: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Le processeurCPU: Central Process Unit

Un microprocesseur exécute séquentiellement les instructions stockées dans la mémoire programme. Il est capable

d’opérer sur des mots binaires dont la taille, en bits, est celle du bus de données. Il est constitué de registres

(mémoires de un ou plusieurs octets où le microprocesseur vient lire ou écrire des données) :

- un ou plusieurs registres (accumulateurs) contenant temporairement les opérandes (valeurs traitées par les

instructions) ainsi que les résultats des opérations.

- des registres auxiliaires permettant de relayer les accumulateurs.

- des registres d’index pour les différents modes d’adressage des données.

- un compteur programme pointant l’adresse de la prochaine instruction à exécuter, sa taille est celle du bus des

adresses.

- un registre code condition indique certaines particularités du résultat de la dernière opération effectuée (retenu,

zéro,...).

- des registres de configuration des périphériques.

Page 24: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, les mémoires programmes (ROM: Read Only Memory)

Cette mémoire contient les instructions du programme que doit exécuter le microprocesseur. Ce type de mémoire

(appelée mémoire morte), est uniquement accessible en lecture. Sa programmation nécessite une procédure particulière

et un matériel adéquate.

Il en existe différents types selon leur mode de programmation :

- de la ROM dont le contenu est programmé lors de sa fabrication.

- de la PROM (Programmable ROM) programmable électriquement une seule fois par le développeur (appelée

aussi OTPROM, One Time Programmable ROM).

- de la EPROM (Erasable PROM) programmable électriquement et effaçable aux Ultra-Violet (appelée aussi

UVPROM).

- de la EEPROM (Electrically EPROM) programmable et effaçable électriquement.

Page 25: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, les mémoires de données

Cette mémoire permet de mémoriser temporairement les données générées par le microprocesseur pendant les

différentes phases du traitement numérique (résultats d’opérations, états des capteurs...). Ces mémoires sont

accessibles en écriture et en lecture.

On en trouve 2 types :

- de la mémoire vive (RAM: Random Access Memory) volatile (données perdues en cas de coupure

de l’alimentation) ayant un temps de lecture et écriture assez court (quelques ns).

- de la mémoire morte (EEPROM) non-volatile (données conservées en cas de coupure de

l’alimentation) ayant un temps d’écriture assez élevé (quelques ms) par rapport au temps de lecture

qui est assez faible (quelques ns).

- De la mémoire Flash: La mémoire flash est une mémoire à semi-conducteurs, non volatile et réinscriptible, c'est-à-dire une mémoire

possédant les caractéristiques d'une mémoire vive mais dont les données ne se volatilisent pas lors d'une mise hors tension. Ainsi la mémoire flash

stocke les bits de données dans des cellules de mémoire, mais les données sont conservées en mémoire lorsque l'alimentation électrique est coupée.

(cçm)

Page 26: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, l’interface parallèle

Ce type d’interface est répartie sur plusieurs « ports » (maximum 8 bits), permet de prendre en compte

des états logiques appliqués en entrée (état de capteurs) ou de générer des signaux binaires en sortie

(commande d’actionneurs). Les broches de ces ports peuvent donc être configurées en entrée ou en

sortie, avec différentes options (résistances de rappel, etc…). La configuration ainsi que l’état logique de

ces broches est obtenue par des opérations d’écriture ou de lecture dans différents registres associés à

chaque port. On trouve généralement :

- un registre de direction pour une configuration soit en entrée ou soit en sortie.

- un registre de donnée recopiant les états logiques de chaque broche de port.

- un registre d’option permettant plusieurs configurations en entrée ou en sortie ou autre.

Page 27: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, l’interface parallèle

Ce type d’interface est répartie sur plusieurs « ports » (maximum 8 bits), permet de prendre en compte

des états logiques appliqués en entrée (état de capteurs) ou de générer des signaux binaires en sortie

(commande d’actionneurs). Les broches de ces ports peuvent donc être configurées en entrée ou en

sortie, avec différentes options (résistances de rappel, etc…). La configuration ainsi que l’état logique de

ces broches est obtenue par des opérations d’écriture ou de lecture dans différents registres associés à

chaque port. On trouve généralement :

- un registre de direction pour une configuration soit en entrée ou soit en sortie.

- un registre de donnée recopiant les états logiques de chaque broche de port.

- un registre d’option permettant plusieurs configurations en entrée ou en sortie ou autre.

Page 28: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, l’interface série

Ce type d’interface permet au microcontrôleur de communiquer avec d’autres systèmes à base de microprocesseur.

Les données envoyées ou reçues se présentes sous la forme d’un succession temporelle (sur un seul bit) de valeurs

binaires images d’un mots. Il y a 2 types de liaison série : synchrone et asynchrone.

Liaison série synchrone (USART: Universal Synchronous & Asynchronous Receiver Transmitter) :

Dans ce dispositif la transmission est synchronisé par un signal d’horloge émis par l’unité maître : les informations

binaires transitent sur un seul fil (dans les deux sens) au rythme du signal d’horloge.

Bus I2CBus CAN

Page 29: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, l’interface sérieCe type d’interface permet au microcontrôleur de communiquer avec d’autres systèmes à base de microprocesseur.

Les données envoyées ou reçues se présentes sous la forme d’un succession temporelle (sur un seul bit) de valeurs

binaires images d’un mots. Il y a 2 types de liaison série : synchrone et asynchrone.

Liaison série asynchrone (UART: Universal Asynchronous Receiver Transmitter) :Ce dispositif ne possède pas de signal d’horloge de synchronisation. Les unités en liaison possèdent chacune une

horloge interne cadencée à la même fréquence. Lorsqu’une unité veut émettre un mot binaire, elle génère un front

descendant sur sa ligne émettrice. A la fin de l’émission de ce mot, la ligne repasse au niveau haut. C’est le principe

du protocole de transmission de donnée RS232 utilisé en informatique notamment par les modems externes.

Bus 1-wire

Page 30: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, l’interface sérieCe type d’interface permet au microcontrôleur de communiquer avec d’autres systèmes à base de microprocesseur.

Les données envoyées ou reçues se présentes sous la forme d’un succession temporelle (sur un seul bit) de valeurs

binaires images d’un mots. Il y a 2 types de liaison série : synchrone et asynchrone.

Liaison série asynchrone (UART: Universal Asynchronous Receiver Transmitter) :Ce dispositif ne possède pas de signal d’horloge de synchronisation. Les unités en liaison possèdent chacune une

horloge interne cadencée à la même fréquence. Lorsqu’une unité veut émettre un mot binaire, elle génère un front

descendant sur sa ligne émettrice. A la fin de l’émission de ce mot, la ligne repasse au niveau haut. C’est le principe

du protocole de transmission de donnée RS232 utilisé en informatique notamment par les modems externes.

Bus 1-wire

Adresse sur 64 bits → 264=1,844674407×10¹⁹

esclaves….

Page 31: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Le CAN (Convertisseur Analogique -> Numérique (ou ADC)

Le CAN intégré dans les microcontrôleurs est généralement du type “Approximations successives. Il possède

plusieurs entrées multiplexées accessibles via les broches des ports de l’interface parallèle. Le CAN possède

normalement 2 registres :

- un registre de données contenant le résultat de la conversion,

- un registre de contrôle permettant de lancer et de surveiller la conversion.

Page 32: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Le CAN (Convertisseur Analogique -> Numérique (ou ADC)

Le CAN intégré dans les microcontrôleurs est généralement du type “Approximations successives. Il possède

plusieurs entrées multiplexées accessibles via les broches des ports de l’interface parallèle. Le CAN possède

normalement 2 registres :

- un registre de données contenant le résultat de la conversion,

- un registre de contrôle permettant de lancer et de surveiller la conversion.

10 bits → 210 valeurs → 0 à

1023

⚫ 0V→ 0

⚫ 5V → 1023

⚫ Donc, produit en croix...

Page 33: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Les timers

Le Timer permettent de réaliser les fonctions suivantes :

- génération d’un signal périodique.

- génération d’une impulsion calibrée.

- temporisation.

- comptage d'événements.

Plusieurs registres associés au Timer permet de configurer les différents modes décrits précédemment.

Page 34: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Le watchdog

Ce dispositif est un système « anti-plantage » du microcontrôleur. Il s’assure qu’il n’y ait pas d'exécution prolongée

d’une même suite d’instruction.

Un compteur rechargeable se décrémente régulièrement au rythme de la fréquence d’horloge. Si aucun

rechargement n’est effectué avant qu’il n’atteigne la valeur “0” un Reset est généré relançant ainsi le

microcontrôleur au début du programme. Il faut donc penser à recharger régulièrement ce chien de garde par

programme lorsqu’il est activé.

Page 35: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Les signaux d’horlogeLe signal d’horloge permet de cadencer le fonctionnement du microcontrôleur. Ce dernier intègre généralement une

porte à trigger de Schmitt afin de réaliser un oscillateur. Pour l’obtenir, on place un quartz entre les deux broches

“OscIn” et “OscOut” comme indiqué sur le schéma suivant :

OU

OU

Page 36: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Le microcontrôleur, Le circuit d’initialisation conseillé

The PIC16F87X differentiates between

various kinds of RESET:

• Power-on Reset (POR)

•MCLR Reset during normal operation

•MCLR Reset during SLEEP

• WDT Reset (during normal operation)

• WDT Wake-up (during SLEEP)

• Brown-out Reset (BOR)

Page 38: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Les microcontrôleurs: le raz de marée Arduino

Versions améliorées

Page 39: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Les microcontrôleurs: le raz de marée Arduino

IoT

Page 40: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète
Page 41: Le microcontrôleurCH3) Le... · 2019-12-01 · Le microcontrôleur, son marché Au cours de la fin des années 90, l’utilisation des microprocesseurs nécessitait une carte complète

Préparation au TD

TinkerCAD