Comment concevoir des systèmes sans fil basse consommation avec Bluetooth Smart 4.0

Par Rédacteurs européens

Avec la contribution de Rédacteurs européens de DigiKey


Le marché des dispositifs portables et sans fil basse consommation explose, et les spécifications Bluetooth Low Energy 4.0 jouent un rôle clé dans le développement de tels systèmes. Cet article s'intéresse à la manière dont les modules de fabricants, tels que Laird Wireless, connectBlue et Bluegiga, qui prennent en charge les spécifications 4.0, peuvent être utilisés pour développer des équipements corporels et médicaux basse consommation avec des environnements de développement tels que celui fourni par CSR.

Avec l'intérêt croissant porté à l'informatique corporelle, la connectivité basse consommation de Bluetooth LE 4.0 permet de proposer un large éventail de dispositifs, allant des systèmes de remise en forme portables aux ballons de basket intelligents.

Des accessoires du quotidien tels que les montres, les bracelets, les gants et même les brosses à dents sont équipés avec la technologie sans fil Bluetooth, leur permettant de capturer des données et de les transférer vers une application sur un smartphone ou une tablette. Les systèmes de suivi pour le sport et la remise en forme représentent 96 % des dispositifs corporels expédiés en 2013 et ABI Research prévoit la vente de 32 millions de tels dispositifs équipés de Bluetooth Smart en 2014.

L'alimentation d'un dispositif à l'aide d'une pile de petite taille ou rechargeable est un élément clé pour le marché des équipements corporels et sportifs, et la possibilité d'exécuter une liaison embarquée pendant plusieurs années à partir d'une seule pile est à l'origine de l'adoption de Bluetooth Smart. Cela requiert certaines considérations clés dans la conception, aussi bien d'un point de vue matériel que logiciel.

L'élément clé de la technologie Bluetooth Smart repose sur sa capacité à fonctionner avec une application sur un smartphone ou une tablette existants. Cependant, même si la technologie Bluetooth LE utilise les mêmes fréquences de bande ISM 2,4 GHz que la technologie Classic Bluetooth précédente, elle utilise un protocole à déplacement de fréquence gaussien plus simple pour réduire la consommation énergétique. Elle utilise également des canaux de 2 MHz plus petits et une modulation à spectre étalé à séquence directe (DSSS).

Cette combinaison signifie que les spécifications Classic et LE ne sont pas directement compatibles. Cependant, cela ne pose aucun problème pour le développeur étant donné que l'ensemble des puces et des modules qui sont certifiés compatibles avec la technologie Bluetooth peuvent fonctionner dans les deux modes : Classic pour les dispositifs les plus anciens ou Bluetooth Smart avec la version DSSS. À l'origine, « Bluetooth Smart Ready » indiquait un dispositif à deux modes, généralement un ordinateur portable ou un smartphone, dont le matériel était compatible avec les périphériques Bluetooth LE et Classic, tandis que l'étiquette « Bluetooth Smart » signalait un dispositif équipé uniquement de la technologie LE.

Les avantages basse consommation de Bluetooth Smart proviennent de l'utilisation de quarante des canaux 2 MHz, générant ainsi un débit binaire de liaison de 1 Mbit/s et un débit d'application de 270 kbit/s. Même si ces valeurs sont inférieures à celles de Bluetooth Classic, le débit binaire pour les applications est compensé en réduisant la latence à 6 ms au lieu de 100 ms. La puissance de transmission maximale est également réduite à 10 mW, réduisant la portée à moins de 50 m, ce qui est largement suffisant pour les applications résidentielles et corporelles de courte portée. Cela facilite également la mise en œuvre d'un système BLE 4.0, dans la mesure où il est inutile de se préoccuper du bilan de liaison total.

Un fabricant de modules comme Laird Wireless peut masquer la majorité de cette partie complexe . Le module BL600 proposé par Laird Wireless associe un émetteur-récepteur de Nordic Semiconductor à une antenne et des interfaces, le tout dans une empreinte compacte de 19 mm x 12,5 mm. Les modules intègrent tout le matériel et tous les micrologiciels requis pour prendre en charge le développement d'applications BLE, notamment les interfaces UART, SPI, I²C, CAN et GPIO pour connecter des périphériques et des capteurs. La connexion au moyen de ces interfaces est relativement simple avec des liaisons à un fil, deux fils ou plusieurs fils.

Image du module Bluetooth Smart BT600 de Laird Wireless

Figure 1 : Le module Bluetooth Smart BL600 de Laird Wireless permet de facilement ajouter la connectivité à des conceptions existantes.

L'acquisition de données à partir de ces connexions est gérée par une série de profils qui incluent la tension artérielle, la fréquence cardiaque, le thermomètre médical, la proximité et la localisation. Ces profils d'attributs génériques (GATT) offrent une interface de programmation (API) client-serveur au sein du système d'exploitation, ainsi que des services et des descripteurs.

Un service correspond à un ensemble de caractéristiques connexes qui agissent ensemble pour exécuter une fonction particulière. Le service de thermomètre médical inclut des caractéristiques de valeur de mesure de température et d'intervalle de temps entre les mesures. Un descripteur fournit des informations détaillées au sujet d'une caractéristique, comme l'indication des unités utilisées (par ex. Celsius), et les valeurs maximales et minimales pouvant être mesurées par le capteur.

Les attributs des services, des caractéristiques et des descripteurs sont collectivement identifiés dans des identificateurs universels (UUID). Le groupe Bluetooth SIG a réservé une plage d'identificateurs UUID (sous la forme xxxxxxxx-0000-1000-8000-00805F9B34FB) pour des attributs standard, et ceux-ci sont représentés en tant que valeurs courtes de 16 ou 32 bits dans le protocole, plutôt que 128 bits, pour réduire la taille et la complexité du code.

Fonctionnements avec des profils GATT

Le protocole GATT fournit un certain nombre de commandes permettant au client de découvrir des informations sur le serveur. Parmi celles-ci figurent la découverte d'identificateurs UUID pour tous les services primaires, la recherche d'un service avec un identificateur UUID donné, puis les services secondaires, ainsi que la recherche de toutes les caractéristiques d'un service donné.

Des commandes sont également fournies pour transférer des données concernant les caractéristiques du serveur vers le client (la lecture) et depuis le client vers le serveur (l'écriture). Une valeur peut être lue en spécifiant l'identificateur UUID de la caractéristique ou par une valeur de descripteur, qui provient des commandes de découverte d'informations. Les opérations d'écriture identifient toujours les caractéristiques par descripteur, mais le choix de réponse obligatoire ou non du serveur est requis.

Les profils GATT fournissent également des notifications et des indications. Le client peut demander une notification pour une caractéristique particulière au serveur, qui peut ensuite envoyer la valeur au client dès que celle-ci est disponible. Par exemple, un serveur de capteur de température peut notifier son client chaque fois qu'il effectue une mesure. Cela évite au client d'interroger le serveur et réduit la nécessité d'une liaison radio régulière. Une indication est similaire à une notification, sauf qu'elle nécessite une réponse du client, comme accusé de réception du message.

Laird ajoute un langage de programmation géré par événement qui permet un fonctionnement autonome du module où des capteurs peuvent être reliés via l'une des interfaces sans avoir recours à un processeur externe. Une simple application smartBASIC encapsule le processus complet de bout en bout pour la lecture, l'écriture et le traitement des données de capteur, puis utilise BLE pour les transférer vers un dispositif Bluetooth 4.0, qu'il s'agisse d'un smartphone, d'une tablette, d'une passerelle ou d'un ordinateur.

En plus de porter les homologations FCC modulaires, IC, CE et MIC, les modules peuvent être entièrement qualifiés comme produits finaux Bluetooth. Cela permet aux concepteurs d'intégrer les modules dans leurs dispositifs existants sans qu'aucune qualification Bluetooth supplémentaire ne soit requise.

D'autres fabricants de modules tels que Bluegiga et connectBlue utilisent une puce BLE de Texas Instruments pour les modules prenant en charge la version 4.0. Le module BLE112 de Bluegiga peut être alimenté directement à l'aide d'une pile bouton standard de 3 V ou de deux piles AAA pour les modèles les plus réduits allant des porte-clés aux accessoires iPhone. En mode veille à la plus basse consommation, ce module ne consomme que 500 nA et se réactive en quelques centaines de microsecondes pour étendre la durée de vie de la pile. Le module de connectBlue intègre un capteur de température et un accéléromètre, et peut fonctionner pendant 10 ans avec une seule pile bouton.

Le module OLP425 de ConnectBlue est qualifié comme sous-système de contrôleur et prend en charge les profils, services et attributs Bluetooth Low Energy développés par le client. Le module est basé sur le système sur puce CC2540 de TI qui exécute à la fois l'application et la pile de protocoles Bluetooth Low Energy. Il inclut le code d'objet avec la dernière pile de protocoles BLE prenant en charge plusieurs connexions, des exemples de projet et des applications couvrant un ensemble étendu de profils avec code source.

Le pack de codes d'exemple OLP425 de connectBlue inclut des exemples de projet pour accéder aux DEL, au capteur de température et aux accéléromètres avec le logiciel embarqué développé à l'aide de Embedded Workbench d'IAR pour le cœur 8051 dans la puce.

Émetteur-récepteur

La conception du CC2540 est divisée en trois catégories principales : modules associés au processeur ; modules associés à l'alimentation, aux tests et à la distribution d'horloge ; et modules associés à la radio (Figure 2).

Image de l'émetteur-récepteur Bluetooth Smart 4.0 CC2540 de Texas Instruments

Figure 2 : Schéma fonctionnel de l'émetteur-récepteur Bluetooth Smart 4.0 CC2540 de TI.

Processeur et mémoire

Du point de vue des développeurs, le cœur du système sur puce est le cœur de processeur compatible 8051 monocycle. Il présente trois différents bus d'accès à la mémoire (SFR, DATA et CODE/XDATA), une interface de débogage et une unité d'interruption étendue à 18 entrées.

L'arbitre mémoire se trouve au cœur du système, puisqu'il relie le processeur et le contrôleur DMA aux mémoires physiques et à tous les périphériques via le bus SFR. Il présente quatre points d'accès à la mémoire, chacun permettant un mappage à l'une des trois mémoires physiques : une mémoire SRAM, une mémoire Flash et des registres XREG/SFR, il et est responsable de l'exécution de l'arbitrage et du séquencement entre les accès simultanés à la même mémoire physique.

Le bus SFR est élaboré de manière conceptuelle dans la Figure 2 comme un bus courant connectant tous les périphériques matériels à l'arbitre mémoire. Le bus SFR dans le schéma fonctionnel fournit également un accès aux registres radio dans la banque correspondante, même si ceux-ci sont effectivement mappés dans l'espace mémoire XDATA. La mémoire SRAM de 8 Ko est mappée avec l'espace mémoire DATA et avec des portions des espaces mémoire XDATA. Il s'agit d'une mémoire SRAM ultrabasse consommation qui stocke son contenu même lorsque la partie numérique est mise hors tension (c'est-à-dire en modes d'alimentation 2 et 3). Le bloc Flash de 128/256 Ko fournit une mémoire programme non volatile programmable et en circuit pour le dispositif, et il est mappé dans les espaces mémoire CODE et XDATA.

Périphériques

Une écriture sur le bloc Flash est effectuée par l'intermédiaire d'un contrôleur Flash qui permet un effacement par page et une programmation par 4 octets. Un contrôleur DMA polyvalent à cinq canaux est également disponible dans le système. Cette opération permet d'accéder à la mémoire à l'aide de l'espace mémoire XDATA, mais également à toutes les mémoires physiques. Chaque canal (déclencheur, priorité, mode de transfert, mode d'adressage, pointeurs de source et de destination et nombre de transferts) est configuré avec des descripteurs DMA qui peuvent se trouver n'importe où dans la mémoire. Il est possible d'utiliser plusieurs des périphériques matériels (cœur AES, contrôleur Flash, USART, temporisateurs, interface CAN, etc.) avec le contrôleur DMA pour un fonctionnement efficace en effectuant des transferts de données entre une seule adresse SFR ou XREG et une mémoire Flash/SRAM.

Chaque module CC2540 contient une adresse IEEE 48 bits unique pouvant servir d'adresse publique pour un dispositif Bluetooth. Les concepteurs sont libres d'utiliser cette adresse ou de fournir leur propre adresse comme indiqué dans les spécifications Bluetooth.

