Fonctionnalités d'un système informatique embarqué automobile

Ce document présente les principales fonctionnalités d'un système informatique embarqué dans les véhicules automobiles modernes. Les étudiants découvriront comment ces systèmes assurent le contrôle et la gestion des différents composants du véhicule, contribuant ainsi à améliorer la sécurité, le confort et les performances.

Automobile
  • 1. Définition et rôle des systèmes embarqués en automobile
  • 2. Architecture typique d'un système embarqué
PDF

Ip-2-3-c4-mf-systèmes-embarquéspdf

Le système embarqué permet aux objets de réaliser des tâches prédéfinies à l'avance (intelligence artificielle faible) ou de rendre l'objet plus autonome 

  • 3. Capteurs et actionneurs : collecte et traitement des données
  • 4. Unités de contrôle électronique (ECU) : gestion des systèmes
  • 5. Fonctionnalités de sécurité active et passive
  • 6. Gestion du moteur, de la transmission et du freinage
  • 7. Systèmes de confort et d'infodivertissement
  • 8. Connectivité et communication entre systèmes
  • 9. Diagnostic et maintenance des systèmes embarqués
  • 10. Évolution vers la conduite autonome
Systèmes et logiciels embarqués

Objectifs de ce cours. panorama de l'existant ; méthodologie à suivre pour construire un système embarqué communiquant complet (matériel, os, système de fichiers, application(s)). initiation basée sur un système d'exploitation ouvert.

PDF

Architecture des systèmes embarqués

Introduction architecture matérielle compléments sur les processeurs interface processeur/monde extérieur modes interruptions & exceptions architecture logicielle système d’exploitation composition et démarrage d’un exécutable chargeur d’amorçage débogage

PDF

Fonctionnalités d'un système informatique embarqué automobile

Qu'est-ce qu'un système embarqué et ses fonctionnalités ?

Un système embarqué peut être considéré comme un système matériel informatique dans lequel est intégré un logiciel .
il peut s'agir d'un système indépendant ou d'une partie d'un système plus vaste.
un système embarqué est un système basé sur un microcontrôleur ou un microprocesseur conçu pour effectuer une tâche spécifique.

Quelles sont les tâches du système embarqué dans le cas d'un avion ?

Produit de haute-technologie par excellence, un avion est truffé de systèmes embarqués pour faciliter son pilotage et améliorer la sécurité des passagers grâce aux commandes de vol, pilote automatique, système d'enregistrement des données de vol – la fameuse boîte noire, système de communication air/sol, etc.

Introduction aux systèmesembarqués emb7000

Introduire l'étudiant aux systèmes embarqués et leurs applications dans les systèmes de mesure et de commande en temps‐réel. l'enseignement couvre les composants et les différentes étapes de conception et réalisation d’un système à microcontrôleur(s), du point de vue matériel et logiciel.

PDF

Introduction aux systèmes embarqués

Un système embarqué est un système complexe qui intègre du logiciel et du matériel conçus ensemble afin de fournir des fonctionnalités données. le terme de système embarqué désigne aussi bien le matériel que le logiciel

PDF

Quels sont les types de système d'exploitation embarqué ?

Un des principaux avantages des systèmes embarqués est leur efficacité énergétique.
conçus pour effectuer des tâches spécifiques avec un minimum de consommation d'énergie, ces systèmes permettent une gestion plus économique des ressources, ce qui est crucial pour les appareils fonctionnant sur batterie.

Quels sont les différents types d’architecture d’un système embarqué ?

Découvrir l’architecture matérielle et logicielle typique d’un système embarqué approfondir quelques notions utiles autour des processeurs (architecture, interruptions...) volatile : registres, cache, mémoire vive (sram, dram...) de communication : contrôleur i2c, spi, can, ethernet, wifi, zigbee, lorawan...

C'est quoi un logiciel embarqué ?

