SlideShare una empresa de Scribd logo
2
Lo más leído
3
Lo más leído
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.
TM
Microchip Technology, “Microchip Wireless (MiWi ) 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
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.
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-2233-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 Configuración
del
Alimentación
Receptor Inactivo
Dispositivo de
Alimentación
ON
Funciones Completas
Convencional (Mains)
(FFD)
Dispositivo de
Batería
OFF
Funciones Reducidas
(RFD)

Método de Recepción
de los Datos
Directo
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
FFD
El dispositivo inicia en primer lugar
Area Personal (PAN)
y espera por una conexión
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 multiconexió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.
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






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)

Elementos de Software





MPLAB IDE
(Ambiente
Integrado
de
Desarrollo)
Complemento
Microchip
Solutions
Compilador
para
microcontroladores
(C18, C30 ó XC )

Elementos de Firmware





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.
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.
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)
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
Application

Common

Protocols

Descripción
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.
 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
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)
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.
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 microcontroladortransceptor e, igualmente, se pueden configurar las conexiones a todos los periféricos o elementos de entradasalida 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.
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.
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.
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.
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)



Opera en la banda ISM de 2.405
a 2.475 GHz

Tasa de datos de 250 kbps



Mecanismo de hardware CSMACA, respuesta ACK automática y
chequeo FCS

Interfaz SPI: Transceptor-Microcontrolador


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
Tutorial miwi meneses2013
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
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
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
Pin #
15
16
24
18
23
33
17

Función
RC0/T1OSO/T13CKI
RC1/T1OSI/CCP2
RC5/SDO
RC3/SCK/SCL
RC4/SDI/SDA
RB0/INT0/FLTO/AN12
RC2/CCP1/P1A

MRF24J40A
Pin #
8
3
5
6
7
4
2

Función
CS
WAKE
SDI
SCK
SDO
INT
RESET
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 8bits o 16-bits.



Módulo AD de 10 bits a 500ksps.



5
Módulos
Comparación/Captura/PWM. 16bits 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
colector abierto (Salidas)

a
Referencias
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
http://www.microchip.com/. [Accessed: 15-Oct-2012].

Detail

Page.”

*Online+.

Available:

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 10Bit 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.

Más contenido relacionado

PDF
Campo magnetico terrestre
PDF
Glossário ITIL V3 em portugês
PDF
31283575 protocolos-de-transporte-tcp-e-udp
PPTX
Edición del brazo Robótico mediante Autodesk Inventor
PDF
Método de la bisección
PDF
Exercício Resolvido 2 - Diâmetro
PDF
Stappenplan
PDF
Curso de fortran
Campo magnetico terrestre
Glossário ITIL V3 em portugês
31283575 protocolos-de-transporte-tcp-e-udp
Edición del brazo Robótico mediante Autodesk Inventor
Método de la bisección
Exercício Resolvido 2 - Diâmetro
Stappenplan
Curso de fortran

Destacado (20)

PDF
Introducción al protocolo AMQP
PPT
PPTX
Introducción a mpls
PPTX
Diapositivas mpls
PDF
Blennerhassett_AI
PDF
LAAAWPPI - Women in Action Awards 2011 Journal
PDF
Pdf 2015 us_digitalfutureinfocus_engus_mar2015
PPTX
Is Virtual The Next Mobile? Students' expectation towards digital learning
DOCX
REDES COMPUTADORA
PDF
Boletín oficial del país vasco bopv
PDF
Media_Kit_Cashewinfo
PDF
Towards a Design Methodology for Urban Informatics Research
PDF
Arizona alec-records-burns
PDF
Circuito Italia Dolce Vita Oferta Viaje Fin de Curso estudiantes 2015
PPTX
Presentación terraja
PPTX
MNP Tax Strategies - From a Dental Career Stage Perspective
PPT
Tutorial xmind
PPTX
10 Email Acronyms You Should Know
PPT
Expo pae
PPTX
Mantenimiiento de una pc copia - copia
Introducción al protocolo AMQP
Introducción a mpls
Diapositivas mpls
Blennerhassett_AI
LAAAWPPI - Women in Action Awards 2011 Journal
Pdf 2015 us_digitalfutureinfocus_engus_mar2015
Is Virtual The Next Mobile? Students' expectation towards digital learning
REDES COMPUTADORA
Boletín oficial del país vasco bopv
Media_Kit_Cashewinfo
Towards a Design Methodology for Urban Informatics Research
Arizona alec-records-burns
Circuito Italia Dolce Vita Oferta Viaje Fin de Curso estudiantes 2015
Presentación terraja
MNP Tax Strategies - From a Dental Career Stage Perspective
Tutorial xmind
10 Email Acronyms You Should Know
Expo pae
Mantenimiiento de una pc copia - copia
Publicidad

Similar a Tutorial miwi meneses2013 (20)

