Está en la página 1de 186
Arquitectura del sistema de redes inalámbricas de sensores por Jason Lester Hill B. S. (Universidad de California, Berkeley) 1998 M. S. (Universidad de California, Berkeley) 2000 una tesis doctoral presentada en satisfacción parcial de los requisitos para obtener el grado de Doctor en Filosofía en Ciencias de la Computación de la división de graduados de la A DE CALIFORNIA, BERKELEY Comité a cargo: Profesor David E. Culler, Catedrático Kris Pister el Profesor Paul Wright Primavera de 2003 la tesis doctoral de Jason Lester Hill es aprobado: Presidencia Fecha fecha Universidad de California, Berkeley Primavera de 2003 Arquitectura del sistema de redes de sensores inalámbricos Copyright 2003 por Jason Lester Hill Sistema abstracto arquitectura de redes inalámbricas de sensores por Jason Lester Hill Doctor en Filosofía en Ciencias de la Computación Universidad de California en Berkeley el Profesor David Culler, Presidente en esta tesis presentamos y sistema operativo Y de tres generaciones de una plataforma de hardware diseñados para atender las necesidades de las redes de sensores inalámbricos. Nuestro sistema operativo, denominado TinyOS utiliza un modelo de ejecución basado en eventos para proporcionar soporte para concurrencia de grano fino y tiene un modelo de componentes altamente eficiente. TinyOS nos permite utilizar una arquitectura de hardware que tiene un solo procesador tiempo compartido entre ambas aplicaciones y procesamiento de protocolo. Nos muestran cómo una partición virtual de los recursos informáticos no sólo conduce a la eficiente utilización de los recursos sino que permite una rica interfaz entre la aplicación y procesamiento de protocolo. Esta interfaz rica, a su vez, permite a los desarrolladores aprovechar los protocolos de comunicación específicos de la aplicación que mejora el rendimiento del sistema. Las plataformas de hardware que desarrollamos se utilizan para validar una arquitectura generalizada que es una tecnología independiente. Nuestra arquitectura general contiene un único controlador central que realiza tanto aplicaciones y protocolos de tratamiento. A los principios de flexibilidad, este controlador está conectado directamente al transceptor RF. Para aumentar la eficacia, el controlador es 1 apoyado por una colección de los aceleradores de hardware que proporcionan primitivas de comunicación básica que puede ser flexibilidad en aplicación protocolos específicos. Las tres plataformas de hardware que presentamos son ejemplos de esta arquitectura en general con diversos grados de sofisticación hardware. El Rene plataforma sirve de referencia y que no contienen ningún los aceleradores de hardware. Lo que nos permite desarrollar el sistema operativo TinyOS conceptos y perfeccionar sus mecanismos concurrencia. El Mica nodo incorpora los aceleradores de hardware que mejoran la comunicación y sincronización de precisión dentro de las limitaciones actuales de microcontroladores. Una aproximación a la arquitectura en general, utilizamos Mica para validar los principios arquitectónicos. El Mica plataforma se ha convertido en la base de cientos de redes de sensores inalámbricos los esfuerzos de investigación en todo el mundo. Ha sido vendida a más de 250 organizaciones. Spec es el nodo más avanzado presenta y representa la plena realización de nuestra arquitectura en general. Se trata de un 2,5 mm x 2,5 mm CMOS chip que incluye procesamiento, almacenamiento, comunicaciones inalámbricas y los aceleradores de hardware. Nos muestran cómo la selección cuidadosa de la correcta los aceleradores pueden conducir a las órdenes de magnitud de las mejoras en la eficiencia sin sacrificar la flexibilidad. Además de realizar un análisis teórico sobre los puntos fuertes de nuestra arquitectura, demostrar su capacidad a través de una colección de aplicaciones en el mundo real las implementaciones. _______________________________________ El Profesor David Culler Tesis 2 Presidente del Comité Tabla de Contenidos ... ... ... ... i Lista de Figures: ... ... ... ... ... ... ... iv Capítulo 1: Introducción ... ... ... ... ... ... ... 1 Capítulo 2: Las redes inalámbricas de sensores ... ... ... ... ... ... ... ... 10 2.1 Red de sensores clases de aplicaciones ... ... ... ... ... ... ... ... Medio Ambiente 11 2.1.1 Recolección de Datos ... ... ... ... ... ... . 11 2.1.2 Supervisión de seguridad ... ... ... ... ... ... ... ... Nodo 14 2.1.3 escenarios de seguimiento ... ... ... ... ... ... 16 2.1.4 Redes híbridas ... ... ... ... ... ... ... ... 17 2.2 Evaluación del Sistema Parámetros ... ... ... ... ... ... ... 17 2.2.1 Vida ... ... ... ... ... ... ... ... 18 2.2.2 Cobertura ... ... ... ... ... ... 19 2.2.3 Costo y facilidad de implementación ... ... ... ... ... ... ... . 20 2.2.4 Tiempo de respuesta ... ... ... ... ... ... ... ... 22 2.2.5 Precisión Temporal ... ... ... ... ... ... ... 22 2.2.6 Seguridad ... ... ... ... ... ... ... ... 23 2.2.7 Tasa efectiva de muestreo ... ... ... ... . 24 2.3 Evaluación métrica nodo Individual ... ... ... ... ... ... ... ... 25 2.3.1 Poder ... ... ... ... ... ... 2.3.2 Flexibilidad 26 ... ... ... ... ... ... ... . 26 2.3.3 Solidez ... ... ... ... ... ... ... 27 2.3.4 Seguridad ... ... ... ... ... ... ... ... 28 2.3.5 Comunicación ... ... ... ... ... ... 28 2.3.6 Cálculo ... ... ... ... ... ... ... 29 2.3.7 Sincronización de tiempo ... ... ... ... . 30 2.3.8 Tamaño y Costos ... ... ... ... ... ... ... 31 2.4 Capacidades de Hardware ... ... ... ... ... ... ... ... 2.4.1 Energía 31 ... ... ... ... ... ... ... ... 2.4.2 32 Radios ... ... ... ... ... ... ... ... 37 2.4.3 Procesador ... ... ... ... ... ... 43 2.4.4 Sensores ... ... ... ... ... ... 48 2.5 Rene Diseño ... ... ... ... ... ... ... 50 2.5.2 Características de potencia de referencia ... ... ... ... ... ... . Refinado 53 2.6 Planteamiento del Problema ... ... ... ... ... ... ... ... 54 Capítulo 3: Arquitectura de software de sensores inalámbricos ... ... ... ... ... ... .. 56 3.1 Pequeña Microthreading Sistema Operativo (TinyOS) ... ... ... ... ... ... ... .. TinyOS 57 3.2 Modelo de ejecución ... ... ... ... ... ... ... ... 58 3.2.1 Programación basada en eventos ... ... ... ... ... ... ... ... 58 3.2.2 Tareas ... ... ... ... 59 3.2.3 Atomicidad ... ... ... ... ... ... ... . TinyOS 60 3.3 Modelo de componentes ... ... ... ... ... ... ... 60 3.3.1 Tipos de componentes ... ... ... ... ... ... ... ... 63 3.3.2 Permitiendo la migración de hardware/software límite ... ... ... ... ... ... ... ... 65 3.3.3 Ejemplo Componentes ... ... ... ... . 66 3.3.4 Composición de componentes ... ... ... ... ... ... ... ... 67 3.3.5 Aplicación Paseo Por ... ... ... ... ... ... ... ... 70 3.4 AM Comunicación Paradigma ... ... ... ... ... ... ... .. 72 3.4.1 Mensajes activos Descripción General ... ... ... ... ... ... ... ... 72 3.4.2 Pequeña aplicación Mensajes activos ... ... ... ... ... ... ... .. 73 3.4.3 Gestión de memoria tampón intercambio ... ... ... ... ... ... ... ... 75 3.4.4 Reconocimiento explícito ... ... ... ... ... ... ... ... 76 3.5 Componentes contenidos en TinyOS ... ... ... ... ... ... ... ... TinyOS 77 3.6 Evaluación del Modelo ... ... ... ... ... ... ... TinyOS 3,7 78 Resumen ... ... ... ... ... ... ... 80 Capítulo 4: Nodo Sensor inalámbrico Arquitectura ... ... ... ... ... ... ... .. 82 4.1 Requerimientos de comunicación inalámbrica ... ... ... ... ... ... . 82 4.2 Cuestiones clave arquitectura debe abordar ... ... ... ... ... ... ... . 85 4.2.1 Concurrencia ... ... ... ... ... ... ... 86 4.2.2 Flexibilidad ... ... ... ... ... ... ... . 86 4.2.3 Sincronización ... ... ... ... ... ... ... ... 87 4.2.4 Disociación entre RF y velocidad de procesamiento ... ... ... ... ... ... ... . 88 4.3 Diseño inalámbrico tradicional ... ... ... ... ... ... 91 4.4 Arquitectura generalizada de un nodo sensor inalámbrico ... ... ... ... ... ... ... ... 93 4.5 Ventajas de Arquitectura ... ... ... ... ... ... ... ... 96 4.5.1 Concurrencia ... ... ... ... ... ... ... 96 4.5.2 Protocolo flexibilidad y precisión de sincronización ... ... ... ... ... ... .. 100 4.6 Resumen ... ... ... ... ... ... 100 Capítulo 5: Aproximación de la arquitectura general: Mica ... ... ... ... ... ... ... .. 102 Mica diseño 5.1 ... ... ... ... 103 5.1.1 Diagrama de bloques descripción general ... ... ... ... ... ... ... ... 103 5.1.2 Interfaz de radio Primas ... ... ... ... ... ... 5,2 106 Aceleradores Comunicación ... ... ... ... . 107 5.3 Evaluación ... .. 109 5.3.1 ... ... ... ... ... ... ... ... Administración de la concurrencia. 110 5.3.2 Interacción entre RF y ruta de datos velocidad ... ... ... ... ... ... ... ... 5.3.3 Flexibilidad 111 interfaz ... ... ... ... ... ... ... ... 112 5.4 Azul: seguimiento a Mica ... ... ... ... ... ... ... 5.4.1 CPU 120 ... ... ... ... 120 5.4.2 Radio ... ... ... ... ... ... ... ... 121 5.5 Resumen ... ... ... ... ... ... 122 Capítulo 6: Arquitectura integrada para nodos sensores inalámbricos Espec ... ... ... ... ... ... .. 124 6.1.1 Descripción de alto nivel ... ... ... ... ... ... ... .. 125 6.1.2 Diagrama de bloques General ... ... ... ... ... ... .. 126 6.1.3 Radio & Back End Sub bloques ADC ... ... ... ... ... ... ... .. 134 6.1.4 Registros de frecuencia digital ... ... ... ... ... ... ... .. 135 6.1.5 Características físicas ... ... ... ... ... ... ... ... 136 Ii 6.2 Rendimiento ... ... ... ... ... ... 138 6.2.1 Detección Símbolo de inicio ... ... ... ... ... ... ... ... 139 6.2.2 Manejo de interrupciones generales ... ... ... ... ... ... ... . 140 6.2.3 Programa Gestión de memoria ... ... ... ... ... ... ... .. 141 6.2.4 Extracción de distribución ... ... ... ... ... ... ... Compatibilidad con el cifrado 142 6.2.5 ... ... ... ... ... ... 143 6.2.6 E/S de Memoria y serialización ... ... ... ... ... ... . 144 6.2.7 Primitivas no incluido ... ... ... ... ... ... ... ... 145 6.3 Costo de flexibilidad ... ... ... ... ... ... ... 146 6.4 Resumen ... ... ... ... ... ... 147 Capítulo 7: Aplicaciones de demostración y Rendimiento ... ... ... ... ... ... ... . Medio ambiente 149 7.1 Monitorización de datos ... ... ... ... ... ... ... .. 149 7.2 Análisis empírico de las mejoras de rendimiento ... ... ... ... ... ... ... ... 7.2.1 Prueba 150 Hardware ... ... ... ... ... ... ... 153 7.3 29 Palmas ... ... ... ... ... 154 7.3.1 Descripción de la aplicación ... ... ... ... ... ... ... ... 154 7.3.2 Sub componentes clave/bloques de aplicación ... ... ... ... ... ... .. 156 7.3.3 Importancia de procesamiento de la red ... ... ... ... ... ... ... ... 7,4 159 Z-Car Tracking ... 159 7.4.1 Descripción de la aplicación ... ... ... ... ... ... ... ... 160 7.5 Conclusión ... ... ... ... ... ... ... ... 165 Capítulo 8: Trabajos relacionados con ... ... ... ... ... ... ... ... TinyOS 166 8,1 Trabajo ... ... ... ... ... ... ... 8.1.1 166 Robots Inalámbrica ... ... ... ... ... ... . 166 8.1.2 Control de Acceso a Medios de Enrutamiento y ... ... ... ... ... ... ... .. 168 8.1.3 Sincronización de tiempo ... ... ... ... ... ... ... .. 168 8.1.4 Multi-Hop optimización de rutas ... ... ... ... ... ... ... .. TinyDB 169 8.1.5 ... ... ... ... ... ... 170 8.2 Las plataformas inalámbricas ... ... ... ... ... ... ... 171 8.2.1 Polvo inteligente ... ... ... ... ... ... ... 171 8.2.2 Bluetooth ... ... ... ... ... ... ... Zigbee (802.15.4) 172 8.2.3 ... ... ... ... ... ... ... 173 8.2.4 Pico Radio ... ... ... ... ... ... ... Chipcon CC1010 174 8.2.5 ... ... ... ... ... ... ... ... 174 8.3 Sistemas Operativos Integrados ... ... ... ... ... ... 175 Capítulo 9: Conclusiones ... ... ... ... ... ... ... ... 177 Bibliografía ... ... ... ... ... ... ... 182 III Lista de figuras: Figura 1-1: DOT - red de sensores inalámbricos dispositivo diseñado para ser el tamaño aproximado de un trimestre. Dispositivos del futuro se seguirá más pequeños, más baratos y más duradera. 2 De la Figura 1-2: posible despliegue de ac-hoc red inalámbrica integrada para la agricultura de precisión. Los sensores detectan los niveles de luz, temperatura y humedad de los suelos en cientos de puntos a través de un campo y comunicar sus datos a través de una red multi-hop para su análisis. 4 Figura 1-3: Diseño Tecnología linaje de Mote. Cunas (común fuera de las estanterías) prototipos a la weC plataforma. René entonces evolucionado para permitir expansión del sensor y cientos de aplicaciones atractivas. El punto nodo fue arquitectónicamente el mismo como Rene pero reducido a un cuarto de tamaño. Mica, que se analizan en profundidad en esta tesis -realizado importantes mejoras en la arquitectura con el fin de aumentar el rendimiento y la eficacia. Representa la especificación completa visión integrado CMOS. 7 Figura 2-1: características de la batería de litio, alcalinas y pilas NiMH. Las características de la descarga de las baterías alcalinas, es esencial para el diseño de un sistema para tolerar una amplia gama de tensiones de entrada. 33 Figura 2-2: consumo de energía y la capacidad de corriente de que se dispone. 48 Figura 2-3: Imágenes de la Rene plataforma red de sensores inalámbricos. 52 Figura 3-1: gráfica de componentes de un multi-hop sensing application. 61 Figura 3-2: SOY componente de mensajería representación gráfica. 64 Figura 3-3: componentes NESC archivo que describe la interfaz externa al AMStandard componente de mensajería. 66 Figura 3-4: BlinkM.nc componente de aplicación que parpadea el LED del sistema de una vez por segundo. 68 Figura 3-5: (NESC), archivo de configuración de la aplicación que los cables y el parpadeo. 69 Figura 3-6: Lista de componentes contenidos en TinyOS 1.0 . Los desarrolladores de la aplicación seleccione en esta colección de nivel de sistema y componentes para crear la aplicación deseada atributos. 77 Figura 3-7: Detalle de la distribución del trabajo y el consumo de energía en cada capa de la Rene nodo. 80 Figura 4-1: Fases de la comunicación inalámbrica para la transmisión y la recepción. 83 Figura 4-2: El coste de la Energía por bit cuando transmite a una velocidad de 10 Kbps y 50 Kbps dividido en controlador y energía de radiofrecuencia (RF). 89 Figura 4-3: Arquitectura generalizada de dispositivo inalámbrico incorporado. 94 Figura 4-4: Desglose del uso de la CPU para símbolo de inicio de detección en estimación de techo. 98 %0 tiempo de búsqueda, las cargas de trabajo y tiempo de CPU para las aplicaciones. Para el caso de que el controlador dedicado desglose se incluye con un realista 10% chip a chip estimación superior y con el mejor de los casos Figura 5-1: diagrama de bloques de Mica arquitectura. La conexión directa entre controlador de la aplicación y el transceptor permite la Mica nodo a ser muy flexible a las demandas de las aplicaciones. Opcionalmente, puede ayudar a las aceleraciones Hardware en protocolos de comunicación. 104 Figura 5-2: Distribución de activos y consumo de energía en estado inactivo de Mica los componentes de hardware en 3V. 105 Figura 5-3: uso de la CPU de detección símbolo de inicio. Las optimizaciones activadas por la Mica nodo aumentar significativamente eficacia de la CPU. 110 Figura 5-4: ecuaciones para determinar el consumo de energía de un sueño red. 113 Figura 5-5: Seguimiento a la nodo Mica azul, aumentar el alcance y reduce el consumo de energía. Nodos azules tienen un 4-6x mayor duración de la batería de Mica con pilas alcalinas. 121 Figura 6-1: El único nodo Especificaciones chip fotografiado al lado de un bolígrafo. 124 Figura 6-2: Diagrama de bloques de la especificación, el único chip wireless mote. 127 Figura 6-3: diseño de chip único mote. Gran bloque central contiene CPU, temporizadores y aceleradores de hardware. En la parte superior son 6 bancos de memoria. El ADC es el centro izquierda. La radio se encuentra en la esquina inferior derecha. 136 Figura 6-4: Área desglose de lógica digital módulos incluidos en las especificaciones. Área total de cableado y puertas con National Semiconductor celdas estándar en .25 CMOS de mu. 137 IV figura 6-5: Descripción general de las mejoras de rendimiento alcanzado por la especificación los aceleradores de hardware del nodo. 146 Figura 7-1: nodo teórico consumo de energía al realizar vigilancia datos ambientales que recoge datos cada 4 segundos, con un promedio y se transmite una vez cada 5 minutos. Cada nodo tiene un máximo de 5 nodos secundarios y un nodo principal. La tabla muestra los resultados de Rene, Mica, Azul, Spec. La relación entre René consumo de energía y consumo de energía azul también se muestra. El costo de verificación de la alarma azul es más grande que el de Mica debido a la CC1000 disponer de mayor tiempo de encendido. La detección de azul es costo reducido por una baja potencia ADC en el microcontrolador. 151 Figura 7-2:29 palmas aplicación. Los Motes de un avión de montar en una red ad-hoc con el fin de buscar actividad en un vehículo en un remoto desierto ubicación. 154 Figura 7-3: filtrado de datos localmente en los modos de ampliar y extraer información del vehículo. Marca de tiempo asignado a la cima más alta de la cruz línea de actividad. 157 Figura 7-4: cálculos de posición de cada nodo de la teleobservación se actualizan en respuesta al resultado de la regresión lineal que calcula la velocidad del vehículo. 158 Figura 7-5: La imagen de la z-car tracking implementación de la aplicación. Control remoto detectado cuando pasaba por el campo de los sensores. 160 Figura 7-6: Multi-cadera ruta utilizada en red z-car programa de seguimiento. Los nodos detectar el evento (en verde) transmitir los datos a un único líder que los tránsitos un informe único paquete. El paquete de informes se desplaza a través de la red (línea punteada) hasta que llega al nodo base. El paquete contiene la estimación del regate (rojo) posición. 164 Figura 8-1: Características y requisitos comerciales integradas de sistemas operativos en tiempo real. 175 V Capítulo 1: Introducción El campo emergente de las redes de sensores inalámbricos detección combina, computación y comunicación en un único dispositivo diminuto. Mediante una avanzada red de malla protocolos, estos dispositivos forma un mar de conectividad que amplía el alcance del ciberespacio en el mundo físico. Como el flujo de agua para llenar cada una de las habitaciones de un buque sumergido, la conectividad de red de malla se dedicarán a buscar y explotar cualquier posible ruta de comunicación de datos salto de un nodo a otro en busca de su destino. Mientras que las capacidades de un único dispositivo son mínimos, la composición de cientos de dispositivos radical ofrece nuevas posibilidades tecnológicas. El poder de las redes inalámbricas de sensores radica en la capacidad de implementar un gran número de pequeños nodos que montar y configurar. Escenarios de uso de estos dispositivos de seguimiento en tiempo real, con la supervisión de las condiciones ambientales, a entornos de computación ubicua, de monitoreo in situ de la salud de estructuras o equipo. Aunque a menudo se refirió a como las redes inalámbricas de sensores, también pueden controlar los actuadores que ampliar el control del ciberespacio en el mundo físico. La más sencilla aplicación de redes de sensores inalámbricos es la tecnología para vigilar entornos remotos de baja frecuencia las tendencias de los datos. Por ejemplo, una fábrica de productos químicos podría ser fácilmente controlados para detectar fugas, cientos de sensores que automáticamente forma una red de interconexión inalámbrica e informe inmediatamente la detección de fugas de productos químicos. A diferencia de los tradicionales sistemas de cable, los costes de implementación sería mínimo. En lugar de tener que desplegar miles de pies de cable a través conducto de protección, los instaladores 1 Figura 1-1: DOT - red de sensores inalámbricos dispositivo diseñado para ser el tamaño aproximado de un trimestre. Dispositivos del futuro se seguirá más pequeños, más baratos y más duradera. simplemente hay que dar un cuarto de tamaño, como la que se ilustra en la Figura 1-1, en cada punto de detección. La red puede ser gradualmente extendida por simplemente añadir más dispositivos - no hay rectificación o configuración compleja. Con los dispositivos presentados en esta tesis, el sistema sería capaz de supervisión de anomalías durante varios años en un solo juego de pilas. Además de reducir drásticamente los costes de instalación, las redes inalámbricas de sensores tienen la capacidad de adaptarse de forma dinámica a los entornos cambiantes. Mecanismos de adaptación pueden responder a los cambios en las topologías de red o puede hacer que la red de cambio drásticamente entre diferentes modos de funcionamiento. Por ejemplo, la misma red integrada de supervisión de fugas en una fábrica de productos químicos pueden ser reconfiguradas en una red diseñada para localizar el origen de la fuga y realizar un seguimiento de la difusión de gases tóxicos. La red podría dirigir a los trabajadores de la ruta más segura para una evacuación de emergencia. Sistemas inalámbricos actuales sólo tocan la superficie de las posibilidades derivadas de la integración de comunicación de baja potencia, detección, almacenamiento de energía, y la computación. 2 Por lo general, cuando las personas tienen en cuenta dispositivos inalámbricos que piensan de artículos como teléfonos celulares, asistentes personales digitales, o portátiles con 802.11 . Estos elementos los costes cientos de dólares, aplicaciones especializadas, y se basan en la previa a la implementación de un amplio soporte de infraestructura. En contraste, las redes inalámbricas de sensores utilizar pequeños y de bajo costo dispositivos integrados para una amplia gama de aplicaciones y no depender de ningún pre-infraestructura existente. La visión es que estos elaborar tendrá un costo de $1 menos que en 2005. A diferencia de los tradicionales dispositivos inalámbricos, sensores inalámbricos nodos no necesitan comunicarse directamente con el más cercano de alta potencia torre de control o de la estación base, pero sólo con sus pares locales. En lugar de ello, de confiar en un pre-infraestructura implementada, cada sensor o actuador se convierte en parte de la infraestructura general. Peer-to-peer protocolos de red proporcionan una especie de malla para transportar datos de interconexión entre los miles de pequeños dispositivos incrustados en un multi-hop. La malla flexible arquitecturas previsto adaptarse de forma dinámica a apoyar la implantación de nuevos nodos o ampliar para abarcar un mayor región geográfica. Además, el sistema puede adaptarse automáticamente para compensar errores de nodo. La visión de la red mesh se basa en la solidez de los números. A diferencia sistemas de teléfonos celulares que niegue el servicio cuando hay demasiados teléfonos están activos en un área pequeña, la interconexión de una red de sensores inalámbricos sólo crece y se fortalece a medida que se añaden nodos. Siempre que haya suficiente densidad, una sola red de nodos puede crecer hasta cubrir ilimitada. En el que cada nodo tiene un alcance de comunicación de 50 metros y cuesta menos que $1 red de sensores que rodeaban el ecuador de la tierra, costará menos de $ 1M. 3 De la Figura 1-2: posible despliegue de ac-hoc red inalámbrica integrada para la agricultura de precisión. Los sensores detectan los niveles de luz, temperatura y humedad de los suelos en cientos de puntos a través de un campo y comunicar sus datos a través de una red multi-hop para su análisis. Una red de ejemplo se muestra en la Figura 1-2. Describe a una agricultura de precisión de la implementación un área activa de investigación de aplicaciones. Cientos de nodos dispersos en un campo armado, establecer una topología de enrutamiento, y transmitir los datos a un punto de recogida. La demanda de aplicaciones de robusta, escalable y de bajo costo y fácil de implementar redes están perfectamente cubiertas por una red de sensores inalámbricos. Si uno de los nodos falla, una nueva topología sería seleccionado y la red global seguirá para entregar los datos. Si más nodos se colocan en el campo, se crean más oportunidades potenciales de enrutamiento. Existen numerosas investigaciones en el desarrollo de nuevos algoritmos para la agregación de los datos [ 1], de enrutamiento ad hoc [ 2-4], y distribuidos de procesado de señal en el contexto de las redes inalámbricas de sensores [5, 6]. Como los algoritmos y protocolos de red de sensores inalámbricos son desarrollados, deben ser apoyadas por una de bajo consumo, eficiente y flexible plataforma de hardware. Esta tesis se centra en el desarrollo de la arquitectura del sistema es necesario para satisfacer las necesidades de las redes de sensores inalámbricos. Un reto en el diseño de las redes de sensores inalámbricos es hacer frente a las severas limitaciones de recursos en los diferentes dispositivos. Los procesadores integrados con 4 kilobytes de memoria debe implementar complejas, distribuido, redes ad-hoc protocolos. Muchas limitaciones derivan de la visión que estos dispositivos se van a producir en grandes cantidades y deben ser pequeños y baratos. Como la ley de Moore avanza, cada dispositivo son más pequeños, no sólo son más potentes en un tamaño determinado. Reducción de tamaño es esencial para permitir que los dispositivos se produjo tan barato como sea posible, así como ser capaz de permitir que los dispositivos que se usan en una amplia variedad de situaciones de aplicación. La limitación de los recursos más difíciles de cumplir es consumo de energía. En tamaño físico disminuye, también lo hace la capacidad. Las restricciones de energía subyacente terminan creando y las limitaciones de almacenamiento computacional que conducen a un nuevo conjunto de cuestiones arquitectónicas. Muchos dispositivos, como teléfonos celulares y buscapersonas, reducir su consumo de energía mediante el uso de hardware de comunicaciones especializadas que ofrecen circuitos integrados de baja potencia necesaria las implementaciones de los protocolos de comunicación [ 7] y por depender de alta infraestructura de energía. Sin embargo, la fuerza de las redes inalámbricas de sensores es su flexibilidad y universalidad. La amplia gama de aplicaciones en la mira que es difícil desarrollar un protocolo único y, a su vez, un ASIC, que sea eficiente para todas las aplicaciones. Una red de sensores inalámbricos plataforma debe ofrecer soporte para un conjunto de protocolos específicos para cada aplicación que reducen drásticamente nodo tamaño, costo y consumo de energía para su aplicación de destino. La red de sensores inalámbricos arquitectura presentamos aquí incluye tanto una plataforma de hardware y un sistema operativo diseñado específicamente para atender las necesidades de las redes de sensores inalámbricos. TinyOS es un sistema operativo basado en componentes diseñados para funcionar en dispositivos inalámbricos limitaciones de recursos. Es altamente eficiente comunicación 5 primitivas y de grano fino mecanismos concurrencia a los desarrolladores aplicaciones y protocolos. Un concepto clave en TinyOS es el uso de programación basada en eventos en conjunción con un modelo de componentes altamente eficiente. TinyOS permite optimización de todo el sistema, proporcionando un estrecho acoplamiento entre el hardware y el software, así como mecanismos de flexibilidad para construir módulos específicos de la aplicación. TinyOS se ha diseñado para ejecutarse en una arquitectura generalizada en una sola CPU es compartida entre la aplicación y procesamiento de protocolo. Podemos detallar tres generaciones de nodos inalámbricos y un anfitrión de las implementaciones de las aplicaciones que han demostrado la capacidad de nuestra arquitectura general del sistema. La figura 1-3 presenta una imagen y escala de varios "mote" generaciones. El Mica plataforma ha sido producida en las cantidades más importantes: más de 5000 nodos Mica se han producido y distribuido a más de 250 empresas y organizaciones de investigación de todo el país. El Mica plataforma incluye transmisor de baja potencia, un subsistema de gestión de alimentación, almacenamiento prolongado y un microcontrolador integrado. La más avanzada plataforma de hardware que presentamos es un chip único dispositivo CMOS que integra el procesamiento, almacenamiento y capacidad de comunicación para formar un sistema completo nodo. Este chip único nodo, lo que se denomina Spec - medidas 2,5 mm x 2,5 mm, contiene un microcontrolador, transmisor, ADC, E/S de propósito general puertos, UART, memoria y motor de cifrado. El diminuto chip sólo debe estar respaldada por un cristal de reloj 32 KHz, un inductor chip y una fuente de alimentación, una batería y un 4 MHz reloj. El Spec nodo representa la próxima generación de nodos sensores inalámbricos que se fabricará por una bicoca, y desplegado en los millones. 6 Figura 1-3: Diseño Tecnología linaje de Mote. Cunas (común fuera de las estanterías) prototipos a la weC plataforma. René entonces evolucionado para permitir expansión del sensor y cientos de aplicaciones atractivas. El punto nodo fue arquitectónicamente el mismo como Rene pero reducido a un cuarto de tamaño. Mica, que se analizan en profundidad en esta tesis -realizado importantes mejoras en la arquitectura con el fin de aumentar el rendimiento y la eficacia. Representa la especificación completa visión integrado CMOS. Tanto la mica y Spec nodo son utilizados para justificar nuestra afirmación de que arquitectura del sistema óptimo para las redes inalámbricas de sensores es tener un solo controlador central conectado directamente a un modo de bajo consumo de energía a través de un transmisor de radio rica interfaz que es compatible con el hardware de asistencia primitivas de comunicación. A diferencia de tener una partición jerárquica de los recursos de hardware dedicados a funciones específicas, compartir un controlador realiza todo el procesamiento. Esto permite la asignación dinámica de recursos para el cálculo de las tareas informáticas demandadas por el sistema. Las capas de abstracción normalmente mediante partición de hardware pueden alcanzarse mediante el uso de un muy eficiente basado en software de modelo de componentes. Las abstracciones de Software permiten un mayor alcance de la capa de las optimizaciones que pueden lograr mejoras órdenes de magnitud es rendimiento del sistema. El poder y la viabilidad de esta arquitectura se demostró, a través de una colección de referencia real de hardware y las implementaciones de nivel de aplicación. 7 Los principales aportes de este trabajo son: (1) una arquitectura general que cumple con las estrictas exigencias de flexibilidad y eficiencia de las redes de sensores inalámbricos, (2) una implementación de la arquitectura actual con microcontrolador y bajo consumo de energía, tecnología de radio (3) un sistema operativo que complementa las capacidades de hardware y proporciona soporte para aplicaciones de red de sensores, (4) un chip integrado en una sola plataforma de hardware CMOS para su uso en redes de sensores inalámbricos y (5) una demostración de la flexibilidad de esta arquitectura de varias nuevas aplicaciones de demostración. Esta tesis está organizada en 9 capítulos. El capítulo 2 presenta tres escenarios de aplicación y una descripción general de los requisitos para las redes inalámbricas de sensores. Se tiene la intención de proporcionar los antecedentes necesarios para una comprensión general de las cuestiones examinadas en capítulos posteriores. Además, el Capítulo 2 ofrece una descripción general de las prestaciones de los modernos bloques de hardware. Culmina en la descripción de la primera generación de nodo sensor utilizado como una base de comparación. El Capítulo 3 se presenta la arquitectura general para el sistema operativo TinyOS y la lista de componentes incluidos. TinyOS es un sistema operativo basado en eventos altamente eficiente con un modelo de componentes. Desempeña un papel fundamental en la capacidad de exponer las arquitecturas de hardware que presentamos. El Capítulo 4 se describen los aspectos críticos del diseño que debe ser abordado por una red de sensores inalámbricos plataforma. Nos referimos a las deficiencias de las actuales arquitecturas inalámbricas y una arquitectura generalizada que aborda estas cuestiones. Nuestra arquitectura generalizada está diseñado para permitir la flexibilidad sin sacrificar la eficiencia. En el capítulo 5 se presenta la plataforma Mica - un off-the-shelf aproximación de nuestra arquitectura generalizada. Mica representa lo que es posible con hardware comercial, que nos permite validar los principios básicos de nuestra arquitectura generalizada. Abeja 8 Mica ha utilizado con éxito en cientos de mundo real sensor las implementaciones de red. El Capítulo 6 se presenta la especificación un solo chip nodo en el que la comunicación, computación y almacenamiento se combinan en un 2,5 mm x 2,5 mm morir. Spec es una realización plena de la arquitectura generalizada. Representa el futuro de especificaciones de hardware de red de sensores inalámbricos. Capítulo 7 preajustes un panorama general y un análisis de varias aplicaciones de demostración. Este análisis ponen de relieve el impacto en el rendimiento de la arquitectura. Además, las aplicaciones presentadas demuestran la flexibilidad y validar la plataforma. El Capítulo 8 ofrece un estudio de los trabajos afines. Esto incluye un resumen de los esfuerzos de investigación que se han superpuesto en la parte superior del sistema se presentan así como otras actividades inalámbricas. El Capítulo 9 se presenta un resumen de las tesis y concluye con una predicción de las tendencias tecnológicas futuras. 9 Capítulo 2: Las redes inalámbricas de sensores El concepto de redes de sensores inalámbricos se basa en una simple ecuación: Sensor + CPU + Radio = miles de potenciales aplicaciones tan pronto como las personas comprender las capacidades de una red de sensores inalámbricos, cientos de aplicaciones vienen a la mente. Parece que una simple combinación de la tecnología moderna. Sin embargo, combinando los sensores, las radios y la CPU en un eficaz red de sensores inalámbricos requiere una comprensión detallada de las capacidades y limitaciones de cada uno de los componentes de hardware, así como una descripción detallada de las modernas tecnologías de redes y sistemas distribuidos teoría. Cada nodo debe estar diseñado para proporcionar el conjunto de primitivas necesarias para sintetizar la web interconectado que va a surgir como que están desplegados y cumple con los estrictos requisitos de tamaño, costo y consumo de energía. Un problema fundamental es el de asignar las condiciones generales del sistema de las capacidades del dispositivo, requisitos y medidas. Para que la red de sensores inalámbricos visión en una realidad, la arquitectura debe ser desarrollado que sintetiza la contempla las aplicaciones de capacidades de hardware subyacente. Para desarrollar la arquitectura del sistema desde el que trabajamos el alto nivel requisitos de la aplicación hacia abajo a través del hardware de bajo nivel. En este proceso, en primer lugar tratar de comprender el conjunto de las aplicaciones de destino. Para limitar el número de solicitudes que tenemos que considerar, nosotros nos centramos en un conjunto de clases de aplicaciones que creemos son representativos de una gran parte de los posibles escenarios de uso. Nosotros utilizamos este conjunto de 10 clases de aplicaciones para explorar el sistema de los requisitos de nivel que se colocan sobre la arquitectura global. De estos requisitos de nivel de sistema, podemos profundizar en el nodo individual de los requisitos de nivel. Además, se debe aportar una información detallada sobre la capacidad de hardware moderno. Después de que nos presentan la materia prima capacidades de hardware, presentamos un nodo sensor inalámbrico. El Rene nodo representa un primer corte en una arquitectura de sistemas, y se utiliza para realizar una comparación de las arquitecturas de sistema presentado en capítulos posteriores. 2.1 Red de sensores clases de aplicaciones Las tres clases de aplicaciones que hemos seleccionado son: recogida de datos medioambientales, control de seguridad y seguimiento de nodo sensor. Creemos que la mayoría de las implementaciones de red wireless sensor se caen en una de estas plantillas de clase. 2.1.1 UN Acopio de Datos sobre el Medio Ambiente medio ambiente canónico aplicación de recopilación de datos es una donde un científico de investigación pretende recolectar varias lecturas del sensor de un conjunto de puntos en un entorno durante un período de tiempo, a fin de detectar tendencias e interdependencias. Este científico que desee para recoger datos de cientos de puntos esparcidos por toda la zona y, a continuación, analizar los datos sin conexión [8, 9]. El científico estaría interesado en cuanto a recogida de datos durante varios meses o años, a fin de mirar a largo plazo y las tendencias estacionales. De los datos que se han sentido, tendría que ser recogidos a intervalos regulares y los nodos de lugares conocidos. En el nivel de red, el acopio de datos sobre el medio ambiente se caracteriza por tener un gran número de nodos y la transmisión continua detección 11 datos en un conjunto de estaciones base que almacenan los datos utilizando los métodos tradicionales. Estas redes requieren por lo general muy bajas tasas de transferencia de datos, muy larga vida útil. En escenario de uso típico, los nodos se distribuyen uniformemente sobre un entorno al aire libre. Esta distancia entre nodos adyacentes será mínima y sin embargo la distancia en toda la red. Después de la implementación, los nodos deben primero descubra la topología de la red y las estrategias de enrutamiento óptimo estimado [ 10]. La estrategia de enrutamiento se pueden utilizar para enrutar datos a un punto central de recogida. En las aplicaciones para la vigilancia del medio ambiente, no es indispensable que los nodos de enrutamiento óptimo desarrollo de las estrategias de las propias. En cambio, es posible calcular la topología de enrutamiento óptimo fuera de la red y, a continuación, comunicar la información necesaria a los nodos según sea necesario. Esto es posible porque la topología física de la red es relativamente constante. Mientras que el tiempo variante naturaleza de comunicación por radiofrecuencia puede causar conectividad entre dos nodos de forma intermitente, la topología general de la red se mantiene relativamente estable. Recogida de datos medioambientales suelen utilizar aplicaciones basada en árbol las topologías de enrutamiento donde cada árbol de ruta se basa en una alta capacidad de los nodos que hunden los datos. Los datos se transmiten de forma periódica niño nodo a nodo principal de la estructura de árbol hasta que llega al receptor. Árbol de recopilación de datos basado cada nodo es responsable de enviar los datos de todos sus descendientes. Los nodos con un gran número de descendientes transmitir muchos más datos de nodos hoja. Estos nodos puede convertirse rápidamente en embotellamientos energéticos [11, 12]. Una vez que la red está configurada, cada nodo periódicamente muestras sus sensores y transmite sus datos hasta el árbol de ruta y volver a la estación base. En muchos casos, el intervalo de tiempo entre las 12 transmisiones pueden ser del orden de minutos. Los períodos de presentación de informes se prevé que sea entre 1 y 15 minutos; si bien es posible que las redes son significativamente mayores a las tasas de presentación de informes. El entorno típico los parámetros monitoreados, tales como la temperatura, la intensidad de la luz y la humedad, y no cambiar lo suficientemente rápido como para exigir mayores índices de presentación de informes. Además de los grandes intervalos de muestra, las aplicaciones para la vigilancia del medio ambiente no tienen estrictas necesidades de latencia. Las muestras de datos puede ser retrasado dentro de la red para períodos de tiempo moderado sin afectar de manera significativa rendimiento de la aplicación. En general, los datos se recogieron para su análisis en el futuro, no para el funcionamiento en tiempo real. Con el fin de satisfacer necesidades vida, cada comunicación evento debe ser precisamente programado. El senor nodos permanecerá latente la mayoría de las veces, sino únicamente después de transmitir o recibir datos. Si el calendario preciso no se cumple, el eventos de comunicación. En la red las edades, se espera que los nodos se producirá un error en el tiempo. Periódicamente la red tendrá que volver a configurar para manejar nodo/error de conexión o de redistribuir carga de la red. Además, como los investigadores aprender más acerca del medio ambiente, estudio, puede que quieran ir y detección insertar puntos adicionales. En ambos casos, las reconfiguraciones son relativamente infrecuentes y no representan una cantidad significativa de la energía total del sistema. Las características más importantes de los requisitos en materia de vigilancia ambiental son de larga vida, perfecta sincronización, bajas velocidades de datos relativamente estáticos y topologías. Además no es necesario que los datos se transmiten en tiempo real a la central 13 punto de recogida. Las transmisiones de datos puede ser retrasada dentro de la red según sea necesario a fin de mejorar la eficiencia de la red. 2.1.2 Control de la Seguridad nuestra segunda clase de red de sensores aplicación es la vigilancia. Supervisión de la Seguridad de las redes están formadas por nodos que se colocan en lugares fijos en un entorno que vigilar continuamente uno o más sensores para detectar una anomalía. Una diferencia clave entre control de la seguridad y la vigilancia del medio ambiente es que las redes de seguridad no están recopilando los datos. Esto tiene un impacto significativo en la arquitectura de red óptima. Cada nodo tiene que comprobar frecuentemente el estado de sus sensores, pero sólo tiene que transmitir un informe de datos cuando hay una violación de seguridad. La comunicación inmediata y confiable de mensajes de alarma es el principal requisito del sistema. Estos son los "informe de excepción" redes. Además, es esencial que se confirma que cada nodo está aún presente y funcionamiento. Si un nodo se va a desactivar o no, que sería una violación de la seguridad debe ser notificado. Las aplicaciones para la supervisión de la seguridad, la red debe configurarse de modo que los nodos son los responsables de confirmar la situación de cada uno. Un enfoque consiste en que cada nodo se asigna a los compañeros que le informe si un nodo no está funcionando. La topología de una red de supervisión de la seguridad será bastante diferente de la de una red de recogida de datos. En una colección árbol, cada nodo debe transmitir los datos de todos sus descendientes. Por ello, lo ideal es tener un corto y ancho árbol. En contraste, con una red de seguridad la configuración óptima sería la de tener una topología lineal que forma un ciclo Hamiltoniano de la red. El consumo de energía de cada nodo es solamente 14 proporcional al número de hijos que tiene. En una red lineal, cada nodo podría tener un solo hijo. Esto permitiría distribuir uniformemente el consumo de energía de la red. La norma aceptada para sistemas de seguridad hoy en día es que cada uno se debe revisar el sensor aproximadamente una vez por hora. Combinado con la capacidad de distribuir uniformemente la carga de controlar los nodos, el coste de energía de realizar esta comprobación se hace mínima. La mayoría de el consumo de energía en una red de seguridad se dedica a satisfacer las estrictas necesidades de latencia asociada con la señalización de la alarma cuando se produce una violación de seguridad. Una vez detectados, una violación de la seguridad deberá ser comunicada a la estación base inmediatamente. La latencia de la comunicación de datos a través de la red a la estación base tiene un impacto crítico en el rendimiento de la aplicación. Los usuarios exigen que las situaciones de alarma se informó a los pocos segundos de detección. Esto significa que los nodos de la red debe ser capaz de responder rápidamente a las peticiones de sus vecinos para enviar los datos. En las redes de seguridad reduce la latencia de la transmisión de la alarma es considerablemente más importante que reducir el coste energético de las transmisiones. Esto es así porque los eventos de alarma se espera que sean raros. En un sistema de seguridad contra incendios alarmas que casi nunca se ha señalado. En el caso de que uno se produce una cantidad significativa de energía podría ser dedicado a la transmisión. Reducción de la latencia de la transmisión da lugar a un mayor consumo de energía porque los nodos de enrutamiento debe vigilar el canal de radio más a menudo. En las redes de seguridad, la gran mayoría de la energía se gasta en confirmar la funcionalidad de los nodos vecinos y de estar preparado para enviar alarmas al instante 15 anuncios. La transmisión de datos, y consumirá una pequeña fracción de la energía de red. 2.1.3 Seguimiento de Nodo escenarios un tercer escenario de uso común para las redes de sensores es el seguimiento de un objeto a través de un etiquetado región del espacio vigilado por una red de sensores. Hay muchas situaciones en las que uno quisiera para realizar un seguimiento de la ubicación de los valiosos activos o personal. Sistemas de control de inventario intento para realizar el seguimiento de objetos mediante la grabación del último punto de control que un objeto pasa a través. Sin embargo, con estos sistemas, no es posible determinar la ubicación actual de un objeto. Por ejemplo, UPS seguimiento de cada envío mediante el escaneo de un código de barras cada vez que pasa a través de un centro de enrutamiento. El sistema se colapsa cuando los objetos no desde el punto de control de flujo de control. En el típico ambiente de trabajo es poco práctico esperar que continuamente objetos que se pasan por los puestos de control. Con las redes inalámbricas de sensores, los objetos pueden ser rastreados por simplemente marcado con un pequeño nodo sensor. El nodo sensor será objeto de seguimiento a medida que se desplaza a través de un campo de nodos de sensores que se implementan en el medio ambiente en lugares conocidos. En lugar de percibir los datos ambientales, estos nodos se van a implementar en el sentido de los mensajes DE RF los nodos conectados a diversos objetos. Los nodos pueden ser utilizados como las etiquetas activas que anuncian la presencia de un dispositivo. Una base de datos se puede utilizar para registrar la ubicación de objetos con seguimiento relativo al conjunto de nodos en lugares conocidos. Con este sistema, es posible que preguntar de dónde se encuentra un objeto, y no sólo en la última vez que se captura [ 13]. A diferencia de teleobservación o las redes de seguridad, el nodo aplicaciones de seguimiento, de manera continua los cambios de topología se mueva como nodos a través de la red. 16 Mientras que la conectividad entre los nodos en lugares fijos se mantienen relativamente estables, la conectividad de los nodos móviles se cambia de manera constante. Además, el conjunto de nodos que se va a realizar el seguimiento se cambian continuamente como objetos entran y salen del sistema. Es esencial que la red sea capaz de detectar eficientemente la presencia de nuevos nodos que entran en la red. 2.1.4 Redes híbridas en general, escenarios de la aplicación contienen aspectos de las tres categorías. Por ejemplo, en una red diseñada para vehículos que pasan a través de él, la red puede cambiar entre ser una alarma red de monitoreo y una red de recogida de datos. Durante los largos períodos de inactividad cuando los vehículos no están presentes, la red basta con realizar una alarma función de vigilancia. Cada nodo se encargará de su espera sensores para detectar un vehículo. Una vez que un evento de alarma es detectada, todas o parte de la red, cambiar a una red de recogida de datos e informar periódicamente de las lecturas de los sensores a una estación base que vía los vehículos. Debido a este multi-modal comportamiento de la red, es importante desarrollar una arquitectura única que y gestionar los tres de estos escenarios de aplicación. 2.2 Evaluación del Sistema Parámetros Ahora que hemos establecido un conjunto de escenarios de aplicación que nos ocupa, se explora la evaluación métrica que se utiliza para evaluar a una red de sensores inalámbricos. Para ello debemos tener en cuenta el alto nivel de los objetivos de la implementación de la red, la intención de uso de la red, y las principales ventajas de las redes inalámbricas de sensores con relación a las tecnologías actuales. La clave de la evaluación de parámetros 17 redes inalámbricas de sensores son vida, cobertura, costo y facilidad de implementación, el tiempo de respuesta, precisión temporal, seguridad, y de la muestra efectiva. Su importancia se discuten a continuación. Un resultado de ello es que muchos de estos parámetros están relacionados entre sí. A menudo, puede ser necesario reducir el rendimiento en una medición, tales como velocidad de muestreo, con el fin de aumentar, como vida. En su conjunto, este conjunto de métricas forma un espacio multidimensional que puede ser utilizado para describir la capacidad de una red de sensores inalámbricos. Las capacidades de la plataforma están representados por un volumen de este espacio multidimensional que contiene todos los puntos de funcionamiento. A su vez, la implementación de la aplicación específica es representado por un único punto. La plataforma del sistema puede realizar correctamente la aplicación, si y sólo si los requisitos de la aplicación se encuentra dentro del hiperespacio capacidad. Uno de los objetivos de este capítulo es presentar una comprensión de los compromisos que cada uno de los ejes de este espacio y una comprensión de las capacidades. Las mejoras en la arquitectura y las optimizaciones que presentamos en los capítulos posteriores son motivados por un aumento de la capacidad para ofrecer estas capacidades y aumentar el volumen de la capacidad hypercube. 2.2.1 Vida esencial en cualquier red de sensores inalámbricos es el despliegue previsto de vida útil. El objetivo de la vigilancia del medio ambiente y la seguridad escenarios de aplicación es que los nodos situados en el campo, sin supervisión, por meses o años. El principal factor limitante para la vida de una red de sensores es el suministro de energía. Cada uno de los nodos debe estar diseñado para gestionar su oferta local de energía, a fin de aprovechar al máximo total de la red vida. En muchas implementaciones, no es la media vida nodo 18 que es importante, sino el mínimo y vida. En el caso de sistemas de seguridad inalámbricos, cada nodo debe durar varios años. Un error en un único nodo crearía una vulnerabilidad en los sistemas de seguridad. En algunas situaciones es posible que se pueda explotar energía externa, tal vez tocando en construir poder con algunos o todos los nodos. Sin embargo, uno de los principales beneficios de sistemas inalámbricos es la facilidad de la instalación. Que requieran de una alimentación que se suministran externamente a todos los nodos en gran medida anula esta ventaja. Hay un compromiso para un puñado de nodos especiales que están conectados a la construcción de infraestructura de energía. La mayoría de escenarios de aplicación, la mayoría de los nodos que se auto- alimenta. Ellos tendrán que contienen suficiente energía almacenada a durar años, o tendrán que ser capaces de barrido de energía desde el entorno a través de dispositivos, tales como las células solares o generadores piezoeléctricos [14, 15]. De estas dos opciones demanda que el consumo medio de energía de los nodos que sea lo más bajo posible. El factor más importante a la hora de determinar su vida de un suministro de energía consumo de energía es la radio. En un nodo sensor inalámbrico la radio consume una gran mayoría de la energía del sistema. Este consumo de energía se puede reducir mediante una disminución de la potencia de salida de una transmisión o por la disminución del radio ciclo de trabajo. Ambas de estas alternativas implican sacrificar otros parámetros del sistema. 2.2.2 Cobertura de la vigencia siguiente, la cobertura es la evaluación primaria métricas para una red inalámbrica. Siempre es conveniente que la capacidad para desplegar una red a través de un mayor espacio físico. Esto puede aumentar significativamente el sistema de valor para el usuario final. Es importante tener en cuenta que la cobertura de la red no es igual a la de los 19 enlaces de comunicación inalámbrica que se está usando. Multi-hop técnicas de comunicación pueden ampliar la cobertura de la red y más allá del alcance de la tecnología de la radio. En teoría tienen la capacidad de extender indefinidamente alcance de la red. Sin embargo, en un determinado rango de transmisión multi-hop protocolos de red aumentar el consumo de energía de los nodos, lo que puede disminuir la red vida. Además, requieren un mínimo de densidad nodo, lo cual podría aumentar el coste de implementación. Vinculado a la gama de la capacidad de la red para escalar a un gran número de nodos. La escalabilidad es un componente clave de la red de sensores inalámbricos proposición de valor. Un usuario puede utilizar una pequeña red de ensayo en primer lugar y, a continuación, puede agregar puntos de detección para recopilar más información y diferentes. El usuario debe estar seguro de que la tecnología de la red que se utiliza es capaz de escalar para satisfacer su necesidad. Aumentar el número de nodos del sistema va a tener un impacto en la vida o tasa efectiva de muestreo. Detección más puntos hará que más datos que se van a transmitir lo que incrementará el consumo de energía de la red. Esto puede ser contrarrestado por muestreo menos a menudo. 2.2.3 Costo y facilidad de implementación UNA de las principales ventajas de las redes inalámbricas de sensores es su facilidad de implementación. Los biólogos y los trabajadores de la construcción instalación de redes no pueden entender las redes y mecanismos de comunicación en el trabajo dentro de la red inalámbrica. Para implementaciones de sistema para que tenga éxito, la red de sensores inalámbricos debe configurar por sí mismo. Debe ser posible para los nodos que se coloca en el medio ambiente por una persona no capacitada y que el sistema simplemente trabajar. Idealmente, el sistema se configura automáticamente para cualquier posible nodo físico. Sin embargo, los sistemas reales debe colocar limitaciones a nodo real 20 ubicaciones - no es posible tener los nodos con infinita variedad. La red de sensores inalámbricos debe ser capaz de proporcionar información de cuando estas limitaciones son violados. La red debe ser capaz de evaluar la calidad de la implementación de la red e indicar los posibles problemas. Esto se traduce en que cada dispositivo es capaz de realizar enlace descubrimiento y determinar calidad de enlace. Además de la fase de configuración inicial, el sistema también debe adaptarse a los cambios en las condiciones ambientales. Durante toda la vida útil de una instalación, los nodos pueden ser reubicados o grandes objetos físicos pueden ser colocados de tal manera que interfieren con la comunicación entre dos nodos. La red debe ser capaz de configurar automáticamente sobre la demanda para poder tolerar estos hechos. El proceso inicial de implementación y configuración es sólo el primer paso en el ciclo de vida de la red. En el largo plazo, el coste total de propiedad de un sistema puede tener más que ver con el costo de mantenimiento de los costes de la implementación inicial. La aplicación de seguridad escenario en particular requiere que el sistema se extremadamente robusto. Además de una extensa prueba de software y hardware antes de su implementación, el sistema de sensores deben ser construidos de manera que es capaz de realizar una continua auto-mantenimiento. Cuando sea necesario, también debe ser capaz de generar las peticiones externas cuando es necesario realizar el mantenimiento. En una implementación real, una fracción de la energía total presupuesto deben estar dedicados a tareas de mantenimiento del sistema y la verificación. La generación de tráfico diagnóstico y reconfiguración reduce la red vida. También puede disminuir la frecuencia de muestreo. 21 2.2.4 Tiempo de respuesta sobre todo en nuestro escenario de la aplicación de alarma, tiempo de respuesta del sistema es un indicador de rendimiento. Una alarma debe señalar inmediatamente cuando se detecta una intrusión. A pesar de la baja de operación, los nodos deben ser capaces de producir inmediatos de alta prioridad los mensajes comunicados a través de la red lo más rápidamente posible. Si bien estos eventos será poco frecuentes, pueden ocurrir en cualquier momento sin previo aviso. Tiempo de respuesta también es fundamental cuando se utiliza el seguimiento ambiental de fábrica de máquinas y equipos. Muchos usuarios ven las redes inalámbricas de sensores como herramientas útiles para control de procesos industriales. Estos sistemas sólo se práctica garantías si el tiempo de respuesta. La capacidad de tener un bajo tiempo de respuesta los conflictos con muchas de las técnicas utilizadas para aumentar red vida. Red vida puede aumentar por tener nodos sólo funcionan sus radios por breves períodos de tiempo. Si un nodo sólo se enciende su radio una vez por minuto para transmitir y recibir datos, sería imposible satisfacer los requisitos de la aplicación para el tiempo de respuesta de un sistema de seguridad. Tiempo de respuesta puede ser mejorado incluyendo los nodos que están encendido todo el tiempo. Estos nodos pueden escuchar los mensajes de alarma y los transmitirá un recorrido troncal cuando sea necesario. Esto, sin embargo, reduce la facilidad de instalación del sistema. 2.2.5 Precisión Temporal en relación con el medio ambiente y seguimiento de las aplicaciones, las muestras de varios nodos deben correlacionar en tiempo a fin de determinar la naturaleza del fenómeno que se va a medir. La precisión necesaria correlación de este mecanismo dependerá de la velocidad de propagación de 22 el fenómeno que se está midiendo. En el caso de la determinación de la temperatura media de un edificio, las muestras deben estar correlacionado con sólo en cuestión de segundos. Sin embargo, para determinar la forma en que un edificio reacciona ante un evento sísmico, se requiere precisión milisegundo. Para lograr precisión temporal, una red debe ser capaz de construir y mantener una base de tiempo que se puede utilizar para ordenar cronológicamente las muestras y eventos. En un sistema distribuido, la energía debe ser utilizada para mantener esta distribuido reloj. Sincronización de tiempo información deberá estar continuamente comunicados entre los nodos. La frecuencia de los mensajes de sincronización depende de la precisión deseada del reloj de tiempo. La línea inferior es el mantenimiento de una base de tiempo requiere tanto de la energía y el ancho de banda. 2.2.6 Seguridad a pesar de la aparentemente inofensiva de carácter simple de la temperatura y la luz información de una aplicación de supervisión ambiental, mantiene esta información de forma segura puede ser sumamente importante. Patrones significativos y uso de la actividad puede ser fácilmente extraídos de una traza de temperatura y luz en un edificio de oficinas. En las manos equivocadas, esta información puede ser aprovechada para plan estratégico o ataque físico en una compañía. Las redes inalámbricas de sensores debe ser capaz de mantener la información privada que se están recopilando de escuchas. Ya que consideramos que las aplicaciones orientadas a la seguridad, la seguridad de los datos es incluso más importante. No sólo el sistema debe mantener la privacidad, pero también debe tener la capacidad para autenticar comunicaciones de datos. No debería ser posible establecer un falso mensaje de alarma o para reproducir un viejo mensaje de alarma como la actual. Una combinación de privacidad 23 y es necesaria la autenticación para atender a las necesidades de los tres escenarios. Además, no debería ser posible impedir el correcto funcionamiento de interferir con las señales transmitidas. Uso de la encriptación y autenticación criptográfica los costos tanto de la energía y el ancho de banda de la red [16, 17]. Computación Extra se debe realizar para cifrar y descifrar los datos y autenticación adicional bits debe transmitirse con cada paquete. Esto tiene un impacto rendimiento de las aplicaciones mediante la disminución de la cantidad de muestras que puede ser extraída de una determinada red red previsto y la vida. 2.2.7 Eficaz Tasa de muestreo en una red de recogida de datos, una tasa de muestreo es una aplicación principal indicador de rendimiento. Definimos el tipo efectivo de la muestra, la frecuencia de muestreo que datos del sensor se puede tomar en cada sensor individual y comunicarse a un punto de recogida en una red de recogida de datos. Afortunadamente, acopio de datos sobre el medio ambiente por lo general sólo demanda aplicaciones las frecuencias de muestreo de 1 a 2 muestras por minuto. Sin embargo, además de la velocidad de muestreo de un solo sensor, también debemos de considerar el impacto de la multi-hop arquitecturas de networking de nodos relé capacidad de los datos de los nodos. Recopilación de datos en un árbol, un nodo debe manejar los datos de todos sus descendientes. Si cada niño transmite una sola lectura de los sensores y un nodo dispone de un total de 60 descendientes, entonces se verá forzada a transmitir 60 veces la cantidad de datos. Además, debe ser capaz de recibir esos 60 lecturas en un solo período de muestreo. Esta multiplicación aumento en la comunicación de datos tiene un efecto significativo sobre los requisitos del sistema. Las tasas de bits Red combinada con máximo tamaño de la red terminan impactando en el efectivo por nodo tasa de muestreo del sistema completo [ 5]. 24 Un mecanismo eficaz para aumentar la frecuencia de muestreo más allá de la materia prima las capacidades de comunicación de la red es explotar en procesamiento de red. Diversas formas de compresión espacial y temporal puede ser utilizado para reducir el ancho de banda de comunicación necesarios mientras se mantiene la misma tasa de muestreo. Además almacenamiento local se puede utilizar para recoger y almacenar datos con una frecuencia de muestreo alta por períodos cortos de tiempo. En procesamiento de datos de la red se puede usar para determinar cuándo un "interesante" evento que se ha producido y almacenamiento de datos automáticamente. Los datos se pueden descargar a través de la red multi-hop como ancho de banda le permite. Activación es la forma más sencilla de procesamiento de red. Es comúnmente usado en los sistemas de seguridad. Efectivamente, cada sensor se muestrean continuamente, procesar, y sólo cuando una infracción de seguridad se ha producido los datos transmitidos a la estación base. Si no hubiera ningún cálculo local, un flujo continuo de sensor redundante las lecturas que hay que transmitir. Nos muestran cómo este mismo proceso se puede extender a los complejos eventos de detección. 2.3 Nodo Individual evaluación métrica Ahora que hemos establecido el conjunto de parámetros que se utilizarán para evaluar el desempeño de la red de sensores en su conjunto, podemos intentar vincular las métricas de rendimiento del sistema en el nodo individual características que los apoya. El objetivo final es comprender cómo los cambios en el sistema de bajo nivel impacto arquitectura rendimiento de la aplicación. Al igual que mediciones de aplicación son a menudo están relacionadas entre sí, vamos a ver que una mejora en un nodo de evaluación de nivel métrico (por ej., gama) a menudo se produce a expensas de otro (por ejemplo, alimentación). 25 2.3.1 Capacidad de atender a las múltiples necesidades de las aplicaciones de los nodos de sensores individuales deben ser increíblemente bajo consumo de energía. A diferencia de los teléfonos móviles, con consumo de energía promedio medido en cientos de miliamperios y multidía vida, el consumo medio de energía de los nodos de la red de sensores inalámbricos debe medirse en micro amperios. Este ultra-funcionamiento de bajo consumo sólo se puede lograr con la combinación de ambas de baja potencia bajo los componentes de hardware y ciclo de trabajo de técnicas de funcionamiento. Durante la actividad, comunicación por radio, constituyen una fracción significativa del nodo de presupuesto total de energía. Algoritmos y protocolos deben ser desarrollados para reducir la actividad siempre que sea posible. Esto se puede conseguir mediante computación localizada para reducir los flujos de datos que se genera por medio de sensores y protocolos específicos a través de la aplicación. Por ejemplo, eventos de varios nodos de sensores se pueden combinar entre sí por un grupo local de nodos antes de transmitir un resultado único en toda la red de sensores. El debate sobre las fuentes de energía de que disponemos muestran que un nodo debe consumir menos de 200 uA en promedio por un período de un año en un par de pilas AA. En contraste, el consumo de energía promedio de un teléfono celular es normalmente de más de 4000 uA, una diferencia 20 veces. 2.3.2 Flexibilidad La amplia gama de escenarios de uso se considera que el nodo arquitectura debe ser flexible y adaptable. Cada escenario de la aplicación va a exigir una mezcla ligeramente diferente de vida, tasa de muestreo, el tiempo de respuesta y de procesamiento de la red. Una red de sensores inalámbricos arquitectura debe ser lo suficientemente flexible como para adaptarse a una amplia 26 gama de comportamientos de la aplicación. Además, por razones de coste cada dispositivo tendrá sólo el hardware y el software que realmente necesita de una determinada aplicación. La arquitectura debe hacer que sea más fácil para el ensamblaje, el conjunto correcto de los componentes de hardware y software. Por lo tanto, estos dispositivos requieren un grado excepcional de modularidad del software y hardware y a la vez mantener la eficiencia. 2.3.3 Solidez a fin de apoyar la vida exige, cada nodo debe ser construido para ser tan robusta como sea posible. En una implementación típica, cientos de nodos tendrán que trabajar en armonía durante años. Para lograr esto, el sistema debe estar construido de forma que puede tolerar y adaptarse a cada nodo. Además, cada nodo debe estar diseñado para ser tan robusta como sea posible. Modularidad del Sistema es una herramienta muy potente que puede ser utilizado para desarrollar un sistema sólido. Funcionalidad del sistema, dividiendo en subpoblaciones aisladas, cada una de las funciones puede ser probado de manera aislada antes de combinarlos en una aplicación completa. Para facilitar este proceso, los componentes del sistema deben ser lo más independiente posible y cuentan con interfaces que son angostas, con el fin de evitar interacciones inesperadas. Además de la necesidad de aumentar la solidez del sistema de fallo de un nodo, una red de sensores inalámbricos también debe ser resistente a la interferencia externa. Como estas redes a menudo convivir con otros sistemas inalámbricos, necesitan la capacidad de adaptar su comportamiento en consecuencia. La robustez de enlaces inalámbricos de interferencias externas pueden ser mucho mayores mediante el uso de multi-canal y radio spread spectrum. Es común que las instalaciones de que los dispositivos inalámbricos que operan en uno o más frecuencias. El 27 capacidad para evitar las frecuencias es esencial para garantizar el éxito de la implementación. 2.3.4 Seguridad a fin de satisfacer los requisitos de seguridad a nivel aplicación, los nodos individuales deben ser capaces de realizar complejos algoritmos de autenticación y cifrado. Comunicación inalámbrica de datos es fácilmente susceptible de ser interceptado. La única manera de mantener los datos de estas redes privadas y auténtico es cifrar todas las transmisiones de datos. La CPU debe ser capaz de realizar las operaciones de cifrado, o con la ayuda de aceleradores criptográficos [ 16]. Además de asegurar todas las transmisiones de datos, los nodos deben garantizar la seguridad de los datos que contienen. Si bien no tienen grandes cantidades de datos de la aplicación almacena internamente, tendrán que guardar secretos claves de cifrado que se usan en la red. Si estas teclas se reveló, la seguridad de la red podría derrumbarse. Para dar una verdadera seguridad, debe ser difícil extraer las claves de cifrado de desde cualquier nodo. 2.3.5 Comunicación de la métrica clave de la evaluación de las redes de sensores inalámbricos es su velocidad de comunicación, el consumo de energía y su alcance. A pesar de que hemos hecho el argumento de que la cobertura de la red no está limitada por el alcance de transmisión de los nodos individuales, el rango de transmisión tiene un impacto significativo en el nodo densidad mínima aceptable. Si los nodos están demasiado lejos, es posible que no se pueda crear una red interconectada o uno con suficiente redundancia para mantener un alto nivel de fiabilidad. La mayoría de escenarios naturales tienen densidades nodo que se corresponden con las 28 granularidad de detección que se desee. Si el radio de comunicaciones exige un nodo superior densidad, nodos adicionales debe ser añadido al sistema para aumentar densidad nodo a un nivel tolerable. La velocidad de comunicación también ha tenido un impacto significativo en el nodo. Mayores velocidades de comunicación traducir en la capacidad para lograr una mayor eficacia las tasas de muestreo y menor consumo de alimentación de red. Aumento de las tasas de bits, las transmisiones tienen menos tiempo y, por lo tanto, potencialmente necesita menos energía. Sin embargo, el aumento de velocidad de bits radio es a menudo acompañada de un aumento de consumo de alimentación de la radio. Todas las cosas que, en igualdad de condiciones, una mayor velocidad de bits de transmisión se traducirá en un mayor rendimiento del sistema. Sin embargo, mostraremos más adelante que un aumento en la tasa de bits comunicación tiene un impacto significativo en el consumo de energía y requisitos informáticos del nodo. En total, los beneficios de un aumento de velocidad de bits puede ser compensada por otros varios factores. 2.3.6 Calcular las dos operaciones más exigentes en cuanto a capacidad de procesamiento de un nodo sensor inalámbrico son las de procesamiento de datos de la red y la gestión de la baja de protocolos de comunicación inalámbrica de nivel. Como se discute más adelante, hay tiempo real estricto requisitos relacionados con comunicación y los sensores. A medida que los datos se llega a través de la red, la CPU debe controlar de forma simultánea la radio y grabar y decodificar los datos entrantes. Mayores velocidades de comunicación requiere más rápido cálculo. Lo mismo es cierto para la transformación que se está llevando a cabo sobre datos de los sensores. Sensores Analógicos pueden generar miles de muestras por segundo. Las operaciones de tratamiento común del sensor incluir filtrado digital, media, detección umbral, la correlación y el análisis espectral. 29 Puede que sea necesario realizar una FFT en tiempo real de datos entrantes con el fin de detectar un evento de alto nivel. Además de poder local proceso, refinar y desechar las lecturas de los sensores, puede resultar beneficioso para combinar los datos con sensores vecinos antes de la transmisión a través de una red. Tan compleja onda sensor puede ser reducido a eventos clave, los resultados de varios nodos pueden ser sintetizadas. Este procesamiento de red requiere recursos informáticos adicionales. En nuestra experiencia, 2-4 MIPS de procesamiento son necesarias para implementar la comunicación por radio los protocolos que se utilizan en las redes inalámbricas de sensores. Más allá de eso, la aplicación procesamiento de datos puede consumir una cantidad arbitraria de cálculo en función de los cálculos que se realizan. 2.3.7 Sincronización de tiempo con el fin de apoyar tiempo lecturas del sensor y correlación baja ciclo de trabajo funcionamiento de nuestra aplicación de recopilación de datos, los nodos deben ser capaces de mantener sincronización temporal precisa con otros miembros de la red. Los nodos necesidad de dormir y despertar, de tal manera que pueden comunicarse periódicamente. Los errores en la distribución, crear ineficiencias que dan como resultado un mayor ciclos de trabajo. En sistemas distribuidos, deriva de relojes aparte con el tiempo debido a la imprecisión de cronometraje mecanismos. Dependiendo de la temperatura, voltaje, humedad, tiempo osciladores operan en frecuencias ligeramente diferentes. De alta precisión mecanismos de sincronización debe ser continuamente a compensar estas inexactitudes. 30 2.3.8 Tamaño y costo del tamaño físico y coste de cada nodo sensor tiene una repercusión importante y directa en la facilidad y el costo de implementación. Coste total de propiedad y la implantación inicial costo son dos de los principales factores que determinan la adopción de las tecnologías relacionadas con las redes inalámbricas de sensores. En redes de recopilación de datos, los investigadores a menudo se operan fuera de un presupuesto fijo. Su objetivo principal será la de recoger los datos de la mayor cantidad posible de puntos y sin exceder su presupuesto. La reducción de costes por nodo se traducirá en la capacidad de compra más nodos, implementar una red de colectores con mayor densidad y recopilar más datos. Tamaño físico también afecta a la facilidad de instalación de la red. Los nodos más pequeños se pueden colocar en más lugares y utilizado en más escenarios. En el nodo de escenario, de menor tamaño y menor costo los nodos se traducirá en la capacidad de seguimiento de más objetos. 2.4 Funciones de Hardware Ahora que hemos identificado las características fundamentales de un nodo sensor inalámbrico que podemos mirar en las capacidades de hardware moderno. Esto nos permite comprender qué tasa de bits, el consumo de energía, la memoria y con los costes que pueden esperar conseguir. Se debe mantener el equilibrio entre funcionalidad, consumo de energía y tamaño con el fin de atender de la mejor forma posible las necesidades de la aplicación. Esta sección proporciona una rápida descripción general de las tecnologías más modernas y el equilibrio entre las diferentes tecnologías. Empezamos con un fondo de energía tecnologías de almacenamiento y continuar a través de la radio, la CPU y los sensores. 31 2.4.1 Energía como el consumo de energía de los componentes del sistema se expresa a menudo en miliamperios, baterías en general han sido clasificados en miliamperios-hora (mAh). En teoría una 1000 mAh batería podría apoyar un procesador que consume 10 mA durante 100 horas. En la práctica esto no siempre es cierto. Debido a química de la batería, los niveles de corriente y voltaje varían en función de cómo la energía se extrae de la batería. Además, como las baterías de sus caídas de tensión. Si el sistema no es tolerante a una disminución de la tensión puede que no sea posible hacer uso de toda la capacidad nominal de la batería. Por ejemplo, una pila alcalina 1,5 V no se considera vacío por el fabricante hasta que se transmita sólo .8 V [ 18]. 2.4.1.1 Tecnologías de baterías comunes son tres tecnologías de baterías que son aplicables a las redes inalámbricas de sensores, alcalinas, litio, Níquel Metal Hidruro. Una batería alcalina AA tiene una potencia nominal de 1,5 V, pero durante la operación, que va desde 1,65 a 8 V como se muestra en la Figura 2-1 3 y tiene una capacidad nominal de 2850 mAh. Con un volumen de sólo 8,5 cm , tiene una densidad de energía de 3 aprox 1500 Julios/cm . Al mismo tiempo que proporciona un bajo costo y de alta capacidad, la fuente de energía, los principales inconvenientes de las pilas alcalinas son el amplio rango de tensión que debe ser tolerado, y su gran tamaño físico. Además, vida más allá de los 5 años no se puede conseguir porque de autodescarga de la batería. La vida útil de una batería alcalina es aproximadamente de 5 años. Las baterías de Litio proporcionan una increíble fuente de alimentación compacta. Los más pequeños las versiones son sólo unos pocos milímetros de diámetro. Además, proporcionan un voltaje constante Características de la batería de litio 32 curva de descarga de la batería alcalina curva de descarga energía Desnsity 4500 4000 3500 3000 2500 de litio CR2032 Litio Tadiran pilas alcalinas AA m/c J AA NiMH 2000 1500 1000 500 0 1 Figura 2-1: características de la batería de litio, alcalinas y pilas NiMH. Las características de la descarga de las baterías alcalinas hacen que sea esencial para el diseño de un sistema para tolerar una amplia gama de tensiones de entrada de suministro que decae poco ya que la batería está agotada. Los dispositivos que funcionan con baterías de litio no tienen que ser tan tolerante a los cambios de tensión como dispositivos que funcionan con pilas alcalinas. Además, al contrario de las pilas alcalinas, las pilas de litio son capaces de funcionar a temperaturas de hasta -40 oC. La más común es la pila de litio CR2032 3 [ 19]. Tiene una calificación de 3V, 255 mAh y vende por sólo 16 centavos. Con un volumen de 1 cm, y densidad de energía es de 2400 J/cm 3 . Además de las tradicionales baterías de litio, también hay pilas de litio Tadiran especializados que tienen densidades tan altas como 4000 J/cm 3 y tolerar un amplio rango de temperaturas. Uno de los inconvenientes de las baterías de litio es que a menudo tienen muy bajas corrientes de descarga nominal. UN D-tamaño de la celda Tadiran batería tiene una 33 corriente nominal de descarga de 3 mA. Esto se puede comparar con una pila alcalina AA de tasa nominal de descarga de 25 mA. Las baterías de hidruro de níquel-metal son la tercera mayor tipo de batería. Tienen la ventaja de ser fácilmente recargable. La desventaja de que las baterías recargables es una importante disminución de densidad de energía. Una batería de NiMH tamaño AA tiene aproximadamente la mitad de la densidad de energía de una pila alcalina en aproximadamente 5 veces el costo. Antes de considerar el uso de las baterías de NiMH es importante tener en cuenta que no sólo producen 1,2 V. porque muchos de los componentes del sistema requieren 2,7 voltios o más, que no es posible operar directamente de las baterías recargables. 2.4.1.2 Cálculo previsto para la vida aunque parece fácil con echar un vistazo rápido a la capacidad nominal de la batería, en comparación con el consumo de energía y sistemas calcular la vida útil del sistema, hay varios factores adicionales a considerar. En la búsqueda de sistemas reales, es importante examinar cómo fuentes de alimentación caries en el tiempo. La figura 2-1 muestra la tensión frente al tiempo parcela de una pila AA con buen drenaje a 500 megavatios (MW). El gráfico muestra que la batería rápidamente cae de los 1,5 V tensión de arranque y termina en .8 V. Si un sistema teórico fue construido con los componentes que requieren 2,7 V y consume 250 mW, que durarían sólo para 100 minutos de 2 baterías AA. Sin embargo, si los componentes del sistema eran seleccionados para operar fuera de las tensiones hacia abajo a 2.0 voltios, que durará aproximadamente 5 veces, siempre de la misma fuente de alimentación. UNA CPU aparentemente sin importancia los parámetros en un 5x diferencia de vida útil del sistema. 34 2.4.1.3 Regulación de tensión con el fin de evitar los problemas asociados con voltaje de la batería, regulación de tensión se pueden utilizar las técnicas. En general, los reguladores de voltaje en diferentes voltajes de entrada y producir un voltaje de salida constante. Los reguladores estándar requieren la tensión de entrada sea mayor que la tensión de salida deseado. Convertidores pueden aumentar las tensiones de salida que son más altos que la tensión de entrada. Hay dos grandes inconvenientes para el uso regulación de voltaje. La más obvia es el ineficiente proceso de conversión. Convertidores de tensión alta eficiencia puede presumir de las eficiencias de hasta el 90 %. Sin embargo, por lo general, estos son ajustados para sistemas consume cientos de ma. Las eficiencias caen drásticamente a medida que el consumo de corriente del sistema se reduce. En segundo lugar, la corriente estática consumo - o el consumo cuando no hay corriente de salida de los reguladores pueden ser relativamente altos. El consumo de corriente de un regulador estándar es de entre 15 y 50 uA. Si bien irrelevante en un sistema que consume cientos de ma, de ultra-dispositivos de baja potencia, este pequeño consumo de corriente puede dominar la utilización de la energía. Las ineficiencias asociadas con conversión de tensión y reglamento combinado con la alta variación de tensión de salida de las baterías alcalinas lo hace muy ventajoso para construir los nodos de sensores de componentes que son tolerantes a un amplio rango de tensión. Selección de los componentes que pueden operar en un rango de (2.1 -3.3V) puede significativamente mejorar el rendimiento del sistema. 35 2.4.1.4 Energía Renovable alternativa a depender de baterías con energía suficiente para durar por años, es utilizar fuentes renovables de energía. Las células solares de última generación puede producir hasta 10 mW por pulgada cuadrada a la luz directa del sol. Si se almacena correctamente, la energía recogida durante el día puede ser suficiente energía para toda la noche. En entornos de luz interior entre 10 y 100 uW por pulgada cuadrada puede ser producido en función del tipo de iluminación. Energía solar para escenarios de aplicación, la clave del éxito al aprovechamiento de la energía solar se encuentra en la capacidad de almacenar la energía. Moderno ultra-condensadores representan una opción para el almacenamiento de energía. Ultra condensadores de baja tensión condensadores que van entre 1 y 6 Faradios. Cuando se carga a 3 V, contiene energía suficiente como para enviar varios cientos de paquetes. Si bien es cierto que pueden ser acusados y vaciado fácilmente, uno de sus mayores inconvenientes es que tienen niveles de fugas internas de 20 a 50 uA cuando se carga a 3 V. En las operaciones bajo este ciclo de trabajo dominar rápidamente el consumo de energía de los nodos. Las baterías recargables también se puede utilizar para almacenar energía solar. Las baterías de NiMH puede ser cargado directamente por la filtración de una celda solar. Durante los períodos de luz solar, la energía puede ser transferida de nuevo lentamente a la batería. 66% De la energía en una batería de NiMH se convierte en energía útil almacenado [ 20]. Mientras que el proceso de carga inicial es menos eficiente que almacenar la energía en un ultra-cap, las baterías recargables tienen una menor tasa de descarga automática. Si la energía se va a utilizar durante varias horas, la menor tasa de descarga automática de carga superan a los ineficiencia. 36 2.4.1.5 Batería AA Idealizado en el resto de esta tesis que use un par de pilas AA ideal para estimar vida útil del sistema. La batería de la idealizada que se supone que la descarga de la batería de 1,6 V a 8 V en una forma lineal mientras que ofrece 2250 mA horas de carga. Usamos 20% menos que la capacidad nominal del AA para asegurar que nuestras estimaciones no son demasiado elevados. Utilizamos esta idealizada de la batería para generar un presupuesto energético y analizar el impacto de las alternativas arquitectónicas. Si suponemos que la red debe durar un año y que el sistema es capaz de funcionar a 2.0V, puede tener un consumo de energía promedio de sólo 192 uA (aproximadamente 500 uW). Esta corriente debe ser dividido en todos los componentes del sistema y funciones. Podemos tenga en cuenta esta cifra como seguimos para evaluar los componentes del sistema. 2.4.2 Subsistema de radio La radio es el sistema más importante de un nodo sensor inalámbrico ya que es el principal consumidor de energía de nuestros tres escenarios de aplicación. Moderno de baja potencia y corto alcance los transceptores consume entre 15 y 300 milivatios de potencia al enviar y recibir. Una observación clave de hardware es que baja potencia radios consumen aproximadamente la misma cantidad de energía en modo recibir o transmitir. Esta energía se consume si la radio está encendida, el tiempo es o no recibir datos reales. La potencia emitida por la antena sólo representa una pequeña fracción del consumo de energía del transceptor. Una fracción significativa de funcionamiento interno. Debido a esto, el costo total de comunicaciones de radio puede ser fácilmente dominado por el consumo de receptor - una métrica que a menudo se hace caso omiso en wireless estudios. 37 Además, si el receptor se deja en 100% del tiempo durante los períodos de comunicación intermitente, el receptor será el mayor consumidor de energía en el sistema. Mucha gente suele cometer el error de asumir que la recepción es gratuita. 2.4.2.1 Rango de transmisión el rango de transmisión de un sistema inalámbrico es controlada por varios factores clave. La forma más intuitiva es que factor de potencia de transmisión. Más energía de la señal, el más allá se debe viajar. La relación entre potencia de salida y la distancia recorrida es un polinomio con un exponente de entre 3 y 4 (sin línea de vista propagación) [ 21]. Por lo tanto para transmitir dos veces en lo que respecta a través de un medio ambiente interior, de 8 a 16 veces la cantidad de energía debe ser emitida. Otros factores en la determinación de la sensibilidad del receptor, la ganancia y la eficiencia de la antena y el mecanismo de codificación canal. En general, los nodos de la red inalámbrica de sensores no pueden explotar alta ganancia, las antenas direccionales debido a que requieren especiales de alineación y evitar ad-hoc las topologías de red. Antenas Omni-direccionales son los preferidos en las redes ad-hoc porque permiten que los nodos para comunicarse eficazmente en todas las direcciones. Tanto potencia de transmisión y sensibilidad del receptor se miden en dbm Receptor sensibilidad son típicos entre -85 y -110 dbm (La escala de dB es una escala logarítmica donde un 10 dB aumento representa un incremento de 10 veces en el poder. El punto de referencia de 0 dBm representa 1 milivatio, 1 vatio es de 30 dBm.) rango de transmisión aumenta se puede lograr ya sea por aumento de la sensibilidad o por aumento de la transmisión de potencia. Cuando se transmite a 0 dBm, la sensibilidad del receptor de -85 dBm tendrá como resultado un espacio al aire libre de 25-50 metros, mientras que una sensibilidad de -110 dBm tendrá como resultado una gama de 100 38 a 200 metros. El uso de una radio con una sensibilidad de -100 dBm en lugar de una radio de - 85 dBm le permitirá disminuir la potencia de transmisión por un factor de 30 y alcanzar el mismo rango. 2.4.2.2 Tipo de modulación una característica clave de cualquier dispositivo RF es el mecanismo de la modulación. Más información comunicarse por radio una modulación RF portadora. La modulación estándar son mecanismos modulación de amplitud y frecuencia modulada. Modulación de amplitud es el más fácil de codificar y decodificar, pero es el más susceptible al ruido. Debido a que los datos se codifican en la fuerza de la transmisión, ruido externo se añade a la señal. En contraste, la frecuencia de modulación basada es menos susceptible al ruido debido a que todos los datos se transmiten en el mismo nivel de potencia. 2.4.2.2.1 Frecuencia ágil radios transceptores más en el mercado en la actualidad utilizan un VCO (Oscilador controlado por tensión) radio arquitectura y tienen la capacidad de comunicarse en una variedad de frecuencias de portadora. Esto no sólo les da la posibilidad de ser robusta para señales interferentes, permite también la radio para cumplir con regulaciones FCC parte 15. En la banda 902-928 MHz, radios canal-hop a través de por lo menos 25 canales, con el fin de que puedan transmitir a una velocidad de hasta 250 mW o 24 dbm Si un solo canal se utiliza, la transmisión debe permanecer ligeramente por debajo de 1 milivatio. Una razón adicional para utilizar una frecuencia radial ágil es que permite el uso de FM o Frecuencia modulada en comunicación de datos. FM es más robusto a 39 interferencias y desvanecimiento de la modulación en AM más simple. Frecuencia fija radios están limitadas a la utilización de datos ESTOY en esquemas de codificación. 2.4.2.2.2 Frequency Hopping Spread Spectrum Para aumentar la capacidad de un sistema para tolerar injerencias externas, spread spectrum técnicas de transmisión puede ser utilizado. Espectro de difusión comunicación es una técnica que aumenta canal fiabilidad y tolerancia al ruido por difundir la señal que se comuniquen a través de una amplia gama de frecuencias. Una fuente de la interferencia puede dañar una pequeña parte de los datos, pero la mayoría de la información transmitida será recibido. Salto de Frecuencia (FH) es una forma común de spread spectrum. La frecuencia de la portadora es constantemente cambiado, basado en un algoritmo. En cada salto, los datos se transmiten en una sola frecuencia de la portadora, pero con el tiempo los datos se propagan por el espectro de frecuencias. Tiempos de espera - la duración cada canal se utiliza - rango de cientos de microsegundos a decenas de milisegundos. (.0001s- >.1s) El gran inconveniente de salto de frecuencia los sistemas cuando se aplica a las redes de sensores inalámbricos es la sobrecarga de mantener sincronización de canales y el esfuerzo por descubrir la actual secuencia de salto. Como nodos intentan descubrir unos a otros, hay que tratar de buscar todas las posibles ubicaciones de canales. Esta es una cara, mucho tiempo que no es compatible con las redes bajo ciclo de trabajo. Se puede ver cómo esto lleva al alto consumo de energía en dispositivos de Bluetooth. 2.4.2.2.3 Secuenciación Directa Spread Spectrum en contraste con salto de frecuencia sistemas, secuenciación directa spread spectrum radios comunicarse en una sola frecuencia de la portadora. En lugar de buscar los transportistas, la señal 40 que debe ser comunicada es directamente esparcidos en una amplia banda de frecuencias en multiplicar la señal por una tasa más alta secuencia pseudoaleatoria. Típico DSSS radios tienen difusión relaciones entre 15 y 100. Esto significa que la radio debe transmitir entre 15 y 100 veces más datos que en realidad es contenida en la señal. Durante la recepción, la señal recibida se pasa a través de un correlador que reconstruye la señal de entrada original. El principal inconveniente para el uso de DSS es la sobrecarga asociada con la propagación de códigos y el costo de la decorrelacion. Para lograr la misma tasa de bits como de radio estándar, la velocidad de transmisión debe ser aumentado en un 15x-100x. La tasa de bits aumento se traduce en un aumento de consumo de energía y de la disminución de sensibilidad del receptor. La disminución de la sensibilidad es compensada por la ganancia del proceso asociado a la correlación, lo ideal es comparable con un alcance de comunicación. 2.4.2.3 Consumo de energía a fin de ilustrar el consumo de energía de los modernos transceptores de baja potencia, simplemente describir las características de dos radios comerciales, el RF Monolithics TR1000 [ 22] y el Chipcon CC1000 [ 23]. El TR1000 radio consume 21 mW de energía cuando transmite a 0,75 megavatios. Durante la recepción, el TR1000 consume 15 mW y tiene una sensibilidad de recepción de -85 dbm En contraste, en tensión de alimentación óptima, el CC1000 consume 50 mW para transmitir a 3 mW y consume 20 mW para tener una sensibilidad de recepción de -105 dbm Cuando se transmite al mismo .75 mW como TR1000, el CC1000 consume 31,6 megavatios (MW). En la práctica TR1000 ofrece una al aire libre, la línea de comunicación del sitio alcance de hasta 300 pies en comparación a 900 pies de la CC1000. 41 Para poner estos números en perspectiva, podemos remitirnos a nuestro ideal de la batería AA. Idealizado en nuestra fuente de energía, el CC1000 puede transmitir durante unos 4 días seguidos o permanecer en el modo de recepción durante 9 días consecutivos. Con el fin de un año, el CC1000 debe operar a un ciclo de trabajo de aproximadamente 2 %. 2.4.2.4 Tasa de bits a diferencia de muchos alto rendimiento redes de datos, las redes inalámbricas de sensores no requieren altas tasas de bits. 10-100 Kbps de ancho de banda de la red es suficiente para muchas aplicaciones. Ancho de banda de radio tiene un impacto más significativo en el nodo consumo de energía y la vida que de posibilidades de aplicación. Aumento de las tasas de bits, disminuir tiempos de transmisión. Como el más alto consumidor de energía instantánea, es esencial que la radio permanece apagado en la medida de lo posible. Al aumentar la tasa de bits sin aumentar la cantidad de datos que se transmiten, la radio ciclo de trabajo disminuye. El CC1000 y el RFM TR1000 ofrecen tasas de bits de aproximadamente 100 Kb/s. 2.4.2.5 Tiempo de encendido para realizar un análisis de un radio de consumo de energía hay varios factores a considerar además del consumo máximo de energía. La capacidad de la radio para entrar y salir rápidamente baja potencia modo de reposo es sumamente importante para el funcionamiento eficaz de las redes de sensores inalámbricos. Todos los casos de uso supone que la radio sólo en forma ocasional. Antes y después de una transmisión, el tiempo y la energía debe estar dedicado a la configuración y puesta en marcha de la radio. Idealmente, este debe ser un medio rápido, barato, funcionamiento. Si un sistema tiene que reaccionar ante situaciones de emergencia en cuestión de segundos, la radio debe ser alimentado por lo menos una vez por segundo. 42 Si un radio de giro de de recibir más de un par de decenas de milisegundos, que rápidamente se torna imposible de alcanzar el necesario ciclos de menos de 1 por ciento. Cualquier cosa que vaya más allá de 5 ms de la hora sería inaceptable para la mayoría de las aplicaciones. Una de las desventajas de multi-channel radios que utilicen un VCO basado sintetizador de frecuencia es que la VCO debe estabilizarse antes de la transmisión o recepción. Además, el VCO es a menudo bloqueado en una alta frecuencia cristal que también debe estabilizarse. El CC1000 radio de Chipcon requiere 2 ms para el principal crystal para estabilizar y 200 dólares para la alta frecuencia VCO. En contraste, la RFM radio que utiliza una frecuencia fija filtro SAW puede ser encendido y listo para recibir en unos pocos cientos de microsegundos, más de diez veces más rápido. 2.4.3 Integración de microcontroladores Moderno procesador almacenamiento flash, RAM, convertidores analógico-digital y digital I/O en un único circuito integrado que cuestan entre $1 y $5. Su estrecha integración hace que sea ideal para su uso en sistemas embebidos como redes de sensores inalámbricos. Cuando se selecciona una familia de microcontroladores, algunos de los requisitos clave son consumo de energía, requisitos de voltaje, el costo, el apoyo de los periféricos y el número de componentes externos requeridos. 2.4.3.1 Consumo de energía eléctrica de microcontroladores varía mucho de una familia a otra. Estándar 8 o 16 bits microcontroladores .250 a consumir entre 2,5 mA por MHz. Esta diferencia entre 10x y bajo consumo de microcontroladores estándar puede tener un importante impacto 43 sobre el rendimiento del sistema. Aunque es evidente que la selección del controlador de energía más bajo es esencial, consumo máximo de energía no es la métrica más importante. Una segunda medición de potencia considerable para un microcontrolador es el consumo de energía en modo reposo. La CPU es un importante contribuyente a los nodos de consumo de energía en modo de espera. Durante los períodos de inactividad, la CPU se detiene la ejecución y entrar en un estado de suspensión de bajo consumo de energía. El procesador sólo necesita mantener su memoria y mantener sincronización de tiempo por lo que puede despertar cuando sea necesario. Consumo de corriente modo de reposo varía entre 1 uA [ 24] y 50 uA a través de las familias. A pesar de ser una diferencia de tan sólo unos pocos uA, este 50x variación puede tener un impacto más significativo en el nodo de las diferencias en miliamperios consumo máximo de energía. Esto es debido a que la CPU se espera que sea inactivo 99,9 % del tiempo. Un microcontrolador que burns 50 uA en el modo de suspensión tendrá una duración máxima de 4 años en nuestra fuente de alimentación ideal aunque nunca lo abandona el modo de suspensión. En contraste, la vida de un controlador que consume 1 uA en modo de reposo será completamente dominado por la libre descarga de la batería y consumo de energía activa. 2.4.3.2 Wake-up tiempo además de el consumo de corriente en modo de reposo, los requisitos para la transición para entrar y salir los modos de suspensión son igualmente importantes. Algunos microcontroladores requieren de más de 10 ms para introducir y reanudar desde el estado de reposo. En contraste, algunos controladores han wake-up de tan sólo 6 veces. El wake-up retardo se utiliza para iniciar y estabilizar el sistema relojes. Cuanto más rápido el controlador puede entrar y salir del estado de baja potencia, el más a menudo el estado de sueño se pueden usar y el más sensible el nodo. 44 Con una rápida hora de despertarse, no es necesario permanecer despierto por cortos periodos de inactividad. Por ejemplo, durante una transmisión de mensaje, el controlador puede entrar en el modo de reposo entre cada bit de la transmisión. Esto puede reducir el consumo de corriente activa efectiva del controlador. Incluso en el 9600 bps velocidad de comunicación, 1 ms tiempo de dormir hace que la introducción de la modo de reposo entre cada bit es imposible. 2.4.3.3 Requisitos de voltaje el rango de tensión de funcionamiento de un microcontrolador de baja potencia también pueden tener un impacto significativo en el rendimiento del sistema. Tradicional de microcontroladores de bajo voltaje operan entre 2,7 V y 3,3 V. Sin embargo, las nuevas generaciones de bajo consumo de energía son controladores que funcionan por debajo de 1,8 V. Como se ha comentado en nuestro análisis de las fuentes de energía, una amplia tolerancia de tensión permite a los dispositivos para ser más eficiente de pilas alcalinas. 2.4.3.4 Velocidad Las principales funciones del microcontrolador son para ejecutar los protocolos de comunicación, controlar la radio, realizar cifrado de los datos, interactuar con sensores y realizar procesamiento de datos. La mayoría de estas operaciones lugar relativamente bajo las exigencias de la velocidad de la unidad de control. Diseños actuales exigen velocidades de CPU entre 1 y 4 Mhz Esta gama es compatible con la mayoría de microcontroladores en el mercado hoy en día. La mayoría de los controladores son totalmente estático con la capacidad de conducir entre 0 y 8 Mhz Una de las características de varias de las familias es la capacidad de cambiar dinámicamente la frecuencia de funcionamiento. Sin embargo, el CMOS consumo obedece a la ecuación 45 "P=C 2V F". Esta relación indica que el consumo de energía del controlador se escala linealmente con la frecuencia. Sin embargo, el tiempo de ejecución es inversamente proporcional a la frecuencia. El impacto del cambio de la frecuencia es insignificante, porque esto está compensado por el cambio en tiempo de ejecución por lo que no hay cambio en el uso de energía. Si se utilizan técnicas para poder entrar bajo los estados de sueño no hay una ventaja significativa a reducir o aumentar la velocidad de la CPU. La variable crítica para determinar la velocidad computacional necesaria para un nodo sensor inalámbrico es la cantidad de análisis de datos y de procesamiento de la red que debe llevarse a cabo. La CPU debe ser capaz de responder a la realidad de los plazos exigidos por el procesamiento de los datos. 2.4.3.5 Memoria En general, los nodos de sensores sólo requieren pequeñas cantidades de memoria de almacenamiento y programa. Los datos que se almacenan son únicamente durante un plazo suficiente para que pueda ser analizado y, a continuación, se transmiten a través de la red a la estación base. En general, las modernas basadas en memoria flash microcontroladores contener entre 1 y 128 KB de chip de almacenamiento de programa. Esto puede ser utilizado como memoria del programa y como almacenamiento temporal de datos. Además, contienen entre 128 y 32 KB de ram de datos que pueden ser utilizados para la ejecución del programa. Moderna tecnología flash actualmente produce memoria densidades de almacenamiento hacia arriba de 150 KB por milímetro cuadrado en un .25 micras proceso [ 25]. Este es significativamente superior al de Intel densidad SRAM registro reciente de 60 KB por milímetro cuadrado mediante un proceso de 90 nm [ 26]. Mientras que en la actualidad sólo se pueden alcanzar densidades de almacenamiento de los chips que se dedican a realizar una función específica, podemos concluir que no hay 46 un importante densidad de memoria flash más ventaja de SRAM. Con el fin de lograr los más pequeños, menor costo, SRAM debe utilizarse sólo cuando sea necesario. Además de considerar el tamaño impacto de flash vs. SRAM, sino que también deberíamos considerar el impacto energético. SRAM requiere más energía para mantener los datos a lo largo del tiempo, pero que no requiere de mucha energía para la operación de almacenamiento inicial. Flash, por otro lado, es una tecnología de almacenamiento persistente que no requiere energía para mantener los datos. Por el contrario, AMD chips SRAM requieren 2188 na por megabit para la retención de datos [ 25]. Sin embargo, una operación de escritura requiere flash 4 nos .07 completa en comparación con nosotros para SRAM - el consumo 15 mA. Si los datos se va a almacenar durante largos períodos de tiempo es más eficiente usar flash en vez de SRAM. Sin embargo, en el caso de operación de almacenamiento para superar el costo de realizar la operación de escritura flash debe ser almacenada por lo menos 7.6 horas. Más corta y el costo inicial de almacenamiento no es compensada por la reducción del coste de mantenimiento. 2.4.3.6 Compatibilidad con periféricos además de almacenamiento y computación, microcontroladores están específicamente diseñados para interactuar con dispositivos externos. Microcontroladores en general contienen una colección de interfaces externas especializadas. Estos van desde digitales de uso general las patillas de E/S digital de comunicación para interactuar con entradas y salidas analógicas. Estándar digital I/O líneas se incluirán en todos los controladores de la interfaz de línea base . Sin embargo, para interactuar directamente con los sensores analógicos muchos controladores internos tienen un convertidor analógico a digital. Un convertidor interno permite un control exacto de la muestra distribución y fácil acceso a los resultados de la muestra. Si no está presente, un convertidor externo debe ser utilizado. 47 Las interfaces de comunicación digital entran en juego en la interacción con los sensores digitales, chips otros periféricos, o de comunicaciones en serie a través de una radio o RS-232 transceptor. Hay 3 protocolos de comunicación estándar compatible con primitivas de comunicación digital: UART, I2C y SPI. Tanto el I2C y SPI uso sincrónico con protocolos explícitos mientras que las señales de reloj UART proporciona un mecanismo asíncrono. 2.4.4 Sensores en la pasada década se ha visto una explosión en el senor tecnología. En la actualidad hay miles de posibles sensores listo para ser conectado a una red inalámbrica de sensores. Además, los avances en los MEMS y nano-tubos de carbono tecnología son prometedores para crear una amplia gama de nuevos sensores. Que van desde la simple luz y temperatura sensores de monitoreo digital complejo de narices. La figura 2-2 presenta una colección de micro-sensores y sus características principales. 2.4.4.1 Interfaces existen dos métodos generales para la interfaz con los sensores que pueden ser utilizados comúnmente en el sensor los sensores discretos mañas Hora Actual muestra tensión Requiremet Fabricante Foto 1,9 mA 330 us 2,7 -5,5 V Taos Temperatura 1 mA 400 mS 2,5 -5,5 V Dallas Semiconductor Humitidy 550 uA 300 mS 2,4 -5,5 V Sensirion Presión 1 mA 35 ms 2.2V-3.6V Intersema Campos Magnéticos 4 mA 30 De Honeywell nos aceleración 2 mA 10 mS 2,5 -3,3 V Analog Devices Acústica 1 .5 mA mS 2-10 V Panasonic Humo 5 uA - 6-12 V Motorola infrarrojos pasivo (Movimiento) 0 mA 1 mS Cualquier Melixis Luz fotosintética 0 mA 1 mS Cualquier Li-Cor Humedad del Suelo 2 mA 10 mS 2-5 V Ech2o Figura 2-2: consumo de energía y la capacidad de Comúnmente disponibles. Redes 48: analógico y digital. Los sensores analógicos por lo general proporcionan una materia prima tensión analógica que se corresponde con los fenómenos físicos que se están midiendo. Por lo general, estos producen una onda continua que debe ser digitalizado, que se analizan. Aunque aparentemente sencillo de integrar, materia prima sensores analógicos a menudo requieren calibración externa y la linealización. Es común que el sensor de respuesta lineal a estímulos. El controlador de host debe compensar con el fin de producir una lectura en unidades significativas. Por ejemplo, una lectura cruda de 1,873 voltios de un acelerómetro se debe traducir en una aceleración. Dependiendo de las características del sensor, éste puede ser un proceso complejo. En muchos casos, la traducción puede depender de otros factores externos tales como la temperatura, la presión o tensión de entrada. Una segunda dificultad de interacción con la materia prima que los sensores analógicos de escala. Cada sensor se tienen diferentes plazos y escalas de tensión. La tensión de salida se contienen por lo general un offset de dc junto con una señal variable en el tiempo. En función de la relación de la señal de componente DC, una amplia gama de amplificadores y filtros puede ser necesario para que coincida con la salida del sensor a la gama y fidelidad de la ADC está utilizando para capturar. Los sensores digitales han sido desarrollados para eliminar muchas de estas dificultades. Que internamente contienen una materia prima sensor analógico pero proporcionan una limpia interfaz digital. Todo exigía una compensación y la linealización se realiza internamente. El resultado es una lectura digital a una escala adecuada. La interfaz de estos sensores es a través de uno de un puñado de chip a chip protocolos de comunicación. 2.4.4.2 Tasas de muestreo y de los tiempos de espera en el consumo de energía de un sensor, uno de los factores más importantes es la rapidez con la que un sensor puede estar activado, muestra y discapacitados. En la mayoría de los casos 49 sensores son capaces de producir miles de muestras por segundo. Sin embargo, en general, estamos interesados únicamente en unas pocas muestras por minuto. Es esencial que el sensor es capaz de entrar y salir de un estado de bajo consumo de energía rápidamente. El consumo de energía de un sensor es igualmente dependiente de la cantidad de tiempo que se tarda en leer el sensor como lo es para el consumo de corriente. Por ejemplo, si un sensor toma 100 ms para activar y generar una lectura y consume sólo 1 mA a 3 V, va a costar 300 uj por muestra. Esta es la misma cantidad de energía que un sensor que consume 1000 mA de corriente de 3 V, pero se realiza en sólo 100 us para encender y de la muestra. 2.4.4.3 Requisitos de voltaje UNA aparentemente de baja potencia, fácil a la interfaz del sensor puede convertirse rápidamente en una de las principales molestias si sus requisitos de voltaje no coinciden con las capacidades del sistema. Algunos de los sensores que + /- 6 V. Especial convertidores de tensión y los reguladores han de añadirse a los sistemas que operan fuera de AA o baterías de litio a fin de utilizar este sensor. El consumo de energía y de los tiempos de la regulación y de la conversión circuitos deben ser incluidos en el presupuesto energético total para el sensor. 2,5 Punto Rene Diseño ahora que nos han proporcionado un contexto de capacidades de hardware, se presenta una plataforma de sensores en red de referencia. El Rene diseño se utiliza como un punto de comparación para evaluar la arquitectura más avanzada desarrollada a lo largo de los capítulos siguientes. Una fotografía de la Rene hardware incluido sensor y la programación aparecen juntas en la Figura 2-3. Consta de un microcontrolador con memoria de programa flash interna, SRAM de datos y EEPROM de datos, conectado a un conjunto de actuador y sensor 50 dispositivos, incluyendo LEDs, un radio de baja potencia transceptor, un sensor de temperatura digital, un puerto serie y un pequeño coprocesador y un conector de E/S que permite una serie de sensores que se adjunta. El diseño básico se basa en el weC mote, pero fue rediseñado para servir como una plataforma experimental y de la evolución. Las modificaciones incluyen un rico conector de interfaz que permite apilar sensor y tableros de potencia. Esta adelantado para la aplicación específica del sensor y tableros de potencia. 2.5.1.1 CPU El procesador en el Rene plataforma es el ATMEL 90LS8535 [ 27]. Es un 8 bits arquitectura Harvard con 16 bits. Proporciona 32 8 bits registros de propósito general y funciona a 4 MHz y 3,0 V. El sistema es muy limitadas en memoria: dispone de 8 KB de memoria flash, la memoria del programa y 512 bytes de SRAM en la memoria de datos. El MCU se ha diseñado de tal forma que un procesador no puede escribir a la instrucción memoria; nuestro prototipo utiliza un coprocesador para realizar esa función. Además, el procesador se integra una serie de temporizadores y contadores que se pueden configurar para generar interrupciones a intervalos de tiempo regulares. En conjunción con un cristal externo 32 KHz, los contadores se pueden utilizar para mantener tiempo preciso. Además, también contiene un interno del convertidor analógico a digital para leer entradas de sensor analógico. 2.5.1.2 Almacenamiento 51 Figura 2-3: Imágenes de la Rene plataforma red de sensores inalámbricos. Además del almacenamiento contenida dentro del microcontrolador principal, el Rene plataforma de hardware también contiene una EEPROM externa capaz de mantener 32 kilobytes de datos. Esto se puede usar temporalmente para registrar las lecturas de los sensores o para actuar como almacenamiento de programas adicionales. La CPU interactúa con la EPROM a través de un cable I2C [ 28] datos bus de comunicación. El bus I2C es un mecanismo de comunicación estándar en sistemas embebidos. La arquitectura de bus permite que una colección de 8 periféricos a ser controlada por un solo maestro a través de dos líneas de comunicación y una conexión a tierra. 2.5.1.3 Subsistema DE RF La radio es el componente más importante. Se compone de una RF Monolithics 916,50 MHz transceptor (TR1000) [ 22], la antena, y una colección de componentes discretos para configurar la capa física características como potencia de la señal y la sensibilidad. Tal como se ha configurado, funciona en un modo de clave a una velocidad de hasta 19,2 Kbps, pero es sólo a 10 Kb/s. Las señales de Control configurar la radio para que funcione en transmitir, recibir o modo de apagado. La radio no contiene el almacenamiento en búfer para cada bit debe ser 52 atendidos por el controlador de tiempo. Además, el valor no es transmitido por la radio enganchado, de modo que la fluctuación en la entrada de radio se propaga en la señal transmitida. 2.5.1.4 UN Coprocesador coprocesador está incluido en la plataforma para ayudar en la reprogramación. En este caso, se trata de un controlador muy limitada (A90LS2343 [ 29], con 2 KB instrucciones memoria flash, 128 bytes de SRAM y EEPROM) que utiliza pines de E/S conectados a un controlador de SPI. SPI es un enlace de datos serie síncrono de alta velocidad, conexiones full duplex (hasta 1 Mbit) entre diversos periféricos. El coprocesador está conectado de una manera que le permite programar el microcontrolador principal. El nodo sensor puede ser reprogramado mediante la transferencia de datos de la red en la EEPROM externa. A continuación, el coprocesador puede restablecer el controlador principal y reprogramar con el nuevo programa. Esto es necesario porque la CPU principal no puede programar su propia memoria. 2.5.1.5 Interfaz de E/S led representan tres salidas analógicas conectadas a través de un general puerto de E/S; pueden ser utilizadas para mostrar los valores digitales o el estado. Una foto-sensor representa un dispositivo de entrada analógica con simples líneas de mando. En este caso, una línea de control activa y desactiva el sensor, reduciendo el consumo de energía a través de la foto de resistencias cuando no está en uso. La señal de entrada se pueden dirigir a la ADC interno muestra en forma continua o modos. 2.5.2 Características de la Potencia base A908535 microcontrolador consume sólo 5 mA, cuando funciona a 4 Mhz Además, tiene dos estados de bajo consumo de energía - inactivo y dormir. Cuando en el estado de reposo, el controlador 53 consume sólo 3 mA. El estado inactivo se puede ingresar y salir con una sola instrucción pena, lo que lo convierte en una herramienta útil para breves periodos de inactividad entre los cálculos. En contraste, el sueño estado consume sólo 10 uA de la corriente, pero requiere de 2 milisegundos de entrar y salir. El estado de reposo sólo puede utilizarse en conjunción con la desactivación de la radio. La anchura mínima del impulso de la RFM radio es de 52 us. Así, en 3V y 7 mA, toma 1.1 uj de energía para transmitir un solo bit. Por otra parte, cuesta aproximadamente 0,5 uj a recibir un poco. Durante este tiempo, el procesador puede ejecutar 208 ciclos (aproximadamente 100 instrucciones) y pueden consumir hasta 8 uj. Una fracción de este recuento de instrucciones se dedica a nivel de bits. El resto puede ir a un nivel superior (nivel de bytes, a nivel paquete, nivel de aplicación) amortizada en varios tiempos de bit. Tiempo no utilizado puede ser utilizado en modo de apagado o en proceso de la aplicación. Mientras escucha las comunicaciones entrantes, la radio continuamente consumen 5 mA independientemente de lo que se recibe. Además, la CPU debe buscar activamente el flujo de bits entrantes para una transmisión válida. La CPU estará continuamente encendido entre sus 3 mA estado inactivo y sus 5 mA activo. Debido a que la CPU debe inspeccionar cada llegar poco, no es posible introducir un modo de inactividad de baja energía mientras se realiza la exploración para el inicio de un paquete. Incluso si hacemos caso omiso de los consumo de potencia activa, el nodo se consume aproximadamente 8 mA para buscar datos válidos. 2.6 Refinado Declaración Del Problema Los posibles escenarios de uso de las redes inalámbricas de sensores son innumerables. Con el fin de reducir el espacio de problemas, hemos optado por centrar la atención en tres diferentes escenarios de aplicación que creemos son representativos de una gran parte de las posibilidades de las aplicaciones. Estos tres escenarios, acopio de datos sobre el medio ambiente, vigilancia, seguimiento y el nodo 54 - nos permiten extraer la evaluación métrica que puede utilizarse para medir el rendimiento de una red de sensores inalámbricos. Estos sistemas de evaluación a nivel de métricas que han profundizado en la capacidad de los nodos individuales que van a contar con nuestro apoyo. Nuestro objetivo es el de desarrollar un nodo sensor inalámbrico arquitectura que aborda el nodo de los requisitos de nivel que nos hemos planteado. En la búsqueda de varias de las medidas a nivel de sistema, es evidente que debe haber un equilibrio entre el rango obtenido, velocidad de bits, el ciclo de servicio y consumo de energía con el fin de crear un sistema que cumple con los requisitos de rendimiento y vida útil. Desarrollar una arquitectura nodo generalizado y evaluar en profundidad a través de una serie de instancias en puntos que van desde tecnología estándar de integraciones personalizadas a un ASIC. En el próximo capítulo vamos a mirar en la arquitectura de software que desempeña un papel crítico en la realización de las capacidades del sistema. Mientras que a menudo se los pasa por alto, el subsistema software es tan importante un rollo como cualquier radio, el procesador o la batería. El sistema operativo TinyOS presentó una concurrencia y mecanismos de flexibilidad que permiten el desarrollo de un nodo sensor inalámbrico generalizado que arquitectura es sustancialmente diferente de los tradicionales dispositivos inalámbricos. 55 Capítulo 3: Arquitectura de software de sensores inalámbricos un paso crítico para lograr la visión de las redes de sensores inalámbricos es el diseño de una arquitectura de software que sirve de puente entre la materia prima y las capacidades de hardware un sistema completo. Las exigencias que se imponen en el software de las redes inalámbricas de sensores son numerosas. Debe ser eficaz en términos de memoria, procesador, y el poder, para así que cumple los estrictos requisitos de la aplicación. También debe ser lo suficientemente ágil para permitir que varias aplicaciones simultáneamente usan los recursos del sistema tales como la comunicación, el cómputo y la memoria. La extrema las limitaciones de estos dispositivos hacen que no sea práctico para utilizar sistemas heredados. TinyOS está diseñado expresamente para los sensores conectados en red. TinyOS se basa en gran medida de los anteriores trabajos arquitectónicos en ligero soporte para hilos y eficiente las interfaces de red. TinyOS incluidos en la arquitectura del sistema es un sistema de comunicación mensajes activos. Creemos que es fundamental colocar entre el evento de red y aplicaciones de sensores basados en eventos la primitivas de los mensajes activos modelo de comunicación. En el trabajo con redes inalámbricas de sensores, surgen dos cuestiones: estos dispositivos concurrencia intensivo - diferentes flujos de datos deben estar en movimiento al mismo tiempo, y el sistema debe ofrecer una modularidad: hardware y componentes específicos de aplicación debe encajar junto con poco procesamiento y el almacenamiento. Frente a esos dos problemas en el contexto de la red actual de la tecnología y 56 pequeñas OS roscados. Análisis de esta solución proporciona una valiosa orientación inicial para innovación en la arquitectura. 3.1 Pequeña Microthreading Sistema Operativo (TinyOS) Pequeño tamaño físico, carga modesta potencia activa, y micro en espera se carga de energía debe ser proporcionada por el diseño de hardware. Sin embargo, un sistema operativo marco es necesario que se conserve estas características mediante la gestión eficaz las capacidades del hardware, mientras que soportar concurrencia de obra de una manera que logre la modularidad eficiente y de gran robustez. Los actuales dispositivos integrados sistemas operativos no cumplen con el tamaño, el poder y los requisitos de eficiencia este régimen. Estos requisitos son sorprendentemente similares a la construcción de interfaces de red eficiente, que también deben mantener un gran número de flujos concurrentes y a hacer malabarismos con numerosos acontecimientos sobresalientes [ 30]. En las tarjetas de interfaz de red, estas cuestiones han sido abordadas a través de los paralelismo [ 31] y las máquinas virtuales [ 32]. Le hacemos frente mediante la construcción de un motor muy eficiente el subprocesamiento múltiple. Como en el TAM [ 32] y CILK [ 33], TinyOS mantiene un nivel de estructura programación, por lo que una pequeña cantidad de proceso asociado con eventos de hardware se puede realizar inmediatamente mientras que las tareas que se están ejecutando interrumpido. El modelo de ejecución es similar a los modelos máquina de estado finito, pero mucho más programables. TinyOS está diseñada a escala con las actuales tendencias de la tecnología de las dos más pequeñas, integrado a la perfección los diseños, así como el cruce de los componentes de software en hardware. Esto es en contraste con las nociones tradicionales de escalabilidad que se centran en la ampliación de potencia total/recursos/trabajo para un determinado paradigma de computación. Es esencial que el software arquitectura 57 los planes para la posible integración de sensores, el tratamiento y la comunicación. A fin de que la visión de un solo chip de bajo costo nodo sensor TinyOS, combina un modelo de ejecución altamente eficiente, modelo de componentes y mecanismos de comunicación. TinyOS 3.2 Modelo de ejecución para proporcionar los niveles extremos de eficiencia operativa necesaria en las redes inalámbricas de sensores, TinyOS utiliza ejecución basada en eventos. El modelo de eventos permite un alto nivel de concurrencia que se manejan en una cantidad muy pequeña del espacio. En contraste, un subproceso enfoque requiere que espacio de pila se pre-asignados para cada contexto de ejecución. Además, el cambio de contexto de sistemas de roscado es significativamente más altos que los de un evento de sistema base. Cambio de contexto tasas tan altas como interruptores 40.000 por segundo son necesarios para el procesamiento de banda base de 19,2 Kbps velocidad de comunicación. Este es el doble cada 50 us, una vez el servicio de la radio y una vez para realizar cualquier otro tipo de trabajo. La eficacia de un régimen basado en eventos se presta a estos requisitos. 3.2.1 Programación basada en eventos en un caso, un solo contexto de ejecución es compartida entre las tareas de procesamiento independientes. En TinyOS, cada módulo del sistema está diseñado para funcionar en forma continua en respuesta a eventos de entrada. Cuando llega un evento que se lleva el necesario contexto de ejecución de la misma. Cuando el evento se ha completado el procesamiento, es devuelto al sistema. Los investigadores en el área de la informática de alto rendimiento también se han visto ese evento 58 programación debe ser utilizado para lograr un alto rendimiento en aplicaciones que requieren concurrencia [34, 35]. Además de eficaz asignación de CPU, el evento de diseño basado en resultados funcionamiento de bajo consumo de energía. Una de las claves para reducir consumo de energía es identificar cuando no hay trabajo útil para llevar a cabo y para introducir un ultra-estado de bajo consumo. Caso de sistemas basados en las aplicaciones de fuerza declarar implícitamente cuando se termine de usar la CPU. TinyOS en todas las tareas relacionadas con un evento son manejadas rápidamente después de cada evento se señaliza. Cuando un evento y todas las tareas se procesó por completo, sin utilizar ciclos de CPU gastados en el estado de reposo, a diferencia de busca activamente para el próximo evento muy interesante. Eliminar bloqueos y evita que las mesas actividad de la CPU. 3.2.2 Funciones de un factor limitante de un programa basado en eventos es que desde hace mucho tiempo los cálculos pueden interrumpir la ejecución de otro momento subsistemas críticos. Si un evento se completa nunca, todas las otras funciones del sistema se detendría. Para permitir que computación, TinyOS ofrece un mecanismo de ejecución llamadas tareas. Una tarea es un contexto de ejecución que va a terminar en el fondo sin interferir con otros eventos del sistema. Las tareas se pueden programar en cualquier momento, pero no se ejecutará hasta que eventos pendientes se ha completado. Además, las tareas pueden ser interrumpidas por de bajo nivel eventos del sistema. Las tareas le permiten calcular cuánto se ejecuta en segundo plano mientras el sistema evento continúa el proceso. Programación de tareas actualmente se realiza mediante una sencilla programación PEPS cola. Si bien es posible aplicar de manera eficiente las tareas de programación de prioridad, es raro 59 tienen varias tareas pendientes. Una cola PEPS ha demostrado ser adecuado para todas las aplicaciones escenarios hemos intentado hasta la fecha. 3.2.3 Atomicidad además de proporcionar un mecanismo de cálculo de larga duración, el primitivo TinyOS tarea también dispone de un elegante mecanismo para crear mutuamente excluyentes las secciones de código. En interrumpir programación, condiciones de carrera datos crear errores que son difíciles de detectar. En TinyOS, el código que se ejecuta dentro de una tarea está garantizada a ejecutar hasta el final sin ser interrumpido por otras tareas. Esta garantía significa que todas las tareas son atómicas con respecto a otras tareas y elimina la posibilidad de condiciones de carrera entre las tareas. Nivel bajo de los componentes del sistema deben hacer frente a las complejidades asociadas con reentrada, interrumpir código con el fin de atender a sus estrictos requisitos de tiempo real. Normalmente, sólo se realizan operaciones simples en el nivel de interrupción para integrar los datos de cálculo. Las aplicaciones pueden utilizar las tareas para garantizar que todos los datos se produce alguna modificación forma atomizada cuando se ve en el contexto de otras tareas. TinyOS 3.3 Modelo de componentes además de utilizar el altamente eficiente basado en eventos y ejecución, TinyOS también incluye un modelo de componentes especialmente diseñados para la modularidad y altamente eficaz composición sencilla. Un eficiente modelo de componentes es esencial para los sistemas integrados para aumentar la confiabilidad sin sacrificar el rendimiento. El modelo de componentes permite a un desarrollador de aplicaciones para ser capaz de combinar fácilmente los componentes por separado en una configuración específica de la aplicación. 60 Aplicaciones de enrutamiento Ad hoc aplicación activa de mensajes Mensajes packet Radio Packet Paquete serie UART SOFTWARE byte byte foto Radio relojes HARDWARE poco RFM Figura 3-1: gráfica de componentes de un multi-hop sensing application. En TinyOS, cada uno de los módulos se define por el conjunto de comandos y eventos que componen su interfaz. A su vez, una completa especificación del sistema es un listado de los componentes que incluyen además de una especificación de la interconexión entre los componentes. El componente TinyOS tiene cuatro partes interrelacionadas: un conjunto de controladores de comando, un conjunto de controladores de eventos, una trama de datos privados encapsulados y un paquete de tareas simples. Las tareas, los comandos y controladores de eventos ejecutan en el contexto de la trama y operar en su estado. Para facilitar la modularidad, cada componente también se declara los comandos que utiliza y los acontecimientos que las señales. Estas declaraciones se utilizan para facilitar el proceso de composición. Como se muestra en la Figura 3-1, composición crea un gráfico de componentes en alto nivel componentes emitir una serie de comandos para los componentes de niveles inferiores y los componentes de niveles inferiores de los eventos a los componentes de nivel superior. La capa más baja de componentes interactúa directamente con el hardware subyacente. Un lenguaje especializado, NESC, se ha desarrollado para expresar el componente gráfico y el comando/interfaces de eventos entre los componentes. En NESC, 61 múltiples comandos y eventos se pueden agrupar en las interfaces. Interfaces simplificar la interconexión entre los componentes. En TinyOS, estructuras de almacenamiento son estáticamente asignados para permitir que los requisitos de memoria de la aplicación completa que se determina en tiempo de compilación. La trama es una estructura en C especializados que se asignan estáticamente y directamente accesible sólo al componente. Mientras TinyOS no tiene protección de la memoria, las variables no se puede acceder directamente desde el exterior de un componente. Además de lo que permite el cálculo de requerimientos de memoria máxima, pre-asignación de marcos impide que la sobrecarga asociada con asignación dinámica y evita errores relacionados con puntero. Este ahorro se manifiesta en muchas formas, incluida la ejecución ahorro de tiempo porque la variable puede ser compilado estáticamente en el programa, en lugar de acceder a estado por punteros. En TinyOS, los comandos son sin bloqueo de peticiones hechas a los componentes de niveles inferiores. Normalmente, un comando fuerte petición parámetros en su marco local y condicional puesto una tarea para su posterior ejecución. También puede invocar comandos inferior, pero no hay que esperar mucho tiempo o latencia indeterminado las acciones a tomar su lugar. Un comando debe proporcionar información a la persona que llama de regreso estado indicando si ha sido exitosa o no, por ejemplo, saturación de búfer. Controladores de eventos se invocan para hacer frente a los eventos de hardware, ya sea directa o indirectamente. El nivel más bajo los componentes tienen controladores que se conectan directamente a interrupciones de hardware, que pueden ser externos interrupciones, los eventos del temporizador o contador. Un controlador de eventos puede depositar la información en su trama, tareas, eventos de nivel superior de señal o llamar comandos de nivel inferior. Un evento de hardware desencadena una fuente de transformación que va hacia arriba a través de eventos y puede doblar hacia abajo a través de 62 comandos. Con el fin de evitar ciclos en el comando/cadena de eventos, los comandos no sucesos de señal. Tanto los comandos y los eventos se destina a realizar una pequeña cantidad fija de trabajo, que se produce en el contexto de su estado del componente. Tareas realizar el trabajo principal de TinyOS aplicación. Ellos son atómicas con respecto a otras tareas y ejecutar hasta la finalización de las obras, aunque no se pueden anticipar los acontecimientos. Las tareas pueden llamar comandos de nivel inferior, la señal nivel superior eventos, calendario y otras tareas dentro de un componente. El plazo de finalización de las tareas semánticas que se puede asignar una sola pila que es asignada a la ejecución de la tarea. Esto es esencial en la memoria sistemas limitados. Tareas simular simultaneidad dentro de cada componente, ya que se ejecutarán asincrónicamente con respecto a los acontecimientos. Sin embargo, las tareas pueden bloquear o espera de giro o impedir el progreso en otros componentes. Si bien los acontecimientos aproximada comandos instantáneos y las transiciones de estado, tarea paquetes proporcionan una forma de cálculo incorporan arbitraria en el modelo orientado a eventos. 3.3.1 Tipos de componentes en general, los componentes caen en una de tres categorías: hardware hardware abstracciones, sintético y de alto nivel componentes de software. Abstracción de Hardware hardware componentes físicos mapa TinyOS en el modelo de componentes. La RFM componente de radio (que se muestra en la esquina inferior izquierda de la Figura 3-1) es representativo de esta clase. Este componente las exportaciones los comandos para manipular los pines de E/S conectados al transceptor RFM y señales eventos informar a otros componentes de la transmisión y recepción de bits. Su trama contiene información acerca del estado actual de los 63 (el transceptor está en modo envío o recepción, la actual tasa de bits, etc. ). La RFM consume interrupciones de hardware que se transforman en la RX poco eventos o a la TX poco hechos, dependiendo del modo de funcionamiento. No hay tareas en el modo RFM porque el propio hardware proporciona la concurrencia. Este modelo de abstracción de los recursos de hardware pueden escalar desde muy simples recursos, al igual que los pines de E/S, bastante complejos, como el cifrado los aceleradores. Los componentes de hardware sintético simular el comportamiento de hardware avanzado. Un buen ejemplo de ese componente es el componente Radio Byte (consulte la Figura 3-1). Los cambios en los datos o de la RFM módulo y señales cuando todo un byte ha finalizado. Las tareas internas realizar simple codificación y decodificación de los datos. Conceptualmente, este componente es el mayor equipo de estado que se podría convertir en el hardware directamente. Desde el punto de vista de los niveles más altos, este componente proporciona un init send_msg (dir,tipo,datos) potencia(modo) send_msg_thread msg_rec(tipo, datos) internalmsg_send_done(éxito) estado componente de mensajería (buffer) (éxito) de init(modo) TX_packet(buf) TX_packet_done RX_packet_done Figura 3-2: SOY componente de mensajería representación gráfica. 64 Interfaz y funcionalidad muy similar a la abstracción del hardware UART componente: proporcionan los mismos comandos y eventos de la misma, de los datos de la misma granularidad y realizan tareas similares internamente (buscando un bit de inicio o el símbolo, realizar codificación simple, etc. ). El alto nivel componentes de software realizar el control, el enrutamiento y todas las transferencias de datos. Un representante de esta clase es el módulo de mensajería presenta en la Figura 3-2. Realiza la función de llenar el buffer de paquetes antes de la transmisión y envía mensajes recibidos en su lugar apropiado. Además, los componentes que realizar cálculos con los datos de la agregación de datos caen en esta categoría. 3.3.2 Permitiendo la migración de hardware/software del TinyOS fronteras modelo de componentes permite la fácil migración de hardware/software límite porque el modelo de software basada en eventos que utiliza es complementaria a la estructura de hardware subyacente. Además, el uso de tamaño fijo, pre-almacenamiento asignado es un requisito para las implementaciones basadas en hardware. Migración de software en el hardware es particularmente importante para los sensores conectados en red donde los diseñadores del sistema se desea analizar el equilibrio entre la escala de integración, los requisitos de energía y los gastos de funcionamiento del sistema. El capítulo 6 presenta un diseño personalizado que empuja varios componentes del sistema de la Rene nodo en todo el hardware/software límite. Módulo 65 AMStandard { { interfaz StdControl proporciona Control CommControl; interfaz; // La interfaz se parametriza mediante la activa id. de mensaje interfaz SendMsg[uint8_T id]; interfaz ReceiveMsg uint8_T[id]; // ¿cuántos paquetes se recibieron en los últimos segundo comando uint16_t actividad(); } utiliza { // ha señalado después de cada envío de componentes que deseen // error en el reintento result_t senddone envía eventos(); interfaz StdControl como UARTControl; interfaz como UARTSend BareSendMsg; interfaz como UARTReceive ReceiveMsg; interfaz StdControl como hidrochorros; interfaz como RadioSend BareSendMsg; interfaz como RadioReceive ReceiveMsg; Led de interfaz; //interfaz como temporizador ActivityTimer; } } Figura 3-3: componentes NESC archivo que describe la interfaz externa al AMStandard componente de mensajería. 3.3.3 Algunos de los componentes un componente típico incluye un bastidor, los controladores de eventos, los comandos y las tareas de un componente de manejo mensaje se muestra en la Figura 3-2. Como la mayoría de los componentes, que exporta los comandos de inicialización y de la administración de energía. Además, dispone de un comando para iniciar una transmisión de mensajes y señales de eventos la realización de una transmisión o la llegada de un mensaje. Con el fin de realizar su función, el componente de mensajería envía comandos a nivel de paquete un componente y maneja dos tipos de eventos: uno que indica que un mensaje ha sido transmitido y uno que indica que el mensaje ha sido recibido. 66 Gráficamente, que representan el componente como un conjunto de tareas, un bloque de estado (órgano), un conjunto de comandos (al revés de los triángulos), un conjunto de controladores (triángulos), sólidos arcos hacia abajo para los comandos que uso, y arcos hacia arriba para los eventos que tienen señal. La figura 3-3 muestra cómo todos estos elementos son explícitos en el código del componente. Dado que los componentes describir tanto los recursos y los recursos que necesitan, ya que los conecta a juntos es simple. El programador coincide con las firmas de los acontecimientos y los mandos necesarios por un componente con las firmas de los acontecimientos y los comandos proporcionados por otro componente. Las comunicaciones entre los componentes toma la forma de una llamada a una función, que tiene baja sobrecarga y proporciona comprobación de tipos durante la compilación. 3.3.4 Composición de componentes con el fin de apoyar el carácter modular de TinyOS, hemos desarrollado un conjunto de herramientas que ayuden a los desarrolladores de componentes de conexión. En TinyOS, componentes están vinculados entre sí en el momento de la compilación para eliminar la innecesaria sobrecarga en tiempo de ejecución. Para facilitar el trabajo de composición, cada uno de los componentes del interfaz externo se describe al inicio de cada archivo de componente. En estos archivos, un componente muestra el conjunto de comandos que acepta y los sucesos que gestiona, así como el conjunto de los acontecimientos, las señales y los comandos que utiliza. Lógicamente nos ver todos y cada uno de las entradas y salidas de un componente como un I/O pin como si el componente fueron una pieza física de hardware. La descripción completa de un órgano superior e inferior del interfaz es utilizado por nuestro tiempo de compilación herramientas para generar automáticamente archivos de encabezado componentes. La figura 3-4 contiene un ejemplo archivo de componentes de una aplicación sencilla que parpadea el LED. En fin en realidad componen cada uno de los componentes en una aplicación completa; TinyOS utilizado originalmente descripción ( .desc) archivos reloj 67 incendios. ‫ ٭‬Aplicación de parpadear. Cambiar el LED rojo cuando el ‫٭‬ ‫٭٭‬/ inicializar el componente. ‫٭ ٭٭‬/ bool estado; /‫ ٭‬el estado de la LED rojo (en o fuera) ‫٭ ٭٭‬/ BlinkM módulo interfaz { { proporciona StdControl; } { interfaz utiliza Reloj; Led de la interfaz; } } aplicación { /‫٭٭‬ comando result_t StdControl.init() { estado = FALSE; llamada led.init(); return; } /‫@ ٭٭‬return devuelve siempre ‫ ٭ ٭‬ÉXITO marcha las cosas. Este sólo establece la tasa para el reloj. ‫٭ ٭٭‬/ Detiene la ejecución de la aplicación. ‫ ٭ ٭٭‬Comando result_t StdControl.start() { devolver llamada Reloj.setrate(TOS_I1PS, TOS_S1PS); } /‫@ ٭٭‬return devuelve siempre ÉXITO ‫٭ ٭‬ Este sólo desactiva el reloj. ‫٭‬ Comando result_t StdControl.stop() { devolver llamada Reloj.setrate(TOS_I0PS, TOS_S0PS); } /‫@ ٭٭‬return devuelve siempre EL ÉXITO ‫٭ ٭‬ Cambiar el LED rojo en respuesta al reloj.incendio. ‫٭ ٭٭‬/ caso result_t Reloj.fire() { estado = !estado; si (estado) { llamada led.redon(); } else { llamada led.redOff(); } return; } } /‫@ ٭٭‬return devuelve siempre EL ÉXITO ‫٭ ٭‬ Figura 3-4: BlinkM.nc componente de aplicación t hat parpadea el LED del sistema de una vez por segundo. 68, Que contiene una lista de los componentes que se utilizan, así como las conexiones lógicas entre los componentes. El éxito del modelo de componentes TinyOS condujo al desarrollo un lenguaje especializado llamado NESC que ayuda a facilitar la expresión de estas conexiones lógicas [ 36]. La descripción de la aplicación los archivos se pueden considerar como una lista de piezas y un esquema eléctrico. Estos archivos de descripción se dividen en dos secciones. La primera sección contiene los módulos a incluir en la solicitud. La segunda sección del archivo muestra las conexiones entre cada uno de los componentes. Este diagrama de cableado toma la forma de las listas de los puertos que están conectadas lógicamente. Cada línea del archivo contiene un par de interfaces de módulos que se van a conectar con una red de cableado. La figura 3-5 contiene y ejemplo archivo de descripción de un simple NESC aplicación. En el momento de la compilación, la descripción de los componentes y la descripción de la aplicación los archivos se procesan previamente con el fin de crear una red que une a la lista componentes juntos. Al igual que en el hardware, una red en nuestro sistema puede tener varias fuentes y sumideros. Este se maneja automáticamente por el NESC compilador. Por ejemplo, un solo evento puede ser manejado por varios componentes. En el momento de la compilación, el código será generado automáticamente configuración Parpadear { } { aplicación los componentes principales, BlinkM, ClockC, LedsC, DustKernelWrapper; Main.StdControl -> BlinkM.StdControl; BlinkM.Reloj -> ClockC; BlinkM.Led -> LedsC; } Figura 3-5: (NESC), archivo de configuración de la aplicación que los cables y el parpadeo. 69 Para enviar el caso a tantos lugares como sea necesario. La salida del NESC compilador C estándar es un archivo que contiene todos los componentes de la aplicación, así como todos los vínculos necesarios. 3.3.5 Aplicación Paseo Por Con el fin de mostrar qué aplicaciones en TinyOS, caminamos a través de una sencilla aplicación que se incluye en la versión 1.0 TinyOS. La aplicación, HACER PARPADEAR, simplemente se enciende y se apaga el LED del sistema binario contar. Si bien esta aplicación podría ser fácilmente sin la ayuda de los modelos TinyOS, pone de manifiesto algunas de los conceptos clave de TinyOS. La figura 3-4 muestra la descripción del módulo para el parpadeo componente principal de la aplicación (de BlinkM.cn). El módulo de declaración, se puede ver que el BlinkM componente proporciona la interfaz StdControl TinyOS y utiliza la interfaz de reloj y los LED interfaz. Este archivo de interfaz describe completamente lo que funcionalidad debe ser proporcionada por otras partes del sistema de este componente para funcionar correctamente. En particular, este componente debe ser controlada con la interfaz StdControl y tiene que tener acceso a la interfaz de reloj y los LEDs. El código se puede escribir para llenar este componente sin conocimiento de lo que se le presta el apoyo necesario. Todas las variables declaradas dentro de los límites del módulo están ámbito local las variables privadas. Se colocan en el componente privado del bastidor. En esta aplicación, el módulo tiene una sola variable llamada estado. Esta variable contiene el valor actual del contador binario que se muestra en el LED's. La segunda sección de 70 el código contiene la implementación de la interfaz StdControl. Esta interfaz está diseñada para manejar inicialización. Las funciones se declaran especificando el tipo de función (comando/evento), el tipo de valor devuelto (el nombre de la interfaz, el nombre de la función individual, y la lista de argumentos. La función init es un comando que devuelve un result_t y no acepta argumentos y es parte de la interfaz StdControl. Realiza todas la inicialización necesaria para este componente. Además, se debe inicializar todos los componentes que se utilizan. En este ejemplo, la función init emite un solo comando para inicializar el LED. La invocación de comandos se ejecutan mediante el 'llamada' palabra clave. Del mismo modo, los eventos se señalizan mediante la señal palabra clave. Las palabras clave explícitamente llamada estado y señal cuando el componente se traspasan las fronteras. Esta información es utilizada por el NESC compilador en pleno programa de análisis para optimizar las fronteras de componente. Tenga en cuenta que la aplicación no tiene en un contexto de ejecución. La rutina de inicialización y los controladores de eventos de rápidamente el contexto de ejecución. Esta es una propiedad esencial del TinyOS aplicación. Por no sujetarse a un contexto de ejecución, un contexto único puede ser compartida a través de varias actividades simultáneas. Si esta aplicación se pone en práctica en un modelo de ejecución roscada, a diferencia de los basados en eventos modelo TinyOS, esta sencilla función requeriría una dedicación contexto de ejecución. Que se bloqueará hasta que había llegado la hora de actualizar el contador. Esto consumirá una cantidad importante de recursos al ralentí. Por el contrario, esta aplicación simplemente consume un solo byte de memoria mientras está inactivo. Además de escribir la aplicación individual de los componentes, el desarrollador de la aplicación debe montar una colección de TinyOS componentes en un completo 71 aplicación. La figura 3-5 muestra el archivo de configuración de la aplicación para esta aplicación. La primera sección del archivo contiene la lista de componentes que deben incluirse. En este caso, la aplicación completa consta de la componente principal, la componente BlinkM, el ClockC LedC componente y el componente. La segunda sección del archivo, a continuación, contiene las conexiones entre los componentes. La primera línea de esta sección establece que el principal componente de interfaz StdControl está conectado al BlinkM StdControl interfaz del componente. El uso de este modelo de componentes permite a las aplicaciones fácilmente reconfigurado. 3.4 AM Comunicación Paradigma una pieza clave del TinyOS es el modelo de comunicación que apoya. En lugar de la ampliación de un modelo de comunicación basado en PC, creemos que es beneficioso para adaptar el sistema de comunicación para satisfacer las necesidades de estos dispositivos. Para lograr esto, hemos utilizado los mensajes activos como modelo de comunicación principales bloques de creación en la creación de redes de TinyOS. 3.4.1 Descripción General Mensajes activos Mensajes activos (AM) es un simple, extensible paradigma de comunicación basada en mensajes ampliamente utilizado en computación paralela y distribuida sistemas [ 35]. Cada mensaje contiene el nombre de la aplicación de controlador que se va a invocar en el nodo de destino a la llegada y una carga de datos para pasar como argumentos. La función de controlador sirve para el doble propósito de extraer el mensaje de la red, ya sea integrando los datos en el cálculo o enviar un mensaje de respuesta. La red se modela como un oleoducto con una mínima influencia de los mensajes. Esto elimina muchas de las dificultades con que tropieza el búfer de 72 sistemas de comunicación que utilizan protocolos o bloqueo especial enviar/recibir los búferes. Para evitar congestión de la red y garantizar el rendimiento adecuado, controladores de mensajes debe ser capaz de ejecutar de manera rápida y de forma asincrónica. Aunque Mensajes activos tiene sus raíces en las grandes máquinas y procesamiento en paralelo los clústeres informáticos, los mismos conceptos básicos pueden ser utilizados para cumplir con los límites de los sensores conectados en red. En concreto, la arquitectura ligera de mensajes activos se puede aprovechar para equilibrar la necesidad de un marco de comunicación al mismo tiempo, mantener la eficacia y la agilidad. Más importante aún, el evento según modelo invocación controlador permite a los desarrolladores de aplicaciones para evitar ocupado esperando a que lleguen los datos y permite que el sistema de comunicación se solapan con otras actividades como la interacción con los sensores o ejecutar otras aplicaciones. Este es el caso de naturaleza activa centrada en los mensajes que le hace un ajuste natural de TinyOS. 3.4.2 Pequeños Mensajes activos en la aplicación Mensajes activos de la computación paralela de alto rendimiento y en este diseño de bajo consumo, hemos tratado de preservar los conceptos básicos de la integración de la computación y comunicación de primitivas de comunicación a capacidades de hardware. La superposición de trabajo computacional con comunicación en el nivel de aplicación es esencial. Contextos de Ejecución y espacio de pila nunca debe ser perdido debido a que las aplicaciones se bloquean, a la espera de la comunicación. Los mensajes activos modelo de comunicación se pueden ver como un modelo de eventos distribuidos en nodos en red enviar cada otros eventos. Si bien es bastante básica, creemos que todas las aplicaciones se pueden construir en la parte superior de este primitivo modelo. 73 Con el fin de hacer los mensajes activos modelo de comunicación una realidad, ciertas primitivas debe ser proporcionada por el sistema. Creemos que las tres primitivas son necesarios: mejor esfuerzo transmisión de mensajes con agradecimientos, direccionamiento y envío. Las aplicaciones más exigentes pueden necesidad de construir más funcionalidad en la parte superior de estas primitivas, pero que se deja para los desarrolladores de aplicaciones para decidir. Con la creación de la mínima del núcleo de un sistema de comunicación, todas las solicitudes serán capaces de construir en la parte superior. Además, es probable que exista una gran variedad de dispositivos con diferentes capacidades de comunicación física y necesidades. Con la construcción de la comunicación como componentes separados del núcleo en el modelo de componentes TinyOS, los desarrolladores pueden elegir que las implementaciones de los componentes básicos que necesitan. Esto puede tomar la forma de selección de elementos de una colección de componentes que realizan diferentes niveles de detección y corrección de errores. Sin embargo, proporcionando una interfaz coherente de primitivas de comunicación, los desarrolladores de aplicaciones pueden transferir fácilmente sus aplicaciones a diferentes plataformas de hardware. Al igual que habrá varias implementaciones de los componentes básicos para el desarrollador para escoger entre diversas otras extensiones estarán disponibles, como entrega fiable. Esto es similar al diseño de Horus [ 37], que han intentado modular basado en PC protocolos de comunicación donde los desarrolladores de aplicaciones pueden elegir entre una gran variedad de bloques de construcción incluyendo el cifrado, el control de flujo y fragmentaci n de paquetes. Es muy ventajoso para ser capaz de personalizar los protocolos cuando se trata de red los sensores debido a su extrema las limitaciones de ejecución y su gran diversidad de hardware físico. 74 3.4.3 El cambio de la memoria búfer gestión TinyOS Fundamental para el sistema de comunicación es su modelo de almacenamiento. Como los datos llega a la radio, que deben almacenarse en un búfer de la memoria. La capa activa envío mensajes a continuación, entrega el área de influencia de las aplicaciones. En muchos casos, las aplicaciones se desean mantener los almacenamientos intermedios de mensajes que se entregan a ellos. En el caso de la multi-hop comunicación, aplicaciones que necesitan para mantener el buffer lo suficientemente largo para que se transmite en el siguiente nodo. Esta situación es problemática en sistemas que no admiten asignación dinámica de memoria debido a que el subsistema de radio deben adquirir continuamente nuevos amortiguadores para ofrecer a las aplicaciones. Para controlar esto, TinyOS requiere que cada aplicación un búfer de mensaje no utilizado para el subsistema de radio cada vez que un mensaje se ha entregado. La radio no mantiene un búfer para recibir el siguiente mensaje. Después de la recepción del buffer se transfieren a la aplicación. A continuación, un buffer es entregados por el componente de la aplicación a los sistemas de radio. Este búfer libres es cubierto por el siguiente mensaje. A través de este intercambio de amortiguación, un conjunto fijo de preasignados los búferes de mensajería se puede utilizar. Si una aplicación necesita la capacidad de almacenar varios mensajes al mismo tiempo, simplemente asigna más influencia mensaje privado dentro de su propio marco. Como los mensajes llegan que es necesario preservar, la aplicación puede volver el pre-asignados los búferes. Debe mantener que los búferes son vacías y almacenar datos útiles. En todo momento, la aplicación mantiene el control de un número fijo de búferes. Los amortiguadores son comercializados en todo el sistema como se produce la comunicación. 75 3.4.4 Reconocimiento explícito Mientras TinyOS sólo proporciona el mejor esfuerzo entrega de mensajes, hemos encontrado que es importante recibir comentarios como si la transmisión se ha recibido correctamente por el siguiente destinatario. Este simple pedazo de información simplifica enormemente nivel de aplicación de enrutamiento algoritmos y entrega fiable. En TinyOS 1.0 , cada uno de los mensajes es seguido de un inmediato reconocimiento, sincrónico que se transmite desde el receptor al transmisor. Este reconocimiento se transmite por medio de un destinatario si un paquete con éxito pasa por una comprobación de CRC. Este tipo de paquetes se incluye reconocimiento en el nivel físico de la pila TinyOS comunicación ya que es mucho menos costoso que ofrecer la misma funcionalidad a nivel de aplicación. En vez de transmitir un paquete completo que contiene un acuse de recibo, así como la información necesaria para que coincida con el reconocimiento con el paquete es reconocido, el mecanismo TinyOS reconocimiento simplemente transmite una secuencia especial inmediatamente después de que el paquete es recibido. Además de reducir la cantidad de energía que se requiere para reconocer un paquete, este mecanismo también simplifica la tarea de procesar el acuse de recibo. Debido a la fecha de la confirmación es sincrónico con respecto a la transmisión de paquetes, las aplicaciones no tienen que esperar a que se produzca un tiempo de espera antes de determinar que un error en la transmisión. La aplicación sabe transmitir la suerte del paquete inmediatamente después de la transmisión. Esto permite que la aplicación para iniciar inmediatamente la retransmisión o la búsqueda de un nuevo destinatario. 76 3.5 Componentes contenidos en TinyOS hay varios componentes a nivel sistema que se incluyen en TinyOS. Además, hay una colección de aplicaciones de ejemplo que muestran el uso del sistema TinyOS. La figura 3-6 contiene una lista de los componentes contenidos en el TinyOS 1.0 Componentes del sistema BapM.nc Beaconless ad-hoc Contador protocolo de enrutamiento.nc IdentC contador incrementa continuamente.nc Componente para recuperar y establezca el nodo identidad IntToLedsM.nc mostrar un valor entero en los LEDs IntToRfmM.nc Informe un valor entero en el componente de radio que continuamente las muestras y OscopeM.nc informes y canal ADC ResetC.nc restablecimiento del sistema componente RfmToIntM.nc Recibir y entero en la radio vía Multi-hop paquete de enrutamiento y generar valor iteger SenseToInt lectura del sensor.nc de la ADC TinyAlloc.nc TinyDB asignador de memoria para aplicaciones de base TinyOS ADCM.nc interfaz a la ADC AMStandard.nc Mensajes activos implemetnation ByteEEPROM.nc acceso componet CRCPacket EEProm.nc paquete CRC calculator ClockC.nc de componentes de distribución CrcFilter.nc GenericComm CRC filtro de paquetes genéricos de comunicación.nc de pila Uso general I2CPacketC.nc protocolo I2C aplicación LedsC.nc interfaz LED LoggerM.nc Interfaz para registrar datos en el chip flash NoCRCPacket.nc paquete de componentes sin cálculo del CRC PotM.nc control intensidad de señal RFM.nc interfaz de Radio TR1000 RadioCRCPacket.nc TR1000 interfaz de paquetes con CRC RadioNoCRCPacket.nc TR1000 interfaz de paquetes sin CRC RandomLFSR.nc Generador de Números Aleatorios SecDedRadioByteSignal.nc componente Forward error correction TimerM.nc multi-aplicación módulo temporizador UARTComm.nc pila las comunicaciones en UART UART.nc módulo interfaz UART UARTNoCRCPacket.nc comunicación UART pila sin CRC voltagem.nc componente medición de la tensión de la batería Figura 3-6: Lista de componentes contenidos en TinyOS 1.0 . Los desarrolladores de la aplicación seleccione en esta colección de nivel de sistema y componentes para crear la aplicación deseada atributos. TinyOS versión actual 77. TinyOS 3.6 Evaluación del modelo para evaluar el desempeño del modelo de sistema TinyOS, volvemos a nuestro conjunto de requisitos de software: un tamaño pequeño, la simultaneidad, la modularidad, eficiencia física limitada el paralelismo y robusto. Tamaño físico reducido tamaño: código de la aplicación es nuestro principal sistema métrico de la ejecución de los datos disponibles sobre la línea memoria Rene plataforma. Todo un salto múltiple aplicación de recopilación de datos en 226 bytes de datos, todavía por debajo del 50% de los 512 bytes disponibles en el Rene plataforma. %3 De pequeño tamaño físico. TinyOS permite increíblemente pequeñas aplicaciones. En particular, nuestro programador sólo ocupa 178 bytes y la completa red de aplicación sólo requiere unos 3 KB de memoria instrucción. Por otra parte, el tamaño de los datos de nuestro planificador es de sólo 16 bytes, lo que sólo se utiliza con respecto a la concurrencia las operaciones que hacen un uso intensivo, es fundamental que la arquitectura de software para ofrecer una simultaneidad; red sensores necesitan gestionar múltiples flujos de información simultáneamente. En este contexto, un importante punto de partida característica de una red es su sensor velocidad cambio de contexto. En el sistema basado en eventos TinyOS, el costo de propagar un evento es aproximadamente equivalente a la de copiar un byte de datos. Esta baja es fundamental para lograr eficiencia modular. Publicar un hilo y cambio de contexto los costos tanto como movimiento 6 bytes de memoria. Nuestros más caros operación implica los aspectos de bajo nivel de la gestión de interrupciones. A pesar de que el hardware de interrupciones para el manejo rápido y el funcionamiento de un programa informático que guardar y restaurar registros en memoria imponer una sobrecarga considerable. Varias técnicas pueden ser de 78 utilizado para reducir la sobrecarga como partición del conjunto de registro [ 32] o el uso de registro windows [ 38]. Modularidad eficiente: Una de las principales características de nuestros sistemas es que los eventos y comandos puede propagarse por los componentes rápidamente. Proyectos como senderos, Scout [ 39], sistemas y apilables [ 40] han tenido objetivos similares en otros regímenes. El tiempo de compilación estática optimización contenidos en el NESC compilador elimina la sobrecarga asociada con el modelo de componentes TinyOS. En el momento de la compilación, el componente límites son automáticamente eliminados. Programa completo análisis se utiliza para crear eliminar las particiones de sistema y equilibrio tamaño de código en tiempo de ejecución. En la mayoría de los casos, sólo de la sobrecarga asociada con el modelo de componentes se ha optimizado el final de código binario compilado. El paralelismo físico limitado y el controlador jerarquía: hemos demostrado con éxito un sistema de gestión múltiples flujos de datos a través de un único microcontrolador. La figura 3-7 muestra el trabajo y la distribución de la energía entre cada uno de nuestros componentes de software mientras que activamente en transmisión de datos. Muestra que 66.48% del trabajo de recibir los paquetes se realiza en la RFM nivel de bits que utiliza componentes 30.08% del tiempo de la CPU durante todo el período de recepción de un paquete. Esto consume 451.17nJ por bit. Incluso durante este período muy activo, el procesador está inactivo aproximadamente el 50% del tiempo. El resto del tiempo se puede utilizar para tener acceso a otros sensores, como el sensor de luz, o el I2C controlador de temperatura. En el Capítulo 5 hemos investigado el desventajas relacionadas con física y la virtual paralelismo en profundidad. 79 Diversidad en el uso y funcionamiento robusto: Por último, hemos podido comprobar la versatilidad de esta arquitectura, creando aplicaciones de ejemplo que se aprovechan de la estructura modular de nuestro sistema. Estos incluyen fuente multi-hop aplicaciones de enrutamiento, active insignia [ 41] ubicación las aplicaciones de detección y monitoreo de la red de aplicaciones. Además por el desarrollo de nuestra sistema en C, tenemos la capacidad de múltiples arquitecturas de CPU en los sistemas futuros. Resumen TinyOS TinyOS 3.7 es un sistema operativo diseñado específicamente para atender las necesidades de las redes de sensores inalámbricos. Está basado en un motor de ejecución orientada a eventos que proporciona simultáneamente eficiencia y concurrencia de grano fino. TinyOS basadas en paquetes de energía de la CPU recepción % desglose de tareas Componentes utilización (nj/bit) AM 0,05 % 0,02 % 0,33 1,12 % Paquete 4,58 0,51 % Controlador Radio 26.87% 12.16% 182,38 Radio decodificar rosca 5,48 % 2,48 % 37,2 RFM 66.48% 30.08% 451,17 Recepción de radio - - 1350 vacío - 54.75% Total 100,00 % 100,00 % 2028,66 % de uso de CPU transmisión de paquetes Componentes Energía desglose del trabajo utilización (nj/bit) SOY 0,03 % 0,01 % 0,18 3,33 % Paquete 23,89 1,59 % Controlador Radio 16.90 ingreso de 35,32 % 253,55 % decodificación Radio rosca 4,53 % 2,17 % 32,52 RFM 56.80% 27.18% 407,17 transmisión de Radio - 1800 vacío - 52.14% Total 100,00 % 100,00 % 4317,89 Figura 3-7: Detalle de la distribución del trabajo y el consumo de energía en cada capa de la Rene nodo. 80 Comunicación es encapsulado en un modelo de componentes que permite estado de componentes basados en máquinas de forma eficiente de las aplicaciones compuestas junto con configuraciones específicas. TinyOS El sistema de comunicación se basa en los mensajes activos comunicación paradigma de entornos de computación de alto rendimiento. Cuando se reciben datos de la red, el mensaje de controladores específicos se invoca automáticamente. TinyOS incluye un modelo de memoria que permite un conjunto fijo de almacenamientos intermedios de mensajes a ser pre-asignados y compartidos entre varias aplicaciones. Ahora que tenemos un entendimiento del software que se ejecuta en estos dispositivos, podemos empezar a sumergirse en las principales cuestiones relacionadas con los protocolos de red. En el próximo capítulo, analizamos una familia de sistema de compensaciones y sus efectos en el nodo. Este análisis se utiliza para desarrollar un nodo arquitectura generalizada que es la piedra angular de esta tesis. 81 Capítulo 4: Nodo Sensor inalámbrico generalizado Arquitectura un paso clave en la exploración de los desafíos de la construcción de un bajo consumo de potencia es plataforma de comunicación inalámbrica en la comprensión de los requisitos del sistema para los mecanismos de comunicación necesarios para construir los multi-hop redes que se avizoran. El objetivo de este capítulo es el de desarrollar una arquitectura general que aborda las necesidades de las redes de sensores inalámbricos. La arquitectura no está ligada a ninguna radio o tecnología de procesamiento sino que detalla cómo el cálculo y la comunicación deben comparecer juntos. Está diseñado para tener subsistema de comunicación que permite flexibilidad, optimización específica para la aplicación de los protocolos de comunicación y al mismo tiempo obtener alto ancho de banda y la eficiencia. A fin de sentar las bases para el diseño, se describen, en primer lugar, las operaciones básicas relacionadas con comunicación a través de un enlace de radio. Esto expone algunos de los principales retos de diseño incluyendo la concurrencia carácter intensivo de las redes inalámbricas de sensores. Abordar el conjunto de problemas que se presentan, desarrollar una arquitectura generalizada de un nodo sensor inalámbrico. En los siguientes capítulos se analizan las implementaciones específicas de esta arquitectura en general. 4.1 Requisitos de comunicación inalámbrica para comunicarse a través de la conexión inalámbrica, protocolos deben ser construidas a partir de la materia prima electro-magnético primitivas de señalización. Con cuidado UN transmisor debe modular la portadora de RF al receptor realiza demodulación y análisis de señales. La figura 4-1 ilustra las fases clave de un paquete de protocolo de comunicación inalámbrica. Es importante que 82 fases Comunicación inalámbrica de transmisión de datos que se transmite Codificar procesamiento datos codificados Símbolo de inicio que se va a transmitir la transmisión transmisión Retardo MAC bits Bits codificados muestras Radio Modulaciones Símbolo de inicio Búsqueda Recibir bits individuales sincronización... Símbolo de inicio Detección datos codificados Decodificación recibido procesamiento de datos recibidos Recepción Tiempo Figura 4-1: Fases de la comunicación inalámbrica para la transmisión y la recepción. tenga en cuenta que muchas de las operaciones deben realizarse en paralelo con cada uno. Esto se puede observar en las diferentes capas que se superponen en el tiempo. El primer paso en el proceso de comunicación es para codificar los datos para la transmisión. Los sistemas de codificación están diseñados para aumentar la probabilidad de transmisión por prevenir y corregir los errores leves. Por razones de eficiencia el proceso de codificación es canalizada con el actual proceso de transmisión. Una vez que el primer byte está codificado, la transmisión puede comenzar. Los bytes restantes se pueden codificar como precedente se transmiten los bytes. Sistemas de codificación pueden variar desde una simple DC-esquemas de equilibrio, tales como 4b-6b o codificación Manchester, a complejos sistemas CDMA. Ya sea en una colección de uno o más bits de datos, un símbolo, se codifican en una colección de bits de transmisión de radio denominados chips. Codificación Manchester tiene dos fichas por símbolo que representa 1 bits de datos 83. Espectro de difusión de secuencia directa sistemas CDMA y a menudo tienen 15 a 50 fichas por símbolo con cada símbolo que contenga de 1 a 4 bits de datos. La transmisión real comienza con la ejecución de un control de acceso al medio (MAC). Protocolos MAC están diseñados para permitir que varios transmisores a compartir un único canal de comunicación. Uno de los más sencillos protocolos MAC detección de portadora es acceso a los medios (CSMA) donde cada transmisor en primer lugar comprueba que se trata de un canal en reposo antes de cada transmisión. Si el canal está ocupado, espera un poco, al azar, intervalo de tiempo tras el cual se reinicia la transmisión. El primer dato que se debe realmente se transmite por la radio link es una sincronización símbolo o símbolo de inicio. El símbolo de arranque señales al receptor que un paquete llega y es utilizado por el receptor para determinar el momento de la llegada. El símbolo de arranque es seguida inmediatamente por los datos codificados transmitidos como una serie. Como la transmisión, el transmisor debe controlar con precisión la sincronización de cada bit transición para que el destinatario pueda mantener la sincronización. Transiciones poco sesgada puede causar que el emisor y el receptor para salir de la sincronización, lo que da como resultado un éxito la transmisión o datos dañados. Para un receptor, la primera parte de recepción de datos es el de detectar que la transmisión ha empezado. El canal es objeto de una atención continua a fin de filtrar el ruido de fondo y detectar el símbolo de arranque especial. La longitud y el formato de la símbolo de inicio puede ser optimizado para los niveles de ruido. Con el fin de detectar correctamente el símbolo de arranque, el receptor debe tomar muestras del canal por lo menos dos veces la radio frecuencia de chip. De lo contrario, la fase relativa de la toma de muestras y la transmisión se puede producir en el receptor falta el símbolo de arranque. 84 Una vez detectadas, el receptor debe, a continuación, realice una sincronización exacta a la fase de la transmisión entrante. Este paso de sincronización es fundamental para que el receptor para determinar el inicio y el final de cada bit ventana está siendo utilizado por el transmisor. La sincronización requiere la transmisión entrante que se efectuará la toma de muestras superior a dos veces la tasa de bits para la distribución de los bits puede determinarse las transiciones. Una vez sincronizado, el receptor, a continuación, muestras el valor de la señal de entrada en el centro de cada bit. Precisa se debe tener cuidado en reducir al mínimo sesgo en la frecuencia de muestreo y la sincronización. Como los bits individuales se extraen de la radio, que se montan en bloques que son la versión codificada de los mensajes de datos. Por último, los bloques son decodificados en los datos originales y montado en un paquete. El proceso de descodificación a menudo puede corregir los errores de un solo bit en la señal recibida y reproducir los datos originales. 4.2 Cuestiones clave arquitectura debe abordar hay cuatro cuestiones clave que deben ser abordados por la arquitectura del sistema. En primer lugar, desde la descripción básica de un protocolo de comunicación inalámbrica, podemos ver que algunas de las operaciones que se realizan al mismo tiempo. El canal debe ser objeto de una supervisión constante, los datos deben ser codificados, y los bits deben ser transferidos a la radio. La capacidad para hacer frente a una concurrencia de grano es necesario para llevar a cabo estas operaciones en paralelo. En segundo lugar, el sistema debe ser flexible para hacer frente a una amplia variedad de escenarios de aplicación. En tercer lugar, la arquitectura debe proporcionar un control preciso sobre la transmisión de radio. Este requisito es impulsado por la necesidad de potencia ultra baja comunicación en la aplicación de recopilación de datos. Por último, el sistema debe ser capaz de separar los datos y la velocidad de transmisión de radio. Nos muestran cómo un acoplamiento directo entre 85 velocidad de procesamiento y comunicación tasas de bits puede conducir a sub-óptimo rendimiento energético. 4.2.1 Concurrencia La arquitectura debe proporcionar un mecanismo eficiente para manejar muy finas de simultaneidad. Tanto en el caso de transmisión y recepción, los cálculos relacionados con comunicación inalámbrica debe ocurrir en paralelo con la aplicación de procesamiento y potencialmente con nivel intermedio procesamiento de paquetes. Eventos de Sensor y cálculos de datos debe continuar para seguir adelante mientras que la comunicación está en curso. Esto es particularmente cierto si se tienen en cuenta las superposiciones de símbolo detección y procesamiento de la aplicación. Por ejemplo, símbolo de inicio detección debe realizarse continuamente a la espera de comunicación entrante. Si ningún otro procesamiento que se va a realizar debe realizarse en paralelo con el inicio búsqueda del símbolo. Además de la operación paralela de procesamiento de protocolo y en el nivel de la aplicación, se tiene también la obligación que las diferentes etapas de procesamiento de protocolo debe realizarse en paralelo. En la Figura 4-1 muestra la codificación de los datos y la transmisión de datos son "pipeline" junto con el fin de reducir la transmisión latencia. La arquitectura del sistema debe proporcionar un mecanismo que permite simultaneidad de procesamiento de protocolo y en el nivel de la aplicación de procesamiento al mismo tiempo. 4.2.2 Flexibilidad La arquitectura debe proporcionar la flexibilidad necesaria para dar soporte a una amplia gama de escenarios de aplicación. Profundamente para sistemas integrados, es importante que un sistema es de 86 lo suficientemente flexible para apoyar una amplia gama de protocolos específicos para cada aplicación. A diferencia de los teléfonos móviles, las redes inalámbricas de área local, o dispositivos Bluetooth, wireless sensor networks no cuentan con un conjunto fijo de protocolos de comunicación que deben cumplir. Profundamente arraigadas las redes inalámbricas pueden explotar concesiones en ancho de banda, latencia y de procesamiento de la red para reducir el consumo de energía por órdenes de magnitud. Por ejemplo, si el sensor se realiza un muestreo de datos sólo una vez por minuto, podría ser aceptable para retrasar la transferencia de datos durante varios segundos, permitiendo a la red para coordinar eficientemente muchas de esas corrientes mientras está en funcionamiento a baja ciclo de trabajo. Las optimizaciones, puede extender la vida útil de la batería de semanas a años. Además de la compatibilidad con protocolos de comunicación flexible, también es importante apoyar las interfaces flexibles entre los protocolos y aplicaciones. Una rica interfaz entre procesamiento de la aplicación y tratamiento de la comunicación permite a los programadores crear protocolo descomposiciones arbitrarias. Estado de protocolo interno puede ser expuesta hasta las aplicaciones y las aplicaciones pueden tener un control preciso sobre los protocolos. Un simple ejemplo de la necesidad de protocolos flexibles que permiten a las aplicaciones para ver el canal subyacentes características pueden verse en [ 42]. Descubrieron que muchas tarjetas 802.11 resumen de calidad de la señal de nivel de aplicación que elimina su capacidad de apoyo RF aplicaciones de localización. Había los protocolos para la interacción entre las aplicaciones y el hardware de comunicaciones hemos sido flexibles y que la información podría haber sido fácilmente expuestos. 4.2.3 Sincronización La arquitectura debe proporcionar la capacidad de lograr precisión de nodo a nodo, sincronización y la aplicación directa de distribución control de radio. 87 Se trata de un papel fundamental en muchas redes de sensores inalámbricos. Como se describe en el Capítulo 2, nuestra aplicación de recopilación de datos escenario se basa en sincronización de tiempo para programar el niño-padre comunicación windows y la precisión temporal de la recogida de los datos. La corta duración y frecuencia de la transmisión windows hace que sea muy importante para la aplicación precisa de control temporal por la radio. Esto es en contraste con las modalidades de la comunicación de un teléfono celular en el que la comunicación se produce con muy poca frecuencia (un par de llamadas por día) y de larga duración (de minutos por llamada). Un retardo de 10 ms antes de que una llamada por teléfono celular inicia o detiene tiene un impacto insignificante en la experiencia del usuario. Sin embargo, si un paquete se encuentra a tan sólo 2ms tarde en nuestra aplicación de recopilación de datos, se perderán. Para permitir que las aplicaciones precisas para lograr sincronización de hora, radio protocolos de comunicación debe proporcionar sincronización exacta información de cuando se reciben paquetes de datos. Además, se les debe permitir que la aplicación para controlar de forma precisa cuando la radio inicia la comunicación, así como cuando la radio está encendida o apagada para la recepción. 4.2.4 Disociación entre RF y velocidad de procesamiento por último, la arquitectura del sistema debe permitir una disociación entre las tasas de transmisión de RF y velocidad de procesamiento. La radio es más eficiente cuando se producen las transmisiones de datos a su máxima velocidad de transmisión. Cuando se transmite con una potencia fija, con lo que se reduce el tiempo de transmisión reduce el consumo de energía. Sin embargo, los estudios modernos en procesadores de bajo consumo energético y dinámico diseño escala de voltaje han demostrado que los procesadores son los más eficaces cuando se propaga en el tiempo cálculo tanto como sea posible, de modo que se puedan ejecutar en el voltaje más bajo posible [43, 44]. Idealmente, el consumo de energía razones, nos gustaría que los controladores para realizar todos los cálculos tan despacio como sea posible y al igual que el cálculo está completo, la radio puede estallar en los datos de la forma más rápida posible. Acoplamiento 88 la velocidad del microcontrolador a la velocidad de transmisión de datos de las fuerzas al sistema operar a no-lugares óptimos. Este acoplamiento se puede ver en el diseño de un nodo sensor inalámbrico donde debe haber un equilibrio entre la velocidad de la unidad de control y la velocidad de la radio. Para profundizar en este requisito más podemos analizar un fallo en la actuación de la Rene plataforma. En el Rene plataforma, sólo el 10% de la radio 115Kbps de capacidad se utiliza. Aumento de la velocidad de reloj del microcontrolador puede aumentar fácilmente la velocidad de transmisión de radio porque la velocidad de E/S programada es directamente proporcional a la ruta de datos. Si la velocidad de reloj del microcontrolador se duplicó, la tasa de transmisión resultante sería del 20Kbps y la energía consumida por bit por la radio se reduciría en un 50 %. Sin embargo, el aumento de velocidad de 4MHz a 8MHz aumenta el consumo de energía del microcontrolador de 15MW a 50mW según el A90LS8535 hoja de datos [ 27]. Además, el consumo de energía en modo inactivo de 9mW a 28 mW). El ahorro de energía en las transmisiones de radio es la interdependencia de la CPU con rapidez y potencia de RF 20Kbps CPU Consumo de energía Consumo de energía RF 10Kbps 0 0,02 0,04 0,06 Consumo de energía promedio (uj/bit) Figura 4-2: El coste de la Energía por bit cuando transmite a 10 Kbps y 50 Kbps dividido en controlador y energía de radiofrecuencia (RF). 89 Compensada por el aumento en el consumo de energía del controlador. Para hacer de este concreto, consideramos que es una aplicación en la que un dispositivo está transmitiendo el 100% del tiempo, lo que permite duplicar la velocidad de transmisión que permita que el dispositivo gastan 50% de su tiempo en el modo inactivo. Con una transmisión de radio que consume 21mW, el consumo medio de energía del sistema mejorado sería de aproximadamente .5 21‫٭‬mW+.550‫٭‬mW+.5‫٭‬ 28mW o 49,5 megavatios (MW). Por otro lado, nuestro sistema original sólo se consume un promedio de 36 megavatios (MW). Si bien se espera una disminución en el consumo de energía, vemos un aumento neto. Para resolver este problema, la arquitectura del sistema debe proporcionar un mecanismo de desacoplamiento, la tasa de transmisión de velocidad la ruta. Esta observación proporciona una indicación de que es necesario que haya dedicado recursos para fines especiales para interactuar con la radio. Hardware de propósito especial pueden funcionar a frecuencias que son óptimos para la radio, mientras que el controlador de propósito general está en sintonía con el ritmo óptimo para el cómputo. Al amortiguar el hardware de propósito especial pueden realizar una correspondencia entre la tasa general de ruta de acceso a los datos y en la radio. La cantidad de almacenamiento en búfer ajusta el nivel de la desvinculación. Si el paquete entero se almacenan la velocidad del procesador puede ser escalado a reunirse el procesamiento de paquetes requisitos establecidos por el escenario de la aplicación. En un primer momento, la necesidad de separar la velocidad de transmisión de la velocidad de procesamiento parece estar en contradicción con el objetivo de permitir a las aplicaciones preciso y directo y control flexible de las comunicaciones de radio. Sin embargo, un procesador compatible con los aceleradores de hardware especializado tiene la capacidad de hacer ambas cosas. 90 4.3 Tradicional Diseño inalámbrico wireless diseños tradicionales, como los teléfonos móviles, tarjetas inalámbricas 802.11 y los dispositivos habilitados para Bluetooth a la concurrencia y la disociación cuestiones mediante la inclusión de un protocolo dedicado procesador. Aplicaciones y protocolos de tratamiento puede desarrollarse en paralelo debido a que funcionan en un hardware físico distinto. El protocolo del procesador controla requisitos de tiempo real de modulación y demodulación el canal de radio, codificación de los datos para la transmisión y apagar y encender el radio. Que refina la secuencia de datos sin formato de la radio en un paquete con formato interfaz que el procesador de aplicaciones puede manejar fácilmente. Por ejemplo, la interfaz de canal host (HCI) de Bluetooth proporciona un paquete de alto nivel a través de una interfaz UART. La complejidad del paquete sincronización, canal codificación y control de acceso al medio (MAC) son protocolos ocultos de la aplicación. La velocidad del procesador se protocolo establecido para satisfacer los requisitos de los protocolos de comunicación. A pesar de su sencillez, hay varias desventajas a la inclusión de un protocolo dedicado procesador. La inclusión del procesador no reducir la cantidad de cálculos que se deben realizar, sino que simplemente se limita a un procesador secundario. Sólo proporciona un mecanismo que permite concurrencia aplicación y procesamiento de protocolo se produzcan simultáneamente. Lamentablemente, el paquete es un recurso del sistema permanente dedicada a la radio. Esta estricta división de recursos conduce a la no utilización óptima de los recursos. Además, la ineficacia chip a chip debe haber mecanismos de comunicación utilizado para transferir datos entre el protocolo y el procesador procesador de aplicaciones. Al final, el uso de procesadores protocolo dedicado a uso ineficiente de los recursos. 91 Una desventaja de usar un protocolo dedicado procesador, es que la interfaz de la aplicación de los protocolos de comunicación debe realizarse a través de una angosta chip-a-chip interface. Un conjunto fijo de los mensajes de control que viajar entre la aplicación y protocolo procesador debe ser definido. Esta barrera física entre la aplicación y procesamiento de protocolo hace que sea difícil realizar cross-layer optimizaciones. Nos muestran cómo la capa de las optimizaciones que se les ha impedido por esta barrera artificial puede dar lugar a fin de magnitud aumentos de rendimiento. Diseño inalámbrico tradicional sacrificar su flexibilidad y crear particiones de sistema estricto cuando incluyen procesadores protocolo dedicado. Una alternativa al protocolo enfoque basado en el procesador está representado por la Rene diseño se discutió en el Capítulo 2. En lugar de utilizar un procesador paquetes dedicada, tiempo de compartir un único motor de ejecución de aplicación y procesamiento de protocolo. La concurrencia de los requisitos del sistema son casi de grano fino de intercalado en TinyOS procesamiento de eventos en lugar de físicamente. Esto permite que los recursos informáticos del sistema de forma dinámica dividida entre aplicación y procesamiento de protocolo y evita la sobrecarga de paquetes lanzadera entre los procesadores, así como la necesidad de definir una interfaz fija. Nos muestran que el beneficio de asignación dinámica de recursos puede superar la sobrecarga de usar paralelismo virtual. Además, en un sistema con particiones, prácticamente la interfaz entre protocolo y el procesamiento de aplicaciones es puramente en software. Esto permite que las interfaces ricas que se construyan aplicaciones que pueden dar un estricto control de los protocolos de comunicación. Una rica interfaz entre las aplicaciones y sus protocolos pueden permitir que un host las optimizaciones a nivel de sistema. 92 4.4 Arquitectura generalizada de un nodo sensor inalámbrico que hemos desarrollado una arquitectura generalizada de los nodos de sensores inalámbricos que se basa en el único diseño del controlador de René. La arquitectura se basa en la premisa de que pools de recursos compartidos deben utilizarse siempre que sea posible para aprovechar los beneficios de asignación dinámica, se necesita que el almacenamiento en búfer utilizado para separar los fines generales ruta de acceso a los datos y la radio, y que el protocolo flexibilidad es esencial. Aborda cuestiones de eficiencia y rendimiento, incluyendo especial de los aceleradores de hardware para la manipulación en tiempo real de gran velocidad de la radio. Los aceleradores general proporcionar bloques de construcción, no soluciones completas. La figura 4-3 muestra la arquitectura generalizada. El núcleo de la arquitectura computacional central es un motor que se timeshared en aplicación y procesamiento de protocolo. Un solo cálculo motor está incluido ya que permite la asignación de todos los recursos de procesamiento en una sola tarea cuando es necesario. Mostramos que esto permite un uso eficiente de las capacidades de procesamiento. Lo ideal es que este procesador incluye un soporte de hardware para la concurrencia de grano fino que debe brindar. Como este procesador está destinado a ser asignados a múltiples operaciones simultáneas, que debe estar diseñado de manera que el cambio de contexto es tan eficaz como sea posible. Un mecanismo tradicional para la disminución de cambio de contexto es a través de la inclusión de registro windows. Varios conjuntos de registros puede ser incluido en la CPU, por lo que cada cambio de contexto no requieren los registros para ser escrito en la memoria. En su lugar, el sistema operativo cambia simplemente a un registro gratuito. Como es típico en el microcontrolador los diseños, la ruta de datos está conectado con el resto de los componentes del sistema de interconexión a través de una compartida. Memoria, puertos de E/S, de analógico a digital de 93 convertidores, temporizadores del sistema y los aceleradores de hardware están conectados a esta interconexión. Mediante la utilización de una alta velocidad y baja latencia de interconexión, los datos se pueden mover fácilmente entre el procesador, la memoria y los dispositivos periféricos. Además de permitir que el CPU para interactuar con sus dispositivos periféricos, esta compartida también permite la interconexión de los distintos dispositivos periféricos para interactuar con los demás. Un periférico en este bus tiene la capacidad de extraer datos directamente del subsistema de memoria o para introducir datos en un UART periférico. Esto crea un sistema sumamente flexible en una codificación de datos periféricos pueden extraer datos directamente desde la memoria y en la transmisión de datos del acelerador, tales como la modulación RF de un canal de comunicación. Interfaz de programación de Puertos de E/S y almacenamiento compartido Datos programa ADC transceptor RF Radio Control System Memory & bus de E/S procesador Core Protocol instrucción trae Radio Ac y decodificar las señales de sincronización cePleroratotocorsl Los Aceleradores AccePleroratotocrosl Archivo de registro Archivo de Registro ALU Temporizadores del sistema señales de ruta de datos Figura 4-3: Arquitectura generalizada de dispositivo inalámbrico incorporado. 94 Un sistema de este tipo, el CPU es simplemente organizar la transmisión de datos; no se manipule directamente los datos. Todos los dispositivos de esta interconexión operar a través de una interfaz de memoria compartida. Cada dispositivo tiene estructuras de control que se asignan a un espacio de direcciones compartido. Esto permite que los componentes que no estaban originalmente destinados a funcionar juntos para combinarse en maneras nuevas e interesantes. Codificador de datos diseñado para la lectura de la memoria, transformar los datos, y escribir en la memoria muchos ni siquiera saben que es en realidad, tirando datos de un receptor de radio del bloque interfaz de memoria y en un UART de parte de la comunicación. En esta arquitectura, el tamaño del espacio de direcciones compartido dedicado a cada una de las operaciones puede configurarse dinámicamente para satisfacer los requisitos de las aplicaciones. La verdadera potencia de este sistema se encuentra en el especial de los aceleradores de hardware que permite. Estos aceleradores proporcionan implementaciones eficaces de operaciones de bajo nivel que son ineficientes en el uso general de ruta de datos. Cada acelerador está diseñado para brindar apoyo a las operaciones que son críticas para red de sensores comunicación. Al aumentar la eficiencia de las operaciones, el consumo de energía total del sistema se puede reducir en gran medida. Es importante que estos aceleradores son primitivas de comunicación en lugar de completar las implementaciones de protocolos para que el sistema pueda dar soporte a una amplia gama de protocolos de comunicación simultáneamente reconfiguración simplemente a través de software. Los aceleradores de hardware también las operaciones que necesitan realizarse lo más rápido posible a fin de optimizar el consumo de alimentación de la radio. Esto incluye el apoyo a símbolo de inicio, así como detección de bajo nivel de modulación. El objetivo es incluir a la mínima 95 funciones de hardware que es necesario apoyar eficientemente las necesidades de las aplicaciones y velocidades de comunicación de disociar las tasas de procesamiento. Mientras que los aceleradores de hardware están diseñados para proporcionar primitivas que se pueden utilizar para construir protocolos de comunicación, estas primitivas no son necesariamente simple. Por ejemplo, un acelerador de hardware para la codificación sería considerado un primitivo. Este componente tendrá los datos que se le da y cifrar o descifrar si es necesario. Como un acelerador de hardware que puede ser utilizado para las comunicaciones codificadas, la autenticación de los datos, o bien para asegurar que los datos almacenados en un chip de memoria flash se mantiene de forma segura. El acelerador de hardware se apliquen a fin de que la transformación criptográfica principal fue expuesto a la CPU y otros periféricos. Por el contrario, un sistema donde todo un subsistema de comunicación segura se encapsulan sin exponer ninguna de las primitivas interna. Una vez más esta elección de diseño permite una flexibilidad sin sacrificar la eficiencia. 4.5 Ventajas de arquitectura para entender completamente las desventajas y los beneficios de nuestra arquitectura generalizada que podemos volver a la serie de cuestiones presentadas anteriormente en este capítulo. Mientras que los aceleradores de hardware directamente proporcionan la capacidad de separar el procesamiento y la comunicación, debemos explorar la concurrencia y los mecanismos de flexibilidad de esta arquitectura. 4.5.1 Concurrencia a evaluar el rendimiento de la simultaneidad mecanismos, analizar el rendimiento del aspecto más concurrencia de comunicación intensiva, símbolo de inicio detección, con respecto a las dos arquitecturas. Comparamos nuestro procesador compartido 96 arquitectura a uno que tiene un par de procesadores, una de ellas dedicada a procesamiento de protocolo y uno dedicado al proceso de la aplicación. Podemos romper el trabajo de la CPU en tres categorías: tiempo de búsqueda, que es la duración de los ciclos dedicados a la realización de la búsqueda de símbolos inicio, tiempo de aplicación, que es ciclos que la aplicación puede decidir la forma en que utilizan, y los gastos generales. En el caso de nuestra CPU, sobrecarga del sistema es el costo de realizar cambios de contexto. En el caso de protocolo dedicado, sobrecarga del sistema es el costo del chip a chip comunicación y el exceso de aprovisionamiento necesario para manejar peor caso los plazos de entrega. Para comparar estos dos puntos de diseño podemos fijar el símbolo de inicio de transmisión es de 10 Kbps y analizar el uso de CPU de ambos sistemas suponiendo el mismo microcontrolador se utiliza. Como un punto de referencia para el uso compartido de la CPU sistema, podemos utilizar un solo 4 MHz microcontrolador. En el protocolo dedicado sistema basado en el procesador, tamaño del protocolo procesador que tenga el peor de los casos de inicio de la búsqueda de símbolos y a continuación, cambie el tamaño del procesador de aplicaciones para que el sistema tiene un tratamiento equivalente total del sistema 4 MHz. El símbolo iniciar búsqueda utilizados en TinyOS [ 45] requiere 49 ciclos por muestra en promedio, pero tiene la peor de sobrecarga de 62 ciclos. Para detectar un símbolo de inicio llegar a 10Kbps, una muestra debe ser tomada cada 50. Suponiendo que con optimismo que el costo del chip a chip interfaz es cero, el protocolo debe ser capaz de realizar el ciclo 62 peor de los casos nos muestra cada 50, por lo que funciona a 1,25 Mhz Por lo tanto, el procesador de aplicaciones se quedaría con los restantes 2,75 MHz (línea 2 de la Figura 4-4). En realidad, esperamos importante sobrecarga adicional causado por medio de la comunicación entre la aplicación y protocolo 97. A dar el beneficio de la duda al protocolo procesador, omitir esto por ahora. Uso compartido de la CPU en el sistema, el cambio de contexto se debe incluir los gastos de cada muestra. Sin optimizaciones, 116 ciclos se utilizan por ejemplo en promedio. Esto deja apenas 42% de los 4 MHz (1,68 MHz) disponibles para la aplicación, como se muestra en la línea superior de la Figura 4-4. 33,5 % De los recursos de la CPU se gasta en contexto superior del conmutador. Por el contrario, un 6,5 % de los recursos de la CPU del procesador dedicado sistema son gastados en el aprovisionamiento en exceso sobrecarga. La figura 4-4 muestra que hay más disponibilidad de procesamiento de la aplicación en el caso de protocolo (línea 2 y 3) que en el caso de los no compartida y optimizada controller (línea 1). Con una fuerza bruta, ingenuo, aplicación, nuestro modelo de simultaneidad es significativamente menos eficiente que el procesador dedicado. Desglose de los recursos de la CPU durante el arranque Símbolo Compartido Detección Inicio del controlador sin optimizar búsqueda de símbolos físicos de paralelismo, Controlador paquetes dedicada (Realista COM CPU 10% chip a chip de sobrecarga) sobre el aprovisionamiento de sobrecarga de CPU físico de paralelismo, paquetes dedicada CPU Controlador App chip a chip de sobrecarga) Sobrecarga de paralelismo Virtual %0 (optimista los recursos de la aplicación Controlador compartido optimizado 20% 40% 60% 80% 100% %0 estimación superior. %0 Figura 4-4: Desglose del uso de la CPU para símbolo de inicio de detección en tiempo de búsqueda, los gastos generales y el tiempo de CPU para las aplicaciones. Para el caso de que el controlador dedicado desglose se incluye con un realista 10% chip a chip estimación superior y con el mejor de los casos 98 Sin embargo, mientras que el exceso de aprovisionamiento es una parte fundamental de un sistema con particiones, cambiar el contexto es algo que podemos optimizar. Podemos explotar asignación dinámica de recursos para reducir el promedio de cambio de contexto en el caso compartido. Hasta el momento, nuestro análisis se basa en tener ambas implementaciones proceso cada una de las muestras en tiempo real. Si bien es esencial que el diseño se capaz de procesar los pedazos importantes en tiempo real, y no todos los bits tienen que ser tratadas de la misma manera. La primera mitad del símbolo de inicio puede ser detectado perezosamente y, a continuación, cambie a la lectura cada muestra en tiempo real. Si sólo 8 muestras pueden ser procesados en lotes, el promedio de cambio de contexto se reduce en un factor de 8. Esto daría como resultado un 4,19 % cambio de contexto por encima, como se muestra en la parte inferior de la Figura 4-4 (línea 4), lo cual es menos que el 6,5 % de gastos generales de aprovisionamiento en el caso del mando específico. Porque procesamiento de las muestras en el lote no cambia el peor de los casos, los controladores no se beneficia de esta optimización. Este análisis sugiere que el uso generalizado de protocolo dedicado los procesadores es difícil de justificar en el rendimiento o la utilización, especialmente cuando la partición dinámica natural de los recursos en el caso compartido se utiliza para mejorar el rendimiento general del sistema. Mientras que el fijo de cambio de contexto puede ser importante, se pueden utilizar las técnicas de amortizar. La naturaleza intermitente de los requisitos de tiempo real de protocolos inalámbricos hace conveniente que partición dinámica de recursos. 99 4.5.2 Protocolo flexibilidad y precisión de la sincronización , también debemos confirmar que nuestra arquitectura permite flexibilidad de protocolos y control directo sobre comunicación. Una de las principales virtudes de esta arquitectura general de sistemas inalámbricos tradicionales es que permite a los desarrolladores de aplicaciones acceso directo a cada paso del proceso de comunicación. En lugar de abstraer la distribución de muestreo de las particiones del sistema detrás de varias, una aplicación puede calcular directamente la hora de llegada de cada radio chip. A su vez, puede también controlar la hora exacta de emisión. Esto crea las primitivas básicas de comunicación programación extremadamente preciso. Este estrecho acoplamiento entre las aplicaciones y los protocolos de comunicación puede llevar a ultra precisión sincronización de tiempo. Una de las fases clave en protocolos inalámbricos es un control de acceso al medio (MAC) para la etapa. Arbitrar para el canal presenta retardo aleatorio en el paquete de transmisión. Una aplicación no puede saber exactamente cuando un paquete se transmite cuando se inicia la operación de envío. Cuando se realiza la sincronización de tiempo en radio enlace, este retardo aleatorio se degrada la precisión de la sincronización algoritmos. Sin embargo, si hay un estrecho acoplamiento entre la aplicación y el protocolo, la capa MAC puede informar a la aplicación lo que demora un paquete experiencias antes de su transmisión. Además, esta información se puede utilizar para modificar el paquete una vez que la transmisión comienza para que refleje adecuadamente el tiempo que se ha enviado. Esto puede llevar a las marcas microsegundo exacto de transmisión de paquetes. 4.6 Resumen En este capítulo, hemos establecido los antecedentes, y explorar los retos subyacentes de diseño nodo inalámbrico. A continuación presentamos una arquitectura generalizada que 100 aborda estas cuestiones. Ahora, debemos evaluar esta arquitectura en el mundo real las implementaciones hardware. En el siguiente capítulo se presenta una primera aproximación de esta arquitectura generalizada en la forma de la mica nodo. Este diseño sirve para validar la arquitectura principios que hemos elegido. Con ella vamos a demostrar la flexibilidad y la eficiencia de esta arquitectura. Es el primer paso hacia el final de un solo chip ejecución que se presenta en el Capítulo 6. 101 Capítulo 5: Aproximación de la arquitectura general: Mica La Rene nodo sirve como punto de partida para nuestro estudio por lo que nos permite desarrollar el núcleo TinyOS conceptos. Sólo después de que un sistema completo se desarrolló en torno Rene, es posible analizar el hardware de la plataforma. La plataforma se basa en mica Rene por los aceleradores de hardware agregar la clave con el fin de validar la arquitectura generalizada. Mica es la primera prueba de nuestra arquitectura generalizada. Como Rene, que sigue teniendo un microcontrolador central que realiza toda computación sino que complementa el controlador con los aceleradores de hardware, como dicta nuestra arquitectura en general. Los aceleradores hemos optado por incluir apoyo para aumentar la transmisión de las tasas de bits y precisión. Por desgracia, la Mica es sólo una aproximación de nuestra arquitectura generalizada. Las interfaces existentes disponibles en microcontroladores comerciales limitan en gran medida cómo completamente la arquitectura puede ser implementado, pero no obstante importante en el rendimiento y la eficiencia son posibles. El diseño proporciona la línea de base para implementaciones más agresivo y es útil para sacar a luz las interacciones entre los distintos tipos de componentes del sistema y su impacto en el rendimiento. Está construido con una sola CPU que proporciona el subprocesamiento múltiple en el software utilizando la concurrencia TinyOS mecanismos [ 45]. 102 5.1 Mica Mica diseño combina un procesador Atmega103 con un TR1000 radio RFM, almacenamiento externo y comunicación aceleración. Una conexión directa entre el controlador de la aplicación y el transceptor proporciona la flexibilidad necesaria para cumplir con los diseños de las aplicaciones. Los aceleradores de hardware también puede ayudar a aumentar el rendimiento de las fases fundamentales de la comunicación inalámbrica. El factor de forma (1,25 × 2,25 pulgadas) es un tamaño similar a un par de pilas AA, aunque hemos comprimido una variante del diseño del tamaño de una moneda 2.5 - centímetro .5 cm de espesor. La corriente de reposo para los componentes de Mica se encuentra a unos micro amperios, a fin de permitir que las aplicaciones que duran años en un solo juego de pilas. Mica experimental también mejora flexibilidad mediante la inclusión de un bus de expansión que se conecta a una amplia variedad de placas de sensores. Actualmente placas de sensores incluyen el apoyo para el control térmico temperatura, presión barométrica, campos magnéticos, la luz, infrarrojos pasivos, aceleración, vibración y acústica. 5.1.1 Descripción general del diagrama de la Figura 5-1 muestra la arquitectura Mica, que consta de cinco módulos principales: procesamiento, radio frecuencia (RF) para la comunicación, gestión de la energía, expansión de E/S y almacenamiento secundario. Un repaso rápido de los módulos principales proporciona una visión general de todo el sistema, por lo tanto, una factura detallada de los materiales, el dispositivo esquemático y hoja de datos para todos los componentes mencionados se pueden encontrar en http://www.tinyos.net. El microcontrolador principal es un Atmel ATMEGA103L o ATMEGA128 funcionando a 4 MHz y ofrece unos cuatro millones de instrucciones por segundo (MIPS) [ 46]. Este 8-bit microcontrolador: 128 Kbyte memoria de programa flash, 4Kbyte RAM estática, interno 103 8-channel 10-bit del convertidor analógico-digital, tres de los temporizadores, 48 líneas de E / S de uso general, uno externo universal asynchronous receiver transmitter (UART), y uno serial peripheral interface (SPI) puerto. Normalmente, la programación de estos microcontroladores se produce durante la fabricación con una carga de firmware o durante el mantenimiento. En nuestro diseño, sin embargo, la red se puede programar dinámicamente durante el uso normal. El coprocesador de reprogramación inalámbrica es el mismo controlador de René. Además, con el fin de que cada nodo con una identificación única, incluimos un Maxim DS2401 número de serie de silicio de una ROM de bajo costo con un mínimo dispositivo interfaz electrónica y no hay requisitos de alimentación [ 47]. El Mica radio consta de un módulo RF Monolithics TR1000 transceptor. Se ha configurado de forma similar a la de la Rene nodo. 4-Mbit Atmel A45DB041B serie flash chip proporciona almacenamiento persistente de datos [ 48]. Elegimos este chip debido a su interfaz y su reducido tamaño, 8-pin de contorno pequeño circuito integrado. Almacena los registros de datos del sensor y almacenan temporalmente las imágenes del programa 51-pin I/O 8 Conector de expansión Programación Digital I/O analógica 8 líneas de E/S Coprocesador DS2401 ID único microcontrolador Atmega103 4Mbit Flash externo Potencia de transmisión de los aceleradores de Control Regulación de potencia MAX1678 (3V) TR 1000 Transmisor de Radio Figura 5-1: diagrama de bloques de Mica arquitectura. La conexión directa entre controlador de la aplicación y el transceptor permite la Mica nodo a ser muy flexible a las demandas de las aplicaciones. Opcionalmente, puede ayudar a las aceleraciones Hardware en protocolos de comunicación. 104 Recibida a través de la interfaz de red. Para mantener un programa completo el flash debe ser más grande que el 128 Kbyte memoria de programa. Esto impidió que el proyecto está estudiando la utilización de la energía inferior, de forma electrónica borrable programable-ROM utiliza soluciones basadas en Rene ya que, por lo general, son menos de 32 Kbytes. Hemos diseñado el subsistema de alimentación para regular la tensión de alimentación del sistema; un Maxim1678 convertidor CC-CC proporciona un constante 3,3 v. Mica trabaja con pilas alcalinas y aumenta su tensión de salida. Nosotros elegimos el Maxim chip debido a su factor de forma pequeña y alta eficiencia. El convertidor tiene tensión de entrada tan bajo como 1.1 V. tensión de entrada afecta significativamente a la TR1000 potencia de transmisión y sensibilidad de recepción. Para ultra modo de inactividad de baja energía, la desactivación del sistema de alimentación permite que el sistema ejecute directamente en la tensión de entrada no reglamentada, reduciendo el consumo de energía por el convertidor boost y el microcontrolador. La radio no funciona, sin embargo, sin el convertidor boost activado. La Figura 5-2 resume la Mica nodo componente de consumo de energía. El subsistema de E/S interfaz consta de 51-pin conector de expansión que hemos diseñado para interfaz con una gran variedad de placas de detección y programación. Hemos dividido el conector en la siguientes secciones: ocho líneas analógicas, ocho de las líneas de control, tres Mica nodo componente activo Consumo de energía CPU inactiva 16,5 mW 30 uW 21 mW (TX), Radio 15 mW (RX) ID 0 uW silicona 0 .015 mW uW Flash externo 45 mW 30 uW de 10 mW 0 uW Figura 5-2: Distribución de activos y consumo de energía en estado inactivo de Mica los componentes de hardware en 3V. Modulación de ancho de pulso 105 líneas analógicas comparar dos líneas, cuatro líneas de interrupción externa, 2I C-bus de Fairchild Semiconductor Philips r, un bus SPI, un puerto serie, y una colección de líneas dedicadas a la programación de microcontroladores. El conector de expansión también se puede utilizar para programar el dispositivo y para comunicarse con otros dispositivos, como un PC que actúe como un nodo de pasarela. Además, el informe contiene una interfaz UART estándar para controlar o proporcionar los datos a cualquier protocolo RS-232 dispositivo base. Decenas de placas de sensores con una gran variedad de sensores han sido desarrollados que utilice este conector de expansión. También ha sido utilizado para permitir que la Mica nodo a controlar un puñado de pulgada de tamaño de plataformas robóticas. 5.1.2 Interfaz de radio primas El subsistema de radio es un primer ejemplo de la rica interfaz sencilla. De este subsistema de interfaz de bajo nivel, los diseñadores pueden crear protocolos de señalización arbitraria para satisfacer los requisitos de las aplicaciones. La radio exige ciertos parámetros, es decir, la señalización debe ocurrir en un half-duplex bit-enlace en serie mediante codificación por cambio de amplitud física con un mínimo tiempo de bit de 10 microsegundos ( µs), y la necesidad de una corriente directa (DC) equilibrio (por ejemplo, no debe haber más de cuatro bits consecutivos o alta baja cuatro bits). Más allá de eso, los componentes de software del sistema determinar todos los aspectos del protocolo de comunicación. El TR1000 radio utilizado en la mica permite al controlador acceso directo a la fuerza de la señal de transmisión de RF entrante, así como una muestra del nivel de ruido de fondo durante los períodos cuando no hay transmisión activa. Mediante el uso de esta información en multi-hop las aplicaciones de redes puede aumentar de manera notable eficiencia al permitir a las aplicaciones usar enlaces con buenas relaciones de señal y ruido. Además, 106 las interacciones entre el transmisor y el receptor son muy predecibles, como es el retraso a través de la interfaz de radio. Porque la radio se puede encender y apagar de software de forma rápida y predecible, bajo ciclo de trabajo puede producir un funcionamiento sin coordinación global o asignación tiempo complejo. Este acceso directo y de bajo nivel de interfaz para la radio proporciona flexibilidad a los desarrolladores de aplicaciones. Los investigadores de la Universidad de California, Los Ángeles han explotado esta flexibilidad para crear energía consciente protocolos MAC [ 50]. 5.2 Comunicación los aceleradores el inconveniente de una interfaz de bajo nivel a la radio es que se coloca una carga significativa en el controlador principal. La frecuencia de programar las operaciones de E/S y de la ineficacia de conjuntos de instrucciones convencionales para expresar estas operaciones hacen que sea difícil de lograr velocidades de bits altas. Es ineficaz para controlar los bits de correlación serial ventana deslizante se requiere para detección de símbolo de inicio de propósito general ruta de los datos. Sin embargo, esta operación se realiza en sólo unas pocas puertas a implementar en el hardware. Para compensar esta diferencia, la Mica incluye aceleradores de hardware arquitectura de los más exigentes primitivos utilizados en construcción y protocolo permite estas primitivas de ser compuesta en software, haciendo ricos las interfaces disponibles. Plataforma de la Mica, construimos el crítico con los aceleradores de hardware seriadas convencionales en formas poco convencionales. Al tiempo que proporcionan una importante eficiencia boost, que representan sólo el comienzo de lo que es posible que los avances en dispositivos personalizados que comprender completamente nuestra arquitectura en general. El primer acelerador nos ofrece una simple memoria compartida de amortiguador entre los bits de datos en paralelo y la ruta de canal de radio de serie. Permite que el procesador de datos de comunicación eficiente en pedazos y se solapan con la manipulación de datos de bajo nivel de bits de colas o de la radio. El mecanismo no se dictan o codificación de canal de señalización 107 y puede ser derivado al dejar que el microcontrolador interactuar directamente con la radio con programación I/O. Esta opción cumple con requisitos de tiempo real cuando sea necesario, por ejemplo, detección símbolo durante el arranque, pero no procesamiento en tiempo real de todas las opciones de transferencia. Este acelerador permite a la unidad del controlador Atmel la radio a 50 kbps con una pequeña fracción del procesador, mientras que E/S programada llega a un máximo de 20 kbps utilizando todo el procesador. (Otros microcontroladores con una de doble búfer SPI puerto de transmisión puede lograr la plena 115 kbps de la radio.) El rendimiento de la transmisión de byte versiones más sofisticadas de este acelerador, enfoque directo a la memoria convencional rendimiento canal de acceso, pero con un control preciso sobre el calendario. El Mica nodo también incorpora una sincronización acelerador que captura el momento exacto de un paquete entrante en un ciclo de reloj (250 nanosegundos) al comienzo de paquete recepción. Memoria compartida almacena este paquete marca de tiempo de la ruta de acceso a datos. Este acelerador de hardware es fundamental para nuestro diseño, porque a una tasa de bits alta, determinar con precisión la transmisión de distribución es difícil. La sincronización del acelerador hacia delante esta marca de tiempo para el almacenamiento en búfer del acelerador automático de canales para que el muestreo puede ser realizada por el almacenamiento en búfer del acelerador en el centro de cada transmisión de bits. Hemos creado estas dos aceleradores de hardware estándar de microcontrolador unidades funcionales. SPI es un sincrónicas chip a chip interconectarse con una serie de datos de una señal de reloj independiente que un SPI maestro externo. Ir en coche por la radio asincrónica mediante la combinación de la funcionalidad de captura de registros, controlada por temporizador las patillas de salida, y el hardware de comunicaciones SPI. El registro de entrada captura captura automáticamente una distribución pulso contenidos en el paquete. Este valor se usa para configurar el registro de distribución que controla una patilla de salida. Una opción de control permite cambiar automáticamente 108 hardware el contacto de salida cada vez que el contador vence; esta patilla de salida se convierte en un registro que los tiempos cada señal llega poco. Por último, SPI hardware captura el valor de la señal de radio cada vez que el contador activa la línea de reloj. Para ello, conectar el contador controlado patilla de salida a la línea de reloj síncrono del puerto SPI. Durante la recepción, combinamos el radio de recepción de datos entrantes generados artificialmente con una señal de reloj para crear un SPI master. La señal de reloj es la salida de la distribución registro vuelve a alimentar el controlador del puerto SPI. Esto se traduce en el puerto SPI automáticamente el bloqueo y el almacenamiento en búfer de transmisión entrante con una sincronización precisa, en la medida en que el registro interno de distribución está configurado correctamente en el inicio de la recepción. Como en la arquitectura general presentada en el Capítulo 4, estos aceleradores de hardware son primitivos bloques de creación que se pueden utilizar con flexibilidad para crear protocolos de comunicación. No separar la información de bajo nivel. Más bien, intento de exponer como debe información como sea posible de la ruta de datos del microcontrolador para que nuevas composiciones son flexibles. 5.3 Evaluación para evaluar la Mica nodo que se volverá a la serie de requisitos que utilizan para desarrollar nuestra arquitectura en general. En particular nos centramos en la capacidad del nodo Mica para apoyar los requisitos de concurrencia las redes de sensores, la posibilidad de disociar comunicación velocidad y la ruta de los datos, la posibilidad de prestar temporal preciso control sobre la radio y la capacidad de soportar un conjunto flexible de protocolos de comunicación. 109 5.3.1 Administración de la concurrencia. Para analizar la eficiencia de nuestro mecanismo concurrencia, volvemos a nuestras símbolo inicio análisis de detección. Para la óptima explotación de la asignación dinámica de la CPU, hemos implementado un dos fases de símbolo inicio mecanismo de búsqueda. En la primera etapa, las muestras se almacenan en 8 bloques de muestras y análisis en el lote. Si la primera mitad del símbolo de inicio es detectado, el siguiente conjunto de las muestras se analizan en tiempo real. Si el resto del símbolo se encuentra, entonces el paquete recepción se inicia. Si el símbolo no se encuentra, la CPU vuelve a modo de procesamiento por lotes. Este aprovecha la influencia del acelerador para amortizar el costo de cambio de contexto a través de múltiples bits de datos. Reduce el promedio de cambio de contexto de 33,5 % a apenas 4,2 %. Esto reduce el promedio de uso de la CPU del símbolo de inicio búsqueda y el cambio de contexto de 22,1 % para el 10Kbps inicio búsqueda del símbolo. No sólo hemos logrado amortizar los costos del cambio de contexto, pero el modo de proceso por lotes de procesamiento la búsqueda en sí misma es más eficiente. El hardware de propósito especial ha aumentado los recursos de CPU disponibles para el procesamiento de las aplicaciones en un 85% y supera a la óptima distribución de los recursos de la CPU Código Original símbolo Inicio Buscar Paralelismo Virtual de los recursos de la aplicación código optimizado 20% 40% 60% 80% 100% %0 Figura 5-3: uso de la CPU detección del símbolo de inicio. Las optimizaciones activadas por la Mica nodo aumentar significativamente eficacia de la CPU. 110 Paquetes dedicada con particiones sistema basado en un controlador. Con este nuevo símbolo de inicio eficacia en la búsqueda, o bien podemos pasar más tiempo de procesamiento de la aplicación, hacer más lento el CPU, o aumentar el símbolo de arranque velocidad de transmisión. En función de las demandas específicas de las aplicaciones de estas tres opciones podría dar lugar a un diseño más eficiente sistema de puntos. La figura 5-3 describe estos resultados. 5.3.2 Interacción entre RF y la ruta de los datos de velocidad además de utilizar los aceleradores de hardware para reducir los gastos generales, que también lo han utilizado para separar los datos de la velocidad de transmisión. Durante la transmisión, en tiempo real, el bajo nivel de muestreo es ahora que se está llevando a cabo en el hardware. En lugar de utilizar E/S programada para cada bit, interfaz la ruta de datos a nivel de byte. Lo ideal sería que hubiera incluido más el almacenamiento en búfer de un solo byte, pero no fue posible al utilizar los productos de microcontroladores Atmel. Sin embargo, incluso esta cantidad limitada de disociación nos permite incrementar significativamente las tasas de transmisión. La aplicación ha demostrado en Rene utiliza E/S programada exclusivamente y registró un ancho de banda máximo de 10Kb/s. Este fue limitada por la carga de la CPU asociada al tomar una interrupción con cada bit. Con nuestra explotación de los SPI en acelerador de hardware, hemos sido capaces de alcanzar velocidades de hasta 50 Kbps en el mismo procesador. Nuestro 5x aceleración está limitada por la pequeña cantidad de búfer presente en nuestro dispositivo. Hemos sido capaces de demostrar 115 Kbps las transmisiones en una TI MSP430 [ 24] microcontrolador que que también se ejecuta en 4 MHz, pero tiene dos bytes de almacenamiento en búfer en el puerto SPI. Además de aumentar el ancho de banda, que también han disminuido la sobrecarga de la CPU por tratar con los datos en el byte de bites. Eliminar la manipulación de bits las operaciones de la ruta de datos computacional reducido de manera significativa la sobrecarga en el sistema. 5.3.3 Flexibilidad 111 interfaz El tercer problema de arquitectura es el eficiente apoyo de flexibles interfaces de protocolo. El aumento de rendimiento que hemos demostrado nuestra capacidad de ser diseños eficientes. Para demostrar su flexibilidad hemos puesto en práctica un par de protocolos específicos de aplicación que explotan las optimizaciones. Ellos son de alta precisión y un mecanismo de sincronización ultra-low power RF protocolo sueño. 5.3.3.1 La capa de muchas optimizaciones profundamente las aplicaciones integradas pasar la mayor parte del tiempo, en un estado de baja energía, drena lentamente su energía disponible mediante la transformación de las lecturas de los sensores para confirmar que no hay que tomar medidas. Con frecuencia, estas aplicaciones se comunican entre sí los resultados de la labor de vigilancia y, en raras ocasiones, las porciones de la red se vuelven extremadamente activo ante la detección de un evento importante. Las mejoras en el rendimiento de la aplicación activa en el trabajo, como el procesamiento y la mensajería instantánea, mejorar la eficacia general de la aplicación y deje que regrese a un estado de bajo consumo de energía más rápidamente. Sin embargo, el mayor impacto de la ricamente enfoque integrado de diseño inalámbrico es que permite optimizar al resto de la aplicación. A menudo estas optimizaciones llegar a través de las capas de abstracción, utilizando información de bajo nivel para lograr una meta de alto alcance. 112 Frecuencia de control) ‫( ٭‬coste de comprobación) 3) media hora de activación = ½ (control) = 1/ (2 ‫( ٭‬radio consumo de energía) 2) consumo de energía = (frecuencia de control) 1 ‫ )٭‬Costo de control = (radio en el tiempo) Figura 5-4: ecuaciones para determinar el consumo de energía de un sueño. Además de ofrecer datos de banda ancha comunicación mediante protocolos estándar, también hemos sido capaces de demostrar cómo la flexibilidad que desempeña un papel clave a la hora de habilitar las optimizaciones a nivel de sistemas. Nos muestran esta aplicación práctica cuatro de protocolos específicos que mejorar el rendimiento global del sistema en su aplicación. El primero de estos es un protocolo que explora el equilibrio entre el transmisor y el receptor. 5.3.3.1.1.1 Activación RF interfaz La materia prima a la radio puede ser explotado para ejecutar un ultra bajo consumo de energía basadas en radio red señal de activación. Como se ha visto en nuestro sistema de alarma aplicación, es importante para poder iniciar comunicación no programadas y la red es el de la baja de estado de energía. El primer paso de este proceso es consecuencia de una red para dormir. Para cualquier basado en RF wake-up protocolo, cada uno de los nodos debe periódicamente encender la radio y comprobar la señal de activación. La figura 5-4 contiene las ecuaciones necesarias para determinar el consumo de energía de un sueño red. Cada vez que un nodo verifica la señal de activación, consumirá energía equivalente al consumo de energía de la radio times el tiempo las radios es de (1). La potencia consumida por el para dormir nodo será la energía que se usa cada vez que se verifica para la señal veces la frecuencia de la prueba (2). 113 El mínimo de tiempo de radio debe estar encendido cada vez que un nodo verifica la existencia de la señal de activación y reducir al mínimo la frecuencia de comprobación son los dos mecanismos para reducir el consumo de energía del sistema. Sin embargo, la frecuencia con la que los nodos verificar la presencia de una señal de activación determina la cantidad de tiempo que tarda en la red de activación. Si cada uno de los nodos, para controlar una señal de activación cada minuto, la media que se espera después de un tiempo de un único nodo será de 30 segundos (3). Esto significa una mayor frecuencia de los rendimientos más rápido después de un tiempo y un mejor rendimiento de las aplicaciones. Debido a esto, nos centramos en la reducción al mínimo del tiempo que se tarda en verificar la presencia de una señal de activación. Usando un paquete de protocolo, cada nodo tiene que encender la radio para al menos dos paquetes 1 veces . En nuestro sistema, un paquete tiempo de transmisión es de aproximadamente 50 ms, por lo que cada nodo tendría que estar despierto para a 100ms cada vez que se verifica un wake-up mensaje. Si un nodo tiene que despertarse cada minuto, esto da como resultado un mejor caso de radio ciclo de trabajo de .2 %. Esta ventana de tiempo es aún mayor al considerar los efectos de una red multi-hop y el argumento asociado con el hecho de tener un gran número de nodos retransmitir la señal de activación al mismo tiempo. En vez de interactuar con la radio a un alto nivel de interfaz de paquetes, nuestro modo de suspensión de aplicación interactúa directamente con el analógico de banda base. La señal de activación no es más que un largo pulso de RF. Cada vez que un nodo verifica la señal de activación, se puede determinar que la señal de activación no está presente en 50us. La detección de la señal 50us tiempo es un 2000x mejora en un paquete de tiempo de detección. % En nuestra aplicación, que elegir una muestra cada 4 segundos, lo cual resulta en un .00125 1 Si un nodo se envía un flujo continuo de wake-up paquetes, escuchando dos veces paquete garantizará que un paquete completo se transmitió mientras que el nodo estaba despierto. 114 Radio ciclo de trabajo, un 160x mejora en el paquete de protocolo que se toma una vez por minuto. Este ultra-baja ciclo de trabajo aplicación ha sido utilizado de manera consistente wake-up multi-hop red de sensores de más de 800 nodos. Este programa de señalización radicalmente diferente, no habría sido posible si un protocolo de aplicaciones estaba limitando el uso del radio. El protocolo de nivel de sistema para la gestión de la transición entre el consumo ultra bajo de energía y el modo de suspensión el modo activo es bastante sencillo. Suponiendo que los nodos inicio en modo de reposo, cada nodo verifica la señal de activación. Una vez que el wake-up se detecta la señal, que está a la escucha de un mensaje secundario que contiene información acerca de cuánto tiempo se va a levantarse y si es de sus vecinos. Si los vecinos se despertaron, el nodo retransmitirá el par de wake-up mensajes. Complementa la ultra-low power despertador mensaje con un mensaje de control evita de activación de red. El mensaje de control puede explotar y comprobación de errores mensaje técnicas de autenticación que no son posibles con los de baja potencia wake-up mensaje. Si un mensaje no se recibe que el nodo puede volver rápidamente al estado de bajo consumo de energía. Una vez que la red está despierto, puede ser colocado nuevamente en un estado de bajo consumo de energía por las inundaciones de un mensaje de comando. El único requisito es que los nodos demora por un corto periodo de tiempo después de recibir el comando de suspensión para asegurar todos sus vecinos han escuchado el mensaje también. 5.3.3.1.1.2 Escucha Baja Potencia en redes de sensores, multi-hop las topologías de enrutamiento son construidas por nodos intermedios que actúan como correas de transmisión de los nodos remotos. Estos nodos de enrutamiento debe escuchar las comunicaciones y propagar mensajes hacia su destino. Mientras escucha la radio 115 consume casi tanta energía como cuando esté transmitiendo. Aun cuando no se establece la comunicación, una considerable cantidad de energía se gasta buscando el siguiente paquete. En la red de recogida de datos la energía que se invierte en la espera de una transmisión puede representar más del 50% de un nodo de presupuesto total de energía. Sensor incorporado los investigadores han afirmado que protocolos de alto nivel tienen que ser usadas para reducir consumo de energía de los nodos cuando no activamente transmitiendo [ 2]. Como se discutió en el Capítulo 2, una solución es tener windows y períodos de comunicación windows de períodos de sueño[ 51]. Sin embargo, se ha demostrado que en algunos casos pobre interacción entre funcionarios de alto nivel y las técnicas de ahorro de energía de bajo nivel los protocolos de comunicación puede llevar a un aumento en el consumo de energía al utilizar mecanismos de ventanas [ 52]. Hemos podido demostrar que alternativa es modificar los niveles más bajos de la pila de comunicaciones. A diferencia el uso de ventanas, que las capas de la parte superior de la norma de bajo nivel los protocolos, podemos cambiar el protocolo de comunicación subyacente para optimizar el consumo de receptor. En lugar de que el emisor transmitir simplemente un símbolo de inicio seguido de un paquete, se puede requerir que el emisor transmita primero un preámbulo para obtener la atención de cualquier posible receptor. A continuación, puede seguir con el símbolo de arranque y paquete. Entonces, el receptor sólo tiene que escuchar a menudo lo suficiente como para capturar cualquier parte de la señal de atención. Control preciso sobre el estado de la alimentación de la radio permite el protocolo para apagar la radio entre cada una de las muestras. El ciclo de trabajo del receptor se proporcional a la longitud de este preámbulo. Una vez detectadas, el preámbulo, el receptor a buscar el símbolo de arranque pendiente. Esta optimización de protocolos oficios consumo de corriente en el emisor para el consumo de potencia en el receptor. El remitente debe transmitir más, pero el receptor puede 116 muestra el canal de radio frecuencia menor. La relación óptima depende de los patrones de comunicación de la aplicación. En concreto, depende de la velocidad de transmisión, el ciclo de servicio y el retardo máximo permitido. Hemos implementado una versión de este sistema, donde el receptor tiene un 10% de sobrecarga en un 30-byte paquete. Este ligero aumento es superior porque la velocidad de muestreo del receptor es unas 3000 veces por segundo. De grano fino se utiliza para control de encendido, la muestra, y el poder de la radio en 30. Nivel de aplicación de ventanas protocolos generalmente tienen tamaños de ventana de segundos o más. %1 Ciclo de trabajo y el remitente debe transmitir un preámbulo de 5 bits. El receptor 10% ciclo de trabajo no sólo se traduce en una reducción del 90% de consumo de energía, se produjo, además, un 33% de reducción de la carga de la CPU asociada al control de la radio. Por otro lado, el emisor sólo incurre en un ligero aumento en los gastos generales, menor que en función de la aplicación objetivos específicos, y el receptor es posible reducir los gastos arbitrariamente a expensas de ancho de banda, latencia y sobrecarga de la transmisión. Además, una aplicación puede cambiar el protocolo en tiempo de ejecución en función de la actividad de la red. Este simple optimización demuestra los beneficios que están habilitadas por la arquitectura flexible de protocolos de comunicación mediante la explotación de la capacidad de adaptar protocolos de aplicación criterios específicos. 5.3.3.1.1.3 Sincronización de tiempo nuestra aplicación de recopilación de datos requiere correlación con el tiempo las lecturas de los sensores y comunicación precisa planificación. La precisión de protocolos de sincronización es limitado por el impredecible fluctuación en tiempos de la comunicación [ 53]. Aparte de las variaciones en la latencia de la red, la variación de retraso vamos a través de 117 procesadores sofisticados protocolo puede ser cientos de milisegundos debido al almacenamiento en búfer, protocolos MAC, y retroceda. A diferencia de área amplia protocolos de sincronización de tiempo como 8 protocolo de tiempo de red -podemos determinar todas las fuentes de comunicación [ 54]. Nuestra rica las interfaces nos permiten exponer las fuentes de retardo a la aplicación, lo que reduce la fluctuación desconocida. Además, en la explotación de los temporizadores, podemos asignar las marcas precisas a los paquetes entrantes y salientes bajo las fuentes de variación. Hemos diseñado la Mica para usar una plataforma interna de 16-bit de alta contador de frecuencia para actuar como el menor de 16 bits de 32 bits funciona continuamente reloj del sistema. Esta muy preciso reloj del sistema está directamente vinculada a la sincronización del acelerador utilizado para capturar el momento exacto de un paquete entrante. Para sincronizar un par de nodos, un paquete puede ser estampada con un valor de reloj del emisor ya que se transmite todos los MAC y después se han producido demoras (antes de la transmisión, un nodo puede tener que esperar para el canal de radio para que quede claro). El receptor del acelerador de sincronización puede etiquetar el paquete con el reloj del receptor. La aplicación puede utilizar la diferencia entre las dos marcas de tiempo para determinar la forma de ajustar el reloj del sistema. La aplicación se sincroniza un par de nodos dentro de los 2 µs. Podemos atribuir directamente la inclinación de + /- 2 µs a varias fuentes de inestabilidad. Al enviar, hay una fluctuación de + /- 1 µs en la transmisión propagación debido a la dinámica interna del circuito de la radio. Hardware, capta el pulso llega con una precisión de + /- .25µs. Por último, para sincronizar el reloj basado en el valor capturado introduce una nueva + /- .625 µs de jitter. Esta aplicación sólo es posible a causa del acceso compartido a una de alta precisión temporizador del sistema entre la parte inferior de la pila de red y la parte superior de la aplicación 118. Dispositivos inalámbricos con particiones de chipsets como, por ejemplo, Bluetooth de ocultar la fecha exacta información de las aplicaciones. En general, la recepción de paquetes vía tiene menos fluctuación de la ruta de transmisión, por lo que un enfoque alternativo utiliza la naturaleza de broadcast del canal de radio para sincronizar varios receptores, incluso si están mal sincronizado con el transmisor. Mica primitivas de sincronización de tiempo sumamente precisa par dar sabios sincronización entre los dos nodos. Esta primitiva puede ayudar construcción de toda la red de sincronización de tiempo de decenas de microsegundos. 5.3.3.1.1.4 Nodo Localización localización es una parte fundamental de nuestro nodo escenario de la aplicación de seguimiento. Acceso directo a la base de la banda señal de salida por el receptor TR1000 cadena puede ser aprovechada para ayudar en su localización. Varios grupos han intentado realizar localización en una red de sensores con intensidad de la señal RF[42, 55, 56]. La radio se utiliza como un sensor analógico para detectar la fuerza de una señal entrante. Modelos de propagación DE RF se aplican a inferir distancia desde una colección de lecturas de la intensidad. El procesador de acceso directo a la materia prima de banda base, nuestra plataforma le da el desarrollador de la aplicación de tanta información como sea posible acerca de la señal de entrada. El controlador central puede ver la potencia de la señal de cada uno de los bits, así como el nivel del ruido de fondo. Además, debido a que el remitente tiene un control directo sobre la señal banda base que se transmite, puede intencionalmente transmitir pulsos de larga duración variable fuerza para ayudar a el receptor determinar la potencia de recepción más precisa. Una alternativa a 119 RF localización acústica es utilizar localización[ 57]. El retardo de propagación de impulsos acústicos se mide y se utiliza para inferir distancia. Para que los resultados sean precisos, es fundamental utilizar la radio para lograr sincronización temporal precisa entre dos nodos con el fin de correlacionar sus lecturas del sensor en el tiempo. Para obtener resultados precisos, el tiempo de transmisión de la pulso acústico debe ser precisa para el receptor y se correlacionó con la hora de recepción. La comunicación precisa sincronización proporcionado por la radio capa permite que se haga una increíble precisión. 5.4 Azul: seguimiento a Mica El diseño punto representado por Mica ha dado un paso más adelante por el Polvo Inc. El Polvo azul Inc. mote reemplaza los componentes individuales del sistema, manteniendo la misma arquitectura básica. El Azul sigue en marcha mote TinyOS, sin embargo, se aprovecha de una nueva generación de microcontroladores y radio. 5.4.1 CPU El primer componente del sistema que se va a cambiar el microcontrolador. Abandona el Azul microcontrolador AVR basado en favor de una 16 bits Texas Instruments MSP430 controlador [ 24]. La TI controlador ha sido optimizado para bajo consumo de energía, funcionamiento con batería. Como se señaló en el Capítulo 2, un microcontrolador característica clave es la capacidad de introducir rápidamente y salir de la suspensión. La MPS430 tiene la capacidad de entrar y salir de un estado de reposo 2 uA en 100 us. Además, el núcleo ha sido diseñado para permitir que los subsistemas funcionan mientras el reloj del sistema está desactivada. Operaciones de ADC, UART y comunicación radio las transferencias de datos puede continuar mientras el principal núcleo de la CPU está inactiva. Estas características reducen en gran medida el ciclo de trabajo y, a su vez el consumo de energía del núcleo de la CPU. 120 La TI CPU tiene beneficios adicionales. El consumo de energía total de la CPU en el modo activo se ha reducido en los 5 mA del AVR core a 1 mA cuando operan a 3 V. Además, la TI CPU es capaz de funcionar con un rango de voltaje de 1.8 voltios. Esto le permite operar directamente de las pilas alcalinas sin necesidad de costosas convertidor boost. Además, la resolución ADC se aumentó de 10-bits a 12bits y la tasa de muestreo es ADC 100 Ksps. Por último, el coste de la pieza de la TI CPU es significativamente menor que el de los Atmel versión. En general, el azul mote se espera que el 50% reducción de costes y un 4-6x mejorar sus condiciones de vida. 5.4.2 Radio La segunda actualización importante nodo en el azul es el uso de una radio FM en lugar de una radio de AM. El azul tiene un nodo FSK 900 MHz radio - la Chipcon CC1000 La Figura 5-5: Seguimiento a la nodo Mica azul, aumentar el alcance y reduce el consumo de energía. Nodos azules tienen un 4- 6x mayor duración de la batería de Mica con pilas alcalinas. 121 Que hemos descrito en el Capítulo 2 [ 23]. Al mismo tiempo que consumen más energía que el radio RFM TR1000 utiliza en el nodo Mica, el CC1000 tiene mayor sensibilidad y una mayor potencia de transmisión. El uso de modulación FM también permite que el CC1000 para ser más tolerantes a las injerencias externas. Además, el CC1000 radio frecuencia ágil. La frecuencia de la portadora de la azul mote se puede ajustar en cualquier parte del 902-928 rango de frecuencia. De forma predeterminada, el nodo Azul ofrece 25 canales espaciados uniformemente. Se pueden utilizar estos canales para evitar interferencias externas o para dividir ancho de banda de la red entre los distintos canales. En azul, el CC1000 proporciona 76,8 Kbps de ancho de banda en cada uno de los canales, de los 50 Kbps es posible en el canal único nodo Mica. 5.5 Resumen La Mica nodo es la primera aproximación de nuestra arquitectura generalizada. Construida a partir de componentes disponibles en el mercado, que ha demostrado ser de gran valor en el proceso de verificación de la validez de nuestra arquitectura en general. Sin embargo, es limitado por las interfaces disponibles y comportamiento interno de los componentes disponibles en el mercado. A pesar de sus limitaciones, ha sido usado por más de cien grupos de investigación como una plataforma para la experimentación en el área de las redes de sensores inalámbricos. Mica es un cuidadoso equilibrio entre eficiencia y flexibilidad. Eficiencia es esencial para todos los sistemas de red de sensores mientras que la flexibilidad permite la Mica plataforma para abordar una amplia gama de escenarios de aplicación. El éxito de la mica plataforma nos permite tomar el siguiente paso evolutivo integración de un chip. El nodo Mica ha demostrado que el generalizar arquitectura presentada en el Capítulo 4 tiene el potencial de producir muy eficaz y flexible los nodos. Cuando 122 en comparación con el Rene plataforma, la mica los aceleradores de hardware comunicación aumentar significativamente las tasas de bits y precisión de tiempo mientras que reducir sobrecarga de la CPU. La plataforma Azul de la mica nodo mantiene la misma arquitectura básica del nodo Mica pero selecciona los componentes de hardware que nodo mejoran significativamente su vida y alcance de la comunicación. Tal como se describe en el Capítulo 2, la capacidad de tolerar una amplia gama de tensiones de entrada aumenta significativamente nodo vida cuando está funcionando de pilas alcalinas. En el capítulo siguiente nos dar el salto desde la construcción de sistema de los componentes comunes de creación de silicio. Esto nos permite comprender totalmente los generalizar arquitectura presentada en el Capítulo 4. Nos muestran la inclusión de los aceleradores de hardware puede conducir a importantes mejoras en el rendimiento sin sacrificar la eficiencia. Resultados del proceso de diseño en un solo chip CMOS que integra un diseño radio, computación y almacenamiento en un solo milímetro de nodo. 123 Capítulo 6: Arquitectura integrada para los nodos sensores inalámbricos - Spec el próximo salto hacia la demostración de la potencia de nuestra arquitectura nodo generalizada es de avanzar más allá de lo que es posible con los componentes de la plataforma y un diseño personalizado solución integrada. Aproximación al mismo tiempo nuestra arquitectura general, la mica y nodos azules se han visto limitados por las actuales interfaces chip. Desarrollo de una tecnología ASIC personalizada nos permite derribar las limitaciones artificiales impuestas por componentes comerciales. Mediante el uso de silicio personalizado se puede conseguir órdenes de magnitud las mejoras en la eficiencia en las principales primitivas de comunicación. Además, hemos demostrado que nuestra arquitectura generalizada nos permite lograr estas mejoras de rendimiento sin sacrificar la flexibilidad. Figura 6-1: El único chip Spec nodo fotografiado al lado de un bolígrafo. 124 Además de las ventajas de arquitectura, un solo chip de integración también tiene importantes mejoras de eficiencia y tamaño. Nuestro último diseño es un nodo basado en ASIC llamado Spec. A pesar de incluir un microcontrolador, SRAM, comunicación y aceleradores de 900 MHz multi-canal transmisor, el nodo de Especificaciones mide sólo 2,5 mm de lado en un .25 proceso CMOS de mu. Su arquitectura se combina la eficiencia de un hardware dedicado con la flexibilidad del software de bajo nivel primitivo que los aceleradores son dinámicamente compuestas junto. La integración de un dispositivo que sólo requiere un puñado de bajo costo de los componentes externos, incluidos un cristal, batería, inductor y una antena para ser una completa red de sensores inalámbricos nodo. 6.1.1 Descripción de alto nivel con el fin de dar soporte a una amplia variedad de situaciones de aplicación y la capacidad de realizar optimizaciones específicas de las aplicaciones, las especificaciones nodo está diseñado para ser una colección de primitivas básicas que puede haber flexibilidad. Esto es en contraste con los sistemas que se construyen como una jerarquía de subgrupos especializados de sistemas. En lugar de tener motores de protocolo y los controladores radio dedicado, Spec es construida a partir de niveles bajos de patrón de distribución matchers, extractores y seriadas. Los simples primitivos pueden estar compuestos por el controlador central para llevar a cabo una amplia variedad de protocolos de comunicación específica de la aplicación. Los verdaderos beneficios de nuestra arquitectura generalizada sólo son viables cuando se combina con alta velocidad en el chip de interconexiones. Con especificaciones que sean capaces de diseñar los aceleradores especializados dirigidos a las necesidades específicas de comunicación y conectarlos a un 125 , interconexión de alta velocidad. Esta alta velocidad y baja latencia de interconexión es esencial para proporcionar una forma eficiente de composición y configuración de la discreta primitivas. Los aceleradores en el nodo de Especificaciones fueron seleccionados para que el uso intensivo de la CPU porciones de comunicación por radiofrecuencia puede ser descargado. Como hemos considerado cada acelerador de hardware, se realizó la comparación de las posibilidades de ahorro energético frente a la pérdida de flexibilidad. Si lo único que queríamos era para implementar un protocolo único, podríamos aplicar directamente en el hardware. Sin embargo, este tipo de nodo sólo podría apoyar un puñado de aplicaciones. Seleccionando cuidadosamente el conjunto correcto de primitivas, podemos aplicar un amplio conjunto de protocolos con un mínimo impacto en la eficiencia. El nodo de Especificaciones consta de SRAM, un microcontrolador RISC CPU core, un transmisor de RF 900 MHz [ 58], una colección de los aceleradores de hardware comunicación analógica, y a conversión digital [ 59] todo ello junto. Además de proporcionar primitivas para ayudar en la aplicación comunicación de RF, el Spec nodo también tiene soporte para el eficiente manejo de interrupciones. Perfiles de TinyOS reveló la importancia de eficiente gestión de interrupciones. Las redes de sensores se debe vigilar constantemente su entorno. Cada muestra activa varias interrupciones que realice pequeñas cantidades de computación. Las cuentas de gastos generales para interrumpir una cantidad significativa del consumo de energía; esto hace que sea un candidato ideal para la optimización. 6.1.2 Esquema general de la Figura 6-2 muestra el diagrama de bloques general del nodo especificado. El núcleo de la CPU es un basic 8-bit RISC con 16 bits instrucciones. Para que siga siendo compatible con el conjunto de instrucciones Mica, Spec tiene una arquitectura Harvard con espacios de direcciones separados para datos y 126 bloques RAM Módulo de programación SPI Puertos de E/S analógicas ADC Traducción de direcciones Memoria Subsistema de Radio RF & bus de E/S básicos RISC instrucción trae Motor de cifrado y descifrado Archivo de registro Archivo de Registro ALU Temporizadores del sistema Figura 6-2: Diagrama de bloques de la especificación, el único chip wireless mote. memoria de programa. Puede ejecutar la CPU ALU las operaciones en un solo ciclo, pero las operaciones de la memoria en dos ciclos. La arquitectura del conjunto de instrucciones contiene 32 registros de propósito general algunas de las cuales pueden ser combinadas para formar 16 bits para direcciones de carga y las operaciones de la tienda. Existe, además, un puntero de pila que es manipulada por saltar automáticamente e instrucciones de devolución. En las especificaciones, registros arquitectura se complementa con un conjunto adicional de 32 registros de propósito general para permitir la optimización de la gestión de interrupciones las rutinas. El núcleo de la CPU está conectado a un banco de 6 bloques de memoria cada uno de los cuales contiene 512 bytes de datos. Estos bloques pueden ser individualmente mapeados en los datos o programa espacio de direcciones de la CPU. Sólo el 3K de memoria está incluido en nuestro diseño actual. Es evidente que la cantidad total de ram se podría aumentar a expensas de área de chip. Es importante que la memoria se divide en los bancos para que se pueda migrar entre 127 instrucciones y a la memoria de datos. Esta asignación es manejado por una dirección unidad de traducción que se interpone entre la memoria y el núcleo de procesamiento. El mapeo de memoria unidad contiene un espacio físico de 16 fotogramas. Las especificaciones chip usa 7 de ellos, 6 para los bancos de memoria y uno para la interfaz con el subsistema de radio. Además de la controladora de memoria, la CPU también está conectado con un consumo ultra bajo de energía del convertidor analógico a digital, un acelerador de cifrado E/S de propósito general y puertos, temporizadores del sistema, un chip módulo de programación y un RF sub-sistema. Para efectos ilustrativos hemos agrupado los aceleradores comunicación en un subsistema. Sin embargo, en realidad, está compuesta de una colección de aceleradores que describimos en detalle. Cada uno de los aceleradores comunicación conectan directamente con el bus de datos del microcontrolador. Los aceleradores se pueden enlazar entre sí o se utilizan en forma aislada. El subsistema de comunicación primitivos que contiene: extracto de distribución y generar bits, realizar patrones de detección símbolo de inicio, secuencia recibe y transmite datos dentro y fuera de la memoria, cifrar y descifrar los datos automáticamente y proporcionar memoria de interfaces de control asignado a la circuitería de radio. 6.1.2.1 Los núcleos de CPU de 8 bits microcontrolador RISC en las especificaciones se trata de un nodo único ciclo básico tradicional. Tiene un 16-bit bus instrucciones y uno de 8 bits bus de datos. La única forma de canalización es un pre-fetch de la siguiente instrucción mientras se ejecuta la instrucción actual. Decodificar, ejecución y escribir se realizan en un único ciclo. Además de las tradicionales instrucciones RISC, Spec también incluye un conjunto de instrucciones para interactuar con 128 especializados 64 registros de E/S. Las operaciones de E/S de estos registros se pueden realizar en un único ciclo. Sin embargo, las operaciones de la memoria requiere de dos ciclos. La arquitectura del conjunto de instrucciones no es de particular importancia. Las limitaciones más importantes son que la instrucción debe ser compacto (como es el caso con la mayoría de microcontroladores), y que las operaciones de E/S se puede realizar con eficacia. Más importante que la ISA es la capacidad de manejar de manera eficiente interrupciones. La programación basada en eventos de TinyOS depende en gran medida de la capacidad de proceso interrumpe rápidamente. Podemos incluir soporte especializado para manejo de interrupciones en el formulario de registro windows. El núcleo de la CPU incluye dos conjuntos de registros. Un conjunto se utiliza para procesamiento general y otro para uso en el contexto de interrupciones. Procesamiento en segundo plano como TinyOS tareas pueden compartir fácilmente un conjunto de registros. Cuando una interrupción llega, el controlador de interrupciones puede cambiar rápidamente por registrar windows ejecutando una sola instrucción especializada. A continuación, puede proceder a ejecutar el código del controlador y volver. El controlador de interrupciones sólo pueden utilizar el conjunto de registro secundario si no rehabilitar interrupciones durante su ejecución. Para acceder al conjunto de registro secundario, una especializada en "registros" de instrucción ha sido incluido en el ISA. Esta sola instrucción sustituye a los diversos accesos a la memoria que por lo general, se requieren para escribir los registros guardados fuera de la memoria. 6.1.2.2 Llamada RAM, además de una ruta de acceso a los datos, las especificaciones chip posee un sistema de memoria especialmente diseñados. Sistemas integrados tradicionales tienen una estricta división entre programa y memoria de datos. Esto se lleva a cabo, en parte, porque sistemas integrados están diseñados generalmente con un "write once, run forever" modelo en mente. Software integrado por escrito por lo general 129 con una única solicitud, en mente y, a continuación, graba en un dispositivo en el que se quedará para la vida útil del dispositivo. La naturaleza dinámica de las redes de sensores hace que sea imposible mantener ese modelo de programación. Mientras que un sistema estrictamente memoria con particiones tradicionales es práctico en escenarios de aplicación, las redes inalámbricas de sensores demanda mayor flexibilidad. La amplia gama de aplicaciones de destino hace que sea conveniente para que los nodos se programable en el campo. Los usuarios quieren tener la posibilidad de descargar nuevos programas en la radio y en el espacio de la aplicación. Para apoyar este tipo de operación, las especificaciones chip incluye memoria paginada especializados un sistema físico de la página donde los marcos se pueden asignar dinámicamente en cualquier parte del programa o los datos de la memoria. Con este mecanismo las aplicaciones se pueden cargar en la radio y en los datos de la memoria. Una vez que la solicitud esté completa y se comprueba que la memoria utilizada para almacenar tramas el programa puede ser re-asignado en la instrucción memoria de la CPU. Al mismo tiempo, la aplicación original se asignan automáticamente fuera de la instrucción memoria. En tan sólo unos pocos ciclos, toda la memoria del programa pueden intercambiarse. En el caso de que el nuevo programa está decidida a ser defectuoso, el programa original se pueden restaurar rápidamente. Las especificaciones memoria asignada sistema contiene 16 fotogramas página cada uno de los cuales contiene 512 bytes de memoria. La página de asignación del bastidor es controlada por escrito a direcciones especiales situados a 0xffc0. Durante el funcionamiento, la baja 9 bits de la dirección de memoria se pasa intacta a la memoria del sistema. Los 7 bits restantes se pasan a través de una reasignación dinámica que realiza la traducción. Tanto la instrucción y a la memoria de datos direcciones se traducen simultáneamente por diferentes bloques de control. 130 Cuando una página física se asigna a una nueva ubicación en la que ya está lleno, la página antigua se quita del espacio de direcciones todos juntos. La página antigua se debe asignar en otros lugares en el espacio de direcciones antes de que se pueda volver a acceder a él. Cuando están asignados en memoria de datos, cada una de las páginas es el byte en un 8-bit bus de datos. Cuando están asignados a los datos de la memoria, la memoria de 16 bits palabra dirigida, memoria de sólo lectura. 6.1.2.3 Aceleración Comunicación Uno de los principales conceptos contenidos en la Especificación diseño es la inclusión de primitivas aceleración de hardware diseñado para reducir el costo de la radio comunicación sin sacrificar la flexibilidad. La comunicación aceleradores en el nodo de especificaciones incluyen apoyo para la sincronización, extracción de distribución, cifrado y serialización de datos. Durante la comunicación, el primero de los aceleradores que entran en juego es la sincronización del acelerador. 6.1.2.3.1 La Sincronización La sincronización del acelerador está diseñado para procesar el flujo de bits entrantes y detectar la presencia de una determinada secuencia de arranque. En primer lugar, un registro de configuraci n se utiliza para especificar el valor y la longitud de la secuencia diana. A continuación, el flujo de datos entrante se analizan de manera automática en la búsqueda de la secuencia. Cuando se detectan, las señales del acelerador la CPU a través de una interrupción. También se interconectan con un acelerador de serialización de datos graba automáticamente la transmisión entrante. 6.1.2.3.2 E/S asignada en memoria y serialización de datos 131 serialización de datos aceleración ha sido incluido automáticamente datos de secuencia entre la radio y sistema de memoria. Se trata de un sencillo motor DMA. Durante las transmisiones de radio, cada bit debe ser registrado o transmisión de serie. El acelerador se habilita especificando una dirección de memoria para el inicio del paquete y una longitud máxima de paquete. En TX modo establecido la longitud del paquete a un número que no sea cero para iniciar una transmisión. La transmisión puntero se incrementa automáticamente con cada byte transmitido. En consecuencia, los demás se decrementa longitud del paquete para representar el número de bytes en la transmisión. Ambos de estos campos se puede acceder por el procesador para el seguimiento de los avances. Durante la recepción, ya sea una señal de la CPU o una señal de la sincronización los aceleradores hace que la transmisión entrante serán grabadas en la dirección del recibir puntero de memoria. Los datos se asientan sobre la base de una recepción de datos campo de longitud. Las operaciones de la memoria para el sistema de E/S se intercalan automáticamente con la memoria de la CPU. Más instrucciones de la CPU no tenga acceso a los datos de la memoria, sólo la instrucción memoria. Spec ha sido diseñado para el programa y a la memoria de datos acceso puede ocurrir en paralelo. El sistema de RF puede reclamar el acceso al bus de memoria cuando no está en uso por la CPU. El sistema de RF interno tiene la suficiente influencia para manejar posibles retrasos. Las direcciones de memoria utilizadas por el sistema de RF son direcciones de memoria virtual antes de su traducción por el mapa de la memoria lógica. 6.1.2.3.3 Distribución Transmisión la serialización y sincronización del acelerador se ambos apoyados por una sincronización acelerador que proporciona información sobre los tiempos de transmisión de RF. Este acelerador es de 132 conectado al oscilador de alta frecuencia de la CPU utiliza y se puede programar para generar pulsos de temporización en múltiplos enteros de el reloj. La velocidad de bits de transmisión está programada, especificando el divisor de reloj correspondiente a 5x la velocidad de transmisión. Esto permite la sincronización acelerador para generar tanto para el individuo poco pulsos de temporización y de pulsos 5x por muestreo. En el 5x se utiliza el muestreo en recepción de la radio para detectar transición del borde en el flujo de datos. Esto permite que el transmisor y el receptor para permanecer sincronizado durante la comunicación. 6.1.2.3.4 Codificación del sensor Muchas aplicaciones requieren que los datos sean confidenciales y tanto auténticos. Nuestra seguridad escenario de aplicación exige que todas las situaciones de alarma son genuinos. Sin embargo, el cifrado es una costosa operación de CPU de propósito general. Spec ofrece un acelerador de hardware para comunicación cifrada. Cuando la opción está activada, todas las comunicaciones por radio enlace está cifrada antes de la transmisión y se descifra en la recepción. Una aplicación debe comenzar cada comunicación en la clara, de manera que los receptores puedan bloquear a la señal entrante y, a continuación, seleccione las opciones de cifrado. En ese momento, el acelerador de cifrado pueden ser contratados para llevar a cabo los datos convolución. El mecanismo de cifrado de Spec es el LFSR en cifrado de flujo similar a la que se utiliza a través de Bluetooth. Antes de activar el acelerador de cifrado la aplicación debe generar una clave única secuencia. Tanto el transmisor como el receptor deben compartir la misma clave de inicialización. Este acelerador de cifrado 133 proporciona seguridad de datos pero no proporciona datos autenticidad. Es posible que un atacante modificar los mensajes que se transmiten. Integridad de los datos debe ser proporcionada por la aplicación. 6.1.3 Radio Back End Sub bloques ADC y el único circuito analógico en el diseño de especificaciones se encuentra en el interior de la radio [ 58] y ADC (convertidor analógico a digital) [ 59] sub-componnts. Tanto la radio como el ADC se incluye como pre-diseñados. El ADC fue diseñado para ser tan baja como sea posible. Realiza una conversión 8 bits con tan sólo 27 pJ de energía. Su consumo de energía muy bajo es ideal para su uso en redes de sensores inalámbricos. Es capaz de operar en más de 10.000 muestras por segundo, mientras que consume menos que un microvatio. El transmisor también fue diseñado con el consumo de energía. En forma aislada , consume menos que 1 mW, mientras que se transmitía de -7 dbm Se trata de un cambio de frecuencia clave (FSK) radio que es capaz de transmitir en un amplio rango de frecuencia en la banda de 900 MHz. Se puede comunicar con el Chipcon CC1000 radio azul usado en el nodo de hasta 40 pies en un entorno de laboratorio. El transmisor utiliza un 32,768 KHz oscilador como su principal referencia de frecuencia. Sólo es necesario contar con el apoyo de un par de componentes microelectrónicos. Además de los 32 KHz oscilador, se requiere un inductor y una antena. Los avances en tecnología CMOS puede eventualmente permitir el inductor que se va a construir en chip. La radio se ha configurado a través de un conjunto de registros que permitir que la CPU control potencia de transmisión, frecuencia de transmisión y la frecuencia separación. La radio es capaz de transmitir hasta aproximadamente 100 Kb/s. 134 En la implementación actual, sólo un transmisor está incluido en el chip. La especificación diseño también puede utilizar un chip de 900 MHz transceptor de RF Monolithics. Este es el mismo utilizado en el nodo Mica. Un modo de bajo consumo de energía en un chip receptor está actualmente en desarrollo y se ha simulado para consumir sólo 300 uA de 3V. 6.1.4 Registros de frecuencia digital analog RF bloque contiene las primitivas las funciones necesarias para transmisión de RF. Sin embargo, no es capaz de auto-tuning. Una frecuencia digital se incluye bloque de control de ajuste de frecuencia. El control de frecuencia frecuencia bloque implementa un bucle de bloqueo entre el 32,768 KHz oscilador y la frecuencia de transmisión por RF. La frecuencia de bloqueo se realiza contando el número de oscilaciones de la frecuencia de transmisión por RF que se producen entre cada oscilación del 32,768 KHz reloj. 900 MHz la señal portadora se introduce en un bloque de especializados de baja potencia lógica dinámica que divide la señal por un factor de 8. Una vez que la señal se encuentra en el rango de 100 MHz, una norma contador digital se utiliza como un contador de ciclos. La frecuencia bloque lock se configura especificando un objetivo de 32.768KHz = 902,5 MHz). Esto se traduce en la capacidad de ajustar la frecuencia de la portadora de 32 KHz. Para aumentar la fidelidad de la adaptación, la referencia 32 KHz puede ser dividido por un factor de hasta 32 a fin de producir un mínimo paso de frecuencia de 1 KHz que resultan en una precisión de ajuste de 1 KHz ‫ ٭‬Representa la frecuencia deseada. El bloque, a continuación, ajusta el control de las líneas del registro para obtener la frecuencia programada. Si una señal 902,5 MHz, entonces 27542 puede ser alimentada en el registro de control de frecuencia. (27542 135 El bloque de control de frecuencia utiliza un algoritmo de aproximación sucesiva reducir rápidamente en la frecuencia deseada. Una vez bloqueado, el bloque de control rastrea continuamente la frecuencia deseada por el incremento y decremento de la radio palabras según sea necesario. Además de sintonización de frecuencia, la frecuencia bloque de control también controla la frecuencia separación de la modulación FSK. Separación de frecuencia puede oscilar entre 10 KHz y 10 Mhz Para propósitos de depuración la frecuencia bloque de control puede ser derivado al acceder directamente a las líneas de mando RF. La interfaz con la analógica DE RF de 16 bloques consisten las líneas control de frecuencia, 24 potencia, corriente de polarización y la amplitud, las líneas de control. 6.1.5 Características físicas Las Especificaciones diseño fue inventado por National Semiconductor con un . 25 proceso CMOS de mu. La figura 6-3 le da un ambiente general de la zona requerida por los diversos subpines de E/S Sintetizador de frecuencia los bancos de memoria Conductor Cristal ADC CPU 900 MHZ transmisor y aceleradores Figura 6-3: diseño de chip único mote. Gran bloque central contiene CPU, temporizadores y aceleradores de hardware. En la parte superior son 6 bancos de memoria. El ADC es el centro izquierda. La radio se encuentra en la esquina inferior derecha. 136 Componentes del diseño. Una gran parte de la zona es consumida por los bloques ram - aprox 20 - 30 %. Además, los circuitos RF analógico requiere aproximadamente la misma área de 1 kilobyte de SRAM. La lógica digital contenida en el diseño fue sintetizado a partir del comportamiento EN VHDL. Después de la simulación, el de alto nivel código VHDL se asignan en celdas estándar de National Semiconductor con ámbito Construir Puertas y diseño se realizó con el silicio Ensemble - ambas herramientas de Cadence Design Systems. En adición a la simulación, la funcionalidad del núcleo digital también se ha verificado mediante la descarga en una FPGA de Xilinx. Las propiedades reales de la National Semiconductor celda las bibliotecas son confidenciales sin embargo, en el caso de análisis, asumimos que los registros que se utilizan tienen un retraso de aprox 1 ns y consume aproximadamente 1 pJ por transición. Estas aproximaciones Núcleo lógico Área Desglose %0 Puerto de Entrada RAM 0,0007 %0 Controlador de acceso externo 0,0030 %0 Multiplexor 0,0033 %1 Interfaz ADC ALUMINIO 0,0100 0,0114 %1 %1 puertos de salida 0,0120 %2 Módulo de Servicio 0,0172 %4 SPI Programación Temporizador 0,0283 0,0406 %5 %5 CPU Core 0,3806 47% 0,1886 Sistema RF 23% interfaz controladora de memoria Central 10% 0,0769 0,0407 % 2 UART Componente (mm ) Completo Núcleo lógico 0,8065 100% Figura 6-4: Área desglose de lógica digital módulos incluidos en Spec. Área total de cableado y puertas con National Semiconductor celdas estándar en .25 CMOS de mu. 137 Están muy por debajo del rendimiento real y, por tanto, representan un límite superior en el consumo de energía de nuestros bloques básicos. Incluso con estas sub-óptima aproximaciones, el núcleo central de nuestro dispositivo puede funcionar por encima de 50 MHz - por encima de la meta de 4Mhz La figura 6-4 presenta un desglose de la zona utilizada por diversos sistema se bloquea. Esta información puede ser utilizada para evaluar el área de compensación asociada a cada sistema. 2 El núcleo de la CPU RISC requiere sólo .381 mm . El subsistema RF es aproximadamente la mitad que el tamaño de 2 .188 mm . Es importante señalar que las zonas se han registrado el área total de los bloques lógicos 2. No siempre es posible lograr 100% de densidad lógica. El .806 mm 2 de la lógica se coloca dentro del bloque 1 mm se muestra en la Figura 6-3. 6.2 Resultados de la evaluación, se compara el diseño de Especificaciones plataforma contra la MICA. En resumen, las principales características de la plataforma son Mica que la CPU consume 15 mW cuando está activo a 4 MHz y la radio consume 21 mW y transmitir y 15 mW al recibir. La velocidad máxima de transmisión es de 50 Kb/s. Nuestro objetivo es centrarse en las mejoras en la arquitectura de las especificaciones de diseño diseño la Mica. Para una comparación equitativa se supone que nuestro núcleo consume los mismos 15 mW cuando activa como la mica. Aunque en realidad, sólo consumen aproximadamente 1,5 mW, la reducción en el poder no debido a una diferencia arquitectónica, sino simplemente de la CMOS. La comparación se centra en el ciclo de trabajo de la CPU. Símbolo de inicio 138 6.2.1 Detección en el análisis del consumo de energía de las redes inalámbricas protocolos implementados en la plataforma MICA, el consumo de energía de detección símbolo de inicio fue el principal componente de consumo de energía total de la CPU. En Mica, antes de recibir un paquete, el canal se muestrea a 20 Kbps con el fin de buscar la llegada de 10 Kbps símbolo de inicio. La CPU contiene un búfer de los últimos 30 muestras y efectúa una coincidencia de patrones en la llegada. Cada una de las muestras requiere procesamiento individual de la CPU. Además, porque la porción de datos del paquete sigue inmediatamente al símbolo de inicio, cada una de las muestras deben ser procesadas en tiempo real, a fin de que el símbolo es detectado antes de que los datos lleguen. Este enfoque basado en el software de detección símbolo de inicio es de aproximadamente 100 ciclos por muestra. A 20 K muestras por segundo, el resultado es 2 M ciclos por segundo. de la CPU). No sólo el símbolo de arranque software detección consumir una cantidad importante de energía, pero los recursos disponibles de CPU, sino que también limita la máxima frecuencia de muestreo. 50 Kbps comienza símbolo detección sería imposible en cualquier presupuesto de energía. % De la Mica nodo, este requiere 7,5 mW de potencia (50 Como se ha comentado, la Spec nodo resuelve este problema mediante la inclusión de una coincidencia de patrón primitivo hardware. Este primitivo bloque está configurado con un patrón de hasta 24 bits de longitud y las señales cuando se encuentre una coincidencia. Funciona en conjunción con un acelerador de distribución que automáticamente ajusta la velocidad de muestreo. Si bien el muestreo del canal, la coincidencia de patrones primitivos en realidad muestras en 5 veces la velocidad de bits. Esto permite que varias muestras para media reducir el impacto del ruido. 139 La implementación de hardware de este primitivo requiere .1 mm2 de área de chip. La mayoría de los que se va a registrar 120 bits necesario para celebrar los 24 bits de muestreo de 5x (24120 = 5‫)٭‬. Utilizando el 1 pJ/transición estimación del consumo de energía de un registro anteriormente descritos, el consumo total de energía del acelerador cuando se trata de buscar el mismo 10 Kbps símbolo de inicio es sólo 5 uW. A pesar de la 5x por el muestreo, el consumo de energía se reduce en un factor de 1.500 . 6.2.2 Control de las interrupciones de Otro frecuentes y costosas en el nodo Mica es el ahorro y la restauración de registros al manipular una interrupción. El tiempo real de las redes de sensores inalámbricos facilita el manejo de interrupciones críticas y frecuentes. La rutina de interrupción utilizados en TinyOS requiere que 14 de los 32 registros se guardarán antes de la ejecución del controlador de interrupciones. Con una latencia de memoria 2 ciclo, este ahorro y la restauración de los registros, 56 ciclos por operación. En la toma de muestras en una onda de audio 5K muestras por segundo para detectar un pulso acústico, esto representaría una sobrecarga de 280.000 ciclos por segundo. Cuando se desglosa en energía, el almacenamiento y recuperación de los registros para manejar las interrupciones requiere 210 nj/interrupción. El Spec nodo añade soporte de hardware especializado para acelerar la ejecución de interrupciones. En lugar de tener un solo conjunto de registro que se deben guardar para cada interrupción, el nodo Especificación introduce un registro adicional y una instrucción que puede utilizarse para cambiar entre ellas. Durante la operación, un conjunto de registros se utiliza para fines generales y el segundo se utiliza para corto, no priorizable, interrupciones. Por lo tanto, cuando se ejecuta un no-priorizable interrupción, el sistema ejecuta una sola instrucción de intercambio 140 conjuntos de registros. En este diseño, el puntero de pila se conserva cuando se activan conjuntos de registros. Esto permite que la rutina de interrupción para utilizar siguen utilizando la pila del sistema después de cambiar de registro. La inclusión de este registro adicional reduce el costo de la interrupción de sólo 7,5 nj/interrupt - 2 instrucciones. El costo total de guardar y restaurar los registros se redujo de 210 a sólo 7,5 nJ nJ, un factor de 28. También hemos considerado como conjuntos de registros adicionales para otras funciones del sistema. Sin embargo, el área de cada conjunto de registros adicionales 2 - .113 mm- lo prohibitivamente caro. Cada registro de la base de la CPU. Representa el 30 % 6.2.3 Programa Gestión de la memoria un requisito clave para las redes inalámbricas de sensores es que los nodos debe ser reprogramada en el campo. Ya que los nodos se desplegaron en gran número se convierte en poco práctico para la recogida de estas para la reprogramación. Es importante que sean capaces de aceptar un programa a través de la radio y, a continuación, empezar a ejecutar. Además, como el coste de los nodos individuales caída, resulta inviable para interactuar directamente con cada uno de los nodos. Los nodos se realizará exclusivamente programado a lo largo del radio. Arquitectura de la Mica, el dispositivo debe estar equipado con suficiente capacidad de almacenamiento para mantener las imágenes del programa 3. Durante el funcionamiento, el nodo tiene actualmente en ejecución una imagen almacenada en la memoria de programa. Para volver a programar las descargas, es una segunda imagen de código y lo almacena en la memoria externa. Una vez que haya finalizado la imagen descargada se copia a través de la imagen activa y funcionando. Sin embargo, en caso de que la nueva imagen está dañado o no141 funcional, una copia de seguridad de la imagen debe almacenarse también. En total, tres copias son necesarias, uno y dos en la memoria. Con el fin de reducir este gasto, el Spec nodo tiene la posibilidad de asignar de forma dinámica las páginas en el programa y memoria de datos del microcontrolador. Esto permite que el dispositivo para descargar su nueva imagen de código en la memoria ram y, a continuación, asignar las páginas en la memoria ram memoria instrucciones. Con este método, el código se puede cambiar las imágenes en su lugar. Esto se traduce en una reducción de 33% en requisitos de memoria. Esto se lleva a cabo por medio de una traducción de direcciones en todas las direcciones dejando la ruta de datos. Los 6 bits de la instrucción y dirección de datos se pasan a través de una tabla de traducción que se asigna la dirección a uno de los 16 marcos físico de la página. El nodo de Especificaciones tiene en la actualidad 6 de estos cuadros llenos de memoria. Con esta configuración, asignaciones arbitrarias de los datos y las instrucciones las memorias pueden ser alcanzados. Además, el pequeño tamaño de la página 512 bytes mantiene la fragmentación a un mínimo. Las tablas de traducción se puede modificar mediante el acceso a ubicaciones de dirección de memoria especial. 6.2.4 Extracción de distribución durante la transmisión perfecta sincronización entre el transmisor y el receptor deben ser mantenidos. Una ligera inclinación de mecanismos de tiempo puede provocar que se pierda bits periódico si re-sincronización no se realiza. Si bien no es estrictamente necesario para las transmisiones, se hace necesario como longitud de transmisión aumenta. Actualmente, la Mica plataforma no admite paquete largo longitudes. Para apoyar la transmisión, el receptor tendría que medir periódicamente las transiciones edge 142 con el fin de sincronizar de nuevo. Con la mica de CPU ya muy cargado durante las transmisiones, esta es una operación difícil. Con el fin de facilitar las transmisiones desde hace mucho tiempo, así como para mejorar la fiabilidad de las transmisiones, las especificaciones nodo incluye un extractor de distribución primitiva que automáticamente las señales del centro de cada bit transición. El extractor de muestras del canal en 5x la velocidad de bits y la búsqueda de transiciones de canto perfecto. Si se produce una transición dentro de 1/5 de tiempo de bit de la transición prevista, se actualizan las expectativas. Una transición es cuando 4 muestras consecutivas de ' 0' son seguidas por cuatro muestras consecutivas de " 1" o viceversa. Esto permite transmisor/receptor con éxito a pares comunicación incluso si su tiempo referencias difieren hasta en un 10 %. La Mica nodo tenía esta capacidad podría haber utilizado una de bajo costo resonador 4 MHz en lugar de la alta precisión 4 MHz cristal. 6.2.5 Soporte de cifrado además de proporcionar primitivas para operaciones de bajo nivel, el Spec nodo también incluye primitivas para dar apoyo a las operaciones complejas como el cifrado. El Spec nodo incluye un acelerador de cifrado que se pueden utilizar para cifrar automáticamente y descifrar mensajes para la transmisión. El primitivo incluye cuatro 40 bits que son LFSRs xor-ed juntos generan una sola secuencia aleatoria. Esta evolución es paralela a la métodos de encriptación utilizado en el estándar inalámbrico Bluetooth. Esta colección de 4 LFSR descarga la mayoría de la sobrecarga asociada con la función de cifrado. A diferencia del Bluetooth, el procesamiento de la siembra de la LFSRs es hecho por software. 143 En el hardware, el LFSR es simplemente un registro de desplazamiento con realimentación aumentada a través de un puñado de puertas xor. Con los 4 LFSRs que contiene 160 registros, el consumo de energía para realizar el cifrado es sólo 160 pJ/bit. Por el contrario, la implementación de software de el mismo algoritmo en el núcleo de la CPU MICA requeriría 34 (15 carga/almacenes, 19 ALU) instrucciones por bit para cada registro de desplazamiento. Esto daría como resultado un total de 196 ciclos por poco para las 4 LFSRs, o 735 nJ por bit: 4500x. Además, en 196 ciclos por bits, la máxima velocidad cifrado/descifrado sería poco más de 20 Kbps - muy por debajo del actual velocidad de transmisión de 50 Kb/s. La zona de el acelerador de cifrado es sólo .06 mm2, aproximadamente del mismo tamaño que la dirección de memoria translator. 6.2.6 E/S de Memoria y serialización, a la vez que la Mica nodo inteligente utiliza las optimizaciones para permitir que la CPU para interactuar con la radio en el byte portabrocas, CPU participación aún representa una proporción significativa cantidad de sobrecarga. Por byte Periódico las interacciones con la radio también previene que la CPU de baja potencia en su estado de reposo. Nodo de Mica, el nivel de byte interacción combinada con la sobrecarga de interrupciones manejo realmente establece la velocidad máxima de transmisión es capaz de conseguir. El Mica nodo sólo es capaz de lograr una máxima tasa de bits 50 Kbps a pesar de tener una radio capaz de 115 Kb/s. Además, la CPU debe ser encargado de servicio de la radio cada 160 cuando nos transmite a 50 Kb/s. Con cada byte transmitido, el controlador tiene que ejecutar para aproximadamente 100 ciclos. Esto se traduce en la CPU consumen 375 nJ por byte. 144 Para mejorar esta situación, las especificaciones nodo incorpora una memoria de datos asignados serializador para reducir el consumo de energía durante la transmisión y recepción de datos. Después de la detección del símbolo de arranque o inicio de la transmisión, la base y la longitud se utilizan registros para automáticamente datos de lectura/escritura directamente desde la ram. Después de iniciar la operación, la CPU no deben participar las señales de funcionamiento hasta su finalización. En vez de pasar cada byte de datos a la radio cada 160 us, la CPU puede apagar y permanecer en su estado de energía más bajo hasta que la transmisión haya finalizado. Con esta primitiva, la energía básica necesaria por byte transferido se reduce a el costo de un solo uso de memoria o simplemente 3,75 nj/byte - y a la mejora de 100x. 6.2.7 Primitivas no incluirán, además de los primitivos que hemos incluido, además, evaluó varios otros que hemos optado por no incluir en la lista. En general, el ahorro de energía no compensan la pérdida de flexibilidad y complejidad que introduciría. La primera de estas primitivas es un forward error correction primitivas. El Mica nodo utiliza S/DED corrección de errores. Cada byte de datos que se transmite está complementado por un conjunto de bits de paridad que se pueden usar para detectar hasta dos errores y corregir un error. Se ha demostrado que incluso esta forma primitiva de error correcto puede mejorar considerablemente la comunicación rendimiento [ 10]. Sin embargo, el beneficio de la corrección de errores depende de necesidades específicas de cada aplicación. Si el canal es lo suficientemente alta, simple detección de errores y la retransmisión puede resultar en menor gasto de energía. Los aceleradores de Hardware Especificaciones 145 Resultados de aceleración con la mejora del acelerador tipo Factor acelerador sin registrar Windows 210 nj/Interrupción 7.5 nj/interrupción Símbolo de Arranque 28 Detección 7,5 mW 5 uW 1500 Aceleración de cifrado 735 bits 160 nj/pJ/Bit 4594 Datos Serilization 375 nj/Byte 3,75 nj/Byte 100 Asignación de memoria 3 copias 2 copias necesarias 1.5 Figura 6-5: Descripción general de las mejoras de rendimiento alcanzado por la especificación los aceleradores de hardware del nodo. El costo de realizar corrección de errores de la mica nodo de software está a solo 55 instrucciones codificadas por byte. El proceso de codificación es una tasa 3 código en cada byte de datos traducidos en 3 bytes de datos. En total, la codificación sólo cuesta 8,6 nJ por bit. Cuando se compara con los 735 nJ necesarias para el cifrado es bastante pequeño. Además, se puede realizar en el software a una velocidad máxima de 218 Kb/s. Cálculo del CRC hardware también fue considerado para la inclusión. Nodo de la Mica, CRC de 16 bits se adjunta a cada 30-byte paquete que se transmite. La sobrecarga de que resultado de cálculo en 29 instrucciones por byte o simplemente 13,6 nJ por bit. Debido a que sólo cuesta unos pocos nJ por bit, dejando en el software no tendrá un impacto significativo en el rendimiento del sistema. La figura 6-5 presenta un panorama general de las mejoras de rendimiento alcanzado por los aceleradores de hardware que se incluyeron en el nodo especificado. 6.3 Costo de flexibilidad en lugar de proporcionar los distintos bloques de construcción descritos anteriormente, se podría simplemente han proporcionado una implementación de hardware de la pila del protocolo implementado por la Mica nodo. Si nosotros hubiéramos hecho así, las interconexiones entre los primitivos que hemos enumerado se hubieran llevado a cabo en el hardware en lugar de software. 146 Además de la canal y codificación comprobación de CRC, el TinyOS pila mensajería también realiza dirección y ID de grupo control en cada mensaje y, a continuación, analiza el encabezado del mensaje de distribución dinámica. Estas operaciones son bastante más económicos para llevar a cabo en el software en comparación con una implementación de hardware. Sin embargo, el envío y análisis de encabezado sólo requiere unos 50 instrucciones. Esto se traduce en sólo .260 nJ por bit transmitido por lo que el coste puede ser amortizado en un paquete completo. Si bien esto podría reducirse mediante hardware dedicado, la flexibilidad obtenida, permitiendo la adopción de formatos de paquetes y variable específica de la aplicación de esquemas de direccionamiento es más significativa que la nJ por bit. 6.4 Resumen Las Especificaciones chip demuestra tanto el valor y la viabilidad de integración de un chip de una red de sensores inalámbricos plataforma. 1000X las mejoras de rendimiento se han conseguido en las funciones del sistema que dominaban CPU consumo de energía para el Mica plataforma. Además, al proporcionar un conjunto de primitivas de comunicación en lugar de una implementación del protocolo hardware, spec es capaz de soportar un amplio y flexible conjunto de protocolos. Estos componentes incluyen soporte para detección símbolo de inicio, la serialización de datos, el cifrado de datos y extracción de distribución. Spec también incluye soporte arquitectónico para el sistema operativo TinyOS, incluyendo un sistema de memoria paginada y registrar windows. Su arquitectura se centra mejorar el rendimiento sin sacrificar la flexibilidad. A través de la integración, las especificaciones chip también reduce drásticamente costes en dispositivos que permitan una amplia gama de escenarios de aplicación. El Mica generación de sensores inalámbricos nodos tiene un coste de fabricación alrededor de $60. El mote de especificaciones requiere aproximadamente de $0.25 de silicio 147 que se combina con un $0.16 batería, un inductor de $0.02 y $0.10 cristal de reloj. Lo que demuestra que el costo en dólares totalmente funcional de un nodo sensor inalámbrico es posible. 148 Capítulo 7: Aplicaciones de demostración y el rendimiento El objetivo final de red de sensores inalámbricos investigación es permitir que nuevas aplicaciones que cambiar la forma de interactuar con el mundo que nos rodea. Estas aplicaciones tienen requisitos que difieren drásticamente de las hipótesis de inalámbrico tradicional. En nuestra exploración de estos nuevos escenarios, dos clases distintas de las aplicaciones han surgido. La primera es clasificado por un bajo ciclo de trabajo, datos de baja velocidad, largo período de latencia, topología estática y una larga vida. De estas redes, el promedio de vida es el principal criterio de evaluación. Una segunda clase de aplicaciones es muy dinámicas de detección y control de redes con velocidades de datos más altas, la latencia y los nodos móviles altamente. Vigilancia pasiva en lugar de un entorno relativamente estático, esas redes intentan controlar el medio ambiente en tiempo real. Esta clase lugares estrictos requisitos de rendimiento y latencia en la red, que son las principales medidas de rendimiento del sistema para esta clase de dispositivo. Hemos evaluado o arquitectura con respecto a las clases de aplicaciones. 7.1 Supervisión de los datos ambientales que se presentan en el Capítulo 2, los datos sobre el medio ambiente es un área clave de la aplicación de redes de sensores inalámbricos. Estos casos incluyen calefacción, ventilación y aire acondicionado control de edificios grandes o climáticas vigilancia de hábitat al aire libre. La arquitectura se unen las posibilidades de optimización para determinar la aplicación de capacidad y vida útil a un determinado presupuesto de energía. Utilizamos esta hipótesis para realizar un seguimiento de las 149 mejoras en el rendimiento de los cuatro nodos arquitecturas que hemos presentado (René, Mica, Azul, Especificaciones). A efectos de ilustración, considere un escenario en el que la red formas en un árbol y cada nodo muestras datos sobre el medio ambiente cada 4 segundos, agregados un resumen estadístico más de 5 minutos, y transmite el resumen de su nodo principal. Cada uno de los padres combina las lecturas de sus hijos y envía un resumen a su padre. En el caso de un drástico cambio del medio ambiente, cualquier nodo puede enviar una notificación de emergencia a su padre en cualquier momento. Esta red está actuando simultáneamente como una red de recogida de datos y la monitorización de alarmas red. En el modo de alarma, el padre busca los mensajes de emergencia cada 4 segundos. La Figura 7-1 resume el rendimiento teórico de cada una de las plataformas que hemos presentado en esta tesis. Las tasas informática son fijos; la métrica de rendimiento clave es la eficiencia energética, que se mide como mj/día para llevar a cabo la tarea. Las mejoras de rendimiento de la mica nodo sobre el Rene nodo puede atribuirse en gran medida a los aceleradores de hardware. En general, los aceleradores de hardware de MICA y la explotación de los resultados específicos de la aplicación de protocolos aumento de 10x de rendimiento general de la aplicación de la línea base Rene nodo. Esta comparación se analizan con más detalle más adelante. 7.2 Análisis empírico de las mejoras de rendimiento para estimar el consumo de energía para cada una de las arquitecturas que hemos presentado, se suma el uso de la energía de cada uno de los componentes de la aplicación: Transmisión de datos, el Rendezvous de Techo, alarma, detección de datos, energía y el sueño. El coste energético de la transmisión de datos se supone que el peor de los casos nodo es responsable de cinco niños. 150 Rendimiento de la Plataforma de Aplicación de Recopilación de Datos Ambientales aD ) ay dj/ (m )r ea (y kec ch rm la A ) ay dj/ (m e iv ctal taoT ) ay dj/ (m Rene noti ta en mlep Im 2,2 noti ica numm co 89 691. 52.462 16,2 Mica ) ay dj/ (m ng si en S 54.768 4.230 )y da J/ m ( ep les 58.998 )y da J/ (ml taoT . UN ed liz ea d i a 35 458 16,2 78 552 34,56 4.319 4.871 4,27 209 Azul 72,576 ) ay dj/m (suo ev d en R2 178 1,701 388 259 647 > 10 e im et si ce Ldte pxe 2 Especificaciones 0 año 0,864 6 5.832E-07 9 259 268 > 10 años factor de mejora 11 10 295 141 10 16 91 > 40 Azul vs Rene Figura 7-1: nodo teórico consumo de energía al realizar la supervisión de los datos que recoge datos cada 4 segundos, con un promedio y se transmite una vez cada 5 minutos. Cada nodo tiene un máximo de 5 nodos secundarios y un nodo principal. La tabla muestra los resultados de Rene, Mica, Azul, Spec. La relación entre René consumo de energía y consumo de energía azul también se muestra. El costo de verificación de la alarma azul es más grande que el de Mica debido a la CC1000 disponer de mayor tiempo de encendido. La detección de azul es costo reducido por una baja potencia ADC en el microcontrolador. En este escenario de la aplicación, un nodo debe recibir un resumen de cada uno de los niños, combinarlos, y transmitir un nuevo resumen de su padre. El costo de cada operación depende del consumo de energía del sistema de radio y la velocidad de bits que los datos pueden ser comunicados. El azul muestra un nodo 11x mejora sobre el original Rene y supera a la Mica nodo. Esto es debido a un aumento de velocidad de transmisión activada por la sincronización y el almacenamiento en búfer del acelerador - azul nodo tiene dos veces el almacenamiento en búfer del acelerador en su serialización. Como se indica en el Capítulo 2, ya que la comunicación es poco frecuente, y la radio consume energía cuando está encendido, los nodos deben dejar sus radios apagado siempre que sea posible. En la aplicación de recopilación de datos, los nodos acuerdan comunicarse en un tiempo futuro y apagar sus radios hasta ese momento. En estos protocolos, la sincronización de precisión se traduce en un menor consumo de energía. Si un período programado de aplicación de la comunicación sólo es exacta para aproximadamente 100 ms, a continuación, el receptor debe despertar 100 ms temprano para asegurarse de que no es tarde, esto puede resultar en el receptor espera 151 200 ms antes de que la transmisión comienza realmente. En el corto las transmisiones comunes en redes de sensores, esto puede desembocar en un 4x a 5x aumento en el costo de la recepción y transmisión de paquetes. El uso del bit de sincronización de la hora de la mica y nodos azules reduce la energía consumida durante el período de espera por la comunicación prevista por un factor de 10. También podrá observar que la Mica Azul nodo nodo supera a la de esta operación. Esto se debe al incremento de consumo de energía recibe el CC1000 radio. Con el fin de cumplir los estrictos requisitos propagación de alarma, cada uno de los nodos debe también ser continuamente listo para reenviar los mensajes de alarma. Esto significa que deben ser frecuentemente controlar el canal de RF para la actividad. La frecuencia relativamente alta de la wake-up comprobar lo convierte en el mayor consumidor de energía en el Rene diseño. Sin embargo, aprovechando la baja potencia de funcionalidad de Mica y Azul reduce el costo por un factor de 600 en el nodo Azul. Una vez más la Mica nodo funciona mejor que el nodo Azul debido a las características de la CC1000. Spec es mucho mejor debido a su rápido radio tiempo de encendido. En conjunto, los tres optimizaciones (RF wake up, la sincronización de la hora y comunicaciones de alta velocidad) reducir el consumo de energía de la parte activa de la aplicación en dos órdenes de magnitud. En la Figura 7-1 se muestran también el impacto de estas optimizaciones sobre el impacto global de vida útil del sistema. En el caso de René, el consumo de energía en estado de reposo es razonable el 10% del total del presupuesto, pero que domina la aplicación optimizada. Al examinar la solicitud en su totalidad, la duración de la batería se ha mejorado con un factor de más de 90, lo que da lugar a una vida esperada de más de 10 152 años de un par de pilas AA. No predicen un mayor tiempo de vida porque la vida útil de una batería alcalina es de menos de 10 años. Es interesante observar que el añadido mejoras en el rendimiento de la especificación nodo no tendrá un impacto significativo en la duración de la aplicación. A los efectos del análisis que hemos supuesto que el consumo de energía en modo inactivo las especificaciones nodo es el mismo que el nodo azul. Debido a que el consumo de energía en modo reposo domina el escenario de la aplicación una vez que los otros factores que se han abordado, las mejoras en la radio consumo de energía son insignificantes. Esto, sin embargo, no será el caso en un nodo de escenario. 7.2.1 Prueba Hardware para verificar que el análisis empírico realizado, hemos demostrado este escenario de la aplicación de la plataforma azul. Una vez más, un nodo recoge periódicamente los datos de un sensor local, sus lecturas promedios y transmite los datos una vez por segundo. El hardware se realiza para confirmar los resultados teóricos. La aplicación de recopilación de datos utilizados sincronización temporal precisa para mantener la comunicación. El estudio demostró que hardware transmisor y receptor pares son de hecho capaz de mantener la sincronización de más de 2 ms a lo largo de los 5 minutos intervalos de comunicación. Al final de cada intervalo de nodos pares tiempo información de sincronización. Esta información se utiliza para mantener la < 2Ms sincronización indefinidamente. El ciclo de trabajo de comunicación activa es sólo .02% o 60 ms cada 5 minutos. Además, cuando medidos experimentalmente el periódico de mote azul wakeup comprobaciones requieren 8,8 uj por cheque o 190 mJ por día. Muestreo experimental el costo es de 153 Figura 7-2:29 palmas aplicación. Los Motes de un avión de montar en una red ad-hoc con el fin de buscar actividad en un vehículo en un remoto desierto ubicación. a solo 42 nJ por muestra o .907 mJ por día. El resultado neto del hardware es que el Azul aplicación realiza aproximadamente equivalente a las predicciones teóricas. 7.3 29 Palms otro escenario de la aplicación que ha sido implementado en la Berkeley motes es que se trata de una red aislada diseñado para controlar la actividad en una ubicación remota. Los 29 "Palmas" aplicación utilizada la Rene mote plataforma junto con magnetómetros para detectar actividad en un vehículo en un remoto desierto. 7.3.1 Descripción de la aplicación como parte de un experimento con los marines americanos, los motes son desplegados para detectar actividad en un vehículo en un aislado intersección en el desierto cerca de Palm Springs, California. Una colección de nodos se cayó en una línea a lo largo del lado de la carretera. Se les ha caído 154 de un pequeño vehículo aéreo no tripulado que volaba autónomo basado en un GPS plan de vuelo. El avión fue pre-configurado con un multi-point plan de vuelo que incluye una baja altitud "bombardeo". Fueron puestos en libertad los motes de unos 100 metros por una pista paralela a la carretera. Una vez que se ha implementado, los nodos configurados en una red multi-hop y sincronizada relojes internos, las lecturas de los sensores discretos pueden ser correlacionados a través de múltiples nodos. Ya que los vehículos pasan la red, los nodos individuales usan magnetómetros para detectar las desviaciones en el campo magnético causado por metal contenido en los vehículos. Cada nodo determina el punto más cercano de enfoque para el vehículo y, a continuación, se le asignan una marca de tiempo para el vehículo. Los eventos de cada sensor se comunican luego a los nodos vecinos. Una vez que un nodo recoge 5 lecturas, se realizó análisis de regresión para determinar la velocidad y dirección del vehículo. El alto nivel de seguimiento de la información del vehículo se registra entonces en almacenamiento persistente. Con el tiempo, cada nodo recoge un conjunto de vehículo vía registros en su memoria. Estos registros pueden ser descargados por un nodo consulta. En el caso de la aplicación de demostración, el vehículo se vuelva a descargar las pistas de la UAV que originalmente publicado los nodos. Después de la implementación, la UAV abandonaron la zona y regresó más tarde para recuperar eventos de detección del vehículo. A petición, cada nodo cargado sus datos a un nodo contenido en el avión. El avión, a continuación, regresó a la base para que los datos se pueden descargar a un PC para su visualización. El avión ha actuado como un inversor datos físicos. 155 7.3.2 Componentes clave/aplicación bloquea el 29 Palms aplicación se divide en varios subsistemas diferentes piezas: calibración de sensores, análisis de datos, la sincronización de la hora, la comunicación de datos, datos regresión estimación, posición y registro de datos. 7.3.2.1 Calibración de sensores para el despliegue, cada nodo debe volver a calibrar el magnetómetro altamente sensibles. Cualquier cambio en el nodo orientación podría causar un cambio relativo en el campo magnético de la tierra. Este cambio debe ser calibrada de un sensor una vez que el nodo final ha llegado a su punto de descanso. Esto se realiza mediante un lazo de control que observó las lecturas procedentes del magnetómetro y detectar cuando el avión terminó y el nodo se ha parado en el suelo. Una vez que el nodo determina que el final llegó a su punto de descanso, el nodo comenzar a ajustar su hardware físico para compensar el campo magnético de la tierra. En esencia, trataron de quitar el componente de corriente procedente del sensor magnético. Esto se hizo mediante el uso de potenciómetros control digital [ 60]. 7.3.2.2 Análisis de los datos Una vez calibrado, cada nodo analizan continuamente el magnetómetro las lecturas de los sensores en un intento por detectar un vehículo. El sensor analógico fue muestreado a 32 Hz y, a continuación, pasan a través de un par de filtros IIR. Los filtros se fabrican cuidadosamente para realizar una banda de paso en la corriente de datos de entrada. Cada nodo busca una señal transitoria que ocurre en .2-2 Hz. Cuando una señal llegó en esta banda de frecuencias, el nodo le asigna un sello de tiempo para el pico de la señal de llegada. Figura 7-3 proporciona una señal sin procesar 156 eventos de detección de salida del filtro Figura 7-3: filtrado de datos realizan localmente en los modos para amplificar y extraer información del vehículo. Marca de tiempo asignado a la cima más alta de la cruz línea de actividad y en el gráfico de la señal de entrada de un coche. La línea roja representa la señal filtrada. 7.3.2.3 Sincronización de tiempo con el fin de calcular velocidad del vehículo, cada nodo debe registrar cuando el vehículo pasa con respecto a una base de tiempo global. Esto permite que todas las citas de varios nodos para ser comparado con los otros. Para esta aplicación nos dirigimos sincronización de tiempo precisión de + /- 30 ms. Este nivel de sincronización es suficiente para determinar correctamente el punto más cercano de un vehículo que circule a 50 km/h aprox. a 2 pies. Cada nodo mantiene la sincronización mediante un reloj avanzando algoritmo. Cada nodo envía periódicamente su lectura actual del reloj. A la recepción de una emisión, el nodo que compare la lectura de su reloj local y establezca su valor de reloj a la mayor de las dos lecturas. Esto permite que toda la red para que se bloquee automáticamente al nodo con el reloj corriendo más rápido. 157 % &(' * ) , + .- - /1032 45+565/765812 8 9 '7: / ; 81 <=2 >5 ? 5 @ 581/ ;< BC2 2+ % 6D/ 12/ ;AE7C45/7FG/ ;H5C 0, - / 7FG/ - +50 C2I % J ' .K LD65812 +565/7/ 745L5 +5 < =C 2C+54M/ ; <=2 CE7812/ ;< %% ! Figura 7-4: cálculos de posición de cada uno de los sensores son de $nodo # up" de fecha en respuesta al resultado de la regresión lineal que calcula la velocidad del vehículo. 7.3.2.4 Datos y regresión estimación posición Nodos regresión lineal para determinar la velocidad del vehículo forma una colección de lecturas. Una vez que un nodo se había recolectado por lo menos 4 eventos de detección del vehículo, esperar un segundo - para recoger el resto de las lecturas, y, a continuación, realice una regresión lineal. El resultado de la regresión lineal fue una estimación de la velocidad del vehículo y una estimación del tiempo que se ha introducido en la red. Cualquier error entre la vía y el estimado real las lecturas de los sensores se atribuyó a la falta de precisión de las lecturas del sensor y a la falta de precisión de la posición de cada nodo. El resultado de la regresión se envía a continuación hacia atrás para ayudar a afinar la posición de cada nodo. Después de la implementación inicial, cada nodo sólo tenía una estimación aproximada de su ubicación. Los nodos fueron puestos en libertad unos 10 pies de distancia. Sin embargo, después de una caída de 100 pies y rebotando en la tierra, la posición de cada nodo será un poco torcido. Con el tiempo, cada vehículo se utiliza para actualizar la posición de los nodos de sensores a partir de 158 comentarios. En primer lugar la red calcula la velocidad del vehículo y, a continuación, pregunta, "Si el vehículo se va 15 mph, donde están los sensores?" 7.3.3 Importancia de procesamiento de la red las 29 palmas escenario de aplicación demuestra la importancia de procesamiento de red. Cada nodo sensor procesos más de 400 KB de datos por hora. La recopilación de datos por parte de cientos de nodos de sensores en un punto central de análisis podría abrumar con rapidez la capacidad de comunicación de la red. Además, el consumo de energía sería inaceptable. Con la inclusión del procesamiento de datos en el sensor individual, las necesidades de comunicación se reduce drásticamente. Además, el consumo de la red está relacionado con el número de vehículos que se han detectado, no a la cantidad de tiempo que ha transcurrido. Esta es la solución ideal para una red que debe permanecer en su lugar por varios meses, a fin de confirmar que no hay ninguna actividad en la zona. Cuando hay vehículos para detectar, el consumo de energía aumenta localmente para compartir el vehículo con vecinos y disminuye luego una vez que los vehículos han pasado. Lecturas importantes sólo consumen el valioso tiempo de comunicación y energía. Análisis de datos central requiere que todos los datos se comunicarán con independencia del valor de la información. 7.4 Z-Car un mayor control de seguimiento seguimiento de la aplicación de las 29 palmeras demo rastreo de vehículos se ha hecho llamado Z-car tracking. En esta aplicación, una cuadrícula regular de los nodos de sensores forma una malla de detección directa que puede automáticamente "de alto nivel" los recursos hacia eventos interesantes. 159 Figura 7-5: La imagen de la z-car tracking implementación de la aplicación. Control remoto detectado cuando pasaba por el campo de los sensores. 7.4.1 Descripción de la aplicación El Z-car tracking aplicación dispone de una red de nodos diseñado para realizar el seguimiento de un vehículo una vez que entra en la red de detección. A diferencia de las 29 Palmeras, eventos de detección del vehículo se comunicarán de inmediato a un de alto nivel de recursos de un programa de acción inmediata. La pequeña escala un demostración de control remoto coche con una cámara de vídeo a través de una red de 25 nodos. Algoritmo de detección del vehículo utilizado en cada nodo es la misma que la del 29-seguimiento de Las Palmas. Cuando se detecta que el vehículo dentro de la red, los nodos locales de las lecturas de los sensores con sus vecinos y sintetizar un informe único mensaje que contiene una posición estimada para el vehículo. Este mensaje es entregado entonces a una multi-hop mecanismo de comunicación que ofrece el informe a la cámara situada en el extremo de la red. Para los efectos de demostración, la red sólo es 20 x 20 pies, el vehículo que se va a realizar el seguimiento es 160 un pequeño control remoto juguete. Sin embargo, esta demostración se podría ampliar para detectar los vehículos más grandes con mayor espaciado de cuadrícula. La multi-hop comunicación de datos geográficos se basa en que el paquete de enrutamiento se dirige a los nodos que son físicamente más cerca de los datos de destino. Los datos finalmente llega y un mote especial que tiene el control de la cámara de vídeo. Las lecturas se pueden utilizar para calcular la posición más probable del vehículo y la cámara de vídeo es señalado en consecuencia. 7.4.1.1 Bi-modal La operación Z-car tracking aplicación tiene un Bi-modal perfil de actividad. En una implementación real, días o semanas pueden pasar antes de realizar cualquier actividad se detecta. Durante este tiempo, los nodos deben permanecer en un estado latente, estado de bajo consumo de energía. Sin embargo, no pueden ser completamente apagado. En cualquier momento, podían detectar la presencia de un vehículo o ser llamados a ser router nodo de la red multi-hop. Cuando la actividad es necesaria, la red encaje en un alto ciclo de trabajo. Los mensajes se transmiten desde la detección de la cámara de una vez por segundo. Todos los nodos a lo largo de la ruta de acceso de enrutamiento del vehículo a la cámara también debe permanecer activo porque pueden ser llamados en cualquier momento para asumir como principal nodo de enrutamiento. El Z-car aplicación demuestra la capacidad de TinyOS y el mote de arquitectura flexibilidad cumplir con una amplia gama de requisitos de protocolo. 7.4.1.2 Elección de Líder durante el seguimiento un vehículo, las lecturas de varios nodos son sintetizados en un solo paquete de informes con el fin de conservar el ancho de banda de red. Un vehículo puede desencadenar varios nodos de sensores a medida que pasa a través de una red. La información proveniente de 161 nodos que se encuentran más en el vehículo es menos valioso que los datos procedentes de los nodos de sensores que se encuentran más cerca del vehículo. Con el fin de conservar el ancho de banda de red, un dirigente local es elegido de una revisión de los datos procedentes de varios sensores y a seleccionar los datos más importantes. Los datos filtrados a continuación, se entregó a la multi-hop capa para el viaje a través de la red. En realidad hay dos niveles de filtrado se realiza simultáneamente. Cada nodo está continuamente filtrado de la materia prima las lecturas de los sensores y transmitir sus vecinos solamente lo que puede ser importante. Entonces, el líder entonces toma los datos y determina que las lecturas de datos son las más importantes. El líder es elegido por ser el nodo con el mayor lectura del sensor en un momento dado época. Cada nodo recopila los informes procedentes de todos los alrededores de sus vecinos. A continuación, compara los informes a su propio informe local. El nodo que tiene el sensor más lectura es el líder y selecciona los datos de los próximos tres mejores nodos. Este mecanismo de elección fue seleccionado debido a su bajo coste y su tolerancia a mensajes perdidos. En el caso de que se pierde un mensaje, nuestra elección de líder algoritmo garantiza que los mejores datos aún será informado. Independientemente de lo que los paquetes son recibidos por el verdadero líder, por definición todavía le tienen la más alta calidad de los datos. Si el líder de los datos no está correctamente recibida por otros nodos, luego un segundo líder será seleccionado por error y dos paquetes se transmiten a la base. En cualquier caso, los datos más valiosos siempre se transmite. 162 7.4.1.3 Entrega fiable de mensajes una vez que los datos de varios nodos de sensores ha sido agregados juntos, es esencial que los datos se entrega de forma fiable a través de la red. En muchas aplicaciones de sensor, la pérdida de datos es aceptable debido a que los datos transmitidos es altamente redundante. Sin embargo, estamos transmitiendo sólo intencionalmente datos muy útiles. Para implementar un mecanismo de entrega fiables, ampliamos nuestra primitivas de comunicación a nivel de enlace los acuses de recibo. Cada vez que la aplicación inicia una transmisión de mensaje, automáticamente se espera recibir un acuse de recibo. Cuando el sistema TinyOS senddone devuelve el caso a la aplicación, que incluye información acerca de si el reconocimiento fue recibido o no. UN acuse de recibo positivo significa que el mensaje fue recibido por el nodo que se dirigía a y que el nodo receptor verifica la integridad de los paquetes de datos mediante un CRC mecanismo. En el caso de que el reconocimiento no fue recibido, nuestro multi-hop capa de enrutamiento inicia automáticamente una retransmisión. Esto se repite hasta tres veces antes de que se supone que el enlace de comunicación se ha roto. En contraste, el informe inicial del sensor no se retransmiten los mensajes a todos. Esto es simplemente porque son los mensajes de difusión de los vecinos. No hay un solo destinatario. 7.4.1.4 Enrutamiento basado geográfica La multi-hop mecanismo de enrutamiento utilizada se basó en información geográfica. La ubicación física de cada nodo se utiliza para determinar la estructura de enrutamiento. Cada uno de los nodos se le dijo en su ubicación en el Avión. Un nodo se enrutan los datos a través de cualquier nodo que está físicamente más cerca de su destino. Ruta 163 paquetes Nodo Líder deserten viajó agregados deserten nodos nodo Base Vía Figura 7-6: Multi-hip ruta de la red utilizado en z-car programa de seguimiento. Los nodos detectar el evento (en verde) transmitir los datos a un único líder que los tránsitos un informe único paquete. El paquete de informes se desplaza a través de la red (línea punteada) hasta que llega al nodo base. El paquete contiene la estimación del regate (rojo) posición. Con un diseño de la red basada en grid, es fácil que cada nodo para calcular la ubicación de los nodos más cercanos a la estación base. Cada nodo intenta transmitir a cualquier nodo que es de hasta 2 unidades de cuadrícula fuera de sí mismo. Con avidez, cada nodo primero intenta ponerse en contacto con los nodos que son un paso en la dirección del eje X y un paso en su dirección Y hacia la estación base. Si una transmisión de ese nodo no se realiza con éxito después de tres intentos, otro nodo se selecciona y se repite el proceso. La figura 7-6 muestra el comportamiento de la red de un nodo. Una vez que el éxito se ha establecido, los nodos seguir utilizando la misma ruta. Sólo después de una retransmisión local ha fallado tres veces la red seleccionar una nueva ruta. Uno de los problemas que enfrentan los de enrutamiento geográfico es que unos mínimos locales puede ser formado a partir de los datos que no pueden escapar. A veces se tiene que enviar los datos del destino para evitar un obstáculo. Lamentablemente, no hemos abordado esta cuestión. 164 Implementación basada nuestra red minimiza la presencia de unos mínimos locales. Varios errores de nodo son necesarios para crear un obstáculo en nuestra red. Trabajo Futuro sería la de incluir algoritmos para evitar este fenómeno. 7.5 Conclusión cientos de aplicaciones que se han construido demuestran la eficiencia y la capacidad de la Mica, Azul y plataformas de Especificaciones. Hemos presentado tres aplicaciones clave que muestran varios de las posibilidades del sistema en general. Ciclo de trabajo bajo las redes construidas con el nodo Azul han demostrado la capacidad de esta arquitectura de sincronización precisa apoyo lo que lleva a una muy baja y ciclo de trabajo red de varios años de vida de los datos relacionados con el medio ambiente escenario de supervisión. Además, rastreo de vehículos complejos despliegues de TinyOS han demostrado capacidad para satisfacer necesidades específicas de las aplicaciones para la comunicación de datos, la agregación de los datos, análisis y sensor multi-hop routing. 165 Capítulo 8: Trabajos relacionados en la búsqueda de trabajos relacionados con las redes inalámbricas de sensores, hay tres áreas clave de investigación activa. El éxito y la adopción generalizada de TinyOS ha dado lugar a un cuerpo de trabajo que está construido en la parte superior de la plataforma TinyOS/Mica. En segundo lugar, hay un cuerpo de trabajo relacionada con otras plataformas inalámbricas que son aplicables a las redes inalámbricas de sensores, y, finalmente, un cuerpo de trabajo relacionadas con sistemas operativos integrados que pueden ser usados en redes de sensores inalámbricos. TinyOS 8.1 Apoyo a la labor de esta sección, vamos a ofrecer rápidamente una visión general de los trabajos que ha realizado en la parte superior de la plataforma TinyOS. El Mica nodo ha sido distribuido a más de 250 grupos de investigación en todo el mundo como una plataforma de apoyo red de sensores inalámbricos. Además, ha sido el principal plataforma de investigación programa de investigación del nido [ 61]. La Tecnología de Software integrado en red (NIDO) es un programa de investigación financiado por DARPA programa con docenas de investigadores en más de diez lugares en todo el país que están investigando las tecnologías de software que deben ser desarrollados para apoyar distribuidos, sistemas integrados de redes de sensores. 8.1.1 Los Robots Inalámbrico Uno de los ámbitos de la investigación dentro del programa NEST es que robots controlados de forma inalámbrica. Tradicionalmente investigación en robótica autónoma se ha realizado en las plataformas robótica que se cobró decenas de miles de dólares. Estos dispositivos incluyen y los equipos integrados con windows o Linux y comunicarse con 802.11 . Como una alternativa 166, varios grupos de investigación han desarrollado robots de bajo costo que son controlados por un nodo que ejecuta TinyOS Mica. Las cunas proyecto robots en la universidad de Berkeley ha construido sus robots de bajo coste coches de control remoto [ 62]. Mediante la sustitución del sistema de control estándar con un sensor inalámbrico/nodo de control, un juguete infantil se transforma en una plataforma de investigación. La velocidad, la dirección y el radio de giro se controlan mediante el nodo sensor inalámbrico. Las cunas robots proyecto creado un robot capa de abstracción de los componentes TinyOS que refina el motor básico en TinyOS primitivas de control los comandos y los eventos las cunas de los robots proyecto también está estudiando la integración de sensores para ayudar a la navegación. Obvio que los sensores se incluyen sensores de aceleración, velocidad giroscopios y sensores de inclinación. Los primeros resultados de los análisis de los datos de aceleración de un acelerómetro ADXL202 sugiere que los datos de aceleración por sí sola no es suficiente para realizar navegación inercial incluso cuando el sistema está limitado a una sola dimensión [ 63]. Baja frecuencia, deriva en las lecturas de los sensores sin límites lleva a error. Sin embargo, el acelerómetro se ha utilizado con éxito para detectar efectos de obstáculos. Además, se parece prometedor para el uso de varios sensores para realizar navegación inercial. Uno de los objetivos de la CUNA-bots proyecto es desarrollar algoritmos para la coordinación entre varios robots. En lugar de implementar un robot de alto costo, que desean implementar una flota de robots. Este se activa mediante la multi-hop algoritmos de comunicación y de procesamiento de la red que se están desarrollando en las redes inalámbricas de sensores. 167 8.1.2 Control de acceso a los medios de Enrutamiento y Control de acceso a los medios de transmisión y programación es un área clave de investigación de la red de sensores inalámbricos. Control de acceso a los medios, el mecanismo para determinar quién puede transmitir y cuando, se debe utilizar para lograr una optimización del consumo energético de dispositivos. Los investigadores de la UCLA han demostrado el beneficio de la explotación específica de la aplicación de protocolos personalizados crear capas MAC adaptado a las redes de sensores. La red de sensores personalizados protocolos de comunicación intento para reducir el consumo de energía y han demostrado 2-6x energía mejora en comparación con 801,11 estándar -como protocolos de redes inalámbricas [ 51]. Su trabajo demuestra la ventaja de utilizar un sistema flexible y modular que facilita la personalización. Los investigadores de la UCLA también han generado protocolos de enrutamiento optimizado diseñado para ahorrar energía en las redes desplegadas[2, 11]. En redes de recopilación de datos, los sistemas deben ser utilizados para distribuir uniformemente carga potencial de los nodos de enrutamiento. Como se describe en el Capítulo 2, los nodos que se envío de datos para otros nodos se consumen más energía que otros nodos. Con el tiempo, las pilas se agotan y no podrán enviar los datos a seguir. Esto puede producir una degradación de rendimiento de la red. Dividir uniformemente la carga a través de los posibles nodos de enrutamiento garantiza el máximo posible de la red vida. 8.1.3 Sincronización de tiempo sincronización de tiempo es un clásico problema sistemas distribuidos que se ha abordado en el contexto de las redes inalámbricas de sensores. Los investigadores de la UCLA han empujado los límites de sincronización de tiempo en redes de sensores inalámbricos. La conducción de sus 168 aplicaciones sincronización de tiempo investigación es preciso lograr localización acústica a través. La UCLA consiste en utilizar la naturaleza de broadcast de la comunicación inalámbrica para enviar señales de a varios nodos [ 50]. Cualquier nodo de la red pueden enviar una baliza de distribución. Cualquier nodo que escucha la baliza registra una precisa, hora local sello para la señal. A continuación, los intercambios su marca de tiempo con todos los nodos que también han escuchado la misma distribución de faro. Este mecanismo permite que cada nodo para determinar la diferencia relativa entre su reloj local y un vecino reloj que también escuchó la baliza. Cada nodo almacena las diferencias relativas entre el reloj y todos los vecinos. Además, se almacena una estimación de la desviación relativa. UCLA ha sido capaz de demostrar microsegundo precisa sincronización de hora con este mecanismo en la mica plataforma. Cuando un sensor detecta eventos dentro de la red, todos los nodos se aplican una hora local sello en el evento. Los nodos, a continuación, transmitir la hora evento de detección a través de la red inalámbrica. Cada vez que los datos se transmiten el nodo receptor actualizado el registro de hora para dar cuenta de la diferencia entre su hora local y la base de tiempo del transmisor. El tiempo en la lectura se actualiza de forma dinámica para que sean relativos a el reloj local ya que se transmite a través de la red. Como los datos se propagan a través de la red, el sello de tiempo se actualizará varias veces. Todos los datos de los que llega a un punto central de recogida, sellos que son relativos a la misma hora local. 8.1.4 Optimización de enrutamiento Multi-Hop Uno de los ámbitos más importantes de la investigación que se está apoyada por la plataforma TinyOS es la de multi-hop optimizaciones de enrutamiento. La amplia gama de escenarios de aplicación siendo considerado para las redes inalámbricas de sensores conduce a una amplia gama de posibles 169 multi-hop protocolos de enrutamiento. Desventajas de la latencia, ancho de banda y poder se puede hacer en cada escenario de la aplicación. Los investigadores de la universidad de Berkeley han implementado varias generaciones de multi-hop algoritmos recopilación de datos. Referencia [ 64] presenta una recopilación de datos protocolo de enrutamiento diseñado para construir un árbol de expansión óptima topología. En lugar de buscar una profundidad mínima de spanning tree, la referencia [ 10]busca un árbol que maximiza la probabilidad de que cada nodo de datos llegará a la estación base en el primer intento. Cada nodo se le asigna una probabilidad de éxito métrica que se inicia a partir de la estación base y se propaga. La estación base tiene 100% de probabilidad de éxito, y cada uno de sus vecinos tiene una probabilidad de éxito que es proporcional a la probabilidad enlace a la estación base. Los nodos que apenas puede comunicarse con la estación base se elige para enviar datos a través de una extra-hop con el fin de aumentar la probabilidad de éxito. 8.1.5 TinyDB Uno de los sistemas más interesantes que se construyó en la parte superior de la plataforma TinyOS es una llamada TinyDB [ 65]. TinyDB está diseñado para transformar una red de sensores inalámbricos en base de datos de secuencias. Las consultas SQL se introducen en una interfaz de usuario y propagado en la red de sensores. La red ejecuta las consultas sobre las lecturas del sensor y devuelve los resultados. Al igual que en SQL estándar, estas consultas pueden incluir las operaciones de agregación para refinar los datos a medias, max o min valores [ 1]. TinyDB El optimizador de consultas distribuye automáticamente las operaciones de agregación en la red. TinyDB proporciona un mecanismo para razonar sobre cómo tener acceso a los datos procedentes de las redes de sensores inalámbricos. Proporciona funciones más allá de SQL estándar en 170 que admite tanto las consultas de larga ejecución y desencadenadores de eventos. A diferencia de las bases de datos tradicionales, el conjunto de datos que se consulta en las redes inalámbricas de sensores es una infinita secuencia de datos en el futuro. Cada segundo o quizás milisegundo, cada sensor tiene el potencial de generar una nueva lectura del sensor. Consultas de larga ejecución pueden ser emitidas a la red solicitando que se presenten los datos si se supera un umbral o se ajusta a criterios especiales. TinyDB en los parámetros de la consulta se propagan a cada nodo local de filtrado de datos. Además de transmitir automáticamente los datos que cumplen con criterios específicos, TinyDB también permite el uso de activadores que causa otras acciones locales para que se produzcan cuando se produce una condición de detección específica. 8.2 Las plataformas inalámbricas además de la recopilación de las plataformas relacionadas con TinyOS se indicó anteriormente, hay una colección de otras redes inalámbricas plataformas que son relevantes. 8.2.1 Polvo inteligente Smart Polvo[66, 67] un proyecto de la universidad de Berkeley representa la inspiración de gran parte de la labor contenida en esta tesis. El proyecto ha seguido desarrollando estructuras hardware a escala en miniatura que hacen avanzar el estado del arte en tecnología de redes de sensores inalámbricos. En la miniaturización extrema focalización y bajo consumo de energía se están desarrollando muchos ultra-low power primitivas tales como la radio y ADC los componentes contenidos en el nodo especificado. Además, el polvo Inteligente proyecto ha sido la pionera en nuevas tecnologías de la comunicación óptica a través de su uso de MEMS espejo de comunicación óptica. Modulación por luz reflejada, la estructura de comunicación cube reflector es capaz de transmitir datos a través 171 millas de largo y que consume enlaces microvatios [ 68]. Además de apoyar el desarrollo de la especificación, escaparate, han desarrollado dispositivos que incluyen detección, cálculo y fuentes de energía solar y comunicaciones ópticas. Tienen 3 nodo sensor autónomo ha demostrado que son menos que 10 mm . 8.2.2 Bluetooth Bluetooth es un sistema inalámbrico está diseñado para ser el estándar de la industria de baja potencia, dispositivos móviles [ 69]. Los chipsets altamente integrado se están desarrollando circuitos RF que proporcionan y procesamiento de protocolo en un único chip. Mientras que estos diseños son extremadamente eficientes implementaciones del protocolo Bluetooth, no proporcionan la flexibilidad exigida por las redes inalámbricas de sensores. Bluetooth ha sido diseñado como una sustitución cable e incluye soporte de muy baja latencia y comunicación. Para apoyar una baja latencia y alto rendimiento de operación, Bluetooth utiliza un canal de salto a 600. Esto requiere que todos los dispositivos de sincronización dentro de unos pocos microsegundos. En las redes inalámbricas de sensores dispositivos sólo pueden enviar datos una vez por hora. Sería muy ineficiente a la fuerza estos nodos para permanecer sincronizado para toda la hora. Sin embargo, en Bluetooth es muy caro de entrar o salir de una red, no sería práctico para ciclo de trabajo bajo los nodos para entrar y salir continuamente una piconet Bluetooth. En una configuración estándar, se tarda más de 2,4 segundos para establecer la conexión. Durante este tiempo, el nodo maestro debe estar en un modo de captura, con el típico Bluetooth radios consumir cientos de milivatios wile supervisión del canal. 172 Otra incompatibilidad entre las redes de sensores inalámbricos y Bluetooth es que la topología maestro-esclavo de Bluetooth requiere que cada esclavo de informe al maestro cada pocos segundos. Una vez más, esto no es eficaz para las redes inalámbricas de sensores. Mientras que Bluetooth chipsets son muy eficientes y bien integrados, su incapacidad para proporcionar baja de modos de operación de hace ineficiente para redes inalámbricas de sensores. 8.2.3 Zigbee (802.15.4 ) Zigbee es un consorcio industrial diseñado para crear un enlace de datos estándar capa de comunicaciones utilizado en consumo ultra bajo de energía inalámbrica de aplicaciones [ 70]. La Zigbee alliance se creó debido a que sus miembros consideraron que las tecnologías existentes no son aplicables a ultra bajo de energía escenarios de aplicación. La Zigbee de capa de enlace de datos está diseñado para funcionar en la parte superior de la capa física IEEE 802.15.4 [ 71]. IEEE 802.15.4 es un espectro ensanchado de secuencia directa capa física incluyendo la transmisión las bandas de 868 MHz, 902-928 MHz y 2,4 GHz. En primer lugar los chipsets de la generación estará disponible en el Q4 de 2003 [ 72]. Espectro ensanchado de secuencia directa tiene una clara ventaja sobre el canal salto salto porque mecanismos de sincronización secuencia no tiene que ocurrir antes de iniciar la comunicación. Esto proporciona una gran ventaja de poder de ciclo de trabajo dispositivos y direcciones una de las principales deficiencias de Bluetooth. Una vez completado, el estándar Zigbee se especifica un mecanismo de comunicación que es comparable a la capa de comunicación de TinyOS. Entramado de datos primitivos mecanismos, detección de errores, direccionamiento y estandarizado para permitir la compatibilidad. Zigbee se centra fundamentalmente en redes topología de estrella donde el bajo nivel de dispositivos inalámbricos comunicarse al punto de recogida. Canonical Zigbee es una aplicación inalámbrica 173 interruptor de la luz. Esta sería una batería de bajo costo comunicación interruptor a un dispositivo de luz. 8.2.4 Pico Radio hay varios otros grupos que buscan en la arquitectura inalámbrica de dispositivos integrados. El Berkeley Centro de Investigación de Tecnología Inalámbrica PicoRadio proyecto ha identificado la importancia de la aplicación protocolos específicos, y han construido una plataforma flexible, aprovechando hardware reconfigurable [ 73]. El diseño incorpora elementos reconfigurables que se conectan a su procesador PicoRadio protocolo, le dan la flexibilidad para implementar un gran número de protocolos subyacentes. Sin embargo, su arquitectura nodo incluye un protocolo dedicado procesador y mantiene una partición entre protocolo y proceso de la aplicación. La flexibilidad de estructura de protocolo, queda limitada por el protocolo procesadores interfaz externa. 8.2.5 Chipcon CC1010 radio Varios fabricantes han identificado las ventajas de integrar propósito general microcontrolador CMOS en el mismo morir con la radio. Una parte comercial que acaba de convertirse en disponible es la Chipcon CC1010. Es la integración de un CC1000 transceptor y un microprocesador Intel 8051. Mientras que eran capaces de llevar los registros de la configuraci n de la radio en el bus de E/S de la CPU, no dar el paso de la integración adicional a la ayuda en el proceso de comunicación. La interfaz de datos a la radio sigue siendo prácticamente la misma de lo que es posible cuando el microcontrolador y la radio son dos chips. 174 Hemos demostrado cómo la integración del CPU y radio en un solo chip crea nuevas oportunidades para las interfaces entre la radio y la CPU. Sin embargo, la simple integración de formularios realizado por Chipcon en su CC1010 se ha limitado a reducir el tamaño y costo. La inclusión de la comunicación los aceleradores son necesarios para permitir la integración de rendimiento significativas mejoras en el rendimiento. El CC1010 no se da cuenta del potencial que es permitido por nuestra arquitectura generalizada. 8.3 Sistemas Operativos Integrados tradicionales tiempo real sistemas operativos integrados incluyen VxWorks [ 75], WinCE [ 76], PalmOS [ 77], y QNX [77, 78] y muchos otros [ 79-81]. La figura 8-1 muestra las características de un puñado de estos sistemas. Muchos se basan en microkernels que permiten que las capacidades que se ha añadido o eliminado con base en las necesidades del sistema. Que proporcionan un entorno de ejecución que es similar a los tradicionales sistemas de escritorio. El POSIX [ 82] rosca compatible con los paquetes que los programadores de sistemas de reutilizar código existente y técnicas la multiprogramación. Los mayores sistemas operativos en tiempo real proporcionan protección de memoria con el adecuado soporte de hardware. Esto se hace cada vez más importante como el tamaño de la Figura 8-1: Características y requisitos comerciales integradas de sistemas operativos en tiempo real. 175 Aplicaciones integradas. Además de proporcionar aislamiento de fallas, la protección de la memoria impide que corruptos punteros de causar errores aparentemente inconexos en otras partes del programa de desarrollo de software más sencillo. Estos sistemas son una opción popular para PDA, teléfonos celulares y set-top-boxes. Sin embargo, no se acercan a la satisfacción de las necesidades de las redes inalámbricas de sensores, que son más adecuadas para el mundo de ordenadores integrados Por ejemplo, un cambio de contexto QNX requiere más de 2400 ciclos de 33MHz procesador 386EX. Además, la huella de la memoria de VxWorks está en los cientos de kilobytes. Ambas de estas estadísticas son más que un orden de magnitud más allá de las capacidades de la Rene plataforma. También hay una colección de menor tiempo real ejecutivos Creem [ 83], pOSEK [ 84], y Ariel [ 85], que son mínimos sistemas operativos diseñados para sistemas embebidos profundamente, como los controladores de motores y hornos de microondas. Mientras que el apoyo a las tareas preventivas, que han limitado y modelos de almacenamiento. pOSEK, por ejemplo, proporciona una tarea de modelo de ejecución que está configurado estáticamente para satisfacer las necesidades de una aplicación específica. En general, estos sistemas enfoque satisfacer las necesidades de espacio de René y representan los diseños más cercano a nosotros. Sin embargo, tienden a estar centrada en control (control de acceso a los recursos de hardware) y no proporcionan los niveles necesarios de simultaneidad. Incluso pOSEK, que cumpla con nuestros requisitos de memoria, supera las limitaciones que tenemos en cambio de contexto. Es lamentable observar que, si bien no hay una gran cantidad de información sobre tamaño de código integrado de sistemas operativos, hay muy pocos números de rendimiento publicados. 176 Capítulo 9: Conclusiones Esta tesis ha presentado una arquitectura de sistema para los nodos de sensores inalámbricos que es capaz de hacer frente a los estrictos requisitos de las redes inalámbricas de sensores. Mediante el uso de un solo controlador compartida que se ve reforzada por una colección de los aceleradores de hardware especializado, se trata de una arquitectura flexible capaz de soportar aplicaciones específicas y protocolos de comunicaciones sin sacrificar la eficiencia. Esta arquitectura ha sido validado a través del desarrollo de tres plataformas de hardware y un sistema operativo de software. Hemos desarrollado el sistema operativo TinyOS que proporciona la fina concurrencia los mecanismos necesarios para implementar redes de sensores inalámbricos protocolos y aplicaciones. TinyOS aprovecha un modelo de ejecución basado en eventos para compartir de forma eficaz un único procesador a través de múltiples operaciones funcionales independientes. Además, TinyOS ofrece un eficiente modelo de componentes que casi no tiene sobrecarga en tiempo de ejecución y permite a los desarrolladores de aplicaciones para aplicaciones de partición en fácil de administrar módulos. Esto permite que los módulos de componentes a ser verificados de manera independiente antes de componer juntos en una aplicación completa. Hemos presentado una arquitectura generalizada que responda a las principales cuestiones que se plantean en la construcción de un dispositivo de red inalámbrica de sensores que deben cumplir los estrictos consumo de energía y requisitos de tamaño. Entre ellos figuran: la flexibilidad, de grano fino concurrencia, sincronización perfecta, y la disociación entre RF y la ruta de los datos. Sostenemos que estas propiedades han de estar presentes en la arquitectura del sistema con el fin de apoyar las aplicaciones de la red de sensores inalámbricos. La plataforma debe ser lo suficientemente flexible para satisfacer la amplia gama de 177 requisitos de la aplicación que las redes de sensores. Hemos identificado núcleo escenarios de aplicación que van de reunión de datos ambientales y a las redes de seguridad, redes de seguimiento al nodo. Cada escenario tiene comunicación sustancialmente diferentes patrones y protocolos que deben ser respaldadas por una sola arquitectura de hardware. Para validar nuestra arquitectura general se presentó por primera vez la Mica nodo. Compuesto de de los componentes comunes, que sólo aproximarse nuestra arquitectura en general. Incluye aceleradores de hardware especializados que ayudan a separar la RF y la ruta de los datos y aumentar la velocidad precisión sincronización de protocolos de comunicación. En la evaluación de esta plataforma nos muestra cómo estos aceleradores simple resultado en mejoras importantes en el rendimiento sin perder flexibilidad. El Mica plataforma ha demostrado tanto en la teoría y a través de la implementación a largo plazo, funciona con pilas escenarios de aplicación. Hemos dado el salto más allá de las capacidades de la plataforma de hardware para realizar plenamente nuestra arquitectura general en forma de chip único de dispositivo CMOS llamada Spec. No constreñidos por las capacidades de los componentes disponibles en el mercado, hemos integrado un conjunto de aceleradores de hardware y una radio personalizada con el fin de realizar orden de magnitud de las métricas clave de la evaluación. Estos incluyen las métricas fundamentales tales como la comunicación, sobrecarga de procesamiento de símbolo inicio detección y precisión de la sincronización. Spec es representante de la futura red de sensores inalámbrica de dispositivos. Además de micro-análisis y análisis teórico, también hemos presentado aplicación en el mundo real las implementaciones. Hemos conectado a tierra de nuestro estudio, en la medida de lo que nuestros nodos en el desierto en la vía militar movimiento del vehículo durante un ejercicio de entrenamiento con munición. También hemos rastreado escala tamaño los vehículos de modelo de escenarios, y 178 desplegado innumerables de otros redes experimentales. El Mica combinada con TinyOS se ha entregado a más de 250 organizaciones para ser la base de un esfuerzo nacional en redes de sensores inalámbricos investigación y desarrollo. Durante varios años, las personas han estado imaginando posibles escenarios de aplicación para las redes inalámbricas de sensores. La arquitectura del sistema presentado en esta tesis está dispuesto a hacer los sueños realidad. El primer uso comercial de las redes inalámbricas de sensores, lo más probable es que se de escenarios de aplicación crítica. Sistemas diseñados para ayudar a mejorar la eficiencia o proporcionar información detallada acerca de cómo un negocio o ecosistema opera se pueden implementar sin riesgo de obstaculizar las actividades existentes. Además, las aplicaciones militares para las redes inalámbricas de sensores se convertirá en una realidad en un futuro cercano. Las redes inalámbricas de sensores tienen la capacidad de ofrecer una perspectiva radicalmente nueva sobre el estado del campo de batalla. Los comandantes militares bienvenido tecnologías que integran su recopilación de información y capacidades puede incorporar los datos procedentes de las redes sin necesidad de abandonar el senor fuentes de información existentes. La última fase de aprobación para las redes inalámbricas de sensores será cuando información esencial es de confianza para ellos. Control de procesos industriales y los sistemas de seguridad demanda muy altos niveles de fiabilidad y previsibilidad. Estos sistemas deben ser probadas y validadas por años antes de que se pueda confiar para la implementación. Fallos en un sistema de control de procesos industriales puede llevar a millones de dólares en pérdida de productividad, lesiones al personal y daños al equipo. Mientras que el índice de adopción será lento en estas áreas, las ventajas tecnológicas de las redes inalámbricas de sensores son mayores que los riesgos. 179 Mientras que las plataformas presentadas aquí están listos para satisfacer las necesidades de todo el mundo aplicaciones comerciales, la tecnología que permite que las redes inalámbricas de sensores seguirá evolucionando. A medida que avances en los procesos y RF CMOS tecnología de radio se incorporan a inalámbrica de próxima generación de nodos el senor, el consumo de energía y vida mejorar continuamente. Actualmente, la tecnología permite multi-año de funcionamiento de un único par de pilas AA. Los próximos avances tecnológicos lo más probable es que se aplica a la reducción del consumo de energía del dispositivo. A su vez, esto permitirá una reducción de tamaño físico del almacenamiento de la energía necesaria para cualquier aplicación. En lo que respecta a los niveles más estrictos de integración, el costo y tamaño punto representado por las especificaciones plataforma ha llegado a un punto de los rendimientos decrecientes. Nuevas reducciones en el tamaño físico de la radio, procesamiento y almacenamiento, ya no es necesario. Sólo algunas aplicaciones tienen la necesidad de un dispositivo que es menor que 2.5 mm x 2.5 mm Sin embargo, los escenarios de aplicación pueden beneficiarse de consumo de energía reducido que se traduce en más vida red y/o mayores tasas de muestreo. Quince años, contados a partir de ahora, los sensores inalámbricos será un "detrás de las escenas" tecnología que ha crecido a cada aspecto de nuestras vidas. Todos los ajustes de fábrica y sistemas de mando y control se han cambiado al depender de detección inalámbrica y puntos de control. Los millones de kilómetros de engorroso cableado que oír hablar en control de edificios y sistemas de automatización, será reemplazado por un invisible wireless mesh. Los propios dispositivos será tan común como interruptores de la luz y los termostatos son hoy en día. Ellos serán pequeñas, baratas, piezas de productos de silicio que interactúan con el mundo físico. Hoy damos poca atención a la red eléctrica moderna y cuáles son nuestras vidas 180 sería como sin ella. Mañana nos dará poco en redes de sensores inalámbricos tecnología y los sistemas que se han convertido en impacto cada aspecto de nuestras vidas. 181 Bibliografía 1. Madden, S. , et al., ETIQUETA: un pequeño servicio de agregación de las redes de sensores ad-hoc. 2002: OSDI. 2. Intanagonwiwat, C. , R. Govindan, y D. Estrin, dirigido Difusión: UNA comunicación sólida y escalable Paradigma de Redes de sensores. 2000: Computación móvil y redes. 3. Perkins, C. , Ad-hoc en demanda de enrutamiento por vector de distancia. MILCOM 1997. 4. Berkeley, University of California, 800 nodos auto-organizada red de sensores inalámbricos. 2001:800 5. Doherty, L. , algoritmos para la posición y la recuperación de datos en las redes inalámbricas de sensores. UC Berkeley PROCEDENTES Masters Report, 2000. 6. Mclurkin, J. , algoritmos distribuidos en redes de sensores. 1999: Tesis de Maestría en Ingeniería Eléctrica en la Universidad de California, Berkeley. 7. McMahan, M. L. , evolucionando las arquitecturas Teléfono Celular sino de una permanente, insaciable deseo de MIPS DSP. 2000, Texas Instruments Incorporated. 8. Cerpa Cartolini, A. , et al., vigilancia del Hábitat: controlador de la aplicación de tecnología de comunicaciones inalámbricas. ACM SIGCOMM Taller sobre las comunicaciones de datos en América Latina y el Caribe, 2001. 9. Mainwaring, A. , et al., las redes inalámbricas de sensores para vigilancia del Hábitat, en ACM Taller Internacional sobre Redes de sensores inalámbricos y aplicaciones (WSNA' 02). 2002. 10. Woo, A. y D. Culler, la evaluación de confiabilidad del enlace Estimadores eficientes para redes inalámbricas. 2002: Informe técnico, la Universidad de California en Berkeley. 11. Xu, Y. , J. Heidemann, D. Estrin, Geografía de conservación de la energía de enrutamiento Ad Hoc. 2001, ACM Press: SIGMOBILE : ACM Special Interest Group sobre la movilidad de los sistemas, los usuarios informáticos y los datos. p. 70 - 84. 12. Yarvis, M. D. , et al., experiencias reales con una Interactiva Red de sensores especiales. 2002: Conferencia Internacional sobre procesamiento paralelo Talleres. 13. Whitehouse, K. , el diseño de calamares: ad-hoc sistema de localización para redes de sensores. 2003: Maestría Informe de la Universidad de California en Berkeley. 14. Kymissis, J. , et al., captura de energía parasitaria en zapatos. ISWC, 1998. 15. Roundy'S, S. , P. Wright y J. Rabaey, un estudio de nivel bajo las vibraciones como fuente de alimentación para los nodos de sensores inalámbricos. 2002: Las comunicaciones por computadora. 16. Perrig, A. , et al., GIROS: protocolos de seguridad para redes de sensores. Actuaciones de MOBICOM, 2001, 2002. 17. Rivest, R. , el algoritmo de cifrado RC5. 1994: Software de cifrado rápido. p. 86-96. 18. Energizer Battery Company, Energizer AA, ingeniería hoja de datos: http://data.energizer.com/datasheets/library/primary/alkaline/energizer/consum er_ oem/e91.pdf 182 19. Energizer Battery Company, Energizer CR2032 hoja de datos, ingeniería: http://data.energizer.com/datasheets/library/primary/lithium_coin/cr2032.pdf. 20. Corriente de carga de la batería NiMH, Conceptos Básicos: http://www.powerstream.com/NiMH.htm. 21. McLarnon, B. , VHF/UHF y Microondas propagación de las ondas de Radio: un manual para investigadores Digital: http://www.tapr.org/tapr/html/ve3jf.dcc97/ve3jf.dcc97.html. 22. RF Monolithics Sc, TR1000 Hoja de datos. 1999:1000 23. Chipcon, CC1000 solo Chip transceptor RF de baja potencia. 2002:1000 24. Texas Instruments, MSP430x13x, MSP430x14x microcontrolador de señal mixta Guía del usuario. 2003:430 25. AMD AM49DL640BG apiladas Paquete multichip (MCP) Memoria Flash y SRAM. 2003: Http://www.amd.com/usen/activos/content_type/white_papers_and_tech_docs/ 26090a.pdf). 26. Intel Corp, Comunicado de prensa de Intel: Intel desarrolla el primer Una celda SRAM micrones cuadrados. 2002:20020312 27. Atmel Corporation, AT90S/LS8535 Hoja de datos. 2001:1041 28. Philips Semiconductor, el I2C-Bus. 2000:2 ION_3.pdf 29. Atmel Corporation, AT90S categorías2323/LS categorías2323/S2343/LS2343 Hoja de datos. 2001:1004 30. Culler, D. E. , J. Singh, y A. Gupta, Paralelo arquitectura de computadoras un hardware/software. 1999. 31. Esser, R. y R. Knecht, Intel Paragon XP/S - arquitectura y entorno de software. 1993: Informe Técnico KFA-ZAM-IB-9305. 32. Culler, D. E. , et al. Paralelismo de grano fino con un mínimo soporte de hardware: un compilador controlado por la máquina abstracta roscado. 1991. 33. Blumofe, R. , et al., Cilk multiproceso: Un eficaz sistema de ejecución. Actas del 5o Simposio sobre Principios y Práctica de la programación paralela, 1995. 34. Hu, J. , I. Pyarali, y D. Schmidt, medir el impacto de eventos Modelos Envío y simultaneidad de rendimiento del servidor Web a través de redes de alta velocidad. Actas de la 2ª Conferencia Mundial de Internet, IEEE, 1997. 35. Von Eicken(, T. , et al. Mensajes activos: un mecanismo de integración de la comunicación y la computación. anuales en 19 Simposio Internacional sobre arquitectura de computadoras. 1992. 36. Gay, D. , et al., El nesC Idioma: un enfoque integral de sistemas integrados en red. 2003: Diseño de los lenguajes de programación y ejecución (PLDI). 37. Renesse, R. V. , et al., un marco para la composición de protocolos de horus. 1995: Actas del Simposio ACM sobre principios de la informática distribuida. 183 38. Agarwal, A. , et al., El MIT alewife: máquina de gran escala de memoria distribuida multi-procesador. 1991: Actas del Taller de memoria compartida escalable multiprocesadores. 39. Montz, A. B. , et al., Scout: UNA orientada a la comunicación sistema operativo. 1995: EL SISTEMA OPERATIVO. 40. Hutchinson, N. C. y L. L. Peterson, El x-kernel: Una arquitectura para implementar protocolos de red. 1991: IEEE Transactions on Software Engineering, 17 (1) :64-76. 41. Queremos, R. , et al., el Sistema de localización activo Insignia. ORL, 24a calle Trumpington Street, Cambridge CB2 1QA, 1992. 42. Bahl, P. y V. Padmanabhan, RADAR: una en el edificio basado en radiofrecuencia ubicación del usuario y un sistema de seguimiento. IEEE Infocom 2000. 2: 775-784. 43. Chandrakasan, A. P. S. , Sheng, y R. W. Brodersen, CMOS de baja potencia Diseño Digital. 1992, De la Universidad de California en Berkeley. 44. Pering, T. , T. Burd y R. Brodersen, la simulación y Evaluación de Algoritmos de tensión dinámica. 1998. 45. Hill, J. , et al. Arquitectura del sistema las direcciones de red sensores ASPLOS. en 2000. 2000. 46. Atmel Corporation, Atmega103 (L) Hoja de datos. 2001, Atmel Corporation: http://www.atmel.com/atmel/acrobat/doc0945.pdf. 47. Dallas Semiconductor, DS2401 Número de serie de silicio: http://pdfserv.maxim- ic.com/arpdf/DS2401.pdf. 48. Atmel Corporation, A45DB041B Hoja de datos. 2001:1938 49. Maxim, Maxim 1-Celda para 2 celdas, ruido bajo, alta eficiencia , Step-Up Convertidor DC-DC, MAXIM1678. 1998: Http://pdfserv.maximic.com/arpdf/MAX1678.pdf. 50. Elson, J. y D. Estrin, sincronización de tiempo para las redes inalámbricas de sensores: http://www.circlemud.org/~jelson/writings/timesync/timesync.html. 51. Ye, W. , J. Heidemenn y D. Estrin, una eficiencia energética Protocolo MAC para redes inalámbricas de sensores. 2001: Presentado para su examen, en julio de 2001. 52. Stemm, M. , et al. Reducir el consumo de energía de las interfaces de red de la mano de dispositivos portátiles. en Taller Internacional sobre Comunicaciones Móviles Multimedia (MoMuc-3). 1996. Princeton, NJ. 53. Lamport, L. , el tiempo, los relojes y el orden de los acontecimientos en un sistema distribuido. Comm., 1978. ACM 21 (7): 558-565. 54. Mills, D. L. , sincronización con la hora de Internet: el Protocolo de tiempo de la red. IEEE Trans. Las comunicaciones, 1991. COM-39 (10): 1482-1493. 55. Doherty, L. , K. S. J. Pister, y L. E. Ghaoui. Posición convexa estimación en las redes inalámbricas de sensores, en IEEE Infocom. 2001: IEEE Computer Society Press. 56. Borriello, J. H. A. G. , Sistemas de localización de Ubiuitous Informática. Ordenador, 2001. 34 (8): pág. 57-66. 57. Priyantha, N. B. , A. Chakraborty, y H. cosa. La Circket Ubicación: Sistema de Apoyo MobiCom. en 2000. 2000. Boston, Massachusetts. 58. Molnar, A. , comunicación personal. 2004: Para ser presentado al Congreso IEEE International Solid-State Circuits Conference 2004. 184 59. Scott, M. D. , un bajo consumo energético ADC para Redes de sensores distribuidos. 2002: Tesis Master, la Universidad de California en Berkeley. 60. Dallas Semiconductor DS útiles específicos Bvi.1804 NV Barbero Potenciómetro: http://pdfserv.maxim-ic.com/arpdf/DS1804.pdf. 61. DARPA, Tecnología de Software integrado en red: http://www.darpa.mil/ipto/Solicitations/CBD_02-12.html. 62. Bergbreiter, S. y K. Pister, CUNAS-bots: Características. 2002: Http://wwwbsac.eecs.berkeley.edu/~sbergbre/CotsBots/specs.pdf. 63. Analog Devices, ADXL202/ADXL210: Bajo coste ±2 g/ ±10 g de doble eje con acelerómetros iMEMS® Datos de Salida Digital: http://www.analog.com/UploadedFiles/Datasheets/70885338ADXL202_10_b.pdf . 64. Hill, J. , arquitectura del sistema para las redes inalámbricas de sensores. 2000: Maestría Informe de la Universidad de California en Berkeley. 65. Madden, S. , et al., TinyDB página web. 2002: Http://www.telegraph.cs.berkeley.edu/tinydb. 66. Atwood, B. , B. Waraneke, K. S. J. Pister. Circuitos Preliminar de polvo inteligente. en el Sudoeste de permitir Symposioum Diseño. 2000. San Diego, Ca. 67. Pister, K. S. J. , J. M. Kahn, B. E. Boser, Smart Polvo: Redes inalámbricas de Millimeter-Scale nodos de sensores. Laboratorio de Investigación Electrónica Resumen de Investigación, 1999. 68. Chu, P. B. , et al., enlace óptico de comunicación mediante micro macined triédricos. 1997: Procedimiento del SPIE vol. 3008-20. 69. La página oficial de Bluetooth: http://www.bluetooth.com/. 70. ZigBee Alliance, el sitio web oficial de la Zigbee Alliance: http://www.zigbee.org. 71. IEEE, IEEE 802,15 WPANTM Grupo 4:802 72. Semiconductor, A. , AMI Semiconductor en Primer Lugar demostrar trabajo Dispositivo inalámbrico ZigBee: http://www.amis.com/news/030414_zigbee.cfm. 73. J. L. Da Silva Jr. , J. S. , M. J. Ammer, C. Guo, S. Li, R. Shah, T. Tuan, M. Hojas, J. M. Ragaey, B. Nikolic, un Sangiovanni-Vincentelli , P. Wright., Metodología de Diseño de Redes de Radio Pico. 2001, Berkeley Wireless Centro de Investigación. 74. Pottie, G. y W. Kaiser, Red inalámbrica integrada Los sensores (WINS): Principios y el enfoque. Communications of the ACM, 2000. 43. 75. Sistemas Windriver, VxWorks 5.4 Hoja de datos: http://www.windriver.com/products/html/vxwks55_ds.html. 76. Microsoft Corp. , Microsoft Windows CE: http://www.microsoft.com/windowsce/embedded. 77. PalmOS Software 3.5 Descripción: http://www.palm.com/devzone/docs/palmos35.html. 78. Hildebrand, D. , una visión general de la arquitectura de QNX: http://www.qnx.com/literature/whitepapers/archoverview.html. 79. Windriver Systems, pSOSystem Hoja de datos: http://www.windriver.com/products/html/psosystem_ds.html. 185 80. QNX Software Systems Ltd. , SISTEMA OPERATIVO en Tiempo Real QNX Neutrino: http://www.qnx.com/products/os/neutrino.html. 81. Microondas, microondas OS-9:91 82. IEEE 1003,0 -1995: IEEE Guía de POSIX® el entorno de sistema abierto. 1995, IEEE: http://standards.ieee.org/catalog/olis/arch_posix.html. 83. Kauler, B. , CREEM: Concurrente Ejecutivo Integrado en Tiempo Real para microcontroladores: http://members.dodo.net.au/~void/old/creem.htm. 84. Posek: un super-pequeña escalable sistema operativo en tiempo real de alto volumen, profundamente las aplicaciones integradas.: http://www.isi.com/products/posek/index.htm. 85. Microondas Microondas, Ariel Descripción Técnica: http://www.microware.com/ProductsServices/Technologies/ariel_technology_brie f.html 86. Liu, L. T. y D. E. Culler, las mediciones de rendimiento mensajes activos en el CM-5. 94: Informe Técnico UCP//CDS-94-087, de la Universidad de California en Berkeley, Departamento de Ciencias de la Computación. 87. Druschel, P. , M. Aron, y W. Zwaenepoel, escalable y eventos explícitos mecanismo de distribución de UNIX. 1999: Procedimiento de USENIX 1999 Conferencia Técnica anual. 88. Homewood, M. y M. McLaren. CS-2 interconexión alguna meiko. Elan-Elite diseño. 1993. 89. Muller, M. , Zero-Copy TCP/IP con Ethernet Gigabit. 1999: Tesis de Doctorado, Instituto de Sistemas Informáticos, ETH Zurich. 90. Cooper, G. H. , Pequeña TCP/IP: http://www.unusualresearch.com/tinytcp/tinytcp.htm. 91. Seiko Instruments, S-7600UNA Serie iChip Protocolo TCP/IP: http://www.seiko-usa- ecd.com/intcir/products/rtc_assp/s7600a.html. 186