Comment maximiser l'autonomie des batteries dans les conceptions Wi-Fi/Bluetooth IoT double mode

Par Stephen Evanczuk

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

Les concepteurs de produits connectés et de dispositifs Internet des objets (IoT) alimentés par batteries doivent relever le défi de répondre aux exigences contradictoires de connectivité sans fil continue et d'autonomie batterie étendue. La demande croissante en matière de connectivité Bluetooth 5 et Wi-Fi dans le même dispositif est un autre facteur qui vient s'ajouter aux limites de puissance déjà restreintes. Bien que les protocoles Wi-Fi et Bluetooth fournissent des protocoles standard pour aider à réduire la consommation d'énergie, le support le plus direct se présente sous la forme d'une architecture qui combine des sous-systèmes radio pouvant décharger les tâches de traitement du réseau avec un microcontrôleur basse consommation.

Cet article illustre l'importance de la connectivité Wi-Fi/Bluetooth double mode et la manière dont elle complique la conception IoT. Il montre ensuite comment une carte de développement et les logiciels associés de Cypress Semiconductor peuvent être utilisés pour le développement de dispositifs IoT Wi-Fi/Bluetooth double mode capables d'une connectivité continue et d'une autonomie batterie plus étendue.

Le besoin croissant d'une connectivité continue Wi-Fi/Bluetooth double mode

La connectivité Bluetooth est considérée comme une exigence standard pour de nombreux dispositifs IoT conçus pour interagir avec les utilisateurs par le biais de smartphones et d'autres dispositifs mobiles équipés de Bluetooth. Toutefois, pour de nombreuses applications IoT, les dispositifs IoT ont besoin d'une connectivité Wi-Fi pour accéder à un réseau local sans fil (WLAN) afin d'accéder directement à Internet ou d'interagir avec d'autres dispositifs homologues et systèmes hôtes sur le même réseau.

À bien des égards, la capacité des développeurs à prolonger la durée de vie des batteries serait beaucoup plus simple si ces dispositifs IoT n'avaient besoin de se connecter au réseau local sans fil ou à l'hôte Bluetooth que lorsqu'ils doivent transmettre leurs données ou d'autres messages. Comme le rapport cyclique actif pour de nombreux dispositifs IoT est généralement faible, ces dispositifs pourraient étendre la durée de vie des batteries en fonctionnant principalement en mode veille basse consommation, et en s'activant suffisamment longtemps pour effectuer les mesures de capteurs et les tâches de traitement connexes, et pour transmettre les données résultantes avant de repasser en mode veille basse consommation. En réalité, la plupart des dispositifs IoT doivent répondre rapidement aux commandes et données asynchrones entrantes provenant des dispositifs homologues, des systèmes hôtes et des utilisateurs finaux.

Pour rester réactifs, les dispositifs IoT doivent donner l'apparence d'une connectivité continue et rester attentifs au trafic entrant afin de pouvoir réagir dans un délai acceptable. Si les développeurs tentent de répondre à cette exigence essentielle en réactivant régulièrement leurs dispositifs pour recevoir le trafic entrant, la batterie du dispositif s'épuisera rapidement. En fait, les récepteurs radio des dispositifs Wi-Fi alimentés par batteries consomment généralement plus d'énergie au fil du temps que les émetteurs radio, malgré la consommation d'énergie plus élevée associée à une opération de transmission individuelle. Bien entendu, la puissance consommée par le processeur hôte du dispositif pour sa part dans chaque opération de réception ajoute sa propre charge substantielle au bilan énergétique. Heureusement, les normes sans fil définissent des protocoles qui permettent aux développeurs de réduire la consommation tout en conservant l'illusion d'une connectivité continue.

Comment les normes de connectivité sans fil aident à réduire la consommation d'énergie des dispositifs

