Systèmes embarqués : Partie 1 PDF

Summary

Ce document traite des systèmes embarqués, leur fonctionnement, et leurs contraintes matérielles. Il aborde des aspects tels que l'architecture, les applications et les composants des systèmes embarqués. Les contraintes sur le matériel, comme la puissance de traitement, la mémoire, et le stockage, sont aussi prises en compte.

Full Transcript

Que sont les systèmes embarqués ? By Ricardo Camacho 10 octobre 2023 7 min lire Les systèmes embarqués sont avec nous depuis des lustres. Lisez la suite pour savoir ce qu'ils sont, certains problèmes de sécurité des systèmes embarqués et comment des tests appropriés peuvent aider à les rendre sû...

Que sont les systèmes embarqués ? By Ricardo Camacho 10 octobre 2023 7 min lire Les systèmes embarqués sont avec nous depuis des lustres. Lisez la suite pour savoir ce qu'ils sont, certains problèmes de sécurité des systèmes embarqués et comment des tests appropriés peuvent aider à les rendre sûrs et sécurisés. Introduction aux systèmes embarqués Systèmes embarqués sont des systèmes informatiques basés sur des microprocesseurs, généralement intégrés à un système ou à un produit, qui ont un rôle opérationnel dédié. En d’autres termes, les systèmes embarqués sont les « intelligences » cachées derrière tous les appareils que nous utilisons, les voitures que nous conduisons, les avions dans lesquels nous volons et les trains dans lesquels nous voyageons. 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 ? Ce qui est intéressant avec les systèmes embarqués, c'est l'étendue des applications. Ils vont des petits contrôleurs dans les appareils domestiques intelligents aux systèmes avioniques dans les avions aux grands commutateurs de réseau qui composent nos réseaux de télécommunications. Cela les rend également difficiles à concevoir et à développer. Les contraintes du produit prévu ont un impact sur l'enveloppe de performances du matériel et des logiciels embarqués. Les systèmes embarqués sont omniprésents mais relativement inconnus de la plupart des consommateurs. Les automobiles modernes ont jusqu'à 100 millions de lignes de code en eux et la plupart ne sont pas dans le système d'infodivertissement. Une grande partie des logiciels et du matériel d'une voiture moderne se trouve dans les divers microcontrôleurs et unités de commande du moteur qui contrôlent et surveillent les fonctionnalités modernes. L'architecture des systèmes embarqués Les systèmes embarqués se composent de matériel et de logiciels comme mentionné ci-dessus. Ils sont souvent utilisés dans des applications qui nécessitent à la fois de détecter quelque chose de physique dans l'environnement et de contrôler quelque chose en réponse. Un exemple simple est un système CVC avec un contrôleur de thermostat intégré. Un tel système détecterait la température ambiante et actionnerait le chauffage ou la climatisation. Il peut nécessiter une forme de communication via une interface réseau et afficher la température sur un écran LCD (interface homme/machine ou IHM.) De tels systèmes sont souvent appelés «temps réel» ou « événementiel » car ils doivent réagir en temps opportun aux événements du monde réel. Selon le type et la criticité de l'application, il est important de réagir aux événements à un moment précis. Les systèmes critiques pour la sécurité comme les freins antiblocage (ABS) dans une voiture doivent réagir en quelques millisecondes. De tels systèmes sont appelés « temps réel dur », ce qui signifie qu'ils doivent respecter les délais requis ou qu'une défaillance s'est produite. Les systèmes avec des délais plus souples sont appelés « temps réel souple ». Dans la plupart de ces cas, ces systèmes fonctionnent sur une sorte de système d'exploitation en temps réel (RTOS). Voici un exemple simple d'architecture de système embarqué : L'utilisation d'une architecture de microcontrôleur est également unique aux systèmes embarqués. Contrairement aux systèmes de bureau ou de serveur, les microcontrôleurs ont généralement toute la RAM, la ROM et les E/S sur une seule puce. Ces contrôleurs ont souvent les capacités d'E/S requises pour interagir avec les capteurs et les actionneurs et s'intégrer au réseau et à d'autres dispositifs de communication. Limites matérielles des systèmes embarqués Les systèmes embarqués fonctionnent sur du matériel conçu pour répondre aux limitations du produit dans lequel ils sont utilisés. Le matériel est souvent spécifié pour atteindre des objectifs commerciaux (par exemple, le coût) et techniques. Ces produits peuvent se compter en millions d’unités et fonctionner pendant des décennies, ce qui implique la nécessité d’une fiabilité et d’une qualité à la fois matérielles et logicielles. Contraintes sur le matériel Les contraintes courantes sur le matériel du système embarqué sont : Puissance de traitement limitée Mémoire Stockage Ces contraintes limitent les performances et la complexité de l'application que le matériel peut prendre en charge. À son tour, cela augmente les défis de conception et de développement, en particulier lorsque l'on essaie d'intégrer plus de fonctionnalités. Les contraintes matérielles du système embarqué sont déterminées par les exigences commerciales qui ont souvent un impact sur la rentabilité du produit final. Coût de la nomenclature. Un matériel moins complexe est moins cher à l'achat et offre des marges bénéficiaires plus élevées. Cependant, à mesure que la complexité logicielle augmente, elle dépasse rapidement la capacité matérielle. Le passage à des processeurs à plus grande échelle signifie des coûts de nomenclature (BOM) plus élevés et des impacts logiciels importants. Taille et poids. Les produits finaux sont limités par la taille et le poids, ce qui peut avoir un impact sur la sélection du matériel. Un matériel plus complexe peut nécessiter des cartes de circuits imprimés, des alimentations et une dissipation thermique plus grandes. Consommation d'énergie. Les systèmes embarqués se trouvent souvent dans des équipements fonctionnant sur batterie où la consommation d'énergie est étroitement gérée. Ils peuvent également se trouver dans des systèmes haut de gamme où la chaleur est un problème. Les exemples de matériel cible incluent de petits microcontrôleurs tels que : L'omniprésent 8 bits 8051 MCU PIC16 de Microchip ST Micro STM32 Microcontrôleur ARM Cortex 32 bits Systèmes embarqués sur puce (TI OMAP ou l' Raspberry Pi) Systèmes 64 bits multiprocesseurs à grande échelle basés sur des processeurs ARM, Intel et AMD Logiciels de Systèmes Embarqués La plupart des efforts d'ingénierie sont consacrés aux logiciels des systèmes embarqués. En fait, la plupart des fabricants ont besoin d'un groupe de logiciels pour développer les applications embarquées dans leurs produits. En plaisantant, les PDG de ces sociétés plaisantent : « Nous sommes une société de logiciels se faisant passer pour un fabricant de widgets. » La réalité est que les logiciels sont devenus un domaine clé de différenciation et d’innovation sur de nombreux marchés, y compris dans les entreprises dont le produit principal n’est pas le logiciel. Tout comme pour le matériel, la complexité du logiciel dépend de l'application visée qui peut varier considérablement. Cependant, il existe trois grandes catégories dans lesquelles la plupart des logiciels embarqués s'intègrent : Petite échelle Échelle moyenne Grande échelle Petite échelle, "Bare Metal" Ces applications reposent généralement sur des microcontrôleurs 8 et 16 bits sans système d'exploitation formel, également appelés bare metal. Les applications contrôlent généralement un seul sous-système basé sur quelques capteurs. Ils peuvent ne pas être connectés à un réseau et fonctionner de manière autonome. Le contrôle de haut niveau se situe ailleurs, par exemple avec un système de contrôle de supervision et d'acquisition de données (SCADA), généralement doté d'un matériel et de logiciels beaucoup plus complexes. Échelle moyenne Ces systèmes utilisent souvent des systèmes d'exploitation intégrés commerciaux ou open source qui sont également souvent en temps réel (RTOS). Ces systèmes d'exploitation fournissent les bibliothèques d'abstraction matérielle, de multitraitement, de multithreading, de réseau et d'interface nécessaires. Les exemples comprennent FreeRTOS, VxWorks et QNX, et dans certains cas, Linux embarqué. Les applications peuvent aller d'applications en temps réel critiques pour la sécurité, telles que l'avionique d'avion, aux routeurs sans fil et aux systèmes CVC. Habituellement, le matériel est constitué de microcontrôleurs et de SoC 32 bits avec plus de RAM et de flash que les systèmes à petite échelle. Cependant, la complexité des logiciels est bien plus élevée dans cette catégorie, les applications comportant des dizaines de milliers à un million de lignes de code (LOC) ou plus. Grande échelle Les systèmes de cette catégorie sont généralement très complexes avec de multiples fonctionnalités et capacités. Ils fonctionnent souvent sur du matériel de type serveur doté de multiprocesseurs. Les applications nécessitent souvent un traitement en temps réel et peuvent toujours utiliser un RTOS ou Linux haut de gamme. Les exemples incluent les commutateurs et les routeurs de réseau d'entreprise et les systèmes de dorsale de réseau de télécommunication, le traitement boursier et le contrôle du trafic aérien. Ces systèmes sont très complexes, interconnectés avec des bases de code de plusieurs millions de lignes de code. Malgré la variété des applications, il existe certaines caractéristiques communes telles que la nature dédiée des applications. Les systèmes embarqués fonctionnent souvent toute l’année, 24 heures sur XNUMX. Ils partagent également la nécessité d’être fiables, sûrs, économes en énergie et rentables à fabriquer. Plus que jamais, il est nécessaire de les sécuriser, ce dont nous parlerons plus tard.

Use Quizgecko on...
Browser
Browser