Vous êtes sur la page 1sur 45

Les systèmes embarqués

Réalisé par: Pr. S.kririm

1
Qu'est-ce qu'un « Système Embarqué » ?
Définition :Système embarqué
C'est un système informatique et électronique autonome effectuant une
tâche précise.
Il est généralement intégré dans un système plus complexe (c'est en cela
qu'il est « embarqué »), et communique donc avec d'autres systèmes.
Son architecture est basée sur l'une de ces technologies :

➢ Microprocesseurs,
➢ Microcontrôleurs,
➢ Circuits logiques programmables (FPGA: Field Programmable Gate
Arrays).

2
Caractéristiques d’un système
embarqué
1) Fonctionnement en Temps Réel :

➢ Réactivité : des opérations de calcul doivent être faites en réponse


à un événement extérieur (interruption matérielle).

➢ 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 plus part des systèmes sont «multirate » : traitement


d’informations à différents rythmes.
Caractéristiques d’un système
embarqué
2) Faible encombrement, poids et consommation :

➢ Consommation électrique minimisée.


➢ Batterie de 8 heures et plus.
➢ Environnement sévère (Température, vibrations, variations
d’alimentation, eau, feu, radiations, etc.),

Le système n’évolue pas dans un environnement contrôlé


(évolutions des caractéristiques des composants en
fonction de l’environnement).
Caractéristiques d’un système
embarqué
3) Coût, sûreté et sécurité :

➢ Le système doit toujours fonctionner correctement (faible


coût et une redondance minimale),