Un logiciel embarqué (embedded software) est un programme utilisé dans un équipement industriel ou un bien de consommation. (on achète un produit pour le service qu'il rend et non pas pour le logiciel qu'il embarque). => un équipement est valorisé par son aspect fonctionnel. logiciel ou système embarqué ?

Quels sont les systèmes embarqués ?

Les systèmes embarqués, présents dans des appareils variés comme les téléphones portables et les équipements industriels, sont optimisés pour des tâches spécifiques avec une grande efficacité. combinant matériel et logiciel, ils jouent un rôle central dans notre quotidien.

Système embarqué, qu’est ce que c’est ?
Les systèmes embarqués introduction

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

PDF

Comment vérifier les systèmes embarqués ?

La seule façon de s'assurer que les systèmes embarqués sont sûrs et sécurisés est de vers les tests. plus précisément, grâce à une vérification rigoureuse et validation tout au long du cycle de développement. cela inclut avant le développement du logiciel, dans l'analyse des besoins précoces et jusqu'à la fin de vie.

Qu'est-ce que les systèmes intégrés ?

Plutôt que d'être constitués de composants distincts tels que des ordinateurs de bureau, des serveurs et d'autres domaines informatiques similaires, les systèmes intégrés sont intégrés à des produits et incluent du matériel et des logiciels intégrés. comment sont utilisés les systèmes embarqués ?

Plan

Introduction Architecture matérielle Compléments sur les processeurs Interface processeur/monde extérieur Modes Interruptions & Exceptions Architecture logicielle Système d’exploitation Composition et démarrage d’un exécutable Chargeur d’amorçage Débogage

Objectifs du cours

Découvrir l’architecture matérielle et logicielle typique d’un système embarqué Approfondir quelques notions utiles autour des processeurs (architecture, interruptions...) Comprendre les mécanismes de communication avec les périphériques Comprendre le composition et le démarrage d’un exécutable

Traitement de données stockage de données interaction avec le monde extérieur

Acquisition de données Actions sur l’environnement Communication Composants embarqué matériels d’un

Traitement de données processeur stockage de données

Volatile : registres, cache, mémoire vive (SRAM, DRAM...) Non volatile : mémoire morte (ROM, PROM, EPROM, EEPROM, flash...), support de stockage de masse

Un peu de vocabulaire

Processeur : composant qui exécute les instructions d’un programme Micro-processeur : processeur se présentant sous la forme d’un circuit intégré Micro-contrôleur : circuit intégré unique intégrant un processeur, de la mémoire et un ensemble de périphériques System sur puce (System on a chip, SoC) : définition similaire à celle d’un micro-contrôleu...

GPIO (General-Purpose Input/Output) : patte (pin) d’un circuit intégré ou connecteur d’une carte électronique qui peut être utilisé comme une entrée ou une sortie numérique (configurable dynamiquement)

Plan

Introduction Architecture matérielle Compléments sur les processeurs Interface processeur/monde extérieur Modes Interruptions & Exceptions Architecture logicielle Système d’exploitation Composition et démarrage d’un exécutable Chargeur d’amorçage Débogage Plan Introduction Architecture matérielle Compléments sur les processeurs

Interface processeur/monde extérieur

Modes Interruptions & Exceptions Architecture logicielle Système d’exploitation Composition et démarrage d’un exécutable Chargeur d’amorçage Débogage Interface processeur/monde extérieur

Communication avec la mémoire (vu en elecinf102 et inf104)

Type (lecture ou écriture) Adresse de la case mémoire concernée Donnée à écrire (sens processeur vers mémoire) ou donnée lue (sens mémoire vers processeur)

Historiquement, on fait la distinction entre

