La conception et le développement de systèmes embarqués sont motivés par les exigences des applications et les technologies de l’information. Avec l’innovation et le développement continus de la technologie microélectronique, le niveau d’intégration et le niveau de processus des circuits intégrés à grande échelle se sont continuellement améliorés. En particulier, l’introduction d’un système d’exploitation temps réel embarqué (RTOS) fournit le support sous-jacent et la plateforme de développement à haut rendement pour le développement de logiciels d’application de systèmes embarqués complexes.
Processus de conception de systèmes embarqués
Phase de conception
La phase initiale de la conception conceptuelle d’un nouveau produit implique une certaine prévoyance du produit basée sur les prévisions du marché, les besoins des clients et le développement technologique. Lors de la planification d’un produit, un business case est établi pour le produit avec des estimations du nombre d’unités vendues, du prix et du bénéfice. Cela conduit à la création d’une mise en page initiale du produit, d’une spécification de conception et d’un plan de marketing du produit. À ce stade, les concepteurs industriels peuvent également être impliqués pour créer un nouveau concept d’emballage de produit.
N’oubliez pas que le prix de vente doit couvrir les coûts de marketing, de conception et de développement de l’entreprise en plus du coût de fabrication de chaque unité de produit. Cela dépend du volume des ventes, mais un niveau de prix de deux ou trois fois le coût de production d’une unité de produit n’est pas inhabituel.

Phase de développement
La plupart des efforts de mise en œuvre du matériel et des logiciels se produisent à la fin de la phase de conception et pendant la phase de développement. Une analyse critique des décisions de conception permet de déterminer s’il est physiquement possible de mettre en œuvre un concept de projet sur la base des spécifications du projet. Des maquettes électriques et logicielles sont souvent créées avant d’analyser les décisions de conception. Ensuite, un petit nombre de prototypes sont conçus, construits et utilisés pour des tests matériels et logiciels plus détaillés.
phase de production
Enfin, en phase de production, une grande quantité de produit est fabriquée. Tout d’abord, une petite série pilote est généralement créée pour des tests et une évaluation supplémentaires avant le début de la production de masse. Les ingénieurs qualité s’efforcent continuellement d’améliorer la qualité du produit et du processus. Les ingénieurs de support gèrent les modifications qui suivent l’introduction d’un nouveau produit et fournissent un support technique pour le produit. Compte tenu des tendances actuelles de la mondialisation, la production de masse d’un nouvel appareil embarqué a souvent lieu dans un autre pays où elle est plus rentable. Pour de nombreux appareils embarqués, l’ensemble du processus prend de six mois à un an, mais le marché concurrentiel force constamment un cycle de vie du produit plus court.
Développement d'un projet de système embarqué
Les principaux efforts de développement logiciel et de conception technique se déroulent en phase de développement, qui sera maintenant décrite plus en détail. Tout d’abord, les concepteurs doivent choisir le processeur et le système d’exploitation. Le choix d’un processeur pour un appareil embarqué implique de nombreux facteurs à prendre en compte, tels que le prix, les performances, la consommation d’énergie et le support logiciel.