En fonctionnement normal, les stations (STA) de réception Wi-Fi économisent l'énergie en mettant hors tension la plupart de leur sous-système Wi-Fi. Comme les points d'accès (AP) servent de tampon aux stations STA suspendues, aucun message n'est perdu. Dans le cadre de leurs opérations normales de gestion réseau, les points d'accès transmettent régulièrement des balises qui contiennent un bitmap, appelé carte d'indication de trafic (TIM), qui indique si le point d'accès a du trafic en attente pour chaque station STA. Les points d'accès transmettent aussi périodiquement une balise qui contient une carte d'indication de trafic de livraison (DTIM), qui indique la disponibilité des données diffusées ou multidiffusées en tampon. Les stations STA sont censées s'activer régulièrement dans la valeur de la période DTIM, qui est un multiple de l'intervalle normal de la balise. Un réseau IoT configuré avec une valeur de période DTIM élevée permet aux dispositifs réseau de réduire leur consommation d'énergie car ils peuvent rester en veille plus longtemps avant d'activer leur récepteur pour recevoir une balise indiquant que le point d'accès a des trames à lui envoyer. C'est l'approche fondamentale derrière le mécanisme PSP (Power Save Poll) de la norme 802.11 dont il est question ci-dessous.

La technologie Bluetooth Low Energy (BLE) permet aux dispositifs de réduire leur consommation d'énergie en optimisant la charge utile et la fréquence d'annonces Bluetooth. En augmentant l'intervalle d'annonce, les dispositifs IoT peuvent retarder les opérations de l'émetteur ; en diminuant la charge utile, les dispositifs IoT peuvent réduire la durée des événements de l'émetteur. Bien entendu, toutes les applications ne peuvent pas tolérer de longs intervalles d'annonce ni des charges utiles minimales. Dans un dispositif de détection audio ou en temps réel, par exemple, de longs intervalles d'annonce impliquent des connexions retardées pouvant nuire au comportement de l'application dans son ensemble.

Les périphériques peuvent utiliser une autre fonction BLE appelée latence esclave qui permet au périphérique de sauter des événements de connexion. Comme avec la carte DTIM Wi-Fi, la latence esclave BLE permet aux dispositifs de rester en mode basse consommation pendant une période plus longue. Plutôt que d'augmenter simplement l'intervalle de connexion, ce mode spécial permet au périphérique de sauter les événements de connexion avec un hôte, mais néanmoins d'activer et d'envoyer des données selon les besoins sans occasionner de latence supplémentaire.

Prise en charge de la connectivité double mode et de l'extension de la durée de vie des batteries

Ces méthodes permettent de réduire la durée et la fréquence du fonctionnement à pleine puissance dans les dispositifs Wi-Fi et Bluetooth, mais les développeurs peuvent faire beaucoup plus pour étendre la durée de vie des batteries en utilisant les capacités matérielles et logicielles démontrées dans le kit Pioneer Wi-Fi BT CY8CKIT-062S2-43012 de Cypress Semiconductor. Outre des fils de raccordement et un câble USB, le kit Cypress inclut la carte Pioneer PSoC 62S2 Wi-Fi BT, qui fournit une plateforme de développement étendue et un système matériel complet pour la mise en œuvre de conceptions IoT basse consommation. Utilisé avec le logiciel Cypress, le kit Cypress permet aux développeurs d'évaluer immédiatement et de déployer rapidement une variété de capacités de gestion de l'alimentation sophistiquées.

En plus des multiples connecteurs d'interface, boutons et LED, la carte du kit intègre un dispositif PSoC 5LP CY8C5868LTI-LP038 qui permet la programmation et le débogage embarqués Cypress KitProg3. Pour un stockage embarqué supplémentaire, Cypress intègre son dispositif de mémoire Flash NOR série 512 mégabits (Mb) S25FL512S et sa mémoire vive ferroélectrique (FRAM) série 4 Mb CY15B104 (Figure 1).

Schéma de la carte Pioneer PSoC 62S2 Wi-Fi BT de Cypress (cliquez pour agrandir)Figure 1 : La carte Pioneer PSoC 62S2 Wi-Fi BT de Cypress fournit un ensemble complet de fonctionnalités système, construit autour d'un module porteur qui intègre un microcontrôleur PSoC 6 et un module de connectivité sans fil Wi-Fi/Bluetooth. (Source de l'image : Cypress Semiconductor)

Au cœur de la carte, un module porteur intègre un microcontrôleur PSoC 6 de Cypress Semiconductor et un module de connectivité sans fil LBEE59B1LV Type 1LV de Murata Electronics avec des composants passifs. Un commutateur radiofréquence (RF) et une mini-antenne monopuce double bande de 2,45 gigahertz (GHz)/5 GHz complètent les dispositifs de support.

Conçu spécifiquement pour éliminer le compromis classique entre performances de traitement et consommation d'énergie, le PSoC 6 intègre un processeur Arm® Cortex®-M4 de 150 mégahertz (MHz), qui sert de processeur d'application principal, et un processeur Arm Cortex-M0+ de 100 MHz, qui gère le fonctionnement basse consommation. Outre la mémoire Flash et la mémoire vive statique (SRAM) intégrées, le PSoC 6 inclut un moteur de cryptographie, des périphériques analogiques et numériques programmables, la prise en charge de la détection tactile CapSense et de multiples interfaces système (Figure 2).

Schéma du module porteur de la carte Pioneer PSoC 62S2 Wi-Fi BT de Cypress (cliquez pour agrandir)Figure 2 : Intégré dans le module porteur de la carte Pioneer PSoC 62S2 Wi-Fi BT de Cypress, un microcontrôleur PSoC 6 utilise une architecture multicœur pour répondre aux exigences en matière de traitement applicatif et d'exécution en temps réel basse consommation. (Source de l'image : Cypress Semiconductor)

Le module LBEE59B1LV de Murata fournit un sous-système radio complet dans un boîtier de 10,0 millimètres (mm) x 7,2 mm x 1,4 mm qui contient un dispositif WICED (Wireless Internet Connectivity for Embedded Devices) Wi-Fi + Bluetooth CYW43012 de Cypress, une horloge de référence et des filtres (Figure 3).

Schéma du module de connectivité sans fil LBEE59B1LV Type 1LV de MurataFigure 3 : Le module de connectivité sans fil LBEE59B1LV Type 1LV de Murata fournit un sous-système radio Wi-Fi + Bluetooth pré-certifié complet, construit autour d'un dispositif WICED CYW43012 de Cypress. (Source de l'image : Murata Electronics)

Le module prend en charge la connectivité sans fil 2,4 GHz et 5 GHz avec Bluetooth 5.0 et Wi-Fi 802.11a/b/g/n. De plus, le module offre un mode compatible 802.11ac, qui prend en charge la modulation d'amplitude en quadrature 256 QAM de 802.11ac pour les canaux de 20 MHz dans la bande de 5 GHz, offrant un débit plus élevé et une énergie par bit plus faible que les produits 802.11n uniquement. Conçu pour accélérer le développement, le module LBEE59B1LV de Murata est pré-certifié pour plusieurs régions, ce qui élimine les longs délais associés aux tests de conformité et à la certification.

Dans le module, le dispositif WICED de Cypress intègre un processeur Arm Cortex-M3 et un processeur Arm Cortex-M4 dans les sous-systèmes Wi-Fi et Bluetooth, respectivement. Bien qu'il ne soit pas disponible pour le code client, le processeur Arm Cortex-M3 exécute le micrologiciel Cypress qui prend en charge les opérations Wi-Fi et des fonctionnalités supplémentaires, notamment la fonction de décharge décrite ci-dessous. Le processeur Arm Cortex-M4 dans le sous-système Bluetooth exécute le micrologiciel du contrôleur Bluetooth, la pile Bluetooth et les profils. En outre, ce cœur peut exécuter le code client programmé à l'aide du kit de développement logiciel (SDK) WICED de Cypress.

Utilisation de méthodes d'économie d'énergie dans les conceptions IoT sans fil

Conçus pour minimiser la consommation énergétique, le PSoC 6 et le module de connectivité sans fil offrent un ensemble complet de modes d'alimentation et de capacités de réduction de la consommation. Cypress soutient cette plateforme matérielle écoénergétique avec un complément logiciel substantiel conçu pour simplifier l'utilisation des méthodes d'économie d'énergie dans les conceptions IoT sans fil. Par exemple, les développeurs peuvent facilement implémenter la méthode PSP mentionnée plus haut en utilisant la bibliothèque Wi-Fi Host Driver (WHD) embarquée indépendante.

Les développeurs appellent simplement la fonction d'interface de programmation (API) WHD whd_wifi_enable_powersave() pour activer la fonction PSP et whd_wifi_disable_powersave() pour la désactiver ultérieurement dans le dispositif. Lorsqu'elle est activée, la station STA notifie au point d'accès sa mise en veille. Comme mentionné précédemment, le point d'accès met en mémoire tampon toutes les trames destinées à la station STA suspendue et configure sa balise périodique pour indiquer que des trames sont disponibles. Lorsque la station STA s'active pour vérifier la balise, elle entame un processus standard pour récupérer ces trames.