➢ Sûreté de fonctionnement du logiciel (système


opérationnel même quand un composant électronique « lâche ».

• Beaucoup de systèmes embarqués sont fabriqués en grande


série et doivent avoir des prix de revient extrêmement faibles
Les systèmes embarqués et
le temps réel
➢ Un système embarqué doit généralement respecter des contraintes
temporelles fortes (Hard Real Time).

➢ On y trouve enfoui un système d'exploitation ou un noyau Temps


Réel (Real Time Operating System, RTOS).

➢ "Un système est dit Temps Réel lorsque l'information après


acquisition et traitement reste encore pertinente". Cela veut dire que
dans le cas d'une information arrivant de façon périodique
(interruption), les temps d'acquisition et de traitement doivent rester
inférieurs à la période de rafraîchissement de cette information.
Spécificités d’un système embarqué
Différences avec un ordinateur de bureau :
➢ L'interface IHM (Interface Homme machine) est adaptée selon
l’application. Cela peut-être de simples leds et boutons jusqu’à un
écran tactile. Il doit être robuste.

➢ Généralement: pas de clavier, écran réduit.

➢ Le système embarqué dispose de périphériques et capteurs spécifiques


pour son application:
◼ Carte SD, mémoire flash, …
◼ Wifi, Bluetooth, GPS, …
◼ Température, pression, actuateurs (moteurs, …), …

7
Spécificités d’un système embarqué
Architecture d’un système embarqué :
 Réalisé autour d’un micro-contrôleur (uC)
◼ uC est un système à processeur dans un seul chip (SoC)
◼ comprend: processeur, mémoire, GPIO (entrées/sorties simples
configurables),
contrôleur de bus, contrôleur d’interruption, contrôleur d’écran,
USB, Ethernet, …
◼ très bon rapport performance/prix et performance/consommation.
 Ensemble compact (volume optimisé)

 Démarrage autonome du système (boot)


◼ pas de disque dur, utilisation de mémoire flash, …
8
Systèmes Embarqués
--Systèmes à Microcontrôleurs--
Chapitre I: Généralités sur les
processeurs Embarqué

6
Plan
Introduction
Domaines d’application
Principaux constructeurs
Processus de compilation et de programmation
PIC de Microchip
Familles de PIC
Acronymes

1
0
Introduction

▪ Un microcontrôleur (en notation abrégée µc, ou uc ou encore MCU en anglais)


est un circuit intégré autonome
• Il est capable d’exécuter un programme contenu dans sa mémoire morte dès
qu'il est mis sous tension
• Il rassemble essentiellement :
− Un microprocesseur ( Unité de commande, UAL, Registres)
− Des mémoires (mémoire morte pour le programme, mémoire vive pour les
données)
− Interfaces d'entrées-sorties
− Des unités périphériques (CAN, CNA, Compteur/Timer …)

1
1
Introduction

1
2
Introduction
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
Introduction

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 : Ce sont des mémoires élémentaires pouvant contenir chacun
un opérande. Les registres peuvent être de 8, 16 ou 32 bits.
L’unité de contrôle
C'est l'unité de contrôle qui supervise le déroulement de toutes les opérations
au sein du μp. Elle est constituée principalement de :
Horloge : C'est l'horloge qui génère les signaux qui permettent le
cadencement et la synchronisation de toutes les opérations.
Le compteur programme PC : (Program Counter) contient l'adresse de la
case mémoire où est stockée la prochaine instruction à charger. Le compteur
programme est incrémenté chaque fois qu'une instruction est chargée dans le
μp.
Introduction

Le registre d'instruction RI : C'est là où le μp stocke l'instruction en cours


d'exécution.
Le décodeur : C'est lui qui va "décoder" l'instruction contenue dans RI et générer les
signaux logiques correspondants et les communiquer au séquenceur.
Le séquenceur : Il gère le séquencement des opérations et génère :
➢ les signaux du bus de commande (RD, WR, etc.),
➢ les signaux internes aux μP (gestion des registres, de l’A.L.U., aiguillages des bus
internes, etc.).
Le registre d'état : Le registre d'état est formé de plusieurs bits appelés drapeaux ou
indicateurs (Flags) qui sont positionnés par l'ALU après chaque opération. On dispose
d'un jeu d'instructions conditionnées par l'état de différents drapeaux. Par exemple
l’indicateur Z indique, quand il est positionné, que le résultat de l'opération est égal à
Zéro. L’indicateur C indique que l'opération a généré une retenue. Le bit N indique que
le résultat est négatif …
Architecture de µC
Von Neumann

Bus de données: Même canal de lire les instructions et manipuler les


données:
➢ 8 bits pour les petites applications embarquées
➢ 16 bits pour les applications embarquées de moyenne complexité
➢ 32 bits, 64 bits pour les gros calculateurs, les ordinateurs, …
Architecture de µC
L’architecture Harvard

➢ Deux canaux d’échange pour lire les instructions et manipuler les données

➢ Les deux bus distincts programme et donnée permettent de réaliser


simultanément une recherche d'une instruction et l'exécution de l'instruction
précédente.
Circulation de l’information dans un microcontrôleur

Le microprocesseur échange des informations avec la mémoire et l’unité d’E/S, sous


forme de mots binaires, au moyen d’un ensemble de connexions appelé bus. Un bus
permet de transférer des données sous forme parallèle, c’est-à-dire en faisant circuler n
bits simultanément.
Les microprocesseurs peuvent être classés selon la longueur maximale des mots
binaires qu’ils peuvent échanger avec la mémoire et les E/S : microprocesseurs 8 bits,
16 bits,32 bits, ...

Le bus peut être décomposé en trois bus distincts :


• le bus d’adresses permet au microprocesseur de spécifier l’adresse de la case
mémoire à lire ou à écrire ;
• le bus de données permet les transferts entre le microprocesseur et la mémoire ou les
E/S ;
• le bus de commande transmet les ordres de lecture et d’écriture de la mémoire et des
E/S.
Description matérielle d’un microprocesseur
Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un
nombre généralement important de broches.
Exemples :
• Intel 8085, 8086, Zilog Z80 : 40 broches, DIP (Dual In-line Package) ;
• Motorola 68000 : 64 broches, DIP ;
• Intel 80386 : 196 broches, PGA (Pin Grid Array).
Technologies de fabrication : NMOS, PMOS, CMOS.
On peut représenter un microprocesseur par son schéma fonctionnel :
Fonctionnement d’un microprocesseur

Un microprocesseur exécute un programme. Le programme est une suite d’instructions


stockées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets.

Format d’une instruction :


Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur
doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le
microprocesseur utilise un registre contenant cette information. Ce registre est appelé
pointeur d’instruction (IP : Instruction Pointer) ou compteur d’instructions ou
compteur ordinal.

Remarque : la valeur initiale du pointeur d’instruction est fixée par le constructeur


du microprocesseur. Elle vaut une valeur bien définie à chaque mise sous tension du
microprocesseur ou bien lors d’une remise à zéro (reset).
Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de
façon à pointer vers l’instruction suivante :

A la suite de chaque instruction, un registre du microprocesseur est actualisé en


fonction du dernier résultat : c’est le registre d’état du microprocesseur. Chacun des
bits du registre d’état est un indicateur d’état ou flag (drapeau).
Exemple : registre d’état du microprocesseur Z80 :
Les mémoires

Mémoires ROM et RAM

On distingue deux types de mémoires :

• Les mémoires vives (RAM : Random Access Memory) ou mémoires volatiles.


Elles perdent leur contenu en cas de coupure d’alimentation. Elles sont utilisées pour
stocker temporairement des données et des programmes. Elles peuvent être lues et
écrites par le microprocesseur ;

• Les mémoires mortes (ROM : Read Only Memory) ou mémoires non volatiles.
Elles conservent leur contenu en cas de coupure d’alimentation. Elles ne peuvent
être que lues par le microprocesseur (pas de possibilité d’écriture). On les utilise
pour stocker des données et des programmes de manière définitive.
Les mémoires sont caractérisées par leur capacité : nombre total de cases mémoire
contenues dans un même boîtier.
Organisation d’une mémoire

Une mémoire peut être représentée comme une armoire de rangement constituée de
différents tiroirs. Chaque tiroir représente alors une case mémoire qui peut contenir
un seul élément : des données. Le nombre de cases mémoires pouvant être très élevé,
il est alors nécessaire de pouvoir les identifier par un numéro. Ce numéro est appelé
adresse. Chaque donnée devient alors accessible grâce à son adresse.
Schéma fonctionnel d’une mémoire

Le nombre de lignes d’adresses dépend de la capacité de la mémoire : n lignes


d’adresses permettent d’adresser 2n cases mémoire : 8 bits d’adresses permettent
d’adresser 256 octets, 16 bits d’adresses permettent d’adresser 65536 octets (= 64 Ko),
...
Exemple : Mémoire RAM 6264, capacité = 8K × 8 bits : 13 broches d’adresses A0 à
A12,213 = 8192 = 8 Ko.
Caractéristiques de la mémoire

Les principales caractéristiques d'une mémoire sont les suivantes :


➢ La capacité : représente le volume global d'informations que la mémoire peut stocker.
➢ Le temps d'accès: correspond à l'intervalle de temps entre la demande de
lecture/écriture et la disponibilité de la donnée

➢ Le temps de cycle: représente l'intervalle de temps minimum entre deux accès


successifs
➢ Le débit: est le volume d'information échangé par unité de temps, exprimé en bits
par seconde
➢ La volatilité caractérise l'aptitude d'une mémoire à conserver les données lorsqu'elle
n'est plus alimentée électriquement .
-
Connexion de plusieurs boîtiers mémoire sur le bus d’un microprocesseur

Les boîtiers mémoire possèdent une broche notée 𝑪𝑺 : Chip Select. Lorsque
cette broche est active (état bas), le circuit peut être lu ou écrit. Lorsqu’elle est
inactive( état haut), le circuit est exclu du service : ses broches de données D0 à
D7 passent à l’état de haute impédance : tout se passe comme si la mémoire était
déconnectée du bus de données du microprocesseur, d’ou la possibilité de
connecter plusieurs boîtiers mémoire sur un même bus : un seul signal 𝑪𝑺 doit
être actif à un instant donné pour éviter les conflits entre les différents boîtiers.

Exemple : connexion de trois boîtiers mémoire d’une capacité de 8 Ko


chacun (13 lignes d’adresses) sur un bus d’adresse de 16 bits :
Dans un même boîtier, une case mémoire est désignée par les bits d’adresses A0 à A12 :
Pour atteindre la mémoire n°1, il faut mettre à 1 le bit A13 et à 0 les bits A14 et A15.
La plage d’adresses occupée par cette mémoire est donc :

De même, pour la mémoire n° 2, on doit avoir A13 = 0, A14 = 1 et A15 = 0 d’ou la


plage d’adresses occupée cette mémoire :

Pour la mémoire n °3, on doit avoir A13 = 0, A14 = 0 et A15 = 1 d’ou la plage
d’adresses occupée cette mémoire :
On en déduit la cartographie ou mapping de la mémoire visible par le microprocesseur :
Décodage d’adresses
Les trois bits A13, A14 et A15 utilisés précédemment fournissent en fait 8
combinaisons, de 000 à 111, d’ou la possibilité de connecter jusqu’à 8 boîtiers
mémoire de 8 Ko sur le bus. La mémoire totale implantée devient donc de 8 × 8 Ko =
64 Ko : valeur maximale possible avec 16 bits d’adresses.
Pour cela, il faut utiliser un circuit de décodage d’adresses, dans ce cas : un
décodeur 3 vers 8.
Table de vérité du décodeur d’adresses :

Le mapping de la mémoire devient ainsi :


Classification des mémoires

RAM statiques (SRAM)


Dans lesquelles les informations sont
mémorisées par une bascule de type D et
conservées tant que l'alimentation est
présente (mémoire volatile), elles sont
réalisées en technologie MOS ou bipolaire.

RAM dynamiques (DRAM)


Elles utilisent un condensateur comme cellule mémoire (un bit mémorisé) de
l'information. Cette information tend à se dégrader à cause des courants de
fuites, ce qui nécessite un rafraîchissement périodique.
Mémoires mortes :

• ROM : Read Only Memory. Mémoire à lecture seule, sans écriture. Son contenu
est programmé une fois pour toutes par le constructeur.

• PROM : Programmable Read Only Memory. ROM programmable une seule fois
par l’utilisateur (ROM OTP : One Time Programming) en faisant sauter des fusibles.

• EPROM : Erasable PROM, appelée aussi UVPROM. ROM programmable


électriquement avec un programmateur et effaçable par exposition à un rayonnement
ultraviolet pendant 30 minutes. exemple : 2764 (8 Ko), 27256 (32 Ko).
Avantage : reprogrammable par l’utilisateur.

• EEPROM : Electrically Erasable PROM. ROM programmable et effaçable


électriquement. Lecture à vitesse normale ( ≤ 100 ns). Ecriture (= effaçement) très
lente( ≈ 10 ms). Application : les EEPROM contiennent des données qui peuvent être
modifiées de temps en temps, exemple : paramètres de configuration des ordinateurs.
• EPROM FLASH - effaçable électriquement - écriture plus rapide que les
EEPROM - mais effacement de toute la capacité de la mémoire en un coup. - prix
plus faible que les EEPROM - haute tension de programmation environ 12 volts
Domaines d’application

Moyens de communication Moyens de transport Electronique de consommation

Electroménagers Technologie de sécurité


Modélisme

Robotique Jouets Médecine


10
Principaux constructeurs

36
Processus de compilation et de programmation

▪ À partir d’un programme écrit en langage C

37
Processus de compilation et de programmation

▪ À partir d’un programme écrit en assembleur

Program.asm

Program.hex
assembler/ (machine language)
translator 11 00xx 0010 0000 programmer

MOVLW 0x20

38
PIC de Microchip

▪ Les microcontrôleurs PIC forment une famille de microcontrôleurs de la société


Microchip
▪ Ces microcontrôleurs sont dérivés du PIC1650 développé à l'origine par la division
microélectronique de General Instrument
▪ Le nom PIC n'est pas officiellement un acronyme, bien que la traduction en
« Peripheral Interface Controller ».

39
PIC de Microchip

▪ Les PICs adoptent une architecture Harvard:


• Ils possèdent deux mémoires séparées : une pour le programme et l’autre pour les
données

▪ Les PICs sont des processeurs dits RISC (Reduced Instruction Set Computers):
• Processeur à jeu d’instruction réduit
• Plus on réduit le nombre d’instructions, plus facile et plus rapide en est le décodage, et plus
vite le composant fonctionne
• Cependant, il faut plus d'instructions pour réaliser une opération complexe

40
Familles de PIC

▪ Les modèles de PIC courants sont repérés par une référence de la forme :
• 2 chiffres : famille du PIC (10, 12, 16, 18, 24 ,32) ou dsPIC (30, 33)
• 1 lettre : type de mémoire de programme (C ou F).
− F indique en général qu'il s'agit d'une mémoire Flash (reprogrammable et
effaçable électriquement)
− C indique en général que la mémoire ne peut être effacée que par exposition
aux ultra-violets
o (exception pour le PIC16C84 qui utilise une mémoire EEPROM effaçable
électriquement)
− CR indique que la mémoire est une PROM
− L peut être ajouté devant cette première lettre pour indiquer qu'il s'agit d'un
modèle basse tension (exemple : 2 V à 5,5 V si LF — 4,2 V à 5,5 V si F).
• Un nombre de 2 à 4 chiffres : modèle du PIC au sein de la famille. Toutefois il y
a maintenant des exceptions : PIC18F25K20 ou PIC18F96J60 par exemple
• Un groupe de lettres pour indiquer le boîtier et la gamme de température
41
Familles de PIC

