Tutoriel sur les systèmes embarqués

⚡ Résumé intelligent

Le tutoriel sur les systèmes embarqués explique le fonctionnement des dispositifs à base de contrôleurs conçus pour exécuter des fonctions spécifiques au sein de systèmes mécaniques ou électriques plus vastes. LessCes ouvrages abordent les composants, les caractéristiques, les microcontrôleurs, les microprocesseurs, les langages de programmation, les applications, les avantages et les inconvénients, tant pour les ingénieurs débutants que pour les ingénieurs intermédiaires.

  • ⚙️ Objectif dédié : Les systèmes embarqués exécutent une tâche spécifique à l'aide d'un processeur, de mémoire et de périphériques intégrés au dispositif hôte.
  • 🧠 Composants principaux: Le matériel, le micrologiciel et les systèmes d'exploitation en temps réel s'associent pour fournir des réponses déterministes aux capteurs et aux actionneurs.
  • (I.e. ArchiTypes de structures : Choisissez des conceptions à base de microcontrôleur, de microprocesseur ou de FPGA en fonction des besoins en termes de coût, de consommation d'énergie et de performances.
  • 💻 Langages de programmation: Le langage C domine le développement embarqué, avec C++, Assembly, Pythonet Rust gagne du terrain pour les charges de travail critiques en matière de sécurité.
  • (I.e. Applications étendues: Les secteurs de l'automobile, du médical, de l'électronique grand public, de l'automatisation industrielle et de l'aérospatiale dépendent quotidiennement des systèmes embarqués.
  • 🤖 L'IA à la pointe : TinyML, les puces d'IA embarquées et les accélérateurs neuronaux apportent l'intelligence directement sur les appareils embarqués, sans dépendance au cloud.

Tutoriel sur les systèmes embarqués

Avant d'apprendre le système embarqué, apprenons :

Qu'est-ce qu'un système ?

Un système est un arrangement dans lequel tous ses composants fonctionnent selon des règles spécifiques définies. C'est une méthode d'organisation, de travail ou d'exécution d'une ou plusieurs tâches selon un plan fixe.

Qu'est-ce qu'un système embarqué ?

Système embarqué est une combinaison de logiciels et de matériel informatique dont les capacités sont fixes ou programmables. Un système embarqué peut être soit un système indépendant, soit faire partie d’un grand système. Il est principalement conçu pour une ou plusieurs fonctions spécifiques au sein d’un système plus vaste. Par exemple, une alarme incendie est un exemple courant de système intégré capable de détecter uniquement la fumée.

Exemple de systèmes embarqués

Imprimante laser

Les imprimantes laser sont l'un des exemples de systèmes embarqués qui utilisent des systèmes embarqués pour gérer divers aspects de l'impression. En plus d'effectuer la tâche principale d'impression, il doit prendre en compte les entrées de l'utilisateur, gérer la communication avec le système informatique, gérer les défauts et détecter les papiers laissés dans le bac, etc.

Ici, la tâche principale du microprocesseur est de comprendre le texte et de contrôler la tête d'impression de manière à ce qu'elle décharge l'encre là où elle est nécessaire.

Pour ce faire, il doit décoder les différents fichiers qui lui sont fournis et comprendre la police et les graphiques. Le traitement des données nécessitera beaucoup de temps CPU et nécessitera des entrées utilisateur, des moteurs de contrôle, etc.

Histoire du système embarqué

Voici les étapes importantes de l’histoire des systèmes embarqués :

  • En 1960, le système embarqué a été utilisé pour la première fois pour le développementping Système de guidage Apollo par Charles Stark Draper au MIT.
  • En 1965, Autonetics a développé le D-17B, l'ordinateur utilisé dans le système de guidage de missile Minuteman.
  • En 1968, le premier système embarqué pour un véhicule est lancé.
  • Texas Instruments a développé le premier microcontrôleur en 1971.
  • En 1987, le premier système d'exploitation embarqué, VxWorks, a été lancé par Wind River.
  • Microsoft's Windows CE intégré en 1996.
  • À la fin des années 1990, le premier système Linux embarqué est apparu.
  • Le marché de l'embarqué a atteint 140 milliards de dollars en 2013.
  • Les analystes prévoient un marché de l'embarqué supérieur à 40 milliards de dollars d'ici 2030.

Caractéristiques d'un système embarqué

Caractéristiques d'un système embarqué
Caractéristiques d'un système embarqué

Voici les caractéristiques importantes d’un système embarqué :

  • Nécessite des performances en temps réel
  • Il doit avoir une haute disponibilité et fiabilité.
  • Développé autour d'un système d'exploitation temps réel
  • Habituellement, ont une opération simple et sans disque, démarrage ROM
  • Conçu pour une tâche spécifique
  • Il doit être connecté à des périphériques pour connecter les périphériques d'entrée et de sortie.
  • Offre une fiabilité et une stabilité élevées
  • Interface utilisateur minimale nécessaire
  • Mémoire limitée, faible coût, moins de consommation d'énergie
  • Il n'en a pas besoin mémoire secondaire dans l'ordinateur.

Terminologies importantes utilisées dans les systèmes embarqués

Maintenant, dans ce didacticiel sur les systèmes embarqués, nous aborderons quelques termes importants utilisés dans les systèmes embarqués.

Fiabilité

Cette mesure de la probabilité de survie du système lorsque la fonction est critique pendant l'exécution.

Tolérance aux pannes

La tolérance aux pannes est la capacité d'un système informatique à survivre en présence de pannes.

Temps Réel

Le système embarqué doit répondre à diverses contraintes de calendrier et autres. Ils lui sont imposés par le comportement naturel en temps réel du monde extérieur.

Par exemple, un département de l'armée de l'air qui conserve tracFace à des attaques de missiles entrantes, les forces de défense doivent calculer et planifier avec précision leur contre-attaque en raison d'un délai impératif en temps réel. Faute de quoi, elles seront détruites.

Souplesse

Il s'agit de construire des systèmes avec des opportunités de débogage intégrées qui permettent une maintenance à distance.

Par exemple, vous construisez un vaisseau spatial qui atterrira sur un autre planteur pour collecter différents types de données et nous renvoyer les détails collectés. Si ce vaisseau spatial devenait fou et perdait le contrôle, nous devrions pouvoir établir un diagnostic important. La flexibilité est donc vitale lors de la conception d’un système embarqué.

Portabilité

La portabilité mesure la facilité d'utilisation d'un même logiciel embarqué dans différents environnements. Elle nécessite une généralisation des capacités.tracinteractions entre la logique du programme d'application elle-même et les interfaces système de bas niveau.

Qu'est-ce qu'un microcontrôleur ?

Un microcontrôleur est une unité VLSI monopuce également appelée micro-ordinateur. Il contient toute la mémoire et les interfaces E/S nécessaires, alors qu'un microprocesseur à usage général a besoin de puces supplémentaires pour offrir ces fonctions nécessaires. Les microcontrôleurs sont largement utilisés dans les systèmes embarqués pour les applications de contrôle en temps réel.

Qu'est-ce qu'un microprocesseur?

Un microprocesseur est un dispositif semi-conducteur à puce unique. Son CPU contient un compteur de programme, un ALU, un pointeur de pile, un registre de travail, un circuit de synchronisation d'horloge. Il comprend également ROM et RAM, un décodeur de mémoire et de nombreux ports série et parallèle.

Architecture du système embarqué

Vous trouverez ci-dessous l'architecture de base du système embarqué :

Architecture du système embarqué
Architecture du système embarqué

1) capteur

Le capteur vous aide à mesurer la quantité physique et à la convertir en signal électrique. Il stocke également la quantité mesurée dans la mémoire. Ce signal peut être prêt par un observateur ou par tout instrument électronique tel qu'un convertisseur A2D.

2) Convertisseur AD

