Z-Wave avec un délai proche de zéro : deux solutions pré-certifiées pour réseaux de maison intelligente
Avec la contribution de Rédacteurs nord-américains de DigiKey
2019-06-18
En misant sur la simplicité d'utilisation et l'interopérabilité, Z-Wave® s'est fait une place parmi les leaders dans le domaine des technologies de réseau sans fil pour applications grand public et de « maison intelligente ». Cependant, pour obtenir la simplicité d'utilisation caractéristique de Z-Wave, les concepteurs doivent relever de nombreux défis. En outre, la conformité de tout dispositif utilisant Z-Wave doit être officiellement certifiée avant que ce dernier puisse être commercialisé.
Ces défis entraînent l'augmentation des coûts et du temps de développement dans une application où il est essentiel de réduire ces deux facteurs pour réussir une conception. À moins de disposer en interne d'une solide expertise en matière de micrologiciel et de matériel radiofréquence (RF), les concepteurs ont la possibilité de choisir des composants pré-certifiés et des solutions pré-existantes. La conception RF n'est pas un domaine d'apprentissage et d'expérimentation pour une conception qui respecte probablement un calendrier et un budget serrés ; les nuances de propagation RF et ses effets de couplage avec les éléments embarqués et environnementaux sont trop complexes.
Cet article décrit quelques notions de base relatives aux réseaux maillés, en particulier Z-Wave. À titre d'exemple, il présente ensuite la gamme de puces de microcontrôleurs série 700 compatibles avec Z-Wave et les outils de développement associés de Silicon Labs pour illustrer la manière de créer rapidement un réseau Z-Wave opérationnel et certifié, adapté à de nouveaux dispositifs grand public.
Qu'est-ce que Z-Wave ?
Z-Wave est l'une des nombreuses normes de réseau sans fil domestique en concurrence dans ce domaine (Figure 1). Citons, entre autres, Zigbee, Thread et Insteon. Bien qu'elles n'aient pas été conçues initialement avec une fonctionnalité de maillage, les technologies Wi-Fi et Bluetooth ont été mises à jour avec un réseau maillé, ce qui leur permet désormais d'entrer dans la course, même si cela implique des niveaux de puissance et des débits de données différents.
Chaque réseau sans fil possède ses avantages et ses inconvénients. Cependant, la technologie Z-Wave a été spécifiquement conçue pour des dispositifs grand public à faible coût et basse consommation et évolue constamment pour répondre aux nouvelles demandes.
Figure 1 : Z-Wave est une technologie de réseau maillé sans fil domestique qui est en constante évolution afin de répondre aux nouvelles exigences des applications. (Source de l'image : DigiKey, à partir d'un document de Silicon Labs)
Dans un réseau maillé, les paquets de données peuvent effectuer un « saut » d'un dispositif sur le réseau à un autre avant d'atteindre un dispositif cible. Il n'est ainsi pas nécessaire que deux dispositifs se trouvent à portée radio l'un de l'autre. Tant qu'un dispositif se trouve à une portée radio d'au moins un autre dispositif sur le réseau, ce dispositif peut transmettre les données au dispositif suivant qui se trouve à portée radio, et ainsi de suite jusqu'à ce que les données arrivent à destination. Comme il peut exister plusieurs chemins entre deux dispositifs sur le réseau, le protocole de maillage détermine le chemin le plus court et le plus efficace. Plus il y a dispositifs connectés par réseau, plus le niveau de redondance est important et le réseau robuste.
Ces sauts sur un réseau sont théoriquement simples, mais difficiles à mettre en pratique. Chaque dispositif Z-Wave, ou nœud, doit être capable de communiquer avec n'importe quel autre nœud, indépendamment de son fabricant, de ses fonctionnalités, de son âge, de sa portée ou du niveau de révision de son micrologiciel. En tant que membres d'un réseau maillé, les nœuds doivent être capables d'agir comme initiateurs, cibles ou intermédiaires entre les nœuds qui se trouvent hors de portée l'un de l'autre. Chaque nœud doit être capable d'échanger des données au niveau de l'application et des commandes avec n'importe quel autre nœud. Les clients peuvent ajouter des nœuds, ou en supprimer, à tout moment, mais le réseau doit rester robuste, tout en offrant un fonctionnement transparent et sans interruption. Pour contribuer à la simplicité d'utilisation, les nœuds doivent être en mesure de rejoindre, ou de quitter, le réseau, mais également de fonctionner sans aucune configuration compliquée pour l'utilisateur, aucun commutateur DIP, aucun identificateur SSID ni aucun mot de passe, et éventuellement sans aucun clavier, souris ou interface d'aucune sorte.
Sur le plan technique, Z-Wave est un réseau sans fil à faible vitesse et basse consommation. Son débit de données est limité à 100 kilobits par seconde (kbps), mais les vitesses courantes sont plus proches de 40 kbps. Sa portée de fonctionnement typique est de l'ordre de 30 à 40 mètres (m), en fonction des composants RF du réseau, de la disposition de la conception et du placement de l'antenne, ainsi que d'autres facteurs environnementaux, tels que les murs et les interférences ambiantes. Étant donné qu'il s'agit d'un réseau maillé, et non d'un réseau point-à-point, comme les réseaux Wi-Fi ou Bluetooth, les paquets de données Z-Wave effectuent souvent des sauts d'un nœud à l'autre, ce qui permet d'étendre la plage effective à quelques centaines de mètres de bout en bout et de fournir une vaste couverture pour les applications domestiques.
Avec un fonctionnement dans la portion sub-1 gigahertz (GHz) de la bande destinée aux applications industrielles, scientifiques et médicales (ISM) (908,42 mégahertz (MHz) en Amérique du Nord et 868,42 MHz en Europe), la technologie Z-Wave n'est pas soumise aux interférences provenant des réseaux Wi-Fi ou Bluetooth. Si le réseau Zigbee est également capable de fonctionner dans cette portion de la bande destinée aux applications ISM, il est généralement implémenté dans la bande de 2,4 GHz, qui est plus populaire et présente un niveau d'acceptation globale plus important. Cela signifie également que les dispositifs Z-Wave ne présentent généralement aucune interférence avec ces autres réseaux sans fil.
Présentation de Zen Gecko
Silicon Labs propose un large éventail de microcontrôleurs à faible coût et basse consommation dans sa gamme Gecko. L'arborescence des produits se subdivise davantage en plusieurs zones spécifiques à l'application, y compris la branche « Zen Gecko » pour le développement de Z-Wave.
La société propose deux dispositifs Z-Wave différents dans sa gamme Zen Gecko. Le premier est une puce de « modem intelligent » et le second est un module sur puce autonome complet. La puce de modem (référence EFR32ZG14P231F256GM32-BR) est conçue pour être utilisée conjointement avec de nombreux processeurs, tandis que le module (ZGM130S037HGN1R) peut être utilisé de façon autonome sans pratiquement aucun composant externe.
Ces deux dispositifs sont basés sur un cœur de microcontrôleur Arm® Cortex®-M4 de 39 MHz, mais sont mis en œuvre différemment. L'architecture Cortex d'Arm est une conception de microcontrôleur moderne basée sur RISC, qui est largement prise en charge avec des outils de développement logiciel et matériel provenant de centaines de fournisseurs.
Dans le cas de la puce de modem ZG14, le cœur Cortex-M4 interne est livré préprogrammé avec la pile de protocoles Z-Wave. Le processeur n'est pas accessible par l'utilisateur et n'est généralement pas visible par les développeurs. La puce de modem possède ainsi la capacité de traiter des protocoles Z-Wave complexes. Cependant, elle nécessite également un processeur externe pour le code d'application. Ces caractéristiques font du ZG14 un choix adéquat pour des produits relativement complexes qui disposent de l'espace et des performances nécessaires pour prendre en charge un microprocesseur ou un microcontrôleur distinct. L'ajout de la compatibilité Z-Wave à un produit existant s'en trouve également simplifié grâce à l'ajout du modem intelligent ZG14 et à la connexion de quelques signaux et composants RF.
En revanche, le module 130S est entièrement autonome et peut servir de microcontrôleur unique dans le produit. Son cœur Cortex-M4 interne est exposé au développeur, qui peut s'en servir pour le code d'application. Le module 130S est physiquement plus grand que le modem intelligent ZG14, mais il inclut également bien plus de fonctionnalités, notamment des convertisseurs analogique-numérique (CAN) et numérique-analogique (CNA), des comparateurs analogiques, une interface de détection capacitive (pour écrans tactiles), des compteurs, des temporisateurs, des horloges de surveillance, des UART, etc. Le module nécessite un peu plus que quelques connexions pour l'alimentation, la mise à la terre et l'antenne pour offrir un contrôleur Z-Wave entièrement opérationnel.
Ensemble, ces deux dispositifs constituent la série 700, les composants Z-Wave les plus récents de Silicon Labs qui sont conformes aux spécifications Z-Wave les plus récentes. Ils prennent en charge spécifiquement les fonctionnalités de sécurité mises à jour (Security-2 ou S2) et SmartStart, une option de configuration simplifiée pour l'utilisateur. Les deux dispositifs prennent en charge les trois débits de données Z-Wave (9,6, 40 et 100 kbps), ainsi que des bandes de fréquences globales. Comme tous les dispositifs Z-Wave, ils sont rétrocompatibles avec tous les dispositifs et contrôleurs Z-Wave antérieurs.
Les utilisateurs qui possèdent déjà une expérience avec les dispositifs Z-Wave basés sur le modem 8051 de Silicon Labs (la « série 500 ») voudront peut-être transférer une partie ou l'intégralité de leur code existant vers des dispositifs basés sur Arm plus récents. Pour permettre cette opération, Silicon Labs propose des bibliothèques logicielles et des « blocs fonctionnels » afin de faciliter la transition. Le code 8051 plus ancien risque tout simplement de ne pas être recompilé conformément au code Arm plus récent, mais les bibliothèques de code devraient considérablement aider dans cette opération.
À l'intérieur de la puce Z-Wave EFR32ZG14
L'EFR32ZG14 est un système sur puce (SoC) de modem intelligent dont le concept est simple (Figure 2). Il inclut une interface série à deux fils vers ou provenant d'un processeur hôte externe, un cœur de microprocesseur Arm Cortex-M4 interne pour traiter la pile de protocoles Z-Wave et une section radio qui fournit pratiquement tous les composants pour une radio physique.
Figure 2 : Schéma fonctionnel du système sur puce de modem Zen Gecko EFR32ZG14 de Silicon Labs. La puce agit comme un modem intelligent pour le réseau maillé Z-Wave. Ses seules interfaces externes sont un UART vers ou en provenance du processeur d'hôte et un émetteur radio. (Source de l'image : Silicon Labs)
Lors de son fonctionnement, le ZG14 communique avec un processeur hôte par le biais d'une simple interface UART jusqu'à 115 200 bauds. Seuls deux câbles de signal sont requis : émission et réception. Le processeur hôte envoie des commandes et des données par le biais de cette interface UART et le ZG14 répond. Un troisième signal pour réinitialiser le ZG14, RESETn, peut être piloté par n'importe quelle broche E/S appropriée vers le processeur hôte.
Il existe seulement trois lignes numériques requises en direction ou en provenance du processeur hôte, quatre signaux numériques entre le ZG14 et un simple dispositif passif intégré, un quartz et quelques composants analogiques simples (Figure 3).
S'ils le souhaitent, les concepteurs peuvent choisir de connecter un signal SUSPEND actif bas, qui place le ZG14 dans un état basse consommation et interrompt toutes les communications radio. Selon l'application prévue, le ZG14 peut, en réalité, passer la plupart de son temps dans cet état de veille afin d'économiser l'énergie.
Il existe également une connexion à trois fils en option sur la mémoire Flash interne de la puce, qui permet aux développeurs de reprogrammer le micrologiciel du ZG14 à la volée. Ce micrologiciel est fourni sous forme binaire par Silicon Labs. Comme mentionné précédemment, le micrologiciel du ZG14 n'est pas prévu pour le code utilisateur.
Figure 3 : Dans une mise en œuvre typique du Zen Gecko EFR32ZG14, la puce de modem intelligent nécessite ~20 composants externes, ainsi qu'une simple interface série à trois fils vers le processeur hôte. (Source de l'image : Silicon Labs)
L'utilisation d'un filtre à ondes de surface (SAW) illustrée dans la Figure 3 est facultative et peut dépendre de l'emplacement géographique où le produit final sera déployé : un filtre à ondes de surface (SAW) est exigé dans certaines régions du monde, mais pas dans d'autres. Les concepteurs peuvent également choisir d'inclure un bloc de filtres à ondes de surface (SAW) et de le configurer à la volée par l'intermédiaire des deux broches de sortie SAW0 et SAW1 du ZG14. Le produit final peut ainsi s'adapter à n'importe quelle région, ce qui simplifie la conception, la fabrication et le stockage.
À l'intérieur du module Z-Wave ZGM130S
Le module 130S est bien plus complexe et plus puissant que le système sur puce de modem ZG14. Silicon Labs l'appelle SiP (System in Package, système en boîtier). D'après sa nomenclature, le 130S est la combinaison de plusieurs puces dans une seule puce, ce qui en fait un microcontrôleur autonome et un contrôleur Z-Wave (Figure 4).
Figure 4 : Schéma fonctionnel du module SiP ZGM130S. Le module SiP est un microcontrôleur autonome et un contrôleur Z-Wave, avec un cœur Arm Cortex-M4 et de nombreuses E/S analogiques et numériques disponibles pour le développeur. (Source de l'image : Silicon Labs)
Le cœur de processeur Arm Cortex-M4 central du module s'exécute à 39 MHz et inclut 512 Ko de mémoire Flash et 64 Ko de mémoire SRAM. La majorité de ces mémoires sont à la disposition de l'utilisateur, étant donné que les piles de protocoles Z-Wave sont déjà intégrées au bloc d'émetteur-récepteur radio du module, dans la partie supérieure gauche du schéma fonctionnel. Ce bloc est en réalité équivalent à la puce de modem intelligent ZG14.
Le 130S dispose de son propre régulateur CC/CC interne et de son propre quartz interne, il n'a donc pas besoin de composants d'horloge externes. Le module inclut également plusieurs périphériques analogiques et numériques, notamment des CAN et des CNA, un capteur de température, deux comparateurs analogiques, trois amplificateurs opérationnels, une interface de détection capacitive, un contrôleur DMA, 32 broches E/S à usage général et plus encore. Étant donné que le nombre de broches dans le boîtier LGA64 du 130S est limité, il est possible que les broches E/S ne soient pas toutes disponibles en permanence en fonction de la configuration logicielle.
Bien que le 130S soit logé dans un boîtier à 64 sorties, ses connexions externes sont extrêmement simples. Comme le montrent les Figures 5 et 6, le dispositif nécessite uniquement de simples condensateurs de découplage pour l'alimentation/la mise à la terre et une seule connexion pour l'antenne. Les broches restantes sont disponibles pour les E/S utilisateur.
Figure 5 : Le module SiP ZGM130S nécessite uniquement une paire de condensateurs de découplage. (Source de l'image : Silicon Labs)
Figure 6 : Le module SiP ZGM130S inclut pratiquement tous les composants radio et n'a qu'une interface à un fil vers une antenne. (Source de l'image : Silicon Labs)
Commencer avec le kit de démarrage
Le moyen le plus facile de commencer le développement Z-Wave avec la gamme Zen Gecko est probablement le kit de démarrage Z-Wave 700. Le kit inclut une paire de chaque composant requis pour un réseau à deux nœuds minimum : deux cartes principales, deux cartes radio, deux cartes d'extension avec des commutateurs et des LED, deux antennes flexibles et deux câbles USB. Il est également livré avec deux clés USB à utiliser avec un PC : la première clé inclut une application d'analyseur radio Z-Wave (Zniffer) et l'autre une fonctionnalité de contrôleur Z-Wave. Le matériel et le logiciel inclus prennent en charge toutes les options Z-Wave et tous les protocoles dans toutes les régions géographiques du monde.
Un ensemble de cartes, avec la carte radio branchée en haut et la carte d'extension sur la droite, est illustré à la Figure 7. La carte principale n'inclut pas le module SiP ZGM130S ; ce composant est monté sur la carte radio. À la place, la carte principale présente clairement un écran LCD à point qui est utile pour le débogage et le développement d'interface graphique (GUI).
Figure 7 : Un kit de démarrage Z-Wave 700 SLWSTK6050A inclut deux ensembles identiques de cartes principales et de cartes d'extension pour créer un petit réseau Z-Wave. (Source de l'image : Silicon Labs)
Installation du logiciel
Simplicity Studio est l'environnement de développement intégré (IDE) tout-en-un de Silicon Labs pour les nombreux microcontrôleurs de la société, notamment Zen Gecko. Il prend en charge Windows, MacOS et Linux.
Les processus d'installation et de configuration seront plus simples si l'une des cartes principales provenant du kit de développement (peu importe laquelle) est connectée au système de développement pendant l'installation de Simplicity Studio. L'environnement de développement intégré détectera le matériel et chargera automatiquement le support logiciel nécessaire.
Si le matériel n'est pas disponible, il est possible d'effectuer cette configuration manuellement, en procédant comme suit :
Lorsque Simplicity Studio est en cours d'exécution, cliquez sur la flèche verte près du coin supérieur droit (Figure 8).
Figure 8 : Écran principal de l'environnement de développement intégré Simplicity Studio. Le lien de téléchargement est mis en évidence. (Source de l'image : DigiKey Electronics)
Simplicity Studio offre deux options : « Install by Device » (Installer par dispositif) ou « Install by Product Group » (Installer par groupe de produits) (Figure 9). L'une ou l'autre option génère au final le même résultat, mais il est plus facile de sélectionner la première option. Il est alors recommandé de cliquer sur le gros bouton vert « Install by Device » (Installer par dispositif).
Figure 9 : Simplicity Studio offre deux options pour le chargement du support logiciel spécifique au projet. (Source de l'image : DigiKey Electronics)
Si la carte de développement est installée, Simplicity Studio devrait automatiquement détecter le matériel. Si ce n'est pas le cas, il est facile de localiser manuellement le pack logiciel requis. Saisissez simplement « 6050A » (une version plus courte du nom complet du kit de développement) dans la zone de recherche, comme illustré à la Figure 10. Double-cliquez sur le pack de support logiciel suggéré dans le résultat de recherche, puis cliquez sur « Next » (Suivant).
Figure 10 : Saisie de « 6050A » dans la zone de recherche pour localiser rapidement le logiciel requis pour la carte de développement. (Source de l'image : DigiKey Electronics)
Ensuite, Simplicity Studio met en évidence tout support logiciel supplémentaire disponible pour cette configuration matérielle. Dans certains cas, certains modules logiciels sont limités aux utilisateurs qui ont accepté des contrats de licence supplémentaires et/ou ont enregistré le matériel. De ce fait, certaines options peuvent être grisées et temporairement indisponibles, comme dans la Figure 11.
Figure 11 : L'accès à certaines parties du logiciel est accordé sous réserve de la fourniture de la preuve d'achat du matériel ou de licences logicielles supplémentaires. (Source de l'image : DigiKey Electronics)
Enfin, Simplicity Studio présente un long manifeste de toutes les options du logiciel dont l'installation est prévue, y compris un ou plusieurs compilateurs C, des systèmes d'exploitation temps réel facultatifs, des outils de profilage et de nombreuses autres options (Figure 12). Certaines options peuvent être activées ou désactivées manuellement, au besoin. Cependant, il est généralement recommandé d'accepter le chargement de logiciel suggéré. Lorsque vous êtes prêt, cliquez sur « Next » (Suivant).
Figure 12 : Manifeste du logiciel final pour Simplicity Studio. Certaines options peuvent être activées ou désactivées manuellement, au besoin. Cependant, il est généralement recommandé d'accepter le chargement de logiciel suggéré. (Source de l'image : DigiKey Electronics)
En dernier lieu, Simplicity Studio affiche son contrat de licence logicielle principal qui couvre tous les composants du logiciel sur le point d'être installés. Lisez et acceptez le contrat de licence, puis cliquez sur « Next » (Suivant) une dernière fois.
L'installation du logiciel prend quelques minutes. Une fois l'installation terminée, fermez et redémarrez Simplicity Studio. Tout est prêt pour commencer la création d'applications de réseau maillé Z-Wave, y compris quelques programmes de démonstration pré-configurés simples, ainsi qu'un code d'exemple qui peut être modifié, le tout afin de permettre aux développeurs de partir du bon pied.
Conclusion
Z-Wave est conçu pour être facile à utiliser par les clients, mais cette facilité d'utilisation n'est obtenue qu'après d'importants travaux sous-jacents de développement et de certification des concepteurs. Toutefois, la création d'un dispositif de réseau maillé Z-Wave est plus simple lorsqu'un concepteur choisit d'utiliser un kit pré-configuré de matériel compatible et de logiciel pré-testé. Le système sur puce de modem Z-Wave série 700, le module SiP et le kit de développement associé fournissent le matériel et les logiciels nécessaires pour créer rapidement un réseau à deux nœuds qui garantit la compatibilité avec ce protocole complexe, mais hautement efficace.
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é.