Bien que le mécanisme PSP soit destiné aux stations STA à faibles rapports cycliques, une méthode similaire, appelée « Power Save without Poll » (PS-non-Poll), prend en charge les stations STA ayant des exigences de débit plus élevées. Ici, la station STA transmet une trame de données de fonction nulle, qui initie le transfert de trame à partir du point d'accès.

Les fonctions PSP et PS-non-Poll permettent aux dispositifs de réduire les opérations des récepteurs mais ne contribuent pas à éliminer les transactions inutiles liées aux surcharges d'opérations réseau. Par exemple, tout réseau y compris WLAN IoT a un trafic de paquets indésirables lorsqu'il est connecté à un réseau externe, en particulier l'Internet public. La possibilité de filtrer ces paquets dans le sous-système de communications sans impliquer le processeur hôte du dispositif IoT permettrait au processeur hôte de rester en mode veille basse consommation.

Outre les paquets indésirables, le trafic réseau légitime peut provoquer l'activation inutile du processeur hôte. Par exemple, le protocole de résolution d'adresse (ARP) standard Wi-Fi utilise des paquets de diffusion dans le cadre de sa fonction pour mapper une adresse IP associée à un dispositif à l'adresse MAC (Media Access Control) du dispositif. Cette opération est essentielle pour le fonctionnement WLAN normal, car elle permet aux dispositifs d'en atteindre d'autres sur leur réseau, de détecter les adresses IP dupliquées et de notifier aux autres dispositifs si une adresse IP est modifiée pour une raison quelconque.

Les paquets de requêtes et de réponses ARP sont tellement fondamentaux pour les opérations réseau que le processeur hôte d'un dispositif IoT peut être surchargé par le simple traitement des requêtes et des réponses ARP. Si l'interface WLAN du dispositif ne fait que transmettre les demandes et les réponses entre l'hôte et le réseau, chaque demande ARP activera l'hôte, parfois inutilement.

Par contraste, le module de connectivité sans fil de Murata intervient dans cet échange, déchargeant le microcontrôleur PSoC 6 du traitement des demandes ARP. Lorsque le PSoC 6 est autrement engagé dans sa fonctionnalité d'application IoT principale, cette capacité préserve les cycles du processeur pour l'exécution de l'application. Si le PSoC 6 est en mode veille, cette capacité permet de réduire la consommation d'énergie globale du dispositif IoT. En permettant le déchargement ARP avec réponse automatique des pairs, le module Murata n'activera le PSoC 6 que si une demande ARP entrante ne peut être satisfaite par les entrées mises en cache dans le module Murata (Figure 4, à gauche).

Schéma du déchargement ARP interceptant les demandes ARP du réseau ou du processeur hôte (cliquez pour agrandir)Figure 4 : Lorsqu'il est activé, le déchargement ARP intercepte les demandes ARP provenant du réseau (à gauche) ou du processeur hôte (à droite), répondant automatiquement lorsque le cache satisfait à la demande (en haut) et n'activant le processeur qu'en cas de défaillance du cache (en bas). (Source de l'image : Cypress Semiconductor)

Cette même approche peut également contribuer à réduire la consommation énergétique des réseaux WLAN. En fonctionnement normal, le module de Murata peut surveiller le trafic réseau et mettre en cache les paires IP:MAC des autres réponses ARP. En utilisant la réponse automatique de l'hôte, le module de Murata peut répondre aux demandes ARP du PSoC 6, en invoquant son sous-système radio uniquement si la demande du PSoC  6 ne peut pas être satisfaite à partir du cache ARP (Figure 4, à droite).

Implémentation simple basée sur menu des fonctions d'économie d'énergie

La mise en œuvre du déchargement ARP avec le kit Pioneer est remarquablement simple. Inclus dans l'environnement de développement intégré (IDE) Cypress ModusToolBox (MTB), l'outil Cypress Device Configurator permet aux développeurs de déployer cette capacité en quelques sélections de menu. Cypress fournit des fichiers de configuration pré-développés qui permettent aux développeurs de sélectionner rapidement différentes configurations, y compris le déchargement ARP.

L'utilisation de l'outil Device Configurator pour définir explicitement les configurations est presque aussi simple. Les développeurs utilisent les options du menu de l'outil pour activer la broche d'activation hôte, nommer la broche (CYBSP_WIFI_HOST_WAKE) et définir les paramètres de la broche (Figure 5).

