Tutorial miwi meneses2013

23
Protocolo de Comunicaciones Inalámbricas: El protocolo de red que se utilizará es el denominado MiWi que es propietario del fabricante estadounidense Microchip y que está basado en el estándar de IEEE 802.15.4 para redes inalámbricas de área personal. Para ajustar los parámetros de funcionamiento de la red o realizar modificaciones, el usuario deberá consultar los siguientes documentos de referencia de Microchip: Microchip Technology inc., “Microchip MiWi Wireless Protocol,” 2010. Microchip Technology inc., “Microchip MiWi P2P Wireless Protocol,” 2010. Microchip Technology inc., “Microchip Wireless (MiWi) Application Programming Interface - MiApp,” 2009. Microchip Technology, “Microchip Wireless (MiWi TM ) Media Access Controller MiMAC,” 2009. MiWi® propone una implementación, liviana y royaltie-free, de la recomendación IEEE 802.15.4-A que se apoya en una herramienta para manejar los transceptores a nivel del controlador de acceso al medio llamada MiMAC y una interfaz de cara al manejo de los protocolos propietarios (MiWi, MiWi P2P y MiWi PRO) llamada MiApp. MiApp está diseñada para permitir la flexibilidad de utilizar cualquier protocolo inalámbrico propietario de Microchip con poca o ninguna modificación en la capa de aplicación. MiMAC está diseñada para permitir la flexibilidad de utilizar cualquier transceptor RF de Microchip con la misma capa de protocolo propietario de Microchip. El protocolo MiWi (MiWi Wireless Networking Protocol Stack) es un protocolo simple, diseñado para redes de bajas tasas de transmisión de datos, distancias cortas y bajo costo. MiWi está orientado a redes relativamente pequeñas, con pocos saltos. Una red que utilice el protocolo MiWi puede tener un máximo de 1024 nodos. Cada coordinador puede tener máximo 127 nodos a su cargo o hijos, con un máximo de 8 coordinadores en una red. Los paquetes pueden viajar un máximo de 4 saltos en la red y 2 saltos máximo desde el coordinador de la PAN. MiWi P2P El protocolo MiWi P2P modifica la capa de control de acceso al medio (MAC) de la especificación IEEE 802.15.4 agregándole comandos que simplifican el proceso de handshaking o establecimiento de la comunicación. Características del protocolo Funciona en las plataformas PIC18, PIC24, dsPIC33 y PIC32 de Microchip Soporta los compiladores C18, C30 y C32 de Microchip Funciona como una máquina de estados (no es dependiente de un RTOS) Soporta un dispositivo en reposo en el extremo de la comunicación Habilita la exploración de detección de energía (ED) para trabajar en el canal menos ruidoso Entrega exploración activa para la detección de las conexiones existentes Habilita agilidad de frecuencia (channel hopping) Topologías de Red: El protocolo soporta las topologías P2P y estrella. No posee mecanismo de enrutamiento, de modo que el cubrimiento de la comunicación inalámbrica se define mediante el rango del radio. No es multihop o multisalto. Topología Estrella Desde la perspectiva del rol de un dispositivo, la topología tiene un Coordinador de Red de Área Personal (PAN) que inicia la comunicación y acepta conexiones de otros dispositivos. Se tienen varios dispositivos terminales (end devices) que se unen a la comunicación. Los dispositivos terminales pueden establecer conexiones solo

description

Protocolo desarrollado por Microchip y basado en el estándar de comunicación para redes inalámbricas de área personal IEEE 802.15.4

Transcript of Tutorial miwi meneses2013

Page 1: Tutorial miwi meneses2013

Protocolo de Comunicaciones Inalámbricas: El protocolo de red que se utilizará es el denominado MiWi que es propietario del fabricante estadounidense Microchip y que está basado en el estándar de IEEE 802.15.4 para redes inalámbricas de área personal. Para ajustar los parámetros de funcionamiento de la red o realizar modificaciones, el usuario deberá consultar los siguientes documentos de referencia de Microchip:

Microchip Technology inc., “Microchip MiWi Wireless Protocol,” 2010.

Microchip Technology inc., “Microchip MiWi P2P Wireless Protocol,” 2010.

Microchip Technology inc., “Microchip Wireless (MiWi) Application Programming Interface - MiApp,” 2009.

Microchip Technology, “Microchip Wireless (MiWiTM

) Media Access Controller – MiMAC,” 2009. MiWi® propone una implementación, liviana y royaltie-free, de la recomendación IEEE 802.15.4-A que se apoya en una herramienta para manejar los transceptores a nivel del controlador de acceso al medio llamada MiMAC y una interfaz de cara al manejo de los protocolos propietarios (MiWi, MiWi P2P y MiWi PRO) llamada MiApp.

