ZigBee-doc-travail

Un article de Wiki.

Jump to: navigation, search

Sommaire

Introduction

Le Zigbee est une nouvelle technologie sans fil basé sur le standard 802.15.4 :

  • Entièrement basé sur des standards
  • Utilisable dans les applications suivantes :
    • industrielles : automatisme, remplacement de capteurs filaires, capteurs intelligents
    • domotique : gestion d'immeuble
    • domestique : maison intelligente
  • Plus de 80 millions de modules produits fin 2006
  • Interopérable et utilisable à travers le monde entier
  • Basse vitesse de transmission des données
  • Basse consommation d'énergie
    • pile de protocole simple nécessitant peu de ressource de calcul, donc peu d'énergie
    • petite et moyenne distance
  • Bas coût (~2€ l'unité)
  • Permet de constituer des réseaux de petite ou grande taille
  • Sécurisé et fiable
  • Temps de latence des messages : de 15ms à 100ms (voir plus) en fonction des applications.

Les concurrents

  • Bluetooth (802.15.1) qui peine à se faire une place sur le marché du bas coût (cher et inapproprié pour les applications simples).
    • 2.4GHz ISM
    • Saut de fréquence (1600 fois par seconde) pour éviter les interférences
    • de 10 à 100m
    • jusqu'à 720Kbit/s
    • QoS
Bluetooth Zigbee
Capable de transférer des fichiers (audio, graphiques,...) sur des petits réseaux Capable de transférer des petits paquets sur des grands réseaux.
Les performances chutent au delà de 8 noeuds Un réseau Zigbee peut contenir plus de 65000 noeuds
Les batteries doivent être chargées régulièrement Les batteries peuvent rester jusqu'à deux ans sans être remplacées
Un nouveau noeud rejoint un réseau en 3s Un nouveau noeud rejoint un réseau en moins de 30ms (15ms pour le réveil)
L'accès au canal se fait en 2ms L'accès au canal se fait en 15ms
  • Wifi : vitesse et consommation élevées. Pas adapté pour le domaine de l'automatisme sauf pour la transmission audio/vidéo.
  • Infra-rouge : Aucun standard, point à point (TV, porte de garage). Le Zigbee peut être une solution pour centraliser les commandes au travers d'un WPAN.
  • Z-Wave (Zensys) : technologie propriétaire
  • X-10 : ancien standard basé sur la distribution électrique.

Les applications

  • Surveillance : Systèmes de surveillance, alarmes incendie, capteur de pression, etc.
  • Contrôle et automatisme : industrie, immeuble et maison
  • Géolocaliation : suivi d'inventaire en temps réel, etc.
  • Loisir : jeux interactifs
  • Périphériques informatiques

Zigbee et 802.15.4

  • Protocole de communication pour les LR WPAN (Low Rate Wireless Personal Area Network)
  • Couche physique (PHY) et MAC du Zigbee
  • Caractéristiques :
    • Topologie Etoile ou Maillée
    • Adresse de 16 ou 64 bits
    • CSMA/CA (Carrier sense multiple access by collision avoidance) : Emission après écoute et attente aléatoire. Attente ACK puis réémission après attente aléaoire si pas ACK.
    • RSSI (Received Signal Strength Indicator) et LQI (Link Quality Indicator)
    • Canaux :
      • 16 canaux de 2.4 à 2.4835GHz (Bande de fréquence utilisable dans le monde - 250Kbit/s max)
      • 10 canaux de 902 à 928MHz (Bande de fréquence utilisable au USA - 40Kbit/s)
      • 1 canal de 868 à 868,6MHz (Bande de fréquence utilisable en Europe - 20Kbit/s)

Deux types de modules :

  • FFD (Full Function Device) : 3 rôles possible : coordinateur PAN, routeur ou dispositif terminal
  • RFD (Reduce Function Device) : dispositif terminal (End Device = capteur)

Tous les modules doivent utiliser le même canal pour dialoguer.
FFDs <-> FFDs et RFDs
RFDs <-> 1 FFD

Topologies réseau

  • Réseau Etoile :
    • la communication se fait entre un module et un seul noeud central, le coordinateur PAN.

Image:topologie-etoile.png

  • Réseau Maillé (Mesh) :
    • Appelé aussi réseau point à point (peer-to-peer)
    • Il doit y avoir un coordinateur PAN
    • La communication peut se faire de module à module dans la limite de la zone couverture d'un module.

Image:topologie-maillee.png

  • Complexe :

Image:topologie.png

Un module est associé au PAN par son coordinateur.
Le coordinateur PAN choisit un identificateur de réseau unique et peut changer l'adresse 64bits d'un module par une adresse 16bits.
Cet identificateur PAN autorise deux modules à utiliser l'adresse courte pour communiquer et permet la communication entre réseaux PAN indépendants.

Architecture

  • Couches applicatives : gérées individuellement par les applications
  • Couche Réseau :
    • Responsable de la topologie (construction et maintenance)
    • Gestion de l'adressage, du routage et de la sécurité
    • Propose des services aux couches supérieures (applications)
  • Couche Liaison de données : deux sous-couches
    • Couche LLC (Logical Link Control) : standard 802.2, commune à plusieurs autres standards (802.3, 802.11)
    • Couche MAC (Medium Access Control) : imposée par l'implémentation matérielle
  • Couche MAC :
    • Fourni des services à la couche LLC IEEE 802.2 type 1 au travers de la couche SSCS (Service Specific Connvergence Sublayer)
    • Utilisable directement par une autre LLC propriétaire afin d'étendre les services 802.2 et proposer des topologies plus complexes
    • Association et déassociation au réseau PAN
    • Accès au canal
    • Transmission des trames de balisage "Beacons" (pour le coordinateur)
    • Synchronisation aux trames de balisage "Beacons"
    • gestion du mécanisme GTS (Garanteed Time Slot)
    • Assurer une liaison fiable entre deux entitées MAC avec :
      • validation des trames
      • gestion des acquittements des trames
      • retransmission des trames
  • Couche physique (PHY) :
    • activation/désactivation du transceiver radio
    • Détection d'énergie (ED, RSSI)
    • Indicateur de qualité de liaison (LQI)
    • Sélection du canal
    • CCA (Clear Channel Assessment) : détection de l'état du canal (libre ou occupé)
    • Emission/Réception des paquets

Le protocole propose 14 primitives au niveau PHY et 35 primitives au niveau MAC (de type Requête, Indication, Réponse, Confirmation).

  Couche Utilisatrice |  couche fournissant  | Couche utilisatrice  
           Requête  ->|     des services     |-> Indication
                      |     (MAC ou PHY)     |
       Confirmation <-|                      |<- Réponse



Un module de type RFD ne propose que 38 primitives en tout.

Structure des trames

Le 802.15.4 définit 4 types de trame de base : Données, ACK, commande MAC et beacon.

Image:Trame-zigbee.png

  • La structure de la trame MAC est flexible pour s'adapter aux différentes applications
  • MPDU = MHR + MSDU + MFR (MAC Protocol Data Unit = MAC HeadeR + MAC Service Data Unit + MAC FooteR)
  • MHR (MAC HeadeR) :
    • Le champ Frame Control indique type de trame MAC et spécifie le format du champ adresse
    • Le champ Sequence Number assure l'ordre à la réception et permet l'acquittement des trames MAC
    • Le champ adresse est variable de 0 à 20 octets en fonction du type trame :
      • data : adresse source et adresse destination
      • aquittement : pas d'adresse
      • etc.
  • MSDU (MAC Service Data Unit) :
    • La trame de données permet une charge utile jusqu'à 104 octets.
  • MFR (MAC FooteR) :
    • Le FCS (Frame Check Sequence) assure que la trame est transmise sans erreur.
    • CRC sur 16 bits
  • Les types de trame MAC :
    • La trame de données
    • La trame ACK permet de garantir à l'expéditeur que sa trame a été reçue sans erreur. La trame ACK est émise juste après la réception pendant le "Quiet Time" d'entre deux trames.
    • La trame de commande MAC permet le contrôle et la configuration à distance des noeuds par le coordinateur PAN.
    • Les trames de balisage (Beacon) réveillent les modules clients qui attendent leur adresse et se rendorment s'ils ne la reçoivent pas. Les trames beacon sont importantes dans les réseaux maillés et les clusters d'étoile pour que les noeuds soient synchronisés avec une consommation d'énergie minimum.

Accès au canal et adressage

Deux méthodes d'accès au canal :

  • Réseau sans trames "Beacon" : CSMA-CA (carrier-sense medium-access with collision avoidance) avec acquittement des paquets reçus correctement.
  • Réseau avec trames "Beacon" : utilisation d'une structure de "super-trame" pour contrôler l'accès au canal.

La structure de super-trame est mise en place par le coordinateur en transmettant des trames Beacon à des intervalles réguliers (multiples de 15.38ms, jusqu'à 252s).
La structure de super-trame autorise 16 crénaux de temps (time slot) de largeur égale entre deux Beacon pour la compétition d'accès au canal.

Les adresses des modules sont sur 64 bits ou 16 bits (option). Les informations d'adresses de la couche MAC peuvent contenir les adresses source et destination.

Module ZigBee ETRX1

Caractéristiques générales

  • UART
  • IEEE 802.15.4
  • FDD, RFD ou coordinateur
  • 128k Flash, 4ko eeprom et 4ko ram
  • 8 I/O
  • 2 A/I
  • Alim 2.7V-3.6V

Caractéristiques radio

  • Chipset radio Ember EM2420, 2.G GHz ISM Band
  • Direct Sequence Spread Spectrum RF transceiver (DSSS)
  • 250kbit/s effectif
  • Faible consommation
  • 16 canaux 802.15.4 (N°11 à 26)
  • puissance de sortie : jusqu'à 3dBm

Description du firmware

  • Identifiant 802.15.4 : 64 bits en eeprom
  • Ember bootloader : boot over-the-air ou serial

Interface de contrôle : commandes AT

Introduction

Les commandes sont semblables au standard de communication avec modem (Hayes).
Les commandes doivent être envoyées dans une seule casse (majuscule ou minuscule).
Syntaxe générale des commandes

  • Lecture : AT+XXX?<CR>
  • Ecriture : AT+XXX=<...><CR>
  • Exécution : AT+XXX<CR>

La réponse à une commande ala syntaxe générale suivante : <LF><CR><réponse><LF><CR>
Il est recommandé d'attendre la réponse à la commande avant d'envoyer la commande suivante.

Etant donné que le buffer de réception coté module est de 128 octets, le protocole XON/XOFF doit être utilisé.

RAZ

Commande AT Description Exemple
ATZ Reset soft : les valeurs des registres restent inchangées
ATZ.
OK
AT&F Reset soft et remise des valeurs de registres aux réglages usine
AT+REMZ:<EUI64> Reset soft sur un module distant

Gestion de l'alimentation

Commande AT Description Exemple
AT+PDWN? Affiche l'état de l'alimentation du module
  • 0 : module réveillé
  • 1 : ...
AT+PDWN?
+PDWN:0
OK
AT+PDWN=<n> Fixe l'état de l'alimentation du module

Gestion du tranceiver radio

Commande AT Description Exemple
AT+ESCAN? Scanne l'énergie du canal courant. Retourne le RSSI (Received Signal Strength Indicator) fournit par le transceiver RF EM2420

Sans module à proximité :

AT+ESCAN?
+ESCAN:34 (pas de module distant)
OK

Avec un module à proximité :

AT+ESCAN?
+ESCAN:EC
OK

Avec un module à 30m :

AT+PDWN=<n> Fixe l'état de l'alimentation du module

Identification

Commande AT Description Exemple
ATI Affiche l'identifiant du module
ATI
TELEGESIS
R103
000D6F00000310B0
AT+IDENT:<EUI64> Active le buzzer du module distant pour faciliter l'identification
AT+IDENT:000D6F000003133D
OK


Gestion du réseau PAN

Gestion des registres

Les registres

Liens externes

Wikipedia Zigbee : http://fr.wikipedia.org/wiki/Zigbee
Wikipedia 802.15.4 : http://fr.wikipedia.org/wiki/802.15.4
Article Zigbee : http://www.embedded.com/showArticle.jhtml?articleID=18902431
Tutoriel : http://www.ifn.et.tu-dresden.de/~marandin/ZigBee/ZigBeeTutorial.html

Glossaire

  • Coordinator : racine du réseau, peut relayer vers d'autre réseau
  • CSMA/CA (Carrier sense multiple access by collision avoidance) : Emission après écoute et attente aléatoire. Attente ACK puis réémission après attente aléaoire si pas ACK.
  • FDD (Full Function Device) : station zigbee terminale
  • IEEE 802.15.4 : norme pour les wireless personal area networks (WPANs)
  • ISM Band : industrial, scientific and medical (ISM) radio bands