Вы находитесь на странице: 1из 8

Evaluacin y anlisis del microcontrolador PIC32 para utilizarlo en implementacin de arquitecturas de redes inalmbricas de sensores

Fernando Xavier Arias Ing. Luis Garrido Dr. Humberto Rodrguez Resumen Palabras clave: PIC32, redes, sensores, inalmbricos, arquitectura. El principal enfoque de este artculo es la observacin de las herramientas embebidas en la arquitectura del PIC32. Se analizan sus caractersticas y se identifican cuales de las mismas son las ms crticas para la implementacin de los nodos dentro de una red de sensores inalmbricas. Se realizan algunas pruebas de transmisin para observar el desempeo del hardware de transmisin y el enlace de comunicacin entre dos nodos implementados con el PIC32. Tambin, se logran establecer relaciones entre su velocidad de procesamiento, consumo energtico y tasa de errores de transmisin. Se presentan los resultados correspondientes a las pruebas realizadas. Abstract Keywords: PIC32, network, sensor, wireless, architecture. The main focus of this article is the observation of the PIC32 architectures embedded tools. Its main characteristics are analyzed and the ones most critical to the implementation of a wireless sensor networks node are identified. Data transmission and re ception tests are conducted in order to observe and document the performance of both the transceiver hardware and the data link between two PIC32 wireless sensor nodes. Also established within this article is the existing relationship between processing speed, transmission bit error rate and energy usage in a PIC32 wireless sensor node. The experimental results are presented alongside their respective tests.

Introduccin Las redes inalmbricas de sensores son arreglos de sensores autnomos distribuidos a lo largo de un espacio geogrfico que se desea monitorear. stos sensores, o nodos, disponen tpicamente de un elemento sensor que transforma una condicin fsica del entorno (temperatura, presin, humedad, vibracin, intensidad luminosa, etc.) en una seal elctrica,

algn dispositivo de transmisin inalmbrica de datos (Infrarrojo, lser, ondas de radio, etc.), una fuente de energa (usualmente una batera y/u otro dispositivo capaz de obtener energa del medio) y un microcontrolador, que realiza la gestin de las funciones de los elementos anteriores de una manera previamente establecida para el correcto funcionamiento de la red.

Una de las principales dificultades al momento de desplegar una red inalmbrica de sensores es asegurar que los nodos de sta dispongan siempre de energa para realizar sus funciones satisfactoriamente. Debido a esto, resulta de muy alta prioridad disear los nodos de la red con la ms alta eficiencia energtica que sea econmicamente rentable para asegurar el mximo aprovechamiento de los limitados recursos de los que disponen los nodos de la red. En la actualidad existe una gran diversidad de controladores utilizados en redes inalmbricas de sensores. En ste artculo, se presenta al microcontrolador PIC32 de Microchip como una alternativa en la implementacin de arquitecturas de redes inalmbricas de sensores. Se considera al PIC32 como una plataforma adecuada para aplicaciones de redes inalmbricas de sensores debido a que es suficientemente verstil para ser utilizado fcilmente en aplicaciones en donde se hace necesario el uso de una cantidad considerable de recursos a alta velocidad y con un alto grado de eficiencia energtica. Haciendo usos de sus caractersticas y propiedades, se ejecutan algunos programas sobre la arquitectura del PIC32 que nos permita observar su comportamiento utilizando algunas de las herramientas necesarias en la implementacin de redes inalmbricas de sensores. Material y Mtodo Para los efectos de ste artculo, se utilizarn las siguientes herramientas tanto de hardware como de software para la obtencin de datos experimentales. Microchip PIC32 Starter Kit II: Microcontrolador que gestionar todas las funciones de los nodos de la red. Mostrado en la figura 1.

Figura 1 PIC32 Starter Kit II Microchip Expansion Board I/O: Tarjeta de expansin que permite fcil acceso a todos los puertos del microcontrolador y facilidades de acople para mdulos de funcionalidades adicionales. Mostrado en la figura 2.