MiApp está diseñada para permitir la flexibilidad de utilizar cualquier protocolo inalámbrico propietario de Microchip con poca o ninguna modificación en la capa de aplicación.

MiMAC está diseñada para permitir la flexibilidad de utilizar cualquier transceptor RF de Microchip con la misma capa de protocolo propietario de Microchip.

El protocolo MiWi (MiWi Wireless Networking Protocol Stack) es un protocolo simple, diseñado para redes de

bajas tasas de transmisión de datos, distancias cortas y bajo costo. MiWi está orientado a redes relativamente

pequeñas, con pocos saltos. Una red que utilice el protocolo MiWi puede tener un máximo de 1024 nodos. Cada

coordinador puede tener máximo 127 nodos a su cargo o “hijos”, con un máximo de 8 coordinadores en una red.

Los paquetes pueden viajar un máximo de 4 saltos en la red y 2 saltos máximo desde el coordinador de la PAN.

MiWi P2P

El protocolo MiWi P2P modifica la capa de control de acceso al medio (MAC) de la especificación IEEE 802.15.4

agregándole comandos que simplifican el proceso de handshaking o establecimiento de la comunicación.

Características del protocolo

Funciona en las plataformas PIC18, PIC24, dsPIC33 y PIC32 de Microchip

Soporta los compiladores C18, C30 y C32 de Microchip

Funciona como una máquina de estados (no es dependiente de un RTOS)

Soporta un dispositivo en reposo en el extremo de la comunicación

Habilita la exploración de detección de energía (ED) para trabajar en el canal menos ruidoso

Entrega exploración activa para la detección de las conexiones existentes Habilita agilidad de frecuencia (channel hopping)

Topologías de Red: El protocolo soporta las topologías P2P y estrella. No posee mecanismo de enrutamiento, de modo que el cubrimiento de la comunicación inalámbrica se define mediante el rango del radio. No es multihop o multisalto.

Topología Estrella

Desde la perspectiva del rol de un dispositivo, la topología tiene un Coordinador de Red de Área Personal (PAN)

que inicia la comunicación y acepta conexiones de otros dispositivos. Se tienen varios dispositivos terminales

(end devices) que se unen a la comunicación. Los dispositivos terminales pueden establecer conexiones solo

Page 2: Tutorial miwi meneses2013

con el coordinador de la PAN, no entre ellos. En cuanto al tipo de funcionalidad, el coordinador de la PAN es un

FFD. Un dispositivo terminal puede ser un FFD con su radio encendido todo el tiempo o un RFD con su radio

apagado cuando esté inactivo (idle). Sin importar su tipo funcional, los dispositivos terminales solo se pueden

comunicar con el coordinador de la PAN. (El coordinador si puede comunicarse con todos).

Fig. Topología Estrella bajo el protocolo MiWi P2P

Topología P2P (Peer-to-Peer)

Desde la perspectiva del rol del dispositivo, esta topología también tiene un coordinador de PAN que inicia la

comunicación desde los dispositivos terminales. Sin embargo, cuando se unen a la red, los dispositivos

terminales no tienen que establecer su conexión con el coordinador de la PAN. En cuanto al tipo funcional, el

coordinador de la PAN es un FFD y los dispositivos terminales pueden ser FFDs o RFDs. No obstante, en esta

topología los dispositivos terminales pueden solo conectarse a un FFD y no a otro RFD, es decir, los end-devices

si pueden conectarse entre ellos pero solo con un FFD que no tiene que ser el PAN coordinator como en la

topología estrella. El protocolo MiWi P2P solo soporta redes sin beacon.

Page 3: Tutorial miwi meneses2013

Fig. Topología Peer-to-Peer bajo el protocolo MiWi P2P

Direccionamiento de la red: Las direcciones de red se asignaran teniendo como fija para el coordinador de la red (PAN Coordinator) la dirección 11-22-33-44-55-66-77-01. Para los nodos sensores se asignará en en el orden de programación e incorporación como elementos de monitorización, es decir a partir del elemento 11-22-33-44-55-66-77-02 y así sucesivamente. La dirección de identificación de la red (PAN ID) será por defecto 1234.

El protocolo MiWi P2P solo soporta comunicación de un-salto, de allí que solo se transmitan mensajes con la

dirección EUI o larga. El direccionamiento corto se utiliza solo cuando el stack transmite un mensaje de difusión

amplia (broadcast). Para los transceptores de Microchip, la longitud de la dirección única puede estar entre 2 y 8

bytes, dependiendo de las necesidades de la aplicación.

El formato del protocolo MiWi P2P es un subconjunto del formato de mensaje de la especificación IEEE

802.15.4. La figura ilustra el formato de paquete del stack y sus campos.

Fig. Campos de direccionamiento en el formato de los paquetes del protocolo MiWi P2P

En el protocolo MiWi P2P, el modo de dirección de destino se pone usualmente en el Long Address mode. El

Short Address mode se utiliza solo para mensajes tipo broadcast. Para mensajes tipo broadcast, el campo de

dirección de destino en los campos de direccionamiento se fijará en 0xFFFF.

Roles y funciones de los dispositivos de red:

Tipos de Dispositivo

El protocolo MiWi P2P categoriza los dispositivos con base en sus definiciones IEEE y su rol en la realización de

las comunicaciones como se indica en las tablas a continuación.

Tabla. Tipos de Dispositivos IEEE 802.15.4 Basados en la Funcionalidad

Tipo Funcional Fuente de Alimentación

Configuración del Receptor Inactivo

Método de Recepción de los Datos

Dispositivo de Funciones Completas

(FFD)

Alimentación Convencional (Mains)

ON Directo

Dispositivo de Funciones Reducidas

(RFD)

Batería OFF Sondeo desde el dispositivo asociado

Tabla XXVII. Tipos de Dispositivos IEEE802.15.4 Basados en el Rol

Tipo de Rol Tipo Funcional Descripción del Rol

Coordinador de la Red de Area Personal (PAN)

FFD El dispositivo inicia en primer lugar y espera por una conexión

Page 4: Tutorial miwi meneses2013

Dispositivo Terminal FFD ó RFD El dispositivo inicia luego de que el coordinador PAN ha iniciado para

establecer una conexión Aspecto Funcional de las comunicaciones

Transmisión y Recepción

En redes MiWi hay dos tipos de mensajes: Broadcast y Unicast.

Los paquetes tipo Broadcast tienen todos los dispositivos en el rango del radio y su destino IEEE 802.15.4 define

una dirección corta específica como la dirección broadcast, pero no tiene definición para la dirección larga. Como

resultado, para el receptor que cumple con IEEE 802.15.4, broadcasting es la única situación en la que el stack

MiWi P2P utiliza una dirección corta. No hay Acknowledgement para los mensajes de broadcasting.

Las mensajes o paquetes Unicast solo tienen un destino y utilizan al dirección larga como dirección de destino. El

protocolo MiWi P2P requiere Acknowledgemente para todos los mensajes unicast.

Variaciones para el Handshaking

La mayor diferencia del protocolo MiWi P2P con la especificación IEEE 802.15.4 reside en el proceso de

Handshaking. El protocolo MiWi P2P está diseñado para la simplicidad y para conexiones directas en topologías

de comunicación P2P y estrella. Algunos requerimientos de IEEE 802.15.4 que van en contravía de ese

propósito son:

El proceso de handshaking de cinco pasos, más dos time-outs, requiere un stack más complejo.

El proceso de asociación utiliza comunicación de una-conexión en lugar del concepto de multi-conexión de la topología peer-to-peer.

Por las razones precedentes, el protocolo MiWi P2P utiliza su propio proceso de handshaking de dos pasos

como se muestra en la figura 6:

1. El dispositivo que inició envía un comando de petición de conexión P2P. 2. Cualquier dispositivo dentro del rango del radio responde con un comando de respuesta de conexión

P2P que finaliza la conexión.

Este es uno de muchos procesos que pueden establecer múltiples conexiones, cuando sea posible, para

establecer una topología P2P. Puesto que este proceso de handshaking utiliza un comando de capa MAC, se

aplica CSMA-CA para cada transmisión. Esto reduce la probabilidad de una colisión de paquetes.

Los dispositivos de funciones reducidas (RFDs) pueden recibir el comando de petición de conexión desde varios

dispositivos de funciones completas (FFDs), pero se pueden conectar a solo un FFD. Un RFD escoge como su

par (peer) al FFD desde el que recibe la primera respuesta de conexión P2P.

Page 5: Tutorial miwi meneses2013

Fig. Proceso de Handshaking para el protocolo inalámbrico MiWi P2P

Características particulares del protocolo MiWi P2P

Este protocolo soporta una conexión directa, punto a punto y de funcionalidad reducida y una buena variedad de

