Accélérer le développement IoT sans fil embarqué grâce à une plateforme multicœur Linux embarquée prête à l'emploi

Par Stephen Evanczuk

Avec la contribution de Rédacteurs nord-américains de DigiKey

Les applications Internet des objets (IoT) industrielles, médicales, agricoles et de transports avancées exigent des conceptions de systèmes embarqués plus complexes. Dans de telles situations, les développeurs n'ont guère d'autre choix que de créer des cartes personnalisées pour répondre aux exigences de performances, de connectivité et de périphériques, malgré des calendriers plus serrés et des budgets en baisse. Même si des cartes prêtes à l'emploi sont disponibles, leurs performances, leur puissance, leur taille, leur facteur de forme et leur combinaison fonctionnelle excluent leur utilisation.

Toutefois, à l'ère de l'IoT et de l'Internet industriel des objets (IIoT) omniprésents, même les équipes de développement personnalisé les plus productives ont été freinées par les exigences de certification régionales pour les sous-systèmes sans fil, ce qui a ralenti le déploiement et réduit les opportunités de marché.

Cet article aborde le problème de décision entre fabrication et achat pour les cartes embarquées sans fil. Il présente ensuite une plateforme de développement clés en main de Digi qui fournit un environnement logiciel complet et une plateforme matérielle optimisée avec des modules sans fil pré-certifiés. L'article montre ensuite comment le kit peut être utilisé pour aider les développeurs à fournir rapidement et facilement des solutions de systèmes embarqués connectés plus puissantes.

Décision entre fabriquer ou acheter pour le développement de cartes embarquées

Pour les développeurs de systèmes embarqués, les attentes des utilisateurs finaux et la pression de la concurrence stimulent la demande en matière de produits dotés de plus de fonctionnalités et fournis dans des délais toujours plus courts. Les utilisateurs recherchent des systèmes plus simples à connecter, à utiliser et à entretenir. En conséquence, les développeurs sont confrontés à des défis croissants sur plusieurs fronts. En matière de connectivité sans fil, les solutions sans fil à courte et longue portée impliquent des exigences de certification de leurs conceptions ; la mise en œuvre de capacités d'affichage appropriées ajoute à la complexité et au coût de la conception ; et garantir la fiabilité et la disponibilité à long terme de ces systèmes met les développeurs au défi de trouver des solutions capables de résister à des conditions difficiles et de rester disponibles pendant des cycles de vie étendus, fréquents dans les applications industrielles ou médicales.

Pour certaines applications, une solution appropriée dépend de façon critique des approches de conception personnalisée pour optimiser chaque sous-système afin de répondre aux exigences. Toutefois, les solutions de conception prêtes à l'emploi offrent de plus en plus une plateforme qui peut être facilement étendue pour répondre aux exigences uniques d'un large éventail de domaines d'application. Pourtant, les équipes de développement abordent parfois la décision de construire des solutions personnalisées uniquement sous l'angle des coûts de développement, en calculant que la fabrication d'une conception personnalisée à partir de zéro coûtera moins cher que l'achat d'une conception prête à l'emploi.

En fait, les équipes de développement peuvent constater que d'autres considérations, notamment la certification pour la technologie sans fil, la disponibilité, la maintenabilité et d'autres questions liées au cycle de vie des produits sans fil, peuvent augmenter le coût global. Dans un marché en évolution rapide, le délai nécessaire à la mise en œuvre d'une conception personnalisée peut éroder davantage la part de marché et le délai de rentabilisation, limitant en fin de compte la rentabilité d'un nouveau produit.

Pour répondre à ces problèmes, le kit de développement ConnectCore 8M Nano CC-WMX8MN-KIT de Digi offre une alternative efficace au développement personnalisé, en fournissant une plateforme clés en main capable de répondre aux exigences de performances et de coûts d'un large éventail d'applications (Figure 1).