Le contrôleur d'interruption entretient un total de dix-huit sources d'interruption, divisées en six groupes d'interruption, chacun associé à une des quatre priorités d'interruption. Les demandes d'interruption du temporisateur de veille et d'E/S sont traitées même si le dispositif est en mode veille (modes d'alimentation 1 et 2) en ramenant le module CC2540 en mode actif.

L'interface de débogage implémente une interface série à deux fils propriétaire utilisée pour les débogages en circuit. Cette interface de débogage permet d'effacer ou de programmer l'intégralité de la mémoire Flash, de contrôler les oscillateurs activés, d'arrêter et de démarrer l'exécution du programme utilisateur, d'exécuter des instructions sur le cœur 8051, de définir des points d'arrêt d'exécution et d'avancer par étape dans les instructions de code. Ces techniques permettent d'effectuer un débogage en circuit et une programmation Flash externe.

Le contrôleur d'E/S est responsable de toutes les broches E/S à usage général. Le processeur permet de configurer si les modules périphériques, contrôlent certaines broches ou s'ils sont sous contrôle logiciel, et le cas échéant, si chaque broche est configurée comme entrée ou sortie, et si une résistance d'excursion basse ou haute est connectée. Deux emplacements différents de broche d'E/S sont disponibles pour chaque périphérique d'E/S connecté aux broches d'E/S afin de garantir une flexibilité dans diverses applications.

Le temporisateur de veille est un temporisateur ultrabasse consommation qui peut utiliser un oscillateur à quartz externe de 32,768 kHz ou un oscillateur RC interne de 32,753 kHz. Le temporisateur de veille s'exécute en continu dans tous les modes de fonctionnement, à l'exception du mode 3. Les applications typiques de ce temporisateur sont un compteur en temps réel ou un temporisateur de réactivation pour sortir des modes d'alimentation 1 ou 2.

Une horloge de surveillance intégrée permet la réinitialisation automatique du module CC2540 en cas de blocage du micrologiciel. Il est indispensable de vider périodiquement l'horloge de surveillance si celle-ci est activée par logiciel ; autrement, elle réinitialise le dispositif lorsque celui-ci dépasse le délai.

Le temporisateur 1 est un temporisateur 16 bits avec fonctionnalités de temporisateur/compteur/PWM. Il est doté d'un diviseur préalable programmable, d'une valeur de période 16 bits et de cinq canaux de capture/compteur, programmables individuellement, chacun ayant une valeur de comparaison de 16 bits. Chaque canal de capture/compteur peut être utilisé en tant que sortie PWM ou pour capturer la temporisation des extrémités sur les signaux d'entrée. Il est également possible de le configurer en mode de génération IR pour compter les périodes du temporisateur 3, et la sortie est mise en fonction ET avec la sortie du temporisateur 3 pour générer des signaux IR modulés avec une interaction minimale du processeur.

Le temporisateur 2 est un temporisateur 40 bits utilisé par la pile Bluetooth Low Energy. Il est doté d'un compteur 16 bits avec une période de temporisateur configurable et un compteur de dépassement 24 bits permettant de suivre le nombre de périodes apparues. Un registre de capture 40 bits est également utilisé pour enregistrer l'heure précise de réception/transmission d'un délimiteur de début de trame ou l'heure exacte de fin de transmission. Deux registres de comparaison de temporisateur 16 bits et deux registres de comparaison de dépassement 24 bits permettent de déterminer l'heure exacte de début de réception ou de transmission à la radio ou les interruptions générales.

Le temporisateur 3 et le temporisateur 4 sont des temporisateurs 8 bits avec fonctionnalités de temporisateur/compteur/PWM. Ils sont dotés d'un diviseur préalable programmable, d'une valeur de période 8 bits et d'un canal de compteur programmable avec une valeur de comparaison 8 bits. Chaque canal de compteur peut servir de sortie PWM.

Les USART 0 et USART 1 sont chacun configurables en tant que maître/esclave SPI ou UART. Ils fournissent une double mise en tampon aussi bien à la transmission qu'à la réception et un contrôle de flux matériel. Ils sont donc parfaitement adaptés pour des applications en duplex intégral haut débit. Chaque USART est associé à son propre générateur de débit en bauds haute précision, ce qui permet de libérer les temporisateurs ordinaires pour d'autres utilisations. Lorsqu'ils sont configurés en tant qu'esclaves SPI, les USART échantillonnent directement le signal d'entrée avec SCK au lieu d'utiliser des schémas de suréchantillonnage, et sont ainsi parfaitement adaptés pour les débits de données élevés.

Pour renforcer la sécurité des applications, le cœur de cryptage/décryptage AES permet à l'utilisateur de coder et de décoder des données à l'aide de l'algorithme AES avec des clés 128 bits. Le cœur AES prend également en charge ECB, CBC, CFB, OFB, CTR et CBC-MAC, et assure une prise en charge matérielle pour CCM.

Le CAN prend en charge 7 à 12 bits de résolution avec une plage correspondante de bandes passantes de 30 kHz à 4 kHz, respectivement. Des conversions audio et CC avec jusqu'à huit canaux d'entrée (broches de contrôleur E/S) sont possibles. Les entrées peuvent être, au choix, asymétriques ou différentielles. La tension de référence peut être interne, AVDD, ou un signal externe asymétrique ou différentiel. Le CAN présente également un canal d'entrée de capteur de température. Il permet d'automatiser le processus d'échantillonnage ou de conversion périodique sur une séquence de canaux.

L'amplificateur opérationnel est conçu pour fournir une mise en tampon frontale et un gain pour le CAN. Les broches présentent aussi bien des entrées qu'une sortie, ce qui permet de personnaliser entièrement le réseau de rétroaction. Un mode stabilisé par découpage est disponible pour les applications exigeant une haute précision avec un gain élevé.

Le comparateur analogique ultrabasse consommation permet une activation des applications à partir de PM2 ou PM3 selon un signal analogique. Les deux entrées sont acheminées vers les broches ; la tension de référence doit être fournie en externe. La sortie du comparateur est reliée au détecteur d'interruption du contrôleur d'E/S et peut être traitée par le microcontrôleur en tant qu'interruption normale de broche d'E/S.

Un autre fabricant de puce SoC et d'émetteur-récepteur Bluetooth, CSR, fournit également un ensemble complet d'outils pour le développement logiciel, la conception de carte et le test de production autour de la puce µEnergy. Cette puce se trouve sur un module de référence avec une interface de programmation USB et des interfaces pour ouvrir les E/S pour des capteurs et actionneurs spécifiques à des applications. L'environnement de développement logiciel CSR xIDE sous licence inclut des applications d'exemple pour les applications hôtes et les profils Bluetooth Smart populaires pour smartphones iOS et Android, afin de simplifier les projets. La carte cible est normalement alimentée depuis la connexion USB hôte, mais elle peut aussi fonctionner de manière autonome depuis une pile bouton intégrée, pour permettre des mesures de puissance.

Image du système de développement Bluetooth Smart de CSR

Figure 3 : Système de développement Bluetooth Smart de CSR.

L'intégration des modules dans les conceptions est relativement simple, même si plusieurs choix importants doivent être faits lorsque des piles sont utilisées pour alimenter ces dispositifs.

Le BLE112 de Bluegiga peut être utilisé directement avec une pile bouton. En raison de la résistance interne relativement élevée d'une pile bouton, il est recommandé de placer un condensateur de 100 μF en parallèle avec la pile. La résistance interne d'une pile bouton se situe initialement dans la plage de 10 Ω, mais elle augmente rapidement avec l'utilisation de la capacité.

Plus la valeur du condensateur est élevée, plus la capacité efficace de la pile est élevée et plus la durée de vie de l'application est étendue. La valeur minimale du condensateur dépend de l'application finale et de la puissance de transmission maximale utilisée. Le courant de fuite d'un condensateur de 100 μF est compris entre 0,5 μA et 3 μA, et les condensateurs céramique présentent généralement un courant de fuite plus faible que les condensateurs électrolytiques tantale ou aluminium.

Module Bluetooth Smart BLE112 de Bluegiga

Figure 4 : Module Bluetooth Smart BLE112 de Bluegiga. L'utilisation d'un condensateur avec la pile permet d'étendre l'autonomie de la pile.

Une autre option consiste à utiliser un convertisseur CC/CC pour réduire la consommation de courant durant la transmission/réception et les étapes de traitement de données. Il existe plusieurs convertisseurs CC/CC ultrabasse consommation qui, avec un mode de dérivation, permettent de réduire la consommation de courant durant la transmission de manière nominale d'environ 20 % en utilisant une pile bouton de 3 V. Il est recommandé d'utiliser une perle de ferrite pour filtrer les bruits excessifs dans les lignes d'alimentation afin de garantir les performances radio.

Conclusion

Toute une nouvelle génération d'équipements portables, corporels et connectés se développe pour tirer profit de la technologie Bluetooth Smart. La version 4.0 de Bluetooth Low Energy permet de facilement mettre à niveau les conceptions existantes pour établir une connexion à des smartphones et des tablettes pour un large éventail de nouvelles applications. Des modules préqualifiés et des kits de développement pour prendre en charge des puces hautement intégrées permettent aux développeurs d'ajouter cette capacité rapidement et facilement.

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

Rédacteurs européens

À propos de l'éditeur

Rédacteurs européens de DigiKey