Le convertisseur AD (convertisseur analogique-numérique) permet de convertir un signal analogique envoyé par le capteur en un signal numérique.

3) Mémoire

La mémoire est utilisée pour stocker des informations. Le système embarqué contient principalement deux cellules de mémoire 1) Volatile 2) Mémoire non volatile.

4) Processeur et ASIC

Ce composant traite les données pour mesurer la sortie et la stocker dans la mémoire.

5) Convertisseur DA

Le convertisseur DA (un convertisseur numérique-analogique) vous aide à convertir les données numériques fournies par le processeur en données analogiques.

6) Actionneur

Un actionneur vous permet de comparer la sortie donnée par le convertisseur DA à la sortie réelle qui y est stockée et stocke la sortie approuvée dans la mémoire.

Types de systèmes embarqués

Il existe trois types de systèmes embarqués :

  • Petite échelle
  • Échelle moyenne
  • Sophistiqué
Types de systèmes embarqués

Types de systèmes embarqués

Systèmes embarqués à petite échelle

Ce système embarqué peut être conçu avec un seul microcontrôleur 8 ou 16 bits. Il peut être alimenté par batterie. Pour le développementping Dans un système embarqué à petite échelle, un éditeur, un assembleur (IDE) et un assembleur croisé sont essentiels. outils de programmation.