Image du kit de développement ConnectCore 8M Nano CC-WMX8MN-KIT de Digi Figure 1 : Le kit de développement ConnectCore 8M Nano CC-WMX8MN-KIT de Digi fournit tout le nécessaire pour commencer à développer des systèmes connectés capables de répondre aux exigences croissantes en matière de conception IHM, de traitement audio/vidéo, d'edge computing et d'apprentissage automatique. (Source de l'image : Digi)

Comment une solution clés en main répond à des exigences fonctionnelles diverses

Le kit de développement ConnectCore 8M Nano CC-WMX8MN-KIT de Digi fournit une plateforme matérielle complète, conçue pour réduire le temps de développement et de commercialisation des systèmes. Grâce à ce kit, les développeurs peuvent facilement mettre en œuvre des systèmes qui s'adaptent à des applications de support aussi diversifiées que la conception d'interfaces homme-machine (IHM), le traitement audio/vidéo, l'edge computing, l'apprentissage automatique, etc. En plus de la carte de développement ConnectCore 8M Nano de Digi, le kit inclut une antenne bi-bande, un câble de port de console et une alimentation pour que les développeurs puissent immédiatement commencer à créer des applications connectées.

Comme pour les autres kits de développement ConnectCore de Digi, le kit de développement ConnectCore 8M Nano tire parti des solutions de système sur module (SoM) hautement intégrées de Digi. Basés sur les membres de la gamme de processeurs i.MX de NXP Semiconductor, les SoM ConnectCore de Digi intègrent des capacités multimédias, de sécurité, de connectivité câblée et de connectivité sans fil pré-certifiée, parmi d'autres caractéristiques requises pour les applications embarquées typiques. Utilisés conjointement avec un environnement logiciel étendu, ces SoM simplifient le développement de systèmes embarqués, permettant aux fabricants de produits de fournir des produits plus sophistiqués, et ce, plus rapidement et avec moins de risques que ce qui est généralement possible avec des approches matérielles personnalisées.

Pour le kit de développement CC-WMX8MN-KIT, un SOM de Digi combine les capacités du processeur i.MX 8M Nano de NXP basé sur les quadruples cœurs Arm®Cortex®-A53 et Arm Cortex-M7 avec jusqu'à 8 gigaoctets (Go) de mémoire Flash, jusqu'à 1 Go de mémoire vive dynamique (DRAM) LPDDR (low-power double data rate) et un ensemble de sous-systèmes supplémentaires (Figure 2).

Image du SoM Digi basé sur le processeur multicœur i.MX 8M Nano de NXPFigure 2 : Reposant sur le processeur multicœur i.MX 8M Nano de NXP, un SoM Digi intègre la mémoire, les options de connectivité, la sécurité et les capacités de gestion de l'alimentation requises dans les conceptions de systèmes embarqués typiques. (Source de l'image : Digi)

Parmi ses sous-systèmes, le SoM intègre un dispositif de sécurité de la gamme CryptoAuthentification de Microchip Technology, qui complète les caractéristiques de sécurité TrustZone des cœurs Arm Cortex-A53. Le dispositif CryptoAuthentification combine un processeur cryptographique dédié, un générateur de nombres aléatoires haute qualité et un stockage de clés protégé pour une exécution sécurisée haute vitesse des algorithmes de hachage et d'infrastructure à clé publique (PKI).

Les options de connectivité intégrées du SoM prennent en charge Gigabit Ethernet (GbE), ainsi que Wi-Fi 802.11 a/b/g/n/ac et Bluetooth 5 pré-certifiés. Pour répondre aux exigences des réseaux étendus, les développeurs peuvent ajouter des options de connectivité cellulaire et autres en connectant simplement les modules cellulaires XBEE de Digi aux connecteurs compatibles XBEE de la carte CC-WMX8MN-KIT.

Outre un ensemble complet d'interfaces périphériques standard, le SoM prend en charge de multiples interfaces multimédias pour l'audio, les caméras et les écrans. Une unité de traitement graphique et un contrôleur LCDIF intégrés permettent aux développeurs d'ajouter facilement un panneau LCD optionnel tel que le CC-ACC-LCDW-10 de Digi, et de commencer rapidement à créer des conceptions IHM pour leurs applications embarquées.

Gestion de l'alimentation dans les conceptions basées sur des processeurs avancés

La gestion de l'alimentation dans un système embarqué complexe peut constituer un défi important, en particulier lorsque la conception du système intègre un processeur avancé tel que l'i.MX 8M Nano de NXP. Comme les autres processeurs de cette catégorie, l'i.MX 8M Nano de NXP regroupe ses nombreux sous-systèmes distincts dans des domaines de puissance séparés pour ses processeurs principaux (VDD_ARM et VDD_SOC), son processeur graphique (VDD_GPU), sa mémoire (VDD_DRAM, NVCC_DRAM), son stockage non volatil sécurisé (NVCC_SNVS_1P8, VDD_SNVS_0P8), et plus. Les développeurs doivent non seulement fournir des rails d'alimentation appropriés pour chaque domaine, mais également fournir (et couper) l'alimentation à chaque domaine selon une séquence temporelle spécifique (Figure 3).