características. Todas las características pueden ser habilitadas o deshabilitadas y compiladas en el stack, según

las necesidades de la aplicación.

Entre las características tenemos:

Pequeño tamaño de programación (memoria)

Soporta que los dispositivos inactivos apaguen su radio

Mensaje indirecto

Características especiales de seguridad

Escaneo activo para encontrar las redes de área personal existentes sobre diferentes canales.

Escaneo de energía para encontrar el canal con el menor ruido

Agilidad de frecuencia (channel hopping)

En la tabla se relacionan los elementos requeridos a nivel de Hardware, Software y Firmware para integrar un

nodo bajo MiWi. Inicialmente todo se plantea de la manera como se ha realizado hasta ahora, sin que esto

signifique, como se ha dicho antes, que no puedan integrarse microcontroladores o transceptores o software

diferente al de Microchip.

Tabla. Recursos necesarios para desarrollar aplicaciones con nodos sensores bajo MiWi

Elementos de Hardware Elementos de Software Elementos de Firmware

Microcontrolador (8, 16 ó 32 bits)

Transceptor Compatible con el estándar IEEE 802.15.4

Sensor(es)

Baterías y porta baterías

Programador-Debugger (ICD-PicKit)

MPLAB IDE (Ambiente Integrado de Desarrollo)

Complemento Microchip Solutions

Compilador para microcontroladores (C18, C30 ó XC )

Proyecto de MPLAB

Archivos de base (tipo h y tipo c) para la configuración de los transceptores elegidos (Según implementación: MiWi, MiWi P2P ó MiWi Pro).

Archivo principal con las

tareas del nodo.

Page 6: Tutorial miwi meneses2013

Programación de nodos con MiWi

Microchip pone a disposición de los usuarios de sus productos, a través de los complementos llamados

Microchip Solutions, una serie de archivos de base que soportan varias de las funcionalidades especiales que se

pueden integrar en soluciones embebidas tales como:

Funcionalidades gráficas especiales

Aplicaciones con el protocolo propietario MiWi

Soporte para el stack y las aplicaciones TCP-IP

Soporte para funcionalidades USB

Aplicaciones para registro en medio extraíble tipo SD

Fig. Librerías de referencia para la implementación de los nodos sensores.

Para el desarrollo e implementación de los nodos sensores se ha elegido como referencia la suite de librerías

llamada Application Libraries que ofrece Microchip de manera gratuita y que ofrece una serie de recursos para el

desarrollo de aplicaciones avanzadas que aprovechan diferentes recursos de los microcontroladores de 8, 16 y

32 bits. En este sentido se han encontrado diferencias significativas entre el soporte y los recursos que ofrece

este proveedor con lo ofrecido por otras compañías que suministran productos similares.

Interfaz de Programación de Aplicaciones (API) de MiWi: MiApp

La especificación MiApp define las interfaces de programación entre la capa de aplicación y los protocolos de

comunicación inalámbricos propietarios de Microchip. La interface MiApp se implementa en dos formas: como

parámetros de definidos en el archivo de configuración y como un conjunto de llamadas de funciones a los

protocolos inalámbricos propietarios de Microchip. Al cumplir con la especificación MiApp, las aplicaciones

pueden utilizar cualquier protocolo propietario de Microchip. Con poca o ninguna modificación en la capa de

aplicación, el desarrollo de software puede ser cambiado fácilmente entre un protocolo de conexión con topología

P2P/estrella a un protocolo de malla completo para redes pequeñas o grandes, dependiendo de las necesidades

de la aplicación.

Page 7: Tutorial miwi meneses2013

Fig. Diagrama de integración del stack inalámbrico MiWi de Microchip

Programación de Aplicaciones MiWi en MPLAB

Como hemos mencionado, el desarrollo de la programación de los nodos se realizará utilizando el ambiente

integrado de desarrollo de Microchip para aplicaciones con microcontroladores: MPLAB. Al revisar un proyecto

relativo al protocolo MiWi nos encontramos con un escenario similar al mostrado en la figura.

Fig. Aspecto general de un proyecto de MPLAB para comunicaciones inalámbricas bajo el protocolo MiWi

Archivos para incluir o de cabecera (Header Files)

Page 8: Tutorial miwi meneses2013

En el entorno de programación existen una serie de archivos que contienen la declaración de funciones

especializadas que realizan todo tipo de operaciones matemáticas, lógicas, de búsqueda, sobre todo tipo de

datos, simples y compuestos. Estos archivos utilizan la extensión .h y se pueden incluir al principio del programa