DOC
5 preguntas dispositovos de red
PDF
La familia de protocolos TCP/IP
PPTX
Exposicion de router
PDF
Glosario
DOCX
Tema 4.
PPTX
Configuracion del router 2
DOCX
Telemàtica y Redes Breyner Guerrero
PDF
Modelo tcp ip
PDF
12 no guiados wi fi
PPTX
xxXavier diapositiva
DOCX
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
DOCX
Tema 4.
DOCX
Examen capitulo 3 ccna1
DOCX
Tema 1
PDF
Temas de redes fp informatica grado medio españa redes wan
PPTX
Redes tcpip
PDF
05 introduccion a-las_redes_wi_fi-es-v2.3
PDF
Laboratorio 8 enrutamiento dinamico part 1
PPT
Tcp ip vs osi
5 preguntas dispositovos de red
La familia de protocolos TCP/IP
Exposicion de router
Glosario
Tema 4.
Configuracion del router 2
Telemàtica y Redes Breyner Guerrero
Modelo tcp ip
12 no guiados wi fi
xxXavier diapositiva
PROTOCOLOS SIMPLES PARA GESTIÓN DE REDES
Tema 4.
Examen capitulo 3 ccna1
Tema 1
Temas de redes fp informatica grado medio españa redes wan
Redes tcpip
05 introduccion a-las_redes_wi_fi-es-v2.3
Laboratorio 8 enrutamiento dinamico part 1
Tcp ip vs osi
Publicidad

Más de gmeneses23 (20)

PPT
Presentacion WSN MiWi Protocolo Congreso Cita 2015
PDF
Embedded matlab
PDF
Adquisición de la señal de un sensor imu
PDF
Hello world sl015b_3
PDF
Lrwpan 4 health_care_sicotel_2012
PDF
Cm9520 arregloequipo
PDF
En viborevimpactos
PPT
Mod demod am_2014_1(1)
PPTX
Colcom2014 press template _envibo_meneses
PPT
Fm 2014 1
PPTX
El multímetro y el protoboard
PPTX
Implementing ieee 802 7 ccc
PPT
Electronic Instrumentation Virtual Laboratory
PPT
El estándar ieee802_15_4
PPTX
Presentacion Plataforma EnViBo
PPT
Conceptos b+ísicos sobre eagle 2013
PPT
Agregando un componente con eagle
PPT
Transductores de sonido
PPT
Integrating free open source
PPTX
Plataforma movil
Presentacion WSN MiWi Protocolo Congreso Cita 2015
Embedded matlab
Adquisición de la señal de un sensor imu
Hello world sl015b_3
Lrwpan 4 health_care_sicotel_2012
Cm9520 arregloequipo
En viborevimpactos
Mod demod am_2014_1(1)
Colcom2014 press template _envibo_meneses
Fm 2014 1
El multímetro y el protoboard
Implementing ieee 802 7 ccc
Electronic Instrumentation Virtual Laboratory
El estándar ieee802_15_4
Presentacion Plataforma EnViBo
Conceptos b+ísicos sobre eagle 2013
Agregando un componente con eagle
Transductores de sonido
Integrating free open source
Plataforma movil

Último (20)

DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
El uso de las TIC en la vida cotidiana..
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
modulo seguimiento 1 para iniciantes del
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
informe_fichas1y2_corregido.docx (2) (1).pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Power Point Nicolás Carrasco (disertación Roblox).pptx
Estrategia de Apoyo de Daylin Castaño (5).pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
El uso de las TIC en la vida cotidiana..
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Influencia-del-uso-de-redes-sociales.pdf
modulo seguimiento 1 para iniciantes del
Propuesta BKP servidores con Acronis1.pptx
historia_web de la creacion de un navegador_presentacion.pptx
capacitación de aire acondicionado Bgh r 410
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Documental Beyond the Code (Dossier Presentación - 2.0)
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO

Tutorial miwi meneses2013

  • 1. 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. TM Microchip Technology, “Microchip Wireless (MiWi ) 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
  • 2. 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.
  • 3. 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-2233-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 Configuración del Alimentación Receptor Inactivo Dispositivo de Alimentación ON Funciones Completas Convencional (Mains) (FFD) Dispositivo de Batería OFF Funciones Reducidas (RFD) Método de Recepción de los Datos Directo 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 FFD El dispositivo inicia en primer lugar Area Personal (PAN) y espera por una conexión
  • 4. 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 multiconexió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.
  • 5. 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      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) Elementos de Software     MPLAB IDE (Ambiente Integrado de Desarrollo) Complemento Microchip Solutions Compilador para microcontroladores (C18, C30 ó XC ) Elementos de Firmware    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.
  • 6. 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.
  • 7. 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)
  • 8. 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 Application Common Protocols Descripción 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.  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 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)
  • 9. 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.
  • 10. 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 microcontroladortransceptor e, igualmente, se pueden configurar las conexiones a todos los periféricos o elementos de entradasalida 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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)  Opera en la banda ISM de 2.405 a 2.475 GHz  Tasa de datos de 250 kbps  Mecanismo de hardware CSMACA, respuesta ACK automática y chequeo FCS Interfaz SPI: Transceptor-Microcontrolador
  • 15.  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
  • 18. 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
  • 19. 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
  • 20. 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 Pin # 15 16 24 18 23 33 17 Función RC0/T1OSO/T13CKI RC1/T1OSI/CCP2 RC5/SDO RC3/SCK/SCL RC4/SDI/SDA RB0/INT0/FLTO/AN12 RC2/CCP1/P1A MRF24J40A Pin # 8 3 5 6 7 4 2 Función CS WAKE SDI SCK SDO INT RESET
  • 21. 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 8bits o 16-bits.  Módulo AD de 10 bits a 500ksps.  5 Módulos Comparación/Captura/PWM. 16bits 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 colector abierto (Salidas) a
  • 23. 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 http://www.microchip.com/. [Accessed: 15-Oct-2012]. Detail Page.” *Online+. Available: 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 10Bit 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.