Mémoire vive (Random Access Memory, RAM) Rapide, aussi bien en lecture qu’en écriture Le plus souvent volatile (à quelques exceptions près : MRAM par exemple) Utilisée pour stocker les données (et dans la plupart des cas le code) des applications en cours d’exécution Différentes technologies : SRAM (Static), DRAM (Dynamic), SDRAM (Synchronous Dynam...

Distinction historique parfois floue (exemple mram) dans la suite

Lorsqu’un programme est en cours d’exécution, où se trouve le code et où se trouvent les données? Comment les mémoires sont reliées au processeur? Architectures Harvard et von Neumann

Un seul chemin et un seul espace mémoire pour le code (instructions) et les données

Mémoire I+D Cache I+D Processeur Architectures von Neumann

Permet de traiter du code comme des données

Permet ainsi de charger un programme en mémoire avant de l’exécuter, de le modifier à la volée (remplacement d’une instruction par un point d’arrêt), etc. Permet du code auto-modifiant (tombé en désuétude)

Permet de traiter des données comme du code

Utilisé par exemple lors de la compilation juste-à-temps (Just-in-time compilation) Inconvénient du point de vue de la sécurité (injection de code via un débordement de tampon par exemple) Problème de performance : goulot d’étranglement

Architectures harvard

Deux chemins et deux espaces mémoires distincts, un pour le code (instructions) et un pour les données Mémoire I Mémoire D Cache I Cache D Processeur Architectures Harvard Plus de goulot d’étranglement Quelques problèmes : stockage des valeurs initiales des variables, stockage des constantes, debug... Architecture utilisée par plusieurs micro-contr...

Modifiée

Architecture la plus répandue Quelques inconvénients : problème de cohérence de cache lors du traitement d’une instruction comme une donnée, goulot d’étranglement à la sortie du cache (moins critique, seulement en cas de défaut de cache) Mémoire I+D Cache I Cache D Processeur

Interface processeur/monde extérieur

Comment le processeur communique-t-il avec les périphériques ?

Besoins pour cette communication

Transférer des informations vers le périphérique (données, commandes, configuration...) Similaire à une écriture en mémoire Transférer des données depuis le périphérique (données, statut...) Similaire à une lecture depuis la mémoire Identifier à quoi correspondent les données échangées (canal si plusieurs canaux de données, quelle partie de la conf...

Dans les deux cas, même sémantique

Type (lecture ou écriture) Adresse de la case mémoire/registre concerné Donnée à écrire (sens processeur vers mémoire/périphérique) ou donnée lue (sens mémoire/périphérique vers processeur) Comment distinguer les différentes mémoires et les différents périphériques et savoir auquel s’adresse un transfert ? L’adresse utilisée permet de connaître à q...

Memory-mapped i/o (mmio)

Les périphériques et les mémoires partagent un unique espace d’adressage Les transferts vers et depuis les périphériques (données, commandes, configuration ou statut) se réalisent de façon identique avec les transferts mémoires (ex. instructions load/store, modes d’adressage impliquant la mémoire, etc.) On parle de périphériques mappés en mémoire

Memory-mapped i/o

Un seul bus entre le processeur et le monde extérieur Toutes les instructions qui manipulent des données en mémoire peuvent manipuler des données en provenance de périphériques

Modes de fonctionnement

La très vaste majorité des processeurs (sauf les plus simples) offrent plusieurs modes de fonctionnement (appelés aussi niveaux de privilèges, anneaux de protection...)

À chacun de ces modes sont associés

Certains privilèges (autorisation ou non d’exécuter certaines instructions, d’accéder à certains registres, etc

Ces modes permettent d’assurer certaines propriétés de sécurité et de sûreté

• Notamment en isolant le système d’exploitation vis-à-vis des applications

Le passage d’un mode à l’autre s’effectue

Certains processeurs intègrent des registres dédiés permettant de stocker des conditions d’arrêt (compteur ordinal égal à une certaine valeur par exemple) À chaque cycle, ces conditions sont vérifiées et si une est vérifiée, le processeur s’arrête pour pouvoir être débogué Néanmoins, ces registres sont en nombre limité