Image de la manière dont l'i.MX 8M Nano de NXP partitionne ses sous-systèmesFigure 3 : Comme la plupart des processeurs avancés, l'i.MX 8M Nano de NXP partitionne ses sous-systèmes en domaines de puissance distincts qui nécessitent que leurs rails d'alimentation individuels soient mis sous tension dans une séquence spécifique au démarrage. (Source de l'image : NXP Semiconductor)

En fait, le SoM ConnectCore i.MX 8M Nano de Digi ne requiert que deux entrées d'alimentation et utilise le circuit intégré de gestion de l'alimentation (PMIC) BD71850MWV de ROHM Semiconductor pour fournir les multiples niveaux de tension d'alimentation requis par le processeur i.MX 8M Nano et d'autres dispositifs. Conçu spécifiquement pour prendre en charge le processeur i.MX 8M Nano de NXP, le BD71850MWV de ROHM intègre plusieurs régulateurs abaisseurs et régulateurs à faible chute de tension (LDO) pour fournir un ensemble complet de rails d'alimentation depuis une alimentation primaire VSYS de 5 volts (V) (Figure 4).

Schéma du PMIC BD71850MWV de ROHMFigure 4 : Conçu spécifiquement pour alimenter le processeur i.MX 8M Nano de NXP, le PMIC BD71850MWV de ROHM fournit un ensemble complet de rails d'alimentation requis par le processeur ainsi que d'autres dispositifs dans une conception de système embarqué typique. (Source de l'image : ROHM Semiconductor)

Bien que le BD71850MWV gère les séquences détaillées de mise sous tension et de mise hors tension requises pour le processeur, Digi ajoute un niveau de contrôle supplémentaire destiné à optimiser la consommation d'énergie globale et à maintenir la fiabilité du système. Intégré dans le SoM, le MCA (Microcontroller Assist) de Digi utilise un microcontrôleur (MCU) Kinetis KL17 MKL17Z64VDA4 de NXP dédié pour la gestion de l'alimentation niveau système. Basé sur le cœur Arm Cortex-M0+ ultrabasse consommation, le microcontrôleur Kinetis KL17 de NXP ne consomme que 46 microampères (μA) par mégahertz (MHz) en mode de fonctionnement à très basse consommation et 1,68 μA en mode d'arrêt, dans lequel il maintient la mémoire et la fonction d'horloge temps réel (RTC).

Conçu pour rester actif même lorsque le système est en mode veille, le MCA exécute un micrologiciel évolutif fonctionnant sur le microcontrôleur KL17 afin de fournir plusieurs options pour activer le processeur système i.MX 8M Nano de NXP. Par exemple, Digi définit un paramètre par défaut qui désactive l'horloge temps réel du processeur système en faveur de la fonctionnalité d'horloge temps réel à plus basse consommation implémentée dans le micrologiciel MCA. Les développeurs peuvent utiliser le convertisseur analogique-numérique (CAN) 12 bits du MCA pour surveiller les événements externes et générer une interruption pour activer le processeur système uniquement lorsque cela est nécessaire. Inversement, le micrologiciel MCA implémente trois contrôleurs à modulation de largeur d'impulsion (PWM) à plusieurs canaux pour les opérations externes. Afin d'aider à garantir la fiabilité globale du système, le micrologiciel du MCA fournit également une fonction d'horloge de surveillance qui réinitialise le système entier ou seulement le processeur système si un logiciel fonctionnant sur ce processeur se bloque ou ne parvient pas à effectuer la maintenance d'horloge de surveillance habituelle pendant l'exécution normale du logiciel.

Au démarrage du système, le MCA commence à fonctionner dès qu'il reçoit du courant. Après un délai programmable, le MCA démarre à son tour le PMIC BD71850MWV, qui exécute la séquence de mise sous tension i.MX 8M Nano décrite plus haut. La réinitialisation du système ou la transition depuis un état de veille basse consommation fonctionne à peu près de la même manière que le MCA coordonnant le rétablissement de l'alimentation avec le PMIC et le processeur.

Un environnement logiciel Linux embarqué prêt pour la production

Le kit de développement CC-WMX8MN-KIT de Digi utilise sa base matérielle étendue pour fournir un environnement logiciel prêt à la production exécutant Digi Embedded Yocto (DEY) open-source. Basée sur la populaire distribution Linux embarquée du projet Yocto, DEY étend cette distribution de base avec des capacités BSP (Board Support Package) supplémentaires, conçues spécifiquement pour prendre en charge la plateforme matérielle Digi (Figure 5).

Schéma de Digi Embedded YoctoFigure 5 : Digi Embedded Yocto étend la distribution Linux de base du projet Yocto avec des extensions BSP (Board Support Package) pour le matériel Digi. (Source de l'image : Digi)

Parmi les extensions BSP du noyau Linux, TrustFence de Digi fournit une infrastructure de sécurité pour les dispositifs Linux. Grâce à leurs capacités d'authentification et de gestion de l'identité, les services TrustFence s'étendent du contrôle d'accès de bas niveau des ports E/S internes et externes jusqu'à la prise en charge de haut niveau des connexions réseau sécurisées et du démarrage sécurisé à l'aide d'images micrologicielles validées. Bien que non initialement pris en charge sur le module ConnectCore 8M Nano, Digi TrustZone sera disponible dans une prochaine version DEY.

Outre la sécurité et la gestion au niveau de chaque dispositif individuel, les applications IoT à grande échelle nécessitent inévitablement la capacité de surveiller et de gérer des parcs de dispositifs IoT. Pour répondre à ces exigences, Digi Remote Manager fournit un service basé cloud conçu pour prendre en charge la surveillance de l'état des dispositifs, la gestion de la configuration et les mises à jour micrologicielles. Via une application mobile ou un logiciel de bureau, les développeurs peuvent utiliser Digi Remote Manager pour afficher les détails des opérations du parc de dispositifs, notamment l'état de santé du parc, les alertes, le statut de connexion et la force du signal (Figure 6).

Image du service basé cloud Digi Remote Manager (cliquez pour agrandir)Figure 6 : Le service basé cloud Digi Remote Manager permet aux développeurs de surveiller et de gérer des déploiements IoT à grande échelle depuis leur ordinateur de bureau ou leur dispositif mobile. (Source de l'image : Digi)

Outre ses capacités de surveillance, Digi Remote Manager permet aux développeurs de gérer plus activement les données, les connexions et les logiciels périphériques de manière interactive en utilisant la ligne de commande, ou en utilisant la programmation via les interfaces de programmation (API) du service. Grâce à ces capacités, les développeurs peuvent redémarrer des dispositifs et télécharger des fichiers, ce qui leur permet d'effectuer facilement les mises à jour micrologicielles et logicielles de masse à l'échelle du parc qui sont requises pour les dispositifs connectés typiques, mais qui posent souvent des problèmes logistiques dans les déploiements à grande échelle.

Conclusion

La demande en matière d'applications plus sophistiquées dans les segments de marché de l'industrie, de la médecine, des transports et de l'agriculture implique la conception de systèmes embarqués orientés IoT plus complexes. Les exigences de certifications régionales pour les sous-systèmes sans fil associés ont également compliqué les choses et ralenti le développement.

Pour résoudre ces problèmes, un kit de développement de Digi fournit un environnement logiciel complet et une plateforme matérielle optimisée avec des modules sans fil pré-certifiés. Comme illustré, le kit permet aux développeurs de fournir plus facilement et plus rapidement de puissantes solutions de systèmes embarqués connectés.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk affiche plus de 20 ans d'expérience dans la rédaction de contenu pour et sur l'industrie électronique, couvrant un large éventail de sujets, notamment le matériel, les logiciels, les systèmes et les applications, y compris l'IoT. Il a obtenu son doctorat (Ph.D.) en neurosciences sur les réseaux neuronaux et a travaillé dans l'industrie aérospatiale sur les systèmes sécurisés massivement distribués et les méthodes d'accélération par algorithmes. Actuellement, lorsqu'il n'écrit pas d'articles techniques, il travaille sur l'application de l'apprentissage approfondi pour les systèmes de reconnaissance et de recommandation.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey