Les outils et systèmes sur puce Bluetooth Low-Energy, compatibles avec Bluetooth® 4.1, 4.2 et 5, répondent aux défis de l'IoT (1re partie)

Avec la contribution de Digi-Key's North American Editors

Les mises à niveau importantes apportées au logiciel de protocole RF Bluetooth Low-Energy (« pile ») et adoptées dans les versions 4.1, 4.2 et 5 de la norme ont considérablement amélioré son applicabilité pour de nombreuses applications au-delà de ses bases de clients, notamment celles liées à l'Internet des objets (IoT).

Cependant, la rapide évolution de la technologie et l'ambiguïté sur les capacités et l'interopérabilité de la technologie BLE et du Bluetooth conventionnel (ou classique) entraînent quelques confusions. Les concepteurs et développeurs doivent comprendre quelle technologie est la mieux adaptée à leur application spécifique avant de pouvoir optimiser leur conception, tout en tirant pleinement parti des fonctionnalités du Bluetooth.

Cet article en deux parties aborde la confusion existant entre Bluetooth classique et Bluetooth Low-Energy. Il décrit également les améliorations apportées, avec l'introduction des versions 4.1, 4.2 et 5 de la spécification, qui ont permis d'utiliser ces technologies dans des applications initialement non ciblées. Ces applications incluent une consommation ultrafaible, une plus grande portée, un débit supérieur et l'ajout d'extensions d'annonces. Cet article comprend également des exemples de systèmes sur puce (SoC) BLE qui sont entièrement conformes aux dernières versions de la spécification.  

La seconde partie de cette duologie explique comment les concepteurs avec peu d'expérience RF peuvent concevoir des produits BLE sans fil avec des systèmes sur puce, des modules, des micrologiciels, et des kits de développement matériel et logiciel (SDK) de divers fournisseurs.

Technologie optimisée pour une basse consommation

Le BLE a été introduit en tant que forme interopérable ultrabasse consommation de la technologie Bluetooth sans fil courte portée dans le cadre de l'adoption de la version 4.0 de Bluetooth en 2010. La technologie a étendu l'écosystème Bluetooth à des applications à faibles capacités de batterie, comme les dispositifs corporels. Avec un courant moyen de l'ordre du microampère dans les applications cibles, elle complémente la version Bluetooth classique. Les principales fonctionnalités de la spécification d'origine incluent :

  • Pile légère de protocoles
  • Interopérabilité avec Bluetooth 4.0 et versions ultérieures
  • Débit de données brutes de 1 Mbps
  • Portée d'environ 10 mètres
  • Haut niveau d'immunité contre les autres sources radio de 2,4 GHz

La technologie est adaptée pour la transmission de données à partir de capteurs sans fil compacts ou d'autres périphériques prenant en charge une communication entièrement asynchrone. Ces dispositifs transmettent de faibles volumes de données (c'est-à-dire quelques octets) par intermittence. Leur rapport cyclique s'étend de quelques fois par seconde à une fois par minute, ou plus.

Dans la spécification principale du Bluetooth 4.0, la pile BLE légère comprend la couche physique ou PHY (qui transmet les octets), la couche de liaison ou LL (qui définit la structure et le contrôle des paquets) et l'interface de contrôleur hôte (HCI). Collectivement, ces trois couches désignent le contrôleur de liaison BLE (ou « contrôleur »). Au-dessus du contrôleur, la couche hôte intègre le protocole L2CAP qui fournit une abstraction basée sur les canaux vers les applications et les services. Elle exécute la fragmentation et la défragmentation des données d'applications ainsi que le multiplexage et le démultiplexage des différents canaux sur une liaison logique partagée.

La couche hôte inclut également le protocole SMP (Security Manager Protocol) et le protocole d'attributs (ATT). Le protocole SMP utilise un canal L2CAP fixe pour mettre en œuvre les fonctions de sécurité entre dispositifs. Le protocole ATT fournit une méthode de communication d'un faible volume de données sur un canal L2CAP fixe. Les dispositifs déterminant les services et les fonctionnalités d'autres dispositifs utilisent également le protocole ATT. Le profil d'attribut générique (GATT) spécifie la structure dans laquelle les données de profil sont échangées. Cette structure définit les éléments de base tels que les services et les caractéristiques utilisés dans une application. Enfin, le profil d'accès générique (GAP) définit les exigences de base d'un dispositif Bluetooth. Le logiciel d'application se trouve en haut de la pile (Figure 1).

Image de la pile de protocoles BLE

Figure 1 : Pile de protocoles BLE illustrant le contrôleur, l'hôte et les applications. Le profil GATT définit les exigences de base d'un dispositif Bluetooth. (Source de l'image : Bluetooth Low Energy: The Developer's Handbook, Robin Heydon)

La confusion chez les développeurs peut venir du fait qu'à partir de la version 4.0, la spécification principale du Bluetooth définit deux types de puce :

  • La puce BLE et la pile décrite ci-dessus.
  • Une puce Bluetooth avec une pile modifiée et une couche PHY à débit de base (BR)/débit de données étendu (EDR), comprise dans les versions antérieures et combinée à une couche PHY Low-Energy (LE) [« BR/EDR + LE »], de sorte qu'elle soit interopérable avec toutes les versions et variantes de puce de la norme.

Cet article (avec la partie 2) s'intéresse principalement au dispositif BLE. Dans de nombreuses applications grand public, ce dispositif fonctionne en conjonction avec une puce Bluetooth, mais grâce aux améliorations introduites dans les versions 4.1, 4.2 et 5, la technologie est de plus en plus utilisée en tant que dispositif autonome pour les applications IoT.

Les puces BLE peuvent interagir avec d'autres puces BLE et Bluetooth compatibles avec Bluetooth 4.0 ou versions ultérieures. Les puces Bluetooth sont utilisées dans les applications telles que les smartphones, les tablettes et les PC, dans lesquelles la consommation énergétique est moins critique que la bande passante. Cependant, elles peuvent également interagir avec des puces Bluetooth compatibles avec Bluetooth 3.0 et versions antérieures (Figure 2).

Image des puces Bluetooth (avec couche PHY BR/EDR + LE) et des puces BLE (couche PHY LE)

Figure 2 : Bluetooth 4.0 est basé sur deux dispositifs, les puces Bluetooth (avec PHY BR/EDR + LE) et les puces BLE (PHY LE) [au centre et à droite de l'image]. Ces dispositifs sont interopérables. Les puces Bluetooth peuvent également interagir avec les puces Bluetooth classique compatibles avec Bluetooth 3.0 et versions antérieures (à gauche). (Source de l'image : Nordic Semiconductor.)

Le BLE permet des économies d'énergie en optimisant le temps de veille et en utilisant des connexions rapides et une faible puissance d'émission/réception de crête. Sa faible consommation énergétique réside principalement dans le fait que, contrairement au Bluetooth classique qui est une radio orientée connexion à intervalles de connexion fixes, le BLE présente généralement un état « déconnecté » écoénergétique, dans lequel chacune des deux extrémités d'une liaison est consciente de l'autre, mais ne se connecte qu'en cas de nécessité, et ce le plus brièvement que possible.

Le BLE utilise trois canaux d'annonce pour détecter d'autres appareils ou activer sa présence, alors que Bluetooth en utilise 32. Le BLE s'active entre 0,6 et 1,2 ms pour rechercher d'autres appareils, tandis que le Bluetooth requiert 22,5 ms pour balayer 32 canaux, consommant ainsi jusqu'à 20 fois plus d'énergie.

Après sa connexion, le BLE bascule sur l'un de ses 37 canaux de données, puis de manière pseudo-aléatoire entre les canaux pour éviter les interférences à l'aide de la technologie de saut de fréquences adaptatif (AFH) lancée par la spécification Bluetooth d'origine, utilisant 79 canaux. Le BLE réalise sa connexion (balayage, liaison, transfert de données, authentification et déconnexion) en 3 ms, alors qu'il faut des centaines de millisecondes au Bluetooth, améliorant ainsi l'économie d'énergie.

Un autre moyen permettant d'économiser de l'énergie réside dans l'utilisation de paramètres RF plus « souples ». Les deux technologies utilisent la modulation GFSK. Cependant, le Bluetooth Smart utilise un indice de modulation de 0,5, tandis que celui du Bluetooth classique est de 0,35, réduisant les exigences en matière de puissance. Un faible indice de modulation permet également d'augmenter la portée et d'améliorer la robustesse.

Enfin, le BLE utilise des paquets plus courts par rapport au Bluetooth. Cela permet d'éviter la surchauffe de la puce. Cela permet également d'éviter le recours à une procédure de ré-étalonnage consommant beaucoup d'énergie et d'utiliser une architecture en boucle fermée.

Préparation pour l'IoT

Dans les applications grand public, un smartphone fonctionne généralement en tant que « passerelle » de transfert des données d'un dispositif BLE vers le cloud. Cette mesure est adaptée pour les applications axées sur la personne, telles que les bracelets connectés. Cependant, elle convient moins aux applications comme l'automatisation domestique ou industrielle, où un smartphone ne peut être disponible de manière continue. Le Bluetooth 4.1 a été introduit (en partie) pour pallier cet inconvénient en cas de mise en œuvre de la technologie dans les applications IoT.

Le Bluetooth 4.1 permet au dispositif d'agir simultanément en tant que périphérique BLE et concentrateur. Par exemple, une montre connectée peut désormais agir en tant que concentrateur collectant des informations d'un moniteur cardiaque BLE tout en faisant office de périphérique d'un smartphone affichant les notifications de nouveaux messages sur le combiné. De plus, le Bluetooth 4.1 intègre un moyen standard de création d'un canal dédié, pouvant être utilisé pour IPv6 (la dernière version du protocole de communications Internet).

Les autres améliorations introduites dans cette mise à jour logicielle incluent la coexistence améliorée entre BLE et LTE cellulaire ; des connexions améliorées grâce à la capacité du développeur à varier l'intervalle de reconnexion ; et le transfert massif de données.

En parallèle, l'IETF (Internet Engineering Task Force) a ajouté la spécification 6LoWPAN (Low Power Wireless Personal Area Networks) au protocole IPv6. Surclassant l'adressage 32 bits de l'IPv4, l'adressage 128 bits de l'IPv6 garantit la définition d'une adresse IP unique pour les milliards de petits capteurs ajoutés à l'IoT. Cela leur permet de se connecter directement à d'autres appareils sur le réseau. Dans le cas du BLE, cela permet à un capteur d'éviter de recourir à une passerelle pour établir une connexion IP et effectuer une translation. Les smartphones constituent un parfait exemple de passerelle fréquemment utilisée.

Le développement de l'IETF, accompagné de l'introduction du canal dédié dans la version Bluetooth 4.1, a permis au Bluetooth 4.2 d'intégrer le profil IPSP (Internet Protocol Support Profile) dans la pile BLE. Le profil IPSP permet aux dispositifs de découvrir d'autres appareils prenant en charge le profil IPSP et de communiquer avec eux en utilisant des paquets IPv6 sur la couche de transport BLE. La plupart des principaux fournisseurs de puces BLE intègrent désormais ce type de couche de transport dans leurs piles.

Grâce à l'ajout du profil IPSP, les dispositifs BLE peuvent désormais communiquer avec tout autre dispositif IPv6 via des routeurs ou des passerelles simples et abordables (Figure 3). Étant donné que de tels routeurs agissent en tant que dispositifs neutres, en transférant des paquets IPv6 sans analyse ni manipulation, des millions d'appareils déjà en service mais auparavant incompatibles avec BLE (comme les décodeurs ou les routeurs Wi-Fi) peuvent désormais être adaptés pour faire office de routeurs, et ce, de manière économique.

Image de l'introduction du profil IPSP avec la version Bluetooth 4.2

Figure 3 : L'introduction du profil IPSP avec Bluetooth 4.2 dans la technologie BLE (auparavant appelée Bluetooth Smart) permet aux dispositifs de se connecter à d'autres appareils IPv6 via une connexion Internet à l'aide de routeurs simples et abordables. L'accès Internet via une passerelle de smartphone est également possible si ce type d'appareil est disponible. (Source de l'image : Nordic Semiconductor)

Bluetooth 4.2 combat les pirates informatiques

Le Bluetooth 4.2 introduit également quelques éléments de sécurité contre les risques de piratage lors des connexions systématiques de dispositifs BLE, comme les lampes intelligentes, à Internet, sans intervention humaine.