Figura 2 Microchip Expansion Board I/O Mdulo de transmisin/recepcin inalmbrica MRF24J40MA: Se puede acoplar a la tarjeta de expansin para su integracin con el microcontrolador PIC32, dispone de una antena de radiofrecuencias para transmisin/recepcin de datos de manera inalmbrica. Mostrado en la figura 3.

Figura 3 Mdulo de transmisin/recepcin inalmbrica MRF24J40MA MPLAB IDE: Entorno de desarrollo para el PIC32. Compilador C32: Transforma las instrucciones del entorno MPLAB IDE a lenguaje de mquina que puede interpretar el PIC32.

La arquitectura del PIC32 dispone de algunas caractersticas especiales que la hacen muy interesante en el contexto de redes inalmbricas de sensores, entre las cuales podemos mencionar las siguientes: Modos alternativos de operacin IDLE y SLEEP, que maximizan la eficiencia energtica del microcontrolador en aplicaciones en las que se requiere nicamente el funcionamiento peridico no continuo de ste envindolo a dormir (modo sleep), o a ejecutar en un modo de mnimo consumo energtico (modo idle). A pesar de configurar el microcontrolador para entrar en cualquiera de stos modos de operacin, los perifricos externos y los puertos entrada/salida de ste se mantienen activos, en caso de darse cualquier interrupcin o evento que requiera de la ejecucin de alguna tarea por el microcontrolador.