para poder emplear las funciones que declaran.

Estos archivos de cabecera y las funciones que definen se encuentran disponibles en diferentes entornos de

programación de un mismo lenguaje de programación y es una de las características que hacen portables a los

programas en C.

Archivos Fuente (source files)

En estas carpetas encontramos toda la serie de archivos de extensión .c que abarcan todas las funciones o

firmware propias del microcontrolador y sus módulos, además todo el código que garantiza el funcionamiento del

protocolo de comunicación.

Dependiendo de los microcontroladores utilizados para los elementos de red (Nodos sensores y Coordinador de

la Red de Área Personal), debe elegirse un compilador, la plataforma se apoya en compiladores que poseen la

opción de adquirirse sin costo en algunas de sus variantes, tal es el caso de los compiladores C18, C30 y XC,

todos ellos para compilación de proyectos en lenguaje C. Compiladores de Microchip para el trabajo con

microcontroladores de 8,16 y 32 bits.

A continuación se presenta la descripción de los diferentes bloques de archivos agrupados en las subcarpetas de

un proyecto para comunicación MiWi bajo el entorno de MPLAB. Los archivos tipo header como aquellos tipo

source, aparecen agrupados en cuatro bloques o conjuntos llamados: Application, Common, Protocols y

Transceivers

Tabla. Conjunto de archivos de referencia para la implementación de nodos en la plataforma

Conjunto de archivos

Descripción

Application Definen la funcionalidad básica de los nodos inalámbricos. Es común que estas configuraciones puedan diferir para los diferentes nodos pertenecientes a una misma aplicación, dependiendo del rol del nodo inalámbrico dentro de la red. Las configuraciones en la capa de aplicación incluyen las siguientes categorías:

Elección del protocolo inalámbrico y del transceptor RF

Configuración de interfaces de conexión hacia los transceptores y demás recursos de hardware

Definiciones de los recursos del sistema y configuración de registros

Habilitar/Deshabilitar funcionalidades según las necesidades de la aplicación

Programación específica de la aplicación (código fuente del nodo sensor)

Configuración de la dirección del nodo y de la red, de aspectos de conectividad y funcionalidades especiales del protocolo para gestión de energía, seguridad, asociación de dispositivos, naturaleza y enrutamiento de los mensajes.

Common Configuración de comunicaciones de los módulos UART y SPI

Configuración de rutinas de retardos (delays)

Definiciones especificas del compilador y del hardware del microcontrolador

Funciones de manejo de consola a través de UART Protocols La configuración de los protocolos inalámbricos puede utilizarse para ajustar el

comportamiento de estos. Las posibles configuraciones difieren entre los diferentes protocolos. Configuración de los detalles de operación de los diferentes protocolos (MiWi, MiWi P2P)

Page 9: Tutorial miwi meneses2013

Transceivers Especifican como trabajará el transceptor RF en la capa MiMAC. Las configuraciones en esta capa puede definir la banda de frecuencia, la tasa de datos y otros parámetros RF relacionados. Estas configuraciones varían para los diferentes transceptores. Configuración de elementos de seguridad y código de redundancia cíclica

Al interior del proyecto MPLAB para comunicación utilizando el protocolo MiWi nos encontramos con un número

de archivos asociados que pueden ser de hasta unos treinta y cinco para el caso de los Demos, no obstante para

el caso de aplicaciones definitivas, de este conjunto se pueden prescindir de unos diez archivos puesto que

corresponden a versiones iguales del mismo archivo (header ó source), replicados para los diferentes tipos de

transceptores y de variantes de los protocolos, además también hay archivos relativos a la consola, recursos

UART y manejo de LCD, que no son necesarios en todos los casos . La totalidad de los archivos tienen que ver

con tareas como la configuración del stack MiWi, de los transceptores, del rol del nodo dentro de la red y su

configuración a nivel de direcciones, de seguridad y de específicamente del elemento de red en cuanto a sus

funciones como Coordinador o como nodo sensor.

De manera simplificada, ilustraremos la integración de un nodo nuevo nodo a la red de monitorización. En

general podemos decir, que esta integración es un proceso de cuatro pasos que describiremos a continuación.

Fig. Flujograma simplificado de integración de un nuevo nodo a la red MiWi

Paso 1: Creación del proyecto de MPLAB con los archivos MiWi de Referencia

En el entorno de programación MPLAB se trabaja con base a proyectos, constituidos por el conjunto de archivos

que se compilan para generar el archivo .hex que se transferirá al microcontrolador para ejecutar la aplicación

programada.