Le premier élément est la connexion BLE sécurisée. Avant la version Bluetooth 4.2, l'élément fonctionnel fondamental de la sécurité Bluetooth reposait sur la fonction d'appairage simple sécurisé, un procédé dans lequel l'établissement des connexions des dispositifs se faisait uniquement après la génération et la distribution de plusieurs clés de cryptage : une clé à court terme (STK) et trois clés à long terme pour un cryptage et une authentification de la couche de liaison (LTK), la résolution de signature de connexion (CSRK) et la résolution d'identité (IRK).

Le Bluetooth 4.2 introduit un niveau de sécurité plus élevé. Pour la gestion des clés, la spécification a intégré une cryptographie à courbe elliptique (ECC) asymétrique avec des courbes elliptiques conformes aux normes FIPS. Elle utilise également le mode compteur AES (Advanced Encryption Standard) avec cryptographie CBC-MAC (AES-CCM) pour le cryptage de messages. Cela permet de renforcer la sécurité au niveau de la couche de liaison entre les appareils voisins pour protéger les liaisons sans fil contre les risques d'écoute passive ou d'attaques MITM.

Le second complément de sécurité de Bluetooth 4.2 est la fonction LE Privacy, qui gère la résolution des adresses privées dans les contrôleurs et les appareils hôtes, tout en prenant en charge la définition d'une liste blanche pour les adresses privées au niveau du contrôleur.

De plus, le Bluetooth 4.2 présente une augmentation des modes de puissance de transmission maximum pour la classe de puissance 1 de +10 à +20 dB, permettant aux concepteurs d'éliminer le recours à un adaptateur de puissance externe pour une économie d'espace et de coûts. La capacité de paquets a également augmenté de 27 à 271 octets par rapport au Bluetooth 4.1, et la plage de données a augmenté jusqu'à 2,5 fois. Ces mises à niveau améliorent l'efficacité des communications entre dispositifs et des connexions via Internet, et permettent d'effectuer des téléchargements plus rapides et des mises à jour micrologicielles sans fil plus fréquentes.

Solutions rapides après les mises à niveau

Le succès du marché et de la norme ouverte BLE a entraîné l'apparition d'une myriade de fournisseurs et de produits sur le marché peu de temps après l'adoption de Bluetooth 4.0, 4.1 et 4.2. Les systèmes sur puce (SoC) sont le choix le plus fréquent. La série nRF51 de Nordic Semiconductor, lancée en 2012, constitue un bon exemple. Cette série repose sur un processeur ARM Cortex-M0 et inclut un émetteur-récepteur BLE, des mémoires Flash et RAM, une gestion de l'alimentation intégrée et des E/S.

Le système sur puce DA14680 de Dialog Semiconductor suit une formule similaire. La puce est un dispositif compatible avec Bluetooth 4.2 et comprend un processeur ARM Cortex-M0, une radio BLE, 8 Mo de mémoire Flash, 64 Ko de mémoire ROM OTP, une gestion de l'alimentation embarquée et plusieurs autres périphériques (Figure 4).

Schéma du DA14680 de Dialog Semiconductor

