Chapitre 1
Chapitre 1
Chapitre 1
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 :
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é)
6
Plan
Introduction
Domaines d’application
Principaux constructeurs
Processus de compilation et de programmation
PIC de Microchip
Familles de PIC
Acronymes
1
0
Introduction
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
➢ Deux canaux d’échange pour lire les instructions et manipuler les données
• 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
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.
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 :
• 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.
36
Processus de compilation et de programmation
37
Processus de compilation et de programmation
Program.asm
Program.hex
assembler/ (machine language)
translator 11 00xx 0010 0000 programmer
MOVLW 0x20
38
PIC de Microchip
39
PIC de Microchip
▪ 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