choisir le processeur
Les fabricants fournissent des manuels décrivant leurs processeurs et fournissent généralement aux développeurs un développement complet d’une carte de référence qui peut être utilisée comme point de départ lors du développement d’une nouvelle conception d’ordinateur qui utilise ce processeur. Une description détaillée de chaque processeur individuel, de chaque dispositif de mémoire et de toutes les puces requises dépasse le cadre de ce guide, mais certaines des propriétés matérielles les plus générales qui affectent directement la création de logiciels seront abordées plus tard.
connecter les périphériques matériels au processeur
Après que le concepteur matériel de systèmes embarqués a sélectionné le processeur et ses périphériques de mémoire correspondants, l’étape suivante consiste à ajouter les périphériques d’E/S matériels et la structure de bus correspondante nécessaire pour connecter les périphériques requis au processeur. La conception de dispositifs embarqués implique la sélection et la connexion du matériel requis pour divers périphériques d’E/S requis dans la nouvelle conception.
Tester, déboguer et refondre
Après avoir soigneusement saisi le schéma du design, une carte de circuit imprimé (PCB) est conçue pour le dispositif embarqué à l’aide d’un système de conception assistée par ordinateur (CAO) de cartes de circuit imprimé. Cet outil importe les informations de connexion des broches à partir d’un schéma de circuit et l’utilise pour concevoir et tester les conducteurs en cuivre utilisés pour connecter les circuits intégrés (CI) sur une carte de circuit imprimé. Plusieurs cartes de circuit imprimé sont créées, remplies des composants nécessaires, puis utilisées pour effectuer des tests logiciels approfondis sur la nouvelle conception. Toute erreur de conception matérielle détectée lors des tests nécessitera une modification du schéma de circuit, une modification de la conception de la carte de circuit imprimé et une nouvelle. Cela augmentera le cycle de production des cartes de circuit imprimé et des tests, ce qui augmentera en conséquence le temps de développement.
choisir le système d'exploitation
Les outils de développement logiciel sont généralement livrés avec le système d’exploitation. Étant donné que le système d’exploitation est écrit en C / C++, la création d’un nouveau système d’exploitation nécessite un compilateur, un éditeur de liens, un débogueur et des outils d’image binaire. Les mêmes outils sont généralement utilisés pour le développement d’applications.
Le développement logiciel se déroule en parallèle avec le développement matériel afin de réduire le temps total de développement du produit. Cela devient encore plus important compte tenu du cycle de vie des produits de plus en plus court des appareils embarqués d’aujourd’hui. Pour le développement et les tests logiciels, vous pouvez utiliser des outils d’émulation et des cartes d’ordinateur embarquées avec un matériel similaire exécutant le même système d’exploitation avant qu’une nouvelle plateforme matérielle ne soit disponible. Étant donné que la plupart du code est écrit en C / C++ / C#, la plupart des logiciels peuvent même être développés et testés sur un autre processeur ou émulateur. Le code est ensuite recompilé pour le nouveau processeur pour la dernière phase de développement et de test lorsque le nouveau matériel est disponible.
Une fois le développement de votre logiciel terminé, vous pouvez le transférer sur un appareil réel pour les tests et la publication finale. Windows Embedded CE dispose d’un émulateur ARM ainsi que d’outils de développement. L’émulateur vous permet d’exécuter votre logiciel sur un PC à une vitesse beaucoup plus élevée que le matériel réel. L’émulateur peut être utilisé pour le débogage et le profilage de votre logiciel, et il peut également être utilisé pour le développement de logiciels pour les appareils distants.
Technologies de mémoire pour les appareils embarqués
La plupart des appareils embarqués utilisent actuellement deux types de mémoire, SDRAM ou parfois éventuellement SRAM pour la mémoire principale et Flash ou ROM pour la mémoire non volatile. La SDRAM a un coût par bit de mémoire nettement inférieur à celui de la SRAM, mais nécessite un contrôleur matériel plus sophistiqué pour les cycles de mise à jour dynamique périodiques de la mémoire. L’une des décisions les plus importantes qui doivent être prises au début du processus de conception est la quantité de mémoire de chaque type dont l’appareil a besoin.
Mémoire SDRAM
La SDRAM est l’abréviation de Synchronous Dynamic Random Access Memory (mémoire dynamique à accès aléatoire synchronisée). Elle utilise une tension de fonctionnement de 3,3 V et une bande passante de 64 bits. Elle est également la mémoire grand public pendant longtemps, du chipset 430TX au chipset 845, tous prennent en charge la SDRAM. La SDRAM verrouille le CPU et la RAM ensemble grâce à la même horloge, de sorte que le CPU et la RAM peuvent partager un cycle d’horloge et fonctionner de manière synchrone à la même vitesse. Le front montant de chaque impulsion d’horloge commence à transférer des données, et la vitesse est 50 % plus élevée que celle de la mémoire EDO.
Mémoire flash
Le système d’exploitation et les programmes d’application sont généralement stockés dans une mémoire flash, car la plupart des appareils embarqués ne disposent pas de disque dur.
Les dispositifs de mémoire flash stockent des données sur des puces flash. Les puces flash contiennent un motif d’électrons qui se déplacent en boucle. Les électrons sont stockés dans la cellule de mémoire et se déplacent d’avant en arrière entre les différents bits de données sur la puce. Le nombre de bits est mesuré par la vitesse à laquelle les électrons se déplacent entre les cellules, ou les bits.
Lorsqu’une modification est apportée à un bit, elle est écrite dans le bit suivant. Si deux bits sont modifiés en même temps, alors deux nouveaux octets sont ajoutés au programme, et ainsi de suite.
SDRAM vs Flash
La SDRAM est plus rapide que la mémoire flash, ce qui la rend idéale pour les applications nécessitant un accès rapide aux données.
La SDRAM consomme moins d’énergie que la mémoire flash, ce qui la rend idéale pour les appareils portables.
La SDRAM est plus chère que la mémoire flash, ce qui la rend moins idéale pour les applications où le coût est un problème.
La mémoire flash est plus durable que la SDRAM, elle est donc souvent utilisée dans les applications où les données doivent être stockées pendant de longues périodes.
La mémoire flash a une vitesse de lecture beaucoup plus lente que la SDRAM.
La mémoire flash ne prend en charge qu’un nombre limité d’opérations d’écriture, donc l’utilisation d’un système de mémoire virtuelle avec pagination à la demande (comme sur un PC de bureau) avec la mémoire flash (au lieu d’un disque dur) servant de périphérique d’échange de pages de mémoire virtuelle n’est généralement pas utilisée dans les appareils embarqués.