Systèmes embarqués à moyenne échelle

Ces types de systèmes embarqués sont conçus à l'aide de microcontrôleurs 16 ou 32 bits. Ces systèmes offrent à la fois des complexités matérielles et logicielles. C, C++, Java, et un outil d'ingénierie de code source, etc. sont utilisés pour développer ce type de système embarqué.

Systèmes embarqués sophistiqués

Ce type de systèmes embarqués présente de nombreuses complexités matérielles et logicielles. Vous pouvez avoir besoin d'IPS, d'ASIPS, de PLA, d'un processeur de configuration ou de processeurs évolutifs. Pour le développement de ce système, vous avez besoin d'une co-conception matérielle et logicielle et de composants qui doivent être combinés dans le système final.

Différence entre microprocesseur et microcontrôleur

Apprenez la différence entre Microprocesseur et microcontrôleur

Microprocesseur Microcontrôleurs
Il utilise des blocs fonctionnels tels que des unités de registre, d'ALU, de synchronisation et de contrôle. Il utilise des blocs fonctionnels de microprocesseurs tels que la RAM, la minuterie, les E/S parallèles, l'ADC et le DAC.
Dans le microprocesseur, les instructions de gestion des bits sont moindres, un ou deux types seulement. Le microcontrôleur propose de nombreux types d’instructions de gestion des bits.
Offre des mouvements rapides de code et de données entre la mémoire externe et le microprocesseur. Offre des mouvements rapides de code et de données dans le microcontrôleur.
Vous aide à concevoir un système informatique numérique à usage général. Vous aide à concevoir des systèmes dédiés spécifiques à une application.
Il vous permet d'effectuer plusieurs tâches à la fois. Il s’agit d’un système orienté tâche unique.
Dans le système à microprocesseur, vous pouvez décider du nombre de mémoire ou de ports d'E/S nécessaires. Dans le système microcontrôleur, le nombre fixe de mémoire ou d'E/S rend un microcontrôleur idéal pour accomplir une tâche spécifique.
Offre la prise en charge de la mémoire externe et des ports d'E/S, ce qui rend le système plus lourd et plus coûteux. Ce type de système est léger et moins cher que le microprocesseur.
Les appareils externes ont besoin de plus d’espace et leur consommation électrique est bien plus élevée. Ce type de système consomme moins d’espace et la consommation électrique est également très faible.

Applications des systèmes embarqués

Voici les applications importantes du système embarqué :

Science robotique

  • Véhicules terrestres
  • Drones
  • Véhicules sous-marins
  • Robots Industriels

Médical

  • Machine de dialyse
  • pompes à perfusion
  • Moniteur cardiaque
  • Dispositif prothétique

Automobile

  • Contrôle du moteur
  • Système de mise à feu
  • Système de freinage

Networking

  • Toupie
  • Moyeux
  • Services d'envoi
  • Instruments électroniques

Appareils domestiques

  • Téléviseurs
  • DigiAlarme totale
  • Climatiseur
  • lecteur vidéo DVD
  • Appareils photos

