Systèmes embarqués pour le diagnostic
Introduction aux systèmes embarqués
Les systèmes embarqués sont présents partout dans notre vie quotidienne, ils sont discrets, efficaces et dédiés à ce à quoi ils sont destinés. Un système embarqué est un système électronique, piloté par un logiciel, qui est complètement intégré au système qu’il contrôle [SADOU 07]. Selon [HEATH 97], un système embarqué est un système basé sur microprocesseur construit pour gérer une fonction ou une série de fonctions et qui n’est pas conçu pour être programmé par l’utilisateur final comme c’est le cas dans un PC. Selon [HS07], les systèmes embarqués sont des composants qui intègrent du logiciel et du matériel. Ils se caractérisent par une interaction continue avec leur environnement physique. Ils trouvent leur application dans de nombreux domaines. Initialement, les systèmes embarqués ont été utilisés pour des applications temps réel critique, de sureté et/ou de sécurité, comme le contrôle des fusées, missiles, satellites. Actuellement, ils sont utilisés dans notre vie quotidienne (les moyens de transport, les équipements médicaux, les équipements industriels, les équipements de télécommunication, les équipements du bâtiment, …etc.). La complexité croissante des systèmes embarqués nécessite des méthodes de conception globale qui tiennent compte des fonctionnalités et des constituants (capteurs, actionneurs, contrôleurs, réseaux), des perturbations et des fortes contraintes de coût ou environnemental (retards, incertitudes, …). Ces systèmes sont basés sur des dispositifs intelligents qui peuvent détecter, communiquer, s’adapter et agir sur l’environnement. Il y a tant de définition, on pourrait dire que les systèmes embarqués sont constitués de puces électroniques sur lesquelles fonctionnent des logiciels dédiés à l’exécution de fonctions spécifiques ; le tout étant destiné à être intégré dans des sous-ensembles, équipements, appareils et produits divers.
Architecture des systèmes embarqués
L’architecture des systèmes embarqués peut être divisée en deux Familles, nous retrouvant l’architecture en blocs ou en couches. L’architecture en bloc est généralement composée d’une unité centrale de traitement (CPU), d’un système d’exploitation (logiciel), d’une interface homme-machine (IHM) pour reconfigurer le système. L’architecture en couches est une abstraction du système qui ne montre donc pas les détails d’implémentation ou de conception des circuits. Cette représentation met l’accent sur les niveaux de communication et de circulation d’information à la manière des protocoles réseaux [BOUALI 10]. Les deux types d’architecture d’un système embarqué sont illustrés via les deux figures ci-après : Figure 5.1 : Architecture en blocs d’un système embarqué. Software Programmes Système Hardware
Contraintes des systèmes embarqués
Les systèmes embarqués exécutent des tâches prédéfinies et ont des contraintes spécifiques : – Cout très bas : Ce critère est l’un des plus importants. Il désigne la valeur financière allouée qui conditionne le cycle de vie du système embarqué tout entier. Il influe sur les choix de conception (matériel, logiciel, méthodes, outils), de mise en œuvre, de commercialisation, de maintenance, d’amélioration et de fin de vie. – Encombrement physique : Les systèmes embarqués possèdent des caractéristiques physiques (dimensions, poids) qu’on cherche souvent à minimiser pour des raisons fonctionnelles et/ou commerciales. Cet objectif est possible grâce à la miniaturisation des unités de calcul, du développement de matériaux légers (ex. fibres de carbone), d’une meilleure conception et intégration des parties mécaniques. – Robustesse aux chocs, à la température et à l’humidité : L’environnement est souvent hostile pour des raisons physiques (chocs, température, …) c’est pour quoi la sécurité et la fiabilité sont souvent rattachées à la problématique des systèmes embarqués. – Autonomie : cette caractéristique est essentielle pour les systèmes embarqués, ils doivent être autonomes, c’est-à-dire remplir leur mission pendant de longues périodes sans intervention humaine, particulièrement quand l’intervention humaine est impossible ou trop lente comme dans un environnement radioactif, application spatiale …etc. Les composants FPGA (field-programmable gate array) intègrent toutes les cellules nécessaires pour embarquer des systèmes autonomes.