Figure 4 : Le DA14680 de Dialog Semiconductor est un exemple typique de système sur puce BLE conforme à Bluetooth 4.2, reposant sur un processeur ARM embarqué, une radio 2,4 GHz, et des mémoires Flash, RAM et ROM. (Source de l'image : Dialog Semiconductor)

En plus de Nordic et de Dialog, de nombreux autres fournisseurs de circuits intégrés Bluetooth 4.1 et 4.2 proposent des solutions pour les développeurs. Les plus renommés parmi ces fournisseurs sont Texas Instruments (TI) et Cypress Semiconductor.

Le Bluetooth 5 étend la portée et la bande passante

La dernière version de la technologie Bluetooth, Bluetooth 5 (et non « 5.0 » comme l'on pouvait s'y attendre), introduite en décembre 2016, renforce la position de BLE en tant que technologie de base pour l'IoT. Les améliorations sont considérables avec une augmentation de la portée et de la bande passante.

L'augmentation de la bande passante résulte de la couche PHY de 2 Mbps, alors que les versions antérieures du BLE utilisaient une couche PHY de 1 Mbps. Le doublement de la bande passante PHY n'entraîne pas directement le doublement de la vitesse de transmission des données à cause des surcharges fixes dans la structure des paquets du Bluetooth 5, mais un développeur peut raisonnablement attendre un débit de transmission des données d'environ 1,4 Mbps, contre un débit de 800 kbps de la couche PHY de 1 Mbps du Bluetooth 4.2 (Figure 5).

Schéma : Bluetooth 5 conserve la charge utile de 251 octets du Bluetooth 4.2

Figure 5 : Bluetooth 5 conserve la charge utile de 251 octets du Bluetooth 4.2, mais la couche PHY de 2 Mbps réduit le temps de transmission et augmente la bande passante. Alors que Bluetooth 4.2 présente un débit de 800 kbps avec une couche PHY de 1 Mbps, le Bluetooth 5 peut atteindre 1,4 Mbps avec sa couche PHY de 2 Mbps. Les avantages de bande passante sont perdus en cas d'utilisation des fonctionnalités d'optimisation de la portée du Bluetooth 5. (Source de l'image : Bluetooth.com)

Un débit plus élevé est un avantage pour de nombreuses applications, mais l'avantage clé pour l'IoT est la capacité de mise à jour sans fil plus rapide, plus particulièrement pour les capteurs IoT qui sont susceptibles de nécessiter des améliorations régulières pour offrir plus de fonctionnalités et un niveau de sécurité plus élevé. De plus, l'utilisation d'une couche PHY de 2 Mbps permet des économies d'énergie car la radio s'active moins longtemps qu'un dispositif 1 Mbps pour envoyer un volume défini de données. La radio peut également passer plus de temps en mode de veille profonde, pour renforcer la réduction de la consommation d'énergie.

Le Bluetooth 5 offre jusqu'à 4 fois la portée de la version 4.2, un avantage pour de nombreuses applications IoT. Par exemple, cette portée peut permettre à toutes les lampes intelligentes d'une maison de communiquer avec un concentrateur central via une topologie en étoile, au lieu d'utiliser le réseau maillé plus complexe qui est souvent mis en œuvre pour augmenter la portée des technologies sans fil à très basse consommation. L'amélioration de la portée résulte de l'utilisation de l'option de correction d'erreur directe (FEC) qui détecte et corrige les erreurs de communication au niveau du récepteur. Fondamentalement, en prenant en compte le caractère de consommation ultrafaible de la technologie, la portée peut être améliorée sans recourir à l'augmentation de la puissance de transmission.

Pour les ingénieurs et les développeurs, la « portée » désigne la distance maximale à laquelle les données peuvent être extraites correctement à partir du signal reçu. Le rapport signal/bruit (SNR) s'accroît à mesure que la portée augmente, et des erreurs de décodage risquent de se produire. Un récepteur Bluetooth peut tolérer un taux d'erreur sur les bits (TEB) maximal de 0,1 % avant la coupure de la communication. Au lieu d'accroître la puissance de l'émetteur, la sensibilité du récepteur a été optimisée de manière à ce que le taux d'erreur sur les bits maximum soit obtenu à une portée bien supérieure.

Le Bluetooth 4.2 utilise le contrôle par redondance cyclique (CRC) pour contrôler les erreurs de paquets. Le récepteur recalcule le CRC et compare le résultat à la valeur imputée au paquet par l'émetteur. Une différence entre les valeurs de CRC indique qu'une erreur s'est produite. Cependant, la version 4.2 n'inclut aucun mécanisme pour la correction des erreurs au niveau du récepteur. En revanche, le récepteur demande systématiquement le renvoi d'un paquet, ce qui ralentit le débit global.

L'option FEC du Bluetooth 5 améliore la sensibilité du récepteur sans affecter le matériel. L'inconvénient est que la technique ajoute les bits redondants au paquet pour faciliter la correction des erreurs. Cela réduit le débit de données effectif à 500 kbps ou 125 kbps, selon le schéma de codage appliqué parmi les deux schémas disponibles. Malheureusement, la couche PHY de 2 Mbps ne prenant pas en charge l'option FEC, elle ne peut pas être utilisée pour compenser le débit effectif inférieur causé par les bits redondants.

Comme l'option FEC réduit le débit effectif, la radio Bluetooth doit se trouver dans un état haute puissance pendant une durée plus longue en fonctionnement longue portée (4x) pour un volume de données défini. Selon le schéma de codage, la durée de transmission de la charge utile des paquets BLE standard peut être 13 fois plus longue que celle d'une transmission non codée. Bien que la consommation de puissance de crête ne soit pas affectée, la consommation énergétique moyenne s'intensifie, ce qui consomme plus rapidement la charge de la batterie.

L'introduction des extensions d'annonces constitue l'une des améliorations de Bluetooth 5. Les extensions d'annonces augmentent la taille de la charge utile de 27 octets à 251 octets pour un transfert de données plus efficace. Cette fonctionnalité est principalement conçue pour les applications de balises afin de permettre aux détaillants d'envoyer plus d'informations dans les paquets d'annonces vers les smartphones de leurs clients. Une autre fonctionnalité de la dernière version est la capacité à utiliser des canaux de données pour la diffusion.

L'émergence des puces BLE commerciales compatibles avec Bluetooth 5 ne fait que commencer. Le système sur puce SimpleLink BLE CC2640R2F de TI est l'une de ces solutions. Cette puce Bluetooth 5 intègre un processeur ARM Cortex-M3, une radio 2,4 GHz compatible avec Bluetooth 4.2 et 5 avec une sensibilité de -97 dBm, un convertisseur CC/CC sur puce et un choix raisonnable d'E/S et de périphériques. Le système sur puce est également pris en charge par la gamme étendue de kits de développement logiciels, de conceptions de référence et d'autres outils logiciels de TI.

Bluetooth 5 ne prend actuellement pas en charge la capacité de réseau maillé des technologies concurrentes comme ZigBee et ANT+. Plusieurs fabricants ont mis en œuvre des technologies maillées propriétaires basées sur BLE, notamment CSR, qui fait désormais partie de Qualcomm. Le maillage devant vraisemblablement constituer une exigence clé pour les applications IoT, il n'est pas surprenant que Bluetooth SIG s'efforce de mettre la technologie en œuvre. La nouvelle mise à jour de la norme Bluetooth (prévue fin 2017) devrait prendre en charge le réseau maillé.

Conclusion

Les nombreuses mises à niveau essentielles du logiciel de protocole RF BLE (« pile ») adoptées dans les versions 4.1, 4.2 et 5 de la norme ont permis l'amélioration de l'interface pour les applications exigeant une faible consommation énergétique, une plus grande portée et un débit plus élevé. Cependant, les changements ont également entraîné quelques confusions. Une compréhension générale des mises à jour et de leurs implications est nécessaire pour que les développeurs puissent pleinement tirer parti de la version Bluetooth la plus appropriée à leur application.

Comme expliqué dans cet article, les solutions de produit des versions précédentes de Bluetooth sont largement disponibles, tandis que la version Bluetooth 5 émerge rapidement. Ces solutions permettent aux capteurs, aux produits ou aux dispositifs de se connecter à l'IoT via un routeur simple et économique, plutôt que via une passerelle complexe comme un smartphone. Ce type de connectivité permettra même aux produits modernes les plus communs de bénéficier de fonctionnalités considérablement évoluées pouvant être régulièrement mises à jour pendant la durée de vie de l'appareil.

Introduction à la 2e partie : En prenant ces informations en compte, la 2e partie de cette série explique comment concevoir des produits à l'aide d'une gamme étendue de systèmes sur puce et de modules compatibles Bluetooth 4.2 et 5.

Associés à des piles éprouvées, des logiciels d'application open-source, des conceptions de référence et des outils de développement, ces composants ont considérablement permis d'éclaircir le mystère de l'ingénierie RF. Cet article explique que même si le développement des produits sans fil BLE est loin d'être simple, un ingénieur peut éviter les pièges et réaliser une conception répondant aux certifications réglementaires et à la norme Bluetooth, tout en satisfaisant les clients.

Références :

  1. "Getting Started with Bluetooth Low Energy", Kevin Townsend, Carles Cufí, Akiba et Robert Davidson, O'Reilly.
  2. "Bluetooth Low Energy: The Developer's Handbook", Robin Heydon.
  3. "Exploring Bluetooth 5 - Going the Distance", Martin Woolley, Bluetooth.com.
  4. "A look into Bluetooth v4.2 for Low Energy Products"

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 Digi-Key Electronics ni les politiques officielles de la société.

À propos de l'éditeur

Digi-Key's North American Editors