▪ Exemple 1 : PIC18LF4682-I/P
• Microcontrôleur de la famille PIC18
• Basse tension (L)
• Mémoire flash (F)
• Modèle 4682
• Gamme de température industrielle (I) (-40°/+85°)
• Boîtier DIL40 (p)

42
Familles de PIC

▪ Exemple 2 : PIC16F84-04
• Microcontrôleur de la famille PIC16
• Mémoire flash (F)
• Modèle 84
• Capable d’accepter une fréquence d’horloge de 4 MHz

43
Familles de PIC

44
Familles de PIC
--PIC 8 bits--
▪ PIC10 et PIC12
• Ce sont des composants récents. Ils ont comme particularités d'être
extrêmement petits (existe en boîtier SOT-23 à 6 broches de moins de 3×3 mm),
simples et économiques
▪ PIC16
• Les PICs de la famille 16C, 16F ou 16CR sont des composants de milieu de
gamme
• C'est la famille la plus riche en termes de dérivés
• La Famille 16 dispose de 3 sous-familles :
− La sous-famille avec le cœur Baseline : instructions sur 12 bits
− La sous-famille avec le cœur Middle-Range : instructions sur 14 bits
− La sous-famille avec le cœur High end : instructions sur 16 bits

45

Vous aimerez peut-être aussi