Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Circuit Intégrès plan en 1961 : Une bascule avec 4 transistors (1.5mm de largeur) Fairchild
Semiconductor & Texas Instruments
Le "907" resistor-transistor logic chip en 1963 2 bascules chacune avec 4 transistors et 4 résistances
(0,97 mm de largeur)
Conception de Circuit Intégrès assisté par ordinateur en 1967 Environ 150 portes logiques (3.81mm
de largeur) Les transistors placés en colonne et les connections réalisées sur 2 couches
INTEL Microprocesseur:
"4004" en 1971 Bus de 4 bits, intègre 2300 transistors,
"8008" en 1972 Bus de 8 bits et intègre 3500 transistors
"8080" en 1974 Bus de 8 bits, intègre 6000 transistors
"8086" en 1978 Bus de 16 bits, intègre 29000 transistor
"80386" en 1985 Bus de 32 bits, intègre 275500 transistors
"Pentium" en 1993 Bus de 64 bits, intègre 3,1 Millions transistors
"Pentium IV" en 2004 Bus de 64 bits, intègre 42 – 55 Millions transistors
"Core i7"
Seulement 6% des processeurs vendus sont destinés au marché des PC, le reste sont destinés au
marché de l’embarqué.
CLASSIFICATION Systèmes collectifs : large communauté d’individus (centrale nucléaire, avion, train,
…) ♣ Durée de vie longue ♣ Durée de développement longue ♣ Contraintes de sûreté fortes ♣ Coût
élevé . Systèmes personnels : individu, groupe d’individus (téléphone, agenda électronique, lave
linges, automobile, …) ♣ Durée de vie courte ♣ Temps de mise en marché « time to market » très
court ♣ Contraintes de sûreté plus ou moins fortes ♣ Coût accessible
CARACETRISTIQUE
L’autonomie ♣ Les systèmes embarqués doivent en général être autonomes
− Autonomie de fonctionnement : remplir leur mission sans intervention humaine.
− Autonomie fonctionnelle (Totale ou Partielle) : exécution des services sans sollicitation à d’autres
systèmes leur mission sans intervention humaine.
− Autonomie énergetique : avoir sa propre source d’alimentation capable de tenir pendant de
périodes plus ou moins longues selon l’application.
La spécificité : dédiés pour une ou plusieurs applications spécifiques
La complexité et l’intelligence ♣ La cohabitation de l’électronique analogique, numérique, des
composantes RF (RadioFréquence) sans interférences est une tâche difficile. ♣ La complexité d’un
SEMs augmente avec le nombre de ses composants et le nombre de ses applications spécifiques. ♣
Intelligence c’est le moyen d’améliorer la qualité du système Exemple : Auto-diagnostic, Auto-
configuration, Adaptabilité, Evaluation des risques
La réactivité ♣ Un SEM doit interagir avec son environnement à une vitesse specifique donc il y a des
impératifs de temps de réponse. le Système embarqué est souvent basé sur un système temps réel.
♣ L’autonomie fonctionnelle diminue avec la croissance de la réactivité.
La Mobilité ♣ C’est la possibilité de déplacement du système. ♣ concevoir des solutions mobiles qui
facilitent le déplacement du système. ♣ contient des outils qui peuvent faciliter certains processus et
répondre à des besoins réels.
L’exécution en temps réel ♣ L’exécution des opérations doivent être faites deadlines précises
sinonles résultats ne sont plus valides. Exemple critique : le contrôleur de frein d’une voiture
♣ un système temps réel n’est pas forcement un système rapide. Il existe des contraintes strictes
(dépend de l’environnement).. ♣ La puissance de calcul : condition nécessaire mais pas suffisante. ♣
Vitesse moyenne ou vitesse maximale n’est pas importante, le pire-cas importe Attention : Ne pas
confondre temps réel et rapidité Temps réel veut dire prédictibilité et non rapidité
Temps réel dur (hard real-time) : le non respect 23e des contraintes temporelles entraîne la faute du
système. Les échéances ne doivent jamais être dépassées. Exemple : contrôle de trafic aérien,
système de conduite de missile, ...
Temps réel souple (soft real-time) : le respect des échéances est important sinon pas de graves
conséquences . Le système doit répondre le plus rapidement possible. Exemple : système
d'acquisition de données pour affichage, …
Temps réel ferme (firm real-time) : temps réel souple, mais si l’échéance est dépassée le résultat
obtenu n’a plus de valeur (il est donc écarté).
♣ La plupart des systèmes embarqués sont des systèmes "mutlirate" ou "multipériode" − Les
données sont capturées à un certain rythme. − Les traitement sur ces données ne sont pas
forcément à la même granularité. − Les actionneurs fonctionnent à une fréquence différentes. ♣ Un
STR est généralement géré par un système d'exploitation ou un noyau Temps Réel (Real Time
Operating System, RTOS). ♣ L’échelle de temps de l’échéance peut varier d’une application à l’autre
− microseconde en contrôle radar − milliseconde pour la synchronisation image/son (mpeg) −
minute pour les distributeurs automatiques
La robustesse, fiabilité et sécurité ♣ pour des raisons physiques (chocs, variations de température...)
ou humaines (malveillance). la sécurité (résistance aux malveillances) et la fiabilité (continuité de
service ). ♣ Le système doit être opérationnel même lorsqu’un composant est défaillant
La consommation d’énergie ♣ Le Système Embarqué Mobile doit être à faible consommation si non
il faut alors des batteries de plus forte capacité (augmentation du cout).
La flexibilité ♣ La flexibilité des SEMs est la capacité de changer quelques propiétés ou
fonctionnalités du système. ♣ Ces changements : − la reprogrammation de son calculateur − la
reconfiguration matérielle de ses circuits logiques programmables (FPGA, CPLD, PLD) − la
réutilisation de ses composants virtuels (IP)
Le volume / le poids ♣ La miniaturisation des SEMs est ses composants electronique est un facteur
important qui affecte directement sa mobilité. ♣ Réduction de l’encombrement ♣ La miniaturisation
du système nécessite plus de temps de conception et réduit le délai de vie du système.
Le coût ♣ Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix
extrêmement faibles pour faire face à la concurrence
Les µProcesseurs : Les processeurs généraux actuels se répartissent en deux grandes catégories
selon leurs jeu d’instructions :
♣ CISC : Complex Instruction Set Computer : ♣ utilisés pour les ordinateurs. ♣ jeu d'instructions
riche. ♣ de nombreuses instructions. ♣ Instructions exécutées en plusieurs cycles ♣ Consommation
énergétique élevée.
♣ RISC : Reduced Instruction Set Computer : ♣ utilisés pour les SE. ♣ jeu d'instructions réduit, facile à
décoder. ♣ des instructions simples. ♣ Instructions généralements exécutées en 1 seul cycle. ♣
Consommation énergétique réduite.
Intel : •CISC : 4004, 8008, 8080, 8085, 8086, 8088, 80186, 80188, 80286, 80386, 80486, la série
Pentium, la série Celeron, Itanium, Itanium 2, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3,
Core i5, Core i7 • RISC : i960, i860
AMD
Advanced Micro Devices : •CISC : Am2900, Am286, Am386, Am486, Am586, la série K5, la série K6,
la série K7 (Athlon, Duron, Sempron), la série K8 (Athlon, Opteron, Sempron, Turion), la série K10
(Athlon, Opteron, Sempron, Phenom) • RISC : la série AMD 29K, Geode, Alchemy
(Motorolla) Freescale Semiconductor : •CISC : 6800, 6802, 6808, 6809, 68000, 68008, 68010, 68020,
68030, 68040, 68060, 68881, 68882, •RISC : ColdFire, 88000, 88100
Autres : •RISC : la famille PA (Hewlett-Packard),
la famille POWER (IBM), la famille OMAP (Texas Instruments), la famille Mips (Mips Technologies), la
famille SPARC (Sparc International) , la famille ARM (ARM Ltd.)
Programmation :
Le langage machine est le langage compris par le microprocesseur. Ce langage est difficile à
maitriser puisque chaque instruction est codée par une séquence propre de bits. Afin de faciliter la
tâche du programmeur, on a créé le langage assembleur qui utilise des mnémoniques pour le codage
des instructions :
♣ MOV AX,100 (mettre la valeur constante 100 dans AX) ♣ MOV AX,[100] (mettre dans AX la valeur
stockée à l'adresse 100 en mémoire) ♣ ADD AX,BX (ajouter la valeur de BX à AX) ♣ SUB BX,100
(soustraire la valeur constante 100 à BX) ♣ MUL CX (multiplier AX par la valeur stockée dans CX).
Le code machine est généré automatiquement, par le compilateur de très nombreux langages de
programmation lors de la compilation.
est un processeur dont l'architecture est optimisée pour effectuer des calculs complexes en un cycle
d'horloge, mais aussi pour accéder très facilement à un grand nombre d'entrées-sorties (numériques
ou analogiques). Il possède aussi quelques caractéristiques assez spécialisées.
Architecture Générale :
Architecture Harvard : 2 mémoires : accessibles
simultanément ⇒ Moins de manipulations de données. Plus
complexe à programmer.
N.B. : Possibilité d’utiliser la mémoire programme comme 2
ème mémoire de données (utile pour les opérations type
produit scalaire).
Types de données :
Les entrées/sorties représentent souvent des grandeurs physiques. On a donc besoin de manipuler
des réels avec une précision limitée, typiquement entre 10 et 24 bits.
Codage en virgule fixe (la grande majorité des DSP) : • mots de 16 ou 24 bits (très souvent) • mots
de 20 ou 32 bits (rarement)
Codage en virgule flottante : • mots de 32 bits (plus ou moins compatible IEEE 754) • mots de 16, 24
ou 32 bits (avec des codages particuliers)
Performances : • vitesse : DSP virgule fixe sont plus rapides • taille : DSP virgule fixe sont plus petits
• énergie : DSP virgule fixe consomment moins Etat actuel : 95% des DSP en virgule fixe et sur 16
bits.
Exemples de DSP :
Un microcontôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur :
processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités
périphériques et interfaces d'entrées-sorties
Ces éléments sont reliés par 3 bus :
Le bus d'adresse qui permet au microprocesseur de sélectionner la case
mémoire ou le périphérique auquel il veut accéder pour lire ou écrire une information (instruction
ou donnée) ;
Le bus de données qui permet le transfert des informations entre les différents éléments ; ces
informations seront soit des instructions, soit des données en provenance ou à destination de la
mémoire ou des périphériques ;
Le bus de contrôle qui indique si l'opération en cours est une lecture ou une écriture, si un
périphérique demande une interruption pour faire remonter une information au processeur, etc.
Le PIC16F946 :
CPU RISC (20MHz/35 instructions)
Module LCD
54 Entrées/Sorties
Module de comparaison analogique
A/D Converter:
CAN (8 canaux/résolution 10 bits)
3 Timers (2x8 bits et 1x16 bits)
Port Série Synchrone (SSP)
Universal Synchronous Asynchronous Receiver
Transmitter (USART)
Modules PWM (10 bits/20kHz)
Mémoire Données (368 x 8bits)
Mémoire Programme (8K x 14bits)
Le
STM32F10x Le
ATSAMDGxxA