Se muestra en la tabla el detalle de los nombres, el tipo (source o header file) y el bloque en el cual aparecen

dentro del proyecto, de la totalidad de los archivos que constituyen el proyecto de referencia para implementar

los nodos requeridos dentro de una aplicación de monitorización ambulatoria.

Page 10: Tutorial miwi meneses2013

Tabla. Conjunto de archivos de referencia para la implementación de nodos en la plataforma

Archivos Fuente (Source Files) Archivos Encabezado (Header files) Application

Nodo.c ó Coordinador.c HardwareProfile.c

ConfigApp.h HardwareProfile.h SystemProfile.h

Common

Console.c MSPI.c

TimeDelay.c

Compiler.h Console.h

GenericTypeDefs.h MSPI.h

TimeDelay.h

Protocols

LCDBlocking.c MiWi.c NVM.c P2P.c

SymbolTime.c

ConfigMiWi.h ConfigP2P.h

LCDBlocking.h MCHP_API.h

MiWi.h NVM.h P2P.h

SymbolTime.h

Transceivers

Crc.c MRF24J40.c

Security.c

ConfigMRF24J40.h Crc.h

MCHP_MAC.h MRF24J40.h

Security.h Transceivers.h

A través del menú “Configure” de MPLAB y dentro de este en la opción “Select Device” se selecciona la

referencia del microcontrolador de 8, 16 o 32 bits que ejecutará la aplicación programada. La configuración del

compilador debe hacerse en concordancia con el número de bits del microcontrolador seleccionado a través de

la opción “Select Language Toolsuite” que pertenece al menú Project del entorno MPLAB.

Paso 2: Intervención sobre los archivos “HardwareProfile”

Son cuatro los archivos que normalmente se deben intervenir para la incorporación de un nuevo nodo a la red de

monitorización, en este apartado nos ocupamos de la descripción de las intervenciones que deben realizarse

sobre dos de ellos: HardwareProfile.c y HardwareProfile.h

El archivo HardwareProfile provee las configuraciones y las funcionalidades básicas de hardware para los

microcontroladores de referencia (pertenecientes a las familias PIC18, PIC24, PIC32, dsPIC30 y dsPIC33). Este

archivo debe intervenirse para ajustar configuraciones de pines adicionales a los de las funcionalidades de

comunicaciones, lo que se conoce como la palabra de configuración de la palabra de los registros específicos, el

tipo de oscilador, prescaler, watchdog timer, reset por bajo voltaje, carácter análogo-digital y entrada-salida de

los pines, entre otros aspectos.

En estos dos archivos también se acceden a los detalles de la configuración de las conexiones microcontrolador-

transceptor e, igualmente, se pueden configurar las conexiones a todos los periféricos o elementos de entrada-

salida que estarán en la tarjeta electrónica del nodo sensor. Es así como encontraremos secciones de código

referidas a los leds, pulsadores, módulos LCD, la interfaz SPI y además se tendrá acceso a configurar recursos

como las interrupciones.

Page 11: Tutorial miwi meneses2013

Fig. Intervención sobre archivos del proyecto de referencia MiWi

Intervención sobre el archivo ConfigApp

Debe existir coherencia en las direcciones como los roles de red y las funcionalidades a nivel de seguridad,

escaneo de red, administración de energía u otras habilitadas. Por estas razones se debe intervenir el archivo

ConfigApp.h para definir si el nodo va a tener el rol de Coordinador o Dispositivo Terminal (End Device) si el

protocolo va a ser P2P o MiWi, confirmar el transceptor (MRF24J40, MRF49XA o MRF89XA), definir la dirección

de ocho bytes permanente del nodo, el tamaño del buffer de transmisión y recepción, el identificador de la red de

área personal (PAN ID), el número máximo de conexiones simultaneas que permite el dispositivo, los aspectos

de seguridad, de modo sleep, el manejo de como el dispositivo despierta, el salto entre canales ante condiciones

de ruido, entre otros.

Page 12: Tutorial miwi meneses2013

Fig. Ajustes sobre archivo de configuración (ConfigApp.h)

Es importante anotar que el archivo de referencia ConfigApp.h de la carpeta de referencia está ya bien

configurado para garantizar la comunicación y normalmente las modificaciones que deben realizarse son pocas.

En caso de modificaciones avanzadas deben consultarse los archivos del proyecto de Referencia y la

documentación de Microchip relacionada.

Intervención sobre los archivos Nodo-Coordinador

Luego se procede a hacer los ajustes específicos que corresponden a las tareas particulares que debe realizar el

