Vous êtes sur la page 1sur 38

Cours Architecture des systèmes

électroniques embarqués
Cours Ingénierie 2AC-ISII

STM32

Professeur :
Dr. Khadija EL HAMIDI - khadija.elhamidi@isga.ma
Organisation de l'enseignement
Contenu horaire :

● 10.5 h de cours (=7x 1,5h)


Présentation de systèmes embarqués, Les différentes familles de micros
utilisés dans l’embarqué, des Microprocesseurs et Microcontrôleurs
(architecture, principes généraux, ...). Étude d'un micro- contrôleur ARM
Cortex- STM32F103C8T6. Mise en œuvre d’un STM32 à base d’ARM Cortex 3.

● 10.5 h de travaux pratiques (=7x 1,5h)


Prise en main du logiciel STM32CubeIDE pour la programmation du
STM32. Programmation sous ISIS Proteus et la Mise en pratique des
connaissances sur le micro-contrôleur STM32F103C8T6.

! Merci d'être à l'heure en cours / TP !

2
! Contrôle des connaissances

Vous êtes principalement évalués sur la base des TP et Cours

(1) Avant toute chose, vous devez rédiger un algorigramme,

(2) les programmes écrits doivent être commentés,

(3) vérification des programmes en simulation et sur carte d'essai,

(4)chaque étudiant sera noté individuellement ; nous évaluerons la participation de


chacun au sein d'un binôme constitué.

DMs : Des Devoirs maison durant la séance de TP ou cours (peuvent être à


l’mprevu).

Examen : contrôle des connaissances sur les notions vues en cours (exercices inclus)
et en TP. 4
Objectifs du cours

L'objectif de ce cours est de vous rendre capable de choisir, de programmer,


d'utiliser un micro-contrôleur et plus généralement de vous transmettre une culture
des systèmes micro-programmés.

Non dédié à un microcontrôleur

● Notions d'architecture [des systèmes micro-programmés]