Image de l'outil Device Configurator de Cypress (cliquez pour agrandir)Figure 5 : L'outil Device Configurator de Cypress permet aux développeurs d'utiliser des menus pour définir les options d'économie d'énergie disponibles avec la carte Pioneer. (Source de l'image : Cypress Semiconductor)

Dans l'onglet Wi-Fi de l'outil, les développeurs définissent l'activation de l'hôte et la broche d'interruption sur le nom saisi précédemment (CYBSP_WIFI_HOST_WAKE). Des entrées de menu supplémentaires permettent d'activer le déchargement ARP, de définir la réponse automatique des pairs, d'activer la surveillance réseau et de définir le délai d'expiration des entrées du cache (Figure 6).

Image des onglets de menu supplémentaires dans l'outil Cypress Device ConfiguratorFigure 6 : En utilisant les onglets de menu supplémentaires dans l'outil Device Configurator de Cypress, les développeurs peuvent activer le déchargement ARP et des fonctionnalités spécifiques telles que la réponse automatique par les pairs. (Source de l'image : Cypress Semiconductor)

Après avoir enregistré la configuration, les développeurs génèrent simplement les fichiers sources, construisent le projet modifié et programment la carte Pioneer. En utilisant une procédure similaire, les développeurs peuvent configurer le module Murata pour décharger le filtrage de paquets Wi-Fi et traiter d'autres types courants d'opérations réseau. Cette même approche permet même à un dispositif IoT d'exécuter le protocole keep-alive TCP Wi-Fi requis pour maintenir la connectivité Wi-Fi, et ce, sans activer le processeur hôte IoT.

En conditions de fonctionnement WLAN normales, un dispositif client et un serveur hôte maintiennent les connexions TCP en échangeant des paquets keep-alive. Si l'une des parties de cet échange ne reçoit pas de réponse après quelques essais, elle met fin à la connexion. Même dans les dispositifs IoT à puissance limitée, le processeur hôte doit s'activer continuellement pour participer à cet échange ou utiliser encore plus d'énergie pour rétablir continuellement les connexions.

Comme pour le déchargement ARP, les développeurs peuvent utiliser l'outil Device Configurator pour permettre le déchargement keep-alive TCP. Une fois cette fonction activée, le module de Murata exécute automatiquement le protocole keep-alive sans activer le PSoC 6 (Figure 7).

Schéma d'un dispositif WLAN exécutant automatiquement le protocole keep-alive (cliquez pour agrandir)Figure 7 : Lorsque le déchargement keep-alive TCP est activé, le module de connectivité sans fil (dispositif WLAN) exécute automatiquement le protocole keep-alive, ce qui permet au processeur hôte de rester en mode veille basse consommation. (Source de l'image : Cypress Semiconductor)

Bien que Cypress recommande l'utilisation de l'outil Device Configurator, les développeurs peuvent également implémenter manuellement les fonctions d'économie d'énergie de la plateforme Cypress, notamment le déchargement ARP, le filtrage de paquets, le déchargement keep-alive TCP, etc.

Ces deux approches reposent sur l'intergiciel LPA (Low Power Assistant) de Cypress, qui prend en charge ces fonctions d'économie d'énergie pour Wi-Fi, Bluetooth et le microcontrôleur PSoC 6, ainsi que d'autres fonctions au-delà de celles mentionnées ici.

Une fois que le développeur a défini les configurations à l'aide de menus ou en ajoutant manuellement du code de configuration, le micrologiciel LPA fonctionne de manière transparente pour l'application, orchestrant automatiquement l'utilisation des capacités logicielles et des fonctionnalités matérielles basse consommation.

Conclusion

La nécessité d'une connectivité sans fil continue et d'une durée de vie étendue des batteries dans les dispositifs IoT présente des exigences contradictoires pour les concepteurs, qui doivent également prendre en charge à la fois le Wi-Fi et le Bluetooth. Comme illustré, en combinant un sous-système radio capable de décharger les tâches de traitement du réseau avec un microcontrôleur basse consommation, le kit Pioneer CY8CKIT-062S2-43012 Wi-Fi BT de Cypress Semiconductor permet aux concepteurs de répondre aux exigences de connectivité sans fil IoT et de basse consommation.

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