nodo al interior de la red. En este caso específico, se configuran los aspectos relativos al canal A/D para realizar

la adquisicion de la señal, el algoritmo de procesamiento y la transmisión del valor de temperatura.

Page 13: Tutorial miwi meneses2013

Fig. Configuración de modulo A/D

En el coordinador de red deben programarse las funcionalidades que permitan recibir los datos enviados por los

nodos sensores, transferirlos a la interfaz de usuario vía serial/USB o almacenarlos. En algunos casos, parte del

algoritmo de procesamiento de la señal captada por los nodos sensores puede encargársele al nodo coordinador

puesto que es común, más no imprescindible, que este tenga unas capacidades de procesamiento mayores que

las de los nodos sensores.

En el coordinador también se programan las líneas de código que se ocupan de garantizar la funcionalidad de los

dispositivos tipo enlace o Gateway que hacen posible el paso de los datos de la plataforma de monitorización

hacia redes una jerarquía superior e interfaces alternas para la visualización, procesamiento y manejo de la

información.

Ejemplo de Implementación de Red

Descripción de Elementos

Especificaciones Técnicas: Nuestro coordinador de red (coordinador de Red de Área Personal o Coordinador

PAN) está basado en un microcontrolador de 16 bits que pertenece a la familia PIC24 y cuyas características se

resumen en la figura.

Page 14: Tutorial miwi meneses2013

Fig. Resumen de características principales del microcontrolador PIC24FJ128GA010

El circuito integrado tiene 100 pines que se distribuyen en ocho puertos, desde el puerto A hasta el puerto G. Por

medio de los pines vinculados a estos puertos se desarrollan tareas ligadas a entradas/salidas digitales, entradas

análogas, funciones de comunicación, interrupciones, modulación por ancho de pulso, entre otras.

La Unidad de Procesamiento Central (CPU) de los microcontroladores de la familia PIC24 posee una arquitectura

Harvard modificada con un conjunto de instrucciones con palabras de 24-bits de ancho. Las instrucciones se

ejecutan en un solo ciclo de programa salvo algunas excepciones como las instrucciones que cambian el flujo del

programa e instrucciones que pueden ocupar más.

Especificaciones de los elementos de Comunicaciones

En cuanto al transceptor, se ha elegido el MRF24J40MB que es un transceptor que se ajusta a los

requerimientos del estándar IEEE 802.15.4 y cuyas especificaciones técnicas, interfaz de comunicación SPI y

diagrama de bloques se muestra en la tabla.

Tabla. Características principales, diagrama de bloques e interfaz del transceptor

Soporta los protocolos propietarios Zigbee, MiWi y MiWi P2P

Certificado según las regulaciones de radio para Estados Unidos (FCC), Canadá (IC) y Europa (ETSI)

Es compatible con las familias de microcontroladores de Microchip: PIC16F, PIC18F, PIC24F/H, dsPIC33 y PIC 32.

Interfaz SPI simple de 4 líneas

Consumo de corriente:

Modo Rx: 25mA (típico)

Modo Tx: 130mA (típico)

Modo Sleep: (Típico)

Interfaz SPI: Transceptor-Microcontrolador

Opera en la banda ISM de 2.405

a 2.475 GHz

Tasa de datos de 250 kbps

Mecanismo de hardware CSMA-CA, respuesta ACK automática y

chequeo FCS

Page 15: Tutorial miwi meneses2013

Capacidad automática de retransmisión de paquetes

Motor de seguridad por hardware (AES-128)

Soporta encriptación y desencriptacion para las

subcapas MAC y las capas superiores

Anexos

Page 16: Tutorial miwi meneses2013
Page 17: Tutorial miwi meneses2013
Page 18: Tutorial miwi meneses2013

Ejemplo de un coordinador PAN, con un transceptor MRF24J40MB que soporta el protocolo MiWi y de una

interfaz serial-USB, realizado utilizando la tarjeta de desarrollo denominada Explorer 16.

Comunicaciones: Protocolo MiWi – MiWi Stack (MiWi App + MiWi MAC)

Algoritmos:

Algoritmo de gestión de red Estimación del valor de variables

Control de Hardware:

Conversión A/D, Interfaz SPI Interfaz Serial-USB Interfaz paralela para LCD

Hardware de Circuito:

Microcontrolador de 16 bits pic24FJ128GA010 Transceptor MRF24J40MB Conversor dc-dc 5V-3.3V Conexión Programador/Debugger serial Sockets para hacer posible el reemplazo de elementos