● Éléments constitutifs [d'un système micro-programmé]
● Fonctionnement [d'un système micro-programmé]
● Éléments de choix [d'un système micro-programmé]
Dédié à un microcontrôleur

● Connaissances des différents types d'instruction


● Notion d'interruption
● Programmation

6
Plan

Présentation des systèmes Embarqués

Architecture des systèmes Embarqués


Présentation des différents éléments d'un micro-contrôleur, éléments de choix

Microcontrôleur vs Microprocesseur

Architecture interne du Microprocesseur

Famille du Microprocesseur ARM-Cortex

Étude du fonctionnement d'un micro-contrôleur : STM32F103C8T6

Installation et mise en œuvre

Présentation de fonctions intégrées au microcontrôleur (GPIO, LCD, timer, PWM, etc.)

7
Introduction
Chaque jour nous utilisons des produit qui contient des puces d’ordinateur qui
sont constitués d’une UC (CPU),des mémoires et des programmes.

Real Life examples of Embededd systems

8
Les Systèmes Embarqués
Embedded systems

«Un système embarqué est un système


électronique et informatique autonome, souvent
temps réel, spécialisé dans une tâche précise. Le
terme désigne aussi bien le matériel informatique
que le logiciel utilisé. »
(Source : Wikipédia)

8
Les Systèmes Embarquées

▪ Un système embarqué n’est pas forcément:


▪ mobile,
▪ petit,
▪ caché,
▪ puissant (ou non puissant),
▪ complexe,
▪ alimenté par batterie,
▪ économe en énergie,
▪ cher (ou bon marché),
▪ spécifique,
▪ industriel,
▪ …
Les Systèmes Embarqués
Définition « Embedded System »

▪ Tout système conçu pour résoudre un problème ou une tâche


spécifique / dédié mais n’est pas un ordinateur d’usage général.

▪ Il ne possède généralement pas des entrées/sorties standards et classiques


comme un clavier ou un écran d'ordinateur. Les parties matérielle et
logicielle sont intimement liées et noyées dans le matériel et ne sont pas
discernables comme un environnement de travail classique de type PC.

▪ Système électronique et informatique autonome possédant des entrées-


sorties spécifiques (pour la plupart, liées à des grandeurs ou des
phénomènes physiques).

▪ Composante primordiale d’un système plus large ou une machine dont


l’objectif est de commander, contrôler et superviser ce système. 9
Principales caractéristiques des SE

▪ Encombrement mémoire
▪ Consommation d’énergie
▪ Poids et volume
▪ Criticité / Fiabilité / Tolérance aux fautes
▪ Mobilité
▪ Communications
▪ Interfaçage avec monde physique
▪ Contraintes environnementales
▪ Contraintes temps réel
▪ Coûts
▪ MCO
▪ …

9
Principales caractéristiques des SE

Spécificité :
▪ Un système embarqué est conçu pour un usage spécifique seulement. Il ne fera pas d'autre
tâche. Certains systèmes embarqués sont spécifiques à un domaine.
▪ Un système embarqué est désigné pour effectuer la tâche dédiée uniquement, il ne peut pas
être amené à exécuter plusieurs fonctions automatisées à partir de différentes entrées.
Exemple : La machine à laver ne peut pas cuire les aliments par exemple, il s'agit donc d'un
système intégré spécifique à une tâche (Laver les vêtements).

9
Principales caractéristiques des SE

Réactif en temps réel :


Certains systèmes embarqués sont conçus pour réagir à événements qui se
produisent dans l'environnement extérieur (interruption matérielle). Ces
événements se produisent également en temps réel. La validité d'un résultat dépend
du moment où il est délivré, (deadlines). Rater une échéance peut causer une erreur
de fonctionnement. La plupart des systèmes sont « multi-rate » : traitement
d'informations à différents rythmes
Exemple : Un climatiseur ajuste ses pièces mécaniques dès que possible, car il reçoit un signal
de ses capteurs pour augmenter ou diminuer la température lorsque l'utilisateur le fait
fonctionner à l'aide d'une télécommande.

9
Principales caractéristiques des SE
• Opération dans un environnement difficile :
• Certains systèmes embarqués sont conçus pour fonctionner dans des conditions
d’environnement sévères (Température, vibrations, variations d'alimentation, interférences
RF, corrosion, eau, feu, radiations, etc.),
• Ces systèmes embarqués doivent être capables de supporter les conditions
environnementales dans lesquelles ils sont conçus pour fonctionner.

• Conception compacte :
• Un système embarqué de taille compacte et léger poids sera souhaitable ou plus populaire
que celui qui est encombrant et lourd.
• Un système embarqué est conçu pour être compact et léger, car tout doit être placé sur une
seule puce pour effectuer une tâche, y compris le microcontrôleur, le timer, les pièces d'E/S
et le logiciel embarqué.
Ex. Téléphones cellulaires actuellement disponibles Les téléphones cellulaires qui avoir les
fonctionnalités maximales sont populaires, mais aussi leur taille et le poids est une
caractéristique important

• Consommation d’énergie :
• Les systèmes embarqués sont conçus de manière à dissiper la puissance au
minimum.
• L'objectif est d'économiser l'énergie et d'éviter la surchauffe du système en
ajoutant des dissipateurs de chaleur et des ventilateurs de refroidissement, et
9
parfois une batterie plus grosse est utilisée pour faire fonctionner le système.
Principales caractéristiques des SE
Distribué

Certains systèmes embarqués font partie d'un système plus vaste forment ainsi des
composants d'un système distribué. Ces composants sont indépendants les uns des autres,
mais ils travaillent ensemble pour que le système global fonctionne correctement.

Ex. Une voiture a de nombreux systèmes embarqués contrôlés à son tableau de bord.
Chacun est un système embarqué indépendant, mais on peut dire que la voiture entière
fonctionne correctement seulement si toutes les parties du système global fonctionnent
correctement (et ensemble).

9
Principales caractéristiques des SE

Faible coût : les systèmes embarqués sont généralement conçus pour être rentables.
En effet, ils sont souvent utilisés en grandes quantités et le coût unitaire doit être
faible pour rendre le produit économiquement viable.

Haute efficacité : les systèmes embarqués sont conçus pour être très efficaces en
termes de puissance de traitement, d'utilisation de la mémoire et de consommation
d'énergie. Cela garantit qu’ils peuvent accomplir leur tâche spécifique avec une
efficacité et une fiabilité maximales.

Fonctionnalité sophistiquée : Les systèmes embarqués sont très avancés et développés de


nos jours, et ne connaissent pas les fonctionnalités sophistiquées des téléphones mobiles et des
tablettes.
Ils sont conçus à la perfection en tenant compte des besoins et des exigences du marché de
consommation !
Tout le monde veut posséder un iPhone Apple, n'est-ce pas ? Tout simplement en raison de
leurs fonctionnalités sophistiquées !

9
Principales caractéristiques des SE
Interface utilisateur minimale : de nombreux systèmes embarqués ne nécessitent pas
d'interface utilisateur complexe. Ils sont souvent conçus pour fonctionner de manière
autonome ou avec une intervention minimale de l'utilisateur.

• Jetez un bref coup d'œil à votre climatiseur, votre four ou votre machine à laver, vous avez
peut-être remarqué un point commun : une interface utilisateur minimale.

• Les systèmes embarqués sont conçus avec une interface utilisateur minimale car les
utilisateurs n'ont presque rien à faire par eux-mêmes, il suffit de fournir l'entrée ou nous
pouvons dire les instructions, le système est déjà entièrement automatisé pour effectuer la 9
tâche désignée en conséquence.
Principales caractéristiques des SE

▪ Encombrement mémoire
▪ Consommation d’énergie
▪ Poids et volume
▪ Criticité / Fiabilité / Tolérance aux fautes
▪ Fonctionnel. Le système doit toujours
fonctionner correctement.
▪ Sûr, surtout si la sécurité des personnes est en jeu.
▪ Interfaçage avec monde physique
▪ Contraintes environnementales
▪ Contraintes temps réel
▪ Coûts
▪ Système principalement numérique
▪ Fiables : destinés à un fonctionnement
autonomes qui ne tolère pas l’erreur.
▪ … Source : NVidia

9
Principales caractéristiques des SE

9
Principaux domaines d’application des SE

• Transports
• Aéronautique
• Automobile / Camions / Machinisme
agricole
• Ferroviaire
• …
• Spatial
• Militaire / Défense
• Réseaux / Télécommunications
• Domotique / Bâtiments
• Distribution et gestion de l’énergie
• Médical
• Terminaux de paiement
• Consumer electronics
• Robotique
• …

9
Architecture d’un Système Embarqué
.

9
Architecture d’un Système Embarqué
1. Unité de calcul (CPU) est le cerveau du système embarqué, il exécute toutes les
opérations du système
2. Mémoire : La mémoire est utilisée pour stocker les données, les programmes, les
paramètres et d'autres informations essentielles pour le fonctionnement du système. Elle se
divise souvent en deux types :
Mémoire vive (RAM) : Utilisée pour le stockage temporaire des données en cours
d'utilisation.
Mémoire morte (ROM ou Flash) : Stocke les programmes et les données permanentes.

3. Capteur : Il mesure la quantité physique et la convertit en un signal électrique qui peut être
lu par un observateur ou par n'importe quel instrument électronique comme un convertisseur
A/N. Le capteur stocke la quantité mesurée dans la mémoire.

4. Actionneur : Un actionneur compare la sortie fournie par le convertisseur (N/A) à la sortie


réelle (attendue) qui y est stockée et stocke la sortie approuvée.

5. Convertisseur Analogique/Numérique (ADC) :Un convertisseur (A/N) convertit le signal


analogique envoyé par le capteur en un signal numérique.

6. Convertisseur Numérique/Analogique (N/A) : Un convertisseur numérique-analogique


9
convertit les données numériques fournies par le processeur en données analogiques.
Architecture d’un Système Embarqué
Exemple

Lorsque vous utilisez votre ordinateur portable, vous saisissez des informations sur le clavier ou
déplacez votre doigt sur le pavé tactile.
•Chaque appui est capté puis traduit en signaux électriques
•Ces signaux électriques sont ensuite convertis en une succession de 0 et de 1.
•Cette succession de 0 et de 1 est prise en charge par le processeur qui, en coopération avec un
mémoire vive de stockage, traite cette information numérique suivant des programmes donnant les
instructions à exécuter selon une méthode imposée : l'algorithme.
•Une fois ces calculs effectués, le processeur renvoie un résultat sous forme d'une succession aussi de
0 et de 1.
•cette suite de nombres est reconvertie en signal électrique, signal qui reçu par l'écran ou les haut-
parleurs conduit à un changement d'image ou de son. 9
Microcontrôleurs vs Microprocesseur

9
Microcontrôleurs vs Microprocesseur
Un microcontrôleur est un circuit à base de microprocesseur qui contient (dans le même boîtier):

• Une mémoire pour les données.


• Une mémoire pour le programme.
• Des ports d'entrées/sorties
• D'autres périphériques comme: des temporisateurs,
des convertisseurs A<=>N, des interfaces de
communications séries, parallèle, Ethernet, …

.
Il existe différents types de microcontrôleurs fabriqués
par divers fabricants. Ce cours traite seulement les
Extrait de www.st.com microcontrôleurs STM32 de chez STMicroelectronics
Deux types de processeurs
Il existe deux grandes familles au niveau des jeux d’instructions

● CISC : Complex Instruction Set Computer

Grand nombre d'instructions,


Type de processeur le plus répandu

● RISC : Reduced Instruction Set Computer

Nombre d'instructions réduit


(sélection des instructions pour une exécution plus rapide)
Décodage des instructions plus rapide

15
Architecture interne d’un Microprocesseur
Le microprocesseur c’est puce electronique programmable
Les différents constituants d‟un microprocesseur (µp) peuvent être regroupés dans deux blocs
principaux, l'unité de calcul et l'unité de contrôle.

RI : registre d‟instruction
PC : compteur de programme
RE : registre d‟état
9
En mots simples un microprocesseur, c’est un CPU dans un circuit intégré
Architecture interne d’un Microprocesseur
L’unité de calcul
Elle est constituée de l‘Unité Arithmétique et logique UAL et d’un certain nombre de
registres
 ALU : Unité arithmétique et logique
 Les registres :Un registre est une zone mémoire à l’intérieur du microprocesseur de faible
taille, qui permet de mémoriser des mot mémoires ou des adresses d’une façon temporaire
lors de l’exécution des instructions

⚫ALU ou UAL: regroupe l’ensemble des traitements pouvant être appliqués à des données
9
Architecture interne d’un Microprocesseur

9
Architecture interne d’un Microprocesseur

● Les différents bus d'un système micro-programmés

« Un bus est un jeu de lignes partagées pour l’échange de mots numériques. »


(Traité de l’électronique, Paul Horowitz & Winfield Hill)

Définition : Un bus permet de faire transiter (liaison série/parallèle) des


informations codées en binaire entre deux points. Typiquement les informations
sont regroupés en mots : octet (8 bits), word (16 bits) ou double word (32 bits).

Caractéristiques d'un bus:


● nombres de lignes,

● fréquence de transfert.

29
Architecture interne d’un Microprocesseur

Il existe 3 Types de bus :

● Bus de données : permet de transférer entre composants des données,


ex. : résultat d'une opération, valeur d'une variable, etc.

● Bus d'adresses : permet de transférer entre composants des adresses,


ex. : adresse d'une case mémoire, etc.

● Bus de contrôle : permet l'échange entre les composants d'informations de


contrôle [bus rarement représenté sur les schémas].
ex. : périphérique prêt/occupé, erreur/exécution réussie, etc.
Définition : Une adresse est un nombre binaire qui indique un emplacement dans
une zone mémoire

30
Structures des systèmes micro-programmés
Pour l'organisation des différentes unités, il existe deux architectures :


Structure de Von Neumann

● Structure de Harvard

La différence se situe au niveau de la séparation ou non des mémoires programmes et données.


La structure de Harvard permet de transférer données et instruction simultanément, ce qui
permet un gain de performances.
21
Microcontrôleur
Un microcontrôleur est système informatique complet à l’intérieur d’un circuit intégré.
• Un processeur, qui exécute les instructions. Il est cadencé par une horloge (H).
• Une mémoire morte (ROM : Read Only Memory) qui contient des instructions. Son
contenu est permanent : il reste intact lorsque le système n’est plus alimenté.
• Une mémoire vive (RAM : Random Access Memory, qui permet de stocker des données.
Son contenu est perdu lorsque le courant est coupé.
• Des circuits d’entrée-sortie (I/O : Input/Output). Ce sont les circuits qui permettent
l’interaction avec l’extérieur : clavier, souris, écran, mémoire externe, imprimante, etc.
• Des lignes électriques, appelées bus relient ces éléments entre eux. Voici un schéma-bloc
d’un système informatique

9
Les différents systèmes programmables
● Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit) :

Les circuits spécialisés sont des circuits spécialisés dès leur conception pour une application
donnée.

Exemples : DSP (Digital Signal Processing), co-processeur arithmétique, processeur 3-D,


contrôleur de bus, ...

Source : Texas Instruments


Source : NVidia

Avantages : Inconvénients :
● Très rapide ● Faible modularité
● Consommation moindre ● Possibilité d'évolution limité
● Optimisé pour une application ● Coût 11
Les différents systèmes programmables
Les systèmes en logique programmée et/ou en logique programmable sont connus sous la
désignation de PLD (programmable logic device, circuit logique programmable)

● FPGA (field-programmable gate array, réseau de portes programmables in-situ),


● PAL (programmable array logic, réseau logique programmable),
● ...

Source : Altera Source : Altera

« Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique qui
peut être reprogrammé après sa fabrication. Il est composé de nombreuses cellules logiques
élémentaires pouvant être librement assemblé.» (Wikipédia)

Avantages : Inconvénients :
● Forte modularité ● Mise en oeuvre plus complexe
● Rapidité ● Coûts de développement élevé 12
Les différents systèmes programmables
● Les systèmes micro-programmés :

Les micro-contrôleurs sont typiquement des systèmes micro-programmés.

Micro-contrôleur Microchip
PIC16F690 en boîtier DIL20

Un micro-contrôleur est un :

« Circuit intégré comprenant essentiellement un microprocesseur, ses mémoires, et


des éléments personnalisés selon l'application. »
Un micro-contrôleur contient un microprocesseur.

Avantages : Inconvénients :
● Mise en oeuvre simple ● Plus lent
● Coûts de développement réduits ● Utilisation sous optimale 13
Évolution et Loi de Moore

Intel Pentium 4 Northwood C (2002)


architecture interne 32 bits
fréquence d’horloge 2,4/3,4 Ghz
(bus processeur : 200Mhz)
plus de 42 millions de transistors, gravés en 0,13 µm
450 MIPS
Source : Intel

Source : Intel

Intel 8086 (1978)


architecture interne 16 bits
bus 16 bits
fréquence d'horloge 4,77/10 Mhz
16
39 000 transistors, gravés en 3µm
Source : Wikipédia
0,33/0,75 MIPS

Vous aimerez peut-être aussi