Automobiles

  • Injection de carburant
  • Système d'éclairage
  • Verrouillage automatique des portes
  • Air Bags
  • Windows
  • Système d'aide au stationnement
  • Alarmes anti-vol Whippers Motion

Contrôle Industriel

  • Robotique
  • Système de contrôle
  • Missiles
  • Réacteurs nucléaires
  • Stations spatiales
  • Volants

Avantages du système embarqué

Voici les avantages/avantages de l’utilisation du système embarqué :

  • Il est capable de couvrir une grande variété d’environnements
  • Less susceptible de répéter les erreurs
  • Le système embarqué simplifie le matériel, ce qui réduit globalement les coûts.
  • Offre des performances améliorées
  • Le système embarqué est utile pour la production de masse.
  • Le système embarqué est très fiable.
  • Il a très peu d'interconnexions.
  • Le système embarqué est de petite taille.
  • Son fonctionnement est rapide.
  • Offre une qualité de produit améliorée.
  • Il optimise l'utilisation des ressources du système.
  • Il a un fonctionnement à faible consommation.

Inconvénients du système embarqué

Voici les inconvénients/inconvénients importants de l’utilisation du système embarqué.

  • Développer un système embarqué nécessite un effort de développement élevé.
  • Il faut beaucoup de temps pour le commercialiser.
  • Les systèmes embarqués effectuent une tâche très spécifique, ils ne peuvent donc pas être programmés pour faire des choses différentes.
  • Les systèmes embarqués offrent des ressources mémoire très limitées.
  • Il n’offre aucune amélioration technologique.
  • Il est difficile de sauvegarder les fichiers intégrés.

FAQ

Les systèmes embarqués exécutent des fonctions dédiées avec des ressources limitées, tandis que les ordinateurs à usage général exécutent de nombreuses applications. La conception des systèmes embarqués privilégie la consommation d'énergie, la taille, le coût et la réactivité en temps réel au détriment de la flexibilité et d'une large compatibilité logicielle.

matériel Edge AI comme Google Les frameworks Coral, NVIDIA Jetson et TinyML permettent aux systèmes embarqués d'exécuter des réseaux neuronaux localement. Ceci rend possible la vision, la voix et la détection d'anomalies en temps réel sans envoi de données vers le cloud.

Oui. Les outils de programmation par IA génèrent le code des pilotes, optimisent les routines au niveau des registres et expliquent les fiches techniques. Ils accélèrent la mise en service des microcontrôleurs, suggèrent des gestionnaires d'interruptions et facilitent le débogage des problèmes de synchronisation sur les plateformes STM32, ESP32 et PIC.

Le langage C reste dominant car il offre un contrôle matériel précis et une faible empreinte mémoire. C++ et Rust se développent dans les projets critiques pour la sécurité, tandis que MicroPython et circuitPython simplifier le prototypage rapideping sur des microcontrôleurs performants.

Un système d'exploitation temps réel (RTOS) planifie les tâches avec un timing déterministe afin que les événements s'exécutent dans des délais stricts. Parmi les systèmes les plus courants, on trouve FreeRTOS, Zephyr, ThreadX et VxWorks, fréquemment utilisés dans les dispositifs de contrôle automobiles, médicaux et industriels.

Les concepteurs associent des microcontrôleurs basse consommation, des modes veille, des périphériques performants et un micrologiciel événementiel. Des techniques telles que la modulation de rapport cyclique, la gestion de l'horloge et les alimentations à récupération d'énergie permettent d'allonger la durée de vie des batteries de plusieurs années pour les capteurs IoT.

Les véhicules modernes contiennent des dizaines de modules embarqués qui gèrent le moteur, l'ABS, l'infodivertissement, les systèmes ADAS et la gestion de la batterie. Les bus CAN, LIN et Ethernet automobile relient ces modules embarqués pour un fonctionnement coordonné en temps réel.

FoundationL'acquisition de compétences en systèmes embarqués prend de trois à six mois, avec des projets pratiques sur microcontrôleurs. La maîtrise des systèmes d'exploitation temps réel (RTOS), des protocoles de communication et du débogage matériel requiert généralement une à deux années d'expérience pratique régulière.

Résumez cet article avec :