Operaciones atmicas de SET, CLEAR e INVERT sobre ciertos registros perifricos, y 4 canales DMA, que pueden ser accesados por todos los mdulos del PIC32 , lo cual contribuye a una reduccin en la latencia y un aumento en la eficiencia de ejecucin de las instrucciones, ya que estas instrucciones y canales permiten realizar una manipulacin de la informacin almacenada en memoria, aprovechando mejor los ciclos de instruccin y el esquema de canalizacin de instrucciones (instruction pipeline) de 5 etapas que caracteriza a la arquitectura del PIC32 Librera gratuita de funciones para procesamiento digital de seales de alto rendimientocapaz de realizar una transformada rpida de Fourier (FFT) de 256 puntos en 283s, lo que representa una mejora del 22% sobre la ltima librera de procesamiento digital de seales de Microchip. Mdulo de comunicacin en paralelo maestro/esclavo altamente configurable, que permite comunicacin con dispositivos en paralelo de 8 y/o 16 bits (LCD's, memoria externa y/o otros microprocesadores). Calendario y Reloj en tiempo real, que asegura la exactitud temporal de la operacin del sistema durante perodos extendidos de tiempo, con una intervencin mnima o nula del CPU. Un sistema que pueda llevar cuenta del tiempo de manera exacta es vital en el funcionamiento de un sistema en tiempo real, en caso de aplicaciones de monitoreo peridico. Seis mdulos UART y hasta 5 mdulos IC, que permite que se realicen mltiples operaciones de transmisin/recepcin de manera serial con perifricos externos de manera sncrona o asncrona, sin la necesidad de multiplexar stas seales a travs de una menor cantidad de puertos e incurrir en la

penalidad de latencia que esto significa para el sistema en general. Adems de esto, posee soporte nativo para los protocolos de comunicacin RS-232, RS-485, LIN e IRdA, lo que nos presenta una plataforma verstil muy compatible con una variedad de perifricos externos, de ser necesario. Cinco mdulos deInput y Output Compare, que proporcionan una importante herramienta de programacin , que presenta la facilidad de poder recibir una seal mientras se est ejecutando otro proceso, y mantener una referencia del tiempo exacto (adems de una bandera) en que recibi la seal en memoria. De igual manera, pueden generarse eventos (seales) en tiempos especficos de acuerdo a una referencia temporal almacenada en memoria. El mdulo output compare puede igualmente generar una seal PWM como uno de los eventos programables, lo que representa una facilidad al momento de realizar control de dispositivos externos en base a las lecturas/eventos del microprocesador.

PIC32 cuenta con los recursos suficientes como para poder cargar el sistema operativo de tiempo real FreeRTOS, que permite la implementacin de dispositivos basados en PIC32 que sean capaces de ejecutar aplicaciones en tiempo real, que tienen requisitos muy estrictos de latencias y capacidades tanto de procesamiento como de rpido almacenamiento/llamado de datos. Ya disponiendo de todas las herramientas necesarias, se realizarn diferentes pruebas a nivel de hardware delimitadas de la siguiente manera: Pruebas de transmisin: o Medicin de la potencia disipada por el nodo en funcin de su rata de transmisin de datos. o Medicin de las tasas de error de bit resultantes de distintas configuraciones de distancia entre dos nodos y ratas de transmisin de datos. o Medicin de la eficiencia del uso del ancho de banda de las seales transmitidas en funcin de su rata de transmisin. Pruebas de consumo energtico: o Medicin de la potencia disipada por el PIC32 en funcin a su velocidad de procesamiento.

Resultados Pruebas de transmisin: Para la primera parte de las pruebas de transmisin, se establecieron seis distancias fijas conocidas, y se hicieron mediciones de tasas de errores de bit a las distintas distancias. Se coloc un nodo configurado para transmitir una serie de 8 bits conocidos de informacin en un punto fijo. Debido a la magnitud de las distancias de la comunicacin entre los dos nodos, los valores especficos de la distancia de stas se obtuvieron

Figura 4 Mdulo a utilizar en las pruebas (PIC32 Starter Kit II acoplado al Expansion Board I/O, con su respectivo mdulo RF). De igual manera, es importante mencionar el hecho que la arquitectura del microcontrolador

promediando las mediciones obtenidas utilizando un medidor de distancia GPS de alta precisin. Las tasas de error de bit se obtuvieron utilizando una lgica en el receptor que comparara el valor conocido transmitido por el nodo que enva datos con lo recibido en la antena, que en condiciones ideales, deber ser siempre igual al valor conocido transmitido. Se realiz un conjunto de 10 transmisiones controladas, y 10 transmisiones en forma de rfaga de 8 bits cada una para cada distancia. Debido al hecho que es mucho ms intuitivo realizar una comparacin directa entre la razn de error de bit y la potencia recibida, y tomando en cuenta el hecho que existe una relacin matemtica establecida entre la distancia de un enlace y las prdidas en el espacio libre de potencia transmitida por el nodo configurado como transmisor y recibida por la antena en el nodo receptor en funcin de la frecuencia de comunicacin (en ste caso 2.4GHz), se tabul la relacin existente entre la razn de error de bit y la potencia recibida en el receptor. De la hoja de datos del mdulo transceptor RF MRF24J40MA se obtiene que la potencia de transmisin es de 0+ dBm, por lo que la potencia recibida ser igual a sta cantidad menos las prdidas en el espacio libre. Los valores calculados para la potencia recibida se calcularon utilizando la Ecuacin de Friis, mostrada e ilustrada en la figura 5, muy utilizada en el modelado de radioenlaces con lnea de vista, y nos permite obtener las prdidas en el espacio libre de una seal transmitida nicamente en funcin de la frecuencia a la que se transmite (2.4GHz para el enlace en cuestin) y la distancia entre embos puntos del enlace. La relacin es la siguiente, en donde d es la distancia en kilmetros entre ambos puntos del enlace, y f es la frecuencia de transmisin, en MHz:

Figura 5 Ecuacin de Friis, y las prdidas que representa dentro de radioenlace de comunicaciones. El bus de perifricos del PIC32 es el encargado de controlar la frecuencia de operacin de los perifricos externos al microprocesador, sta frecuencia puede ser controlada mediante un divisor de la frecuencia del microprocesador, el cual puede ser fcilmente modificado dentro del cdigo del programa. Se hicieron pruebas con tres valores distintos de ste divisor: 1, 4 y 8. Conociendo que la frecuencia del microcontrolador es de 40MHz, esto nos da frecuencias de operacin para el perifrico que controla la comunicacin serial de 40MHz, 10MHz y 5MHz, respectivamente. Basado en stos resultados se confeccion la tabla 1.
40MHz
Potencia Recibida (dBm) BER (Errores/bit)

10MHz
BER (Errores/bit)

5MHz
BER (Errores/bit)

-54.72 -64.98 -73.13 -75.58 -78.39

0.00000 0.00000 0.00000 0.00000 0.00625

0.00000 0.00000 0.05000 0.00000 0.00000

0.00000 0.00000 0.00000 0.13750 0.00000

Tabla 1 Razn de Error de bit vs. Potencia Recibida

Figura 6 Razn de Error de bit vs. Distancia de transmisin. Pruebas de consumo energtico: Se vari cuidadosamente la frecuencia del oscilador interno mediante la configuracin de los distintos divisores y multiplicadores de frecuencia del PIC32 para ajustarla a los valores de referencia mostrados en la tabla 2, se obtuvo las mediciones de corriente consumida, y los clculos de potencia respectivos para un voltaje de alimentacin de 9.5V. Frecuencia Corriente(mA) Potencia(W) 80MHz 70MHz 60MHz 50MHz 40MHz 220.07 219.18 218.94 188.58 176.60 2.09 2.08 2.07 1.79 1.67

Figura 7 Potencia disipada vs. frecuencia de operacin Discusin Durante la primera seccin de las pruebas de transmisin, que corresponda en realizar mediciones sobre la relacin existente entre la distancia entre los dos extremos del enlace de comunicacin y la tasa de error de bit de ste. Es importante mencionar, que durante el proceso de realizacin de las pruebas de transmisin en el campo, hubo ciertas ocasiones en las que se dio prdida de paquetes. En otras palabras, el receptor no registraba la recepcin de informacin con algunos bits errneos con respecto a la referencia establecida, sino que ms bien el nodo receptor simplemente no registraba ninguna informacin recibida del otro lado de la transmisin. Esto se tom en cuenta dentro de las tablas como un mensaje con 8 bits errneos, y de sta manera se integr dentro de los clculos para la razn de error de bit. Otro punto importante, que a pesar del hecho que si la comunicacin entre los dos nodos se iniciaba mientras stos estaban a relativa proximidad uno del otro y lentamente se incrementaba la distancia entre ellos, stos eran capaces de comunicarse a distancias de hasta 185m con una tasa de error de bit bastante baja y pocas prdidas de paquetes, lo cual no era el

Tabla 2 Potencia disipada vs. frecuencia de operacin

caso si se intentaba iniciar la comunicacin a grandes distancias, a las cuales se dificultaba establecer una comunicacin inicial entre los dos puntos. Debido a sta particularidad, se procur colocar los nodos a las distancias establecidas previo al inicio de la comunicacin entre ellos. Fuera de los resultados presentados, encontramos experimentalmente que desde la tercera distancia (~45.3m) se haca crucial la falta de obstrucciones metlicas (automviles estacionados, en el caso de nuestro ambiente de prueba) para el establecimiento inicial del enlace. Encontramos tambin que la distancia mxima de separacin aproximada con una lnea de vista relativamente libre de obstrucciones bajo la que los mdulos eran capaz de inicializar un enlace de comunicaciones era de aproximadamente 130m. Con respecto a las mediciones realizadas utilizando diferentes tasas de bit, es un axioma establecido que cuanto mayor sea la tasa de bits de una transmisin dada, mayor ser su relacin seal a ruido, y consecuentemente mayor ser su tasa de error de bit. Sin embargo, dentro de nuestras pruebas de campo, nos percatamos que al colocar la frecuencia de reloj de perifricos a frecuencias menores que la de operacin del microcontrolador (40MHz) obtuvimos resultados que no se apegaban a ste hecho. Segn los resultados, al disminuir la frecuencia del mdulo de comunicacin serial (un perifrico externo del PIC32), que debera consecuentemente disminuir la tasa de bits de transmisin, y debera asegurar una comunicacin ms robusta, resistente a ruido que a frecuencias mayores, con el costo de una menor velocidad de transmisin, la razn de error de bit pareca tener una relacin directamente proporcional a la tasa de transmisin de bits, cuando stos factores tericamente mantienen una relacin inversamente proporcional.

Las pruebas de consumo energtico presentan resultados que se apegan a lo esperado, es decir, que la potencia disipada por el PIC32 sea proporcional a su frecuencia de operacin. En la figura 2 se hace grficamente evidente sta relacin, y se observa que aunque en las tres primeras frecuencias de operacin la potencia disipada no vara por ms de 1mA, sta disminuye por magnitudes de poco ms de 30mA al pasar de 60MHz a 50MHz, y de casi 12mA al pasar de 50MHz a 40MHz Conclusin ste artculo presenta un anlisis preliminar que profundiza sobre las cualidades de potencia y eficiencia de comunicacin presentes en el microcontrolador PIC32 y su mdulo compatible de transmisin/recepcin RF. Se consideraron stos como los factores ms importantes al momento de considerar una plataforma especfica para ser aplicada a redes inalmbricas de sensores, ya que, tomando en cuenta el hecho que en casi la totalidad de las aplicaciones, se requiere que sensores de difcil acceso utilicen de la manera ms eficiente posible una fuente de energa de capacidad limitada. La principal ventaja del PIC32 sobre otras plataformas consiste en su excepcional capacidad y velocidad de procesamiento, lo que reduce los problemas de latencia que pueden surgir al momento de querer monitorear informacin en tiempo real a travs de la red utilizando plataformas con velocidades y capacidades de procesamiento inferiores. Adems de esto, su funcionalidad nativa con el protocolo propietario de comunicacin inalmbrica MiWi, de Microchip le proporciona una excepcional plataforma de comunicacin inalmbrica a distancias grandes y con robustos procesos de correccin de errores que aseguran una comunicacin eficaz en una amplia gama de ambientes de operacin.

Sin embargo, sta substancial mejora que mantiene el PIC32 sobre sus competidores tiene un precio, y es que, mientras se encuentre operando a su mxima velocidad de procesamiento, su consumo energtico puede alcanzar hasta poco ms de 2W, lo cual puede ser mitigado en gran parte utilizando cdigo optimizado, uso liberal de los estados de IDLE y SLEEP con los que cuenta el microprocesador y manteniendo las transmisiones de datos lo ms concisas que sea posible. Sera mandatorio adems para trabajos futuros revisar la anomala observada en los resultados de las pruebas de transmisin con diferentes tasas de bits de transmisin, y profundizar y verificar la explicacin para la que la calidad del enlace empeore al disminuir la tasa de bits de transmisin, cuando debera ser todo lo contrario. Cabe mencionar, que actualmente se est desarrollando una plataforma redes inalmbricas de sensores en tiempo real basada en PIC32 y una modificacin del sistema operativo FreeRTOS llamada SIWA-RTOS, cuya concepcin radica precisamente en la necesidad de un sistema operativo de tiempo real especialmente optimizado para su implementacin en sistemas de redes inalmbricas de sensores en tiempo real. sta plataforma tendr la particularidad que ser diseada como una red ad-hoc. Es decir, adems de implementar la posibilidad que uno o varios nodos se comuniquen directamente con un concentrador previamente designado, stos podrn comunicarse con el concentrador enviando su informacin de manera indirecta enviando su informacin hacia nodos adyacentes que se encuentren a su alcance de manera consecutiva hasta que la informacin sea capaz de llegar al concentrador, lo que permite el despliegue de redes inalmbricas de sensores de cobertura mucho mayor sin la necesidad de la

inversin en concentradores o estaciones repetidoras adicionales que proporcionen una cobertura para el limitado nmero de sensores a su alcance. Adems, debido a la naturaleza dinmica del flujo de informacin dentro de la red, sta ser mucho ms resistente a daos a enlaces o nodos localizados, debido a que cada nodo de la red, en esencia, se comporta como un concentrador, y en caso de ser imposible transmitir informacin a travs de un enlace daado, sta se podr transmitir hacia el concentrador de monitoreo a travs de otro camino. Todo esto empleando las mismas herramientas de hardware que las empleadas para la confeccin de ste artculo. Bibliografa [ 1 ] PIC32MX5XX/6XX/7XX Data Sheet Microchip [en lnea]. http://ww1.microchip.com/downloads/en/devic edoc/ds-61156b.pdf [Consulta: 9 agosto 2011]. [ 2 ] MRF24J40MA Data Sheet - Microchip [en lnea]. http://ww1.microchip.com/downloads/en/devic edoc/70329b.pdf [Consulta: 9 agosto 2011].

Вам также может понравиться