Fig. Ejemplo de Coordinador PAN detalles arquitectura e implementación en tarjeta de prueba

Page 19: Tutorial miwi meneses2013

En la figura se muestra el microcontrolador pic18F4620 de 40 pines que sirve de base para algunos de los

nodos.

Tabla. Especificaciones técnicas y distribución de pines del PIC18F4620

Descripción Técnica Distribución de Pines

Page 20: Tutorial miwi meneses2013

Especificaciones de los Elementos

El transceptor utilizado en los nodos sensores es el MRF24J40MA, elemento compatible con el estándar IEEE

802.15.4 y que se direcciona desde el microcontrolador a través de una interfaz SPI. Este dispositivo tiene

básicamente las mismas prestaciones del transceptor MRF24J40MB utilizado en el coordinador de la red. La

diferencia mayor radica en el alcance que es menor y algunas pequeñas diferencias no muy significativas en el

diagrama de radiación.

El pic18F46k20 es de extrabajo consumo. El microcontrolador tiene características como:

Voltaje de operación entre 1.8 y 3.6V

En modo sleep <100 nA para 1.8V

Perro guardian < 800nA para 1.8V

Oscilador del Temporizador <800nA para 1.8V y 32kHz

Fig. Características técnicas y distribución de pines para el microcontrolador de extrabajo consumo pic18F46K20

Tabla. Distribución de pines y otras características del PIC24FJ128GA010

Fig. Aspecto físico y Diagramas de Radiación (3D y 2D) del Transceptor MRF24J40MB

Correspondencia de conexiones microcontrolador-transceptor

PIC18F4620 MRF24J40A

Pin # Función Pin # Función

15 RC0/T1OSO/T13CKI 8 CS

16 RC1/T1OSI/CCP2 3 WAKE

24 RC5/SDO 5 SDI

18 RC3/SCK/SCL 6 SCK

23 RC4/SDI/SDA 7 SDO

33 RB0/INT0/FLTO/AN12 4 INT

17 RC2/CCP1/P1A 2 RESET

Page 21: Tutorial miwi meneses2013

PIC24FJ128GA010:

CPU que puede operar hasta 16 MIPS Oscilador interno de 8Mhz

PLL interno

Memoria de programa de 128kB

Memoria RAM 8kB

Direccionamiento lineal de memoria de programa de hasta 4MB

Direccionamiento lineal de la memoria de datos de hasta 64kB.

Stack por software

Hardware para multiplicación 16x16, división 32x16 y 16x16.

2 UART – 2 SPI – 2 I2C

Puerto paralelo Master-Slave. Direccionamiento 16-bits, Datos 8-bits o 16-bits.

Módulo AD de 10 bits a 500ksps.

5 Módulos Comparación/Captura/PWM. 16-bits PWM.

Timers, 5 x 16-bit 2 x 32-bit.

RTC (Reloj de tiempo real)

Módulo CRC configurable.

5 interrupciones externas.

Pines configurables como a colector abierto (Salidas)

Page 22: Tutorial miwi meneses2013

Referencias

Page 23: Tutorial miwi meneses2013

Microchip Technology inc., “Microchip MiWi Wireless Protocol,” 2010.

Microchip Technology inc., “Microchip MiWi P2P Wireless Protocol,” 2010.

Microchip Technology inc., “Microchip Wireless (MiWi) Application Programming Interface - MiApp,” 2009.

Microchip Technology, “Microchip Wireless (MiWiTM) Media Access Controller – MiMAC,” 2009.

Microchip Technology inc., “Microchip MiWi PRO Wireless Networking Protocol Stack,” 2011.

Microchip Technology inc., “Development Tools Product Detail Page.” *Online+. Available:

http://www.microchip.com/. [Accessed: 15-Oct-2012].

Microchip Technology, “PIC24FJ128GA010 Family Data Sheet 16-Bit Flash Microcontrollers,” 2009.

Microchip Technology inc., “PIC24 Microcontroller Family,” 2010.

Microchip Technology inc., “MRF24J40MB Data Sheet,” 2009.

Microchip Technology inc., “Explorer 16 Development Board User ’ s Guide,” 2005.

Microchip Technology inc., “PIC18F2525/2620/4525/4620 Data Sheet Enhanced Flash Microcontrollers with 10-

Bit A / D and nanoWatt Technology,” 2004.

Microchip Technology inc., “PIC18F23K20/24K20/25K20/26K20/ 43K20/44K20/45K20/46K20 Data Sheet

28/40/44-Pin Flash Microcontrollers with nanoWatt XLP Technology,” 2010.