LA ESPECIFICACIÓN ZIGBEE
Mg. Ing. Alfredo G. Rivamar
ZigBee es realmente tres protocolos en uno[1]: ZigBee 2006, ZigBee 2007 (a menudo llamado ZigBee) y ZigBee Pro. Originalmente, también estaba ZigBee 2004, pero su stack ha sido considerado obsoleto, y no es ampliamente utilizado.
Cada configuración ZigBee se llama stack profiles. El stack profile 0x01, también llamado ZigBee 2006, ZigBee 2007 o simplemente ZigBee; es el stack profile ZigBee original. Este soporta no solamente mesh routing, también tree routing. El stack 0x01 tiende a ser utilizado en aplicaciones donde el costo es uno de los aspectos centrales. Sus características principales son:
· Asignación de direcciones predecible.
· Tree routing.
· Menor tamaño.
· Hasta 10 saltos en la red.
El stack profile 0x02, también llamado ZigBee Pro, es el último agregado a la especificación 2007. No incluye tree routing pero incluye la característica de encaminar fuentes para mediar con concentradores de datos (o gateways). El stack profile 0x02 tiende a ser utilizado donde el costo es el menor de todos y lo más importante es la mayor amplitud de la red.
Sus principales características son:
· Asignación de direcciones aleatoria (estocástica).
· Source routing.
· Multicast.
· Mayor tamaño.
· Hasta 30 saltos en la red.
Ambos stacks profiles soportan unicasting, broadcastings, grupos, endpoints, cluster, profiles ZigBee de aplicación pública y ZDO.
Realmente, la mayor diferencia entre los dos stacks profiles son la asignación de direcciones y los métodos opcionales de routing, y el número máximo de saltos.
Los nodos ZigBee pueden asociar cualquiera de los stacks profiles.
Estos tres stacks ZigBee[2] tienen muchas similitudes y algunas diferencias. Los tres stacks se comparan en la Tabla II.20.
Característica | ZigBee 2006 | ZigBee 2007 | ZigBee PRO |
Tamaño memorias RAM / ROM | + pequeño | pequeño | + grande |
Stack Profile | 0x01 | 0x01 | 0x02 |
N° máximo de saltos | 10 | 10 | 30 |
N° máximo nodos red | 31.101 | 31.101 | 65.540 |
Mesh networking | ü | ü | ü |
Broadcasting | ü | ü | ü |
Tree routing | ü | ü | ü |
Frecuency Agility[3] | --------- | ü | ü |
BW utilizado por el protocolo | menor | más | mayor |
Fragmentación | --------- | ü | ü |
Multicasting | --------- | --------- | ü |
Source routing | --------- | --------- | ü |
Enlaces simétricos | --------- | --------- | ü |
Estándar seguridad (AES 128 bits) | ü | ü | ü |
Alta seguridad (SKKE) | --------- | --------- | ü |
Desde el punto de vista de los costos, podría utilizarse ZigBee 2007 o ZigBee 2006. Ambos son los stacks con menores requerimientos de recursos (menos memoria RAM y menos memoria Flash).
Si se requiere fragmentación, por ejemplo para aplicaciones de automatización de medidores (Smart Energy), solamente ZigBee 2007 y ZigBee Pro soportan esta característica. ZigBee 2006 no es una opción en este caso.
En cuanto al proveedor, cualquiera que ofrezca stack ZigBee certificado probablemente tenga un buen producto. Si el vendedor no ofrece stack ZigBee certificado, simplemente debería considerarse que el producto es una solución propietaria.
1. Estructura de la especificación ZigBee
El stack de protocolos ZigBee se apoya sobre IEEE 802.15.4 para la comunicación entre dispositivos cercanos, es decir, el acceso al medio y el intercambio de mensajes por éste.
Por sobre esta base, define un nivel de routing (NWK) que permite que los dispositivos con funcionalidad de router puedan transportar mensajes para otro destinatario, extendiendo el alcance total de la red.
A su vez, sobre esta base, existe un esquema (APS) que permite comunicación entre diversas aplicaciones mediante un identificador de circuito virtual denominado end point[4].
Los grupos de mensajes entre aplicaciones son controlados por la ZigBee Alliance, de modo que todos los dispositivos utilizando un esquema determinado empleen los mismos grupos de mensajes y atribuyan el mismo significado a cada mensaje en particular, pudiendo interoperar con otros dispositivos similares de otros fabricantes.
La especificación ZigBee[5], que es mucho más que un stack de protocolos, se ubica por encima de la especificación IEEE 802.15.4 (define las capas PHY y MAC). Incluye las capas de red, APS (Application Support Sublayer) y ZDO (ZigBee device Objects).
Técnicamente, también existe la capa AF (Application Framework) pero se agrupa con la capa APS en el análisis que sigue.
Una breve descripción de cada capa se muestra en la Tabla II.21[6]:
Layer ZigBee | Descripción |
PHY | Define la operación física de un dispositivo ZigBee incluyendo la sensibilidad del receptor, rechazo de canales, potencia de salida, número de canales, modulación y especificación de la tasa de transmisión. Muchas aplicaciones ZigBee operan en la banda ISM de 2.4 GHz con una tasa de satos de 250 Kbps. Al considerar la especificación IEEE 802.15.4 se analizaron estos aspectos. |
MAC | Administra las transacciones de datos en RF entre dispositivos vecinos (punto a punto). La capa MAC incluye servicios tales como la recuperación de la transmisión y ACK, y las técnicas CSMA-CA. Al considerar la especificación IEEE 802.15.4 se analizaron estos aspectos. |
Network | ZigBee adiciona capacidades de routing que permite atravesar a paquetes de datos en RF por múltiples dispositivos (saltos múltiples) para encaminar datos desde la fuente hacia el destino (peer-to-peer). |
APS (AF) | Capa de aplicación que define direccionamiento de objetos varios, incluyendo profiles, clusters y endpoints. |
ZDO | Capa de aplicación que provee características de descubrimiento de dispositivos y servicios y capacidades avanzadas de administración de red. |
Breve descripción de cada capa ZigBee
NWK Layer: inmediatamente por encima de la especificación IEEE 802.15.4 se encuentra la capa de red (NWK Layer), un protocolo de nivel tres que provee capacidades de routing. Tanto el coordinador como los routers tienen capacidad de routing, es decir que pueden aprender rutas hacia sus destinos que a su vez atraviesan otros dispositivos mediante un esquema basado en mensajes como Route Request y Route Reply. Así, se independiza al nivel inmediato superior de las características de la red y de la visibilidad en RF de los dispositivos que la conforman.
El esquema de routing, permite además de descubrir nuevas rutas, recuperarse ante problemas de conectividad, es decir que si una ruta falla, el router que lo detecta puede iniciar el proceso de descubrir una ruta alternativa y ayudar a la convergencia de la red.
También existen dispositivos sin capacidad de routing (end devices) que entregan los mensajes a su padre (el coordinador de la red ZigBee o un router), quien a su vez almacena los mensajes para los end devices hasta tanto despierten y lo contacten, momento en el cual los entrega.
APS Layer (Application Support): se encuentra por encima de la NWK, es un subnivel de la capa de aplicación, y provee múltiples circuitos virtuales (endpoints) en la comunicación entre dispositivos. Cada dispositivo tiene un radio y una dirección corta, única dentro de la red, que lo identifica.
· Endpoint: circuito virtual en la comunicación entre dispositivos. Identifica a la aplicación.
· Cluster-ID: Identificador de cada tipo de mensaje en particular.
· Profile-ID: identificador del conjunto de mensajes que utiliza una aplicación. Todos los dispositivos que utilizan un profile-ID determinado conocen el significado de cada cluster-ID y relacionan la misma acción con ese código.
· Profile: el conjunto de reglas de cada aplicación. Definidos por la ZigBee Alliance. Existen profiles (perfiles) públicos y privados (específicos del fabricante). Si se requiere que los dispositivos operen entre sí, deben utilizar profiles públicos; mientras que para que coexistan con otros solamente, se requieren profiles privados.
· Cluster: los mensajes intercambiados entre dispositivos que integran una aplicación.
· ZCL (ZigBee Cluster Library): es un conjunto de mensajes útiles estandarizado para las aplicaciones definidas en perfiles públicos. Cada mensaje puede ser utilizado en diferentes aplicaciones y la ZCL tiene por función evitar la repetición de mensajes y la existencia de mensajes similares incompatibles, además de facilitar la evolución de nuevas aplicaciones que puedan utilizar los mensajes ya existentes.
· ZDO (ZigBee Device Objects): dado que la red ZigBee puede soportar más de una aplicación, y cada dispositivo también, la ZDO es una aplicación especial encargada de las tareas de configuración y de parte del funcionamiento automático. Así, un nuevo dispositivo que ingresa a la red puede autoconfigurarse e interoperar con otros.
Utiliza el endpoint 0; reservado, único y conocido por todos los dispositivos.
Está directamente vinculada al plano de gestión (Management Plane), que permite controlar parámetros de operación de red (NWK), soporte de aplicaciones (APS) y recibir indicaciones de la red y las aplicaciones.
La interacción entre APS y ZDO es fundamental ya que permite a un dispositivo operar sobre la configuración de otro mediante mensajes entre sus respectivas ZDO. Por ejemplo, la característica frequency agility se vale de esa comunicación transversal[7] en el plano de gestión entre APS y ZDO para notificar a todos los elementos de la red que deben cambiar de frecuencia de operación (canal).
Binding: proceso de descubrir y asociarse.
· ZDP (ZigBee Device Profile): el perfil de la aplicación o profile correspondiente.
[2]Si bien existe la versión 2006 del estándar IEEE 802.15.4, los tres stacks ZigBee vigentes implementan IEEE 802.15.4-2003. También los módulos XBee lo soportan.
[3] La habilidad de ZigBee para cambiar el canal físico luego que la red se ha iniciado.
[4]Circuitos virtuales de comunicación entre dispositivos. Los end points son provistos por la capa APS (Application Support), ubicada por encima de la NWK Layer.
[5]ZigBee es una arquitectura distribuida en la cual una aplicación se ve implementada de forma conjunta por cada uno de los integrantes de la red y coordinada mediante el intercambio de mensajes.
[7] Existe también otra comunicación transversal en el manejo de la seguridad.
0 comentarios:
Publicar un comentario