• No se han encontrado resultados

Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas basada en el chip CC2520

N/A
N/A
Protected

Academic year: 2021

Share "Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas basada en el chip CC2520"

Copied!
92
0
0

Texto completo

(1)UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES GRADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES. TRABAJO FIN DE GRADO. DISEÑO DE CAPA DE COMUNICACIONES PARA PLATAFORMA MODULAR DE REDES DE SENSORES INALÁMBRICAS BASADA EN EL CHIP CC2520 Madrid, Febrero 2017 Tutores: Jorge Portilla Gabriel Mujica Autor: Alicia Martínez García.

(2)

(3) If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do you have to keep moving forward.” -Martin Luther King Jr.

(4)

(5) AGRADECIMIENTOS Este trabajo no habría sido posible sin el apoyo de aquellas personas que más me quieren, por su ayuda y sus incitaciones al progreso, gracias. A mis padres, los principales promotores de este proyecto que termina pero que abre nuevas puertas a otros. A mis hermanos, mis principales apoyos en todo. A mi pareja, por su apoyo incondicional. A mi familia, agradecerles su apoyo y sus numerosas preguntas sobre mi trabajo y su progreso. A mis amigos y compañeros tanto de la ETSII como de otras escuelas por los buenos y por los no tan buenos momentos pasados. A mis amigos de ESTIEM por todo lo que me han aportado durante mi estancia en la escuela, tanto dentro como fuera de ella. Por último pero no menos importante, agradecer con este trabajo fin de grado a todos aquellos profesores que han motivado durante toda mi vida el entusiasmo por la ciencia y la tecnología y que me ha hecho llegar a donde estoy..

(6)

(7) RESUMEN El presente trabajo fin de grado (en adelante TFG) se presenta como un gran reto ingenieril para el estudiante en una de las tecnologías más en auge en este momento. Se trata de la realización del diseño de una capa de comunicaciones para una plataforma modular de redes de sensores inalámbricas basada en el chip CC2520. El chip CC2520 es un transceptor de radiofrecuencia en la banda ISM sin licencia de 2.4 GHz compatible con el estándar IEEE 802.15.4 y que soporta la implementación de la tecnología ZigBee. Esta tecnología se caracteriza por su baja tasa de datos, su bajo consumo, su flexibilidad de red y su facilidad de implementación. Es por estas cuatro cualidades por las cuales esta tecnología es la más utilizada en el campo de las redes de sensores inalámbricas. El estándar IEEE 802.15.4 y ZigBee son protocolos que se basan en el modelo OSI (Open System Interconnection) para su definición, un modelo que divide en 7 capas el proceso de transmisión de la información de un dispositivo a otro en una red de comunicaciones. De los siete niveles que componen esta estructura, el estándar IEEE 802.15.4 define el nivel físico y el control de acceso al medio (MAC) mientras que ZigBee define el resto de capas superiores. Tras un periodo de estudio de la herramienta, se procedió a realizar el diseño del esquemático. Para ello, se tomó como modelo de referencia el esquemático proporcionado por el fabricante, aunque se buscaron mejoras a realizar tanto en el esquemático realizado en la anterior capa de comunicaciones como con las opiniones encontradas en internet de personas que lo habían implantado. Finalmente el esquemático realizado fue:. Indicar que tuvieron que hacerse modificaciones debido a las características típicas de la plataforma modular Cookie. Se definió su tamaño a 40x60mm para que coincidiese con el resto de capas y su añadieron los conectores situados a ambos lados, teniendo especial importancia la situación de estos para que la placa encajase con el resto. Además se modificó el conector SMA de conexión de la antena externa recomendado por el fabricante a un conector SMA de.

(8) borde que se pudiese conectar la antena aun estando la placa de comunicaciones conectada en la parte inferior de la Cookie. Otras modificaciones realizadas se debieron a la búsqueda de equivalencia entre la nueva placa y la placa del módulo CC2420. Para ello se realizó una conexión de los pines del transceptor CC2520 del mismo modo que se encontraban conectados los del CC2420. Las señales clave que se tuvieron en cuenta fueron las señales propias del estándar SPI (SI, SO, SCLK y CSn), las señales de control del transceptor (VREG_EN, RESETn) y las señales de propósito general (GPIO0, GPIO1, GPIO2, GPIO3, GPIO4 y GPIO5), que aunque éstas no se encontraban en el módulo CC2420 definidas de esta forma tan genérica, algunas de ellas sí que se encontraban de forma específica. El proceso de diseño del esquemático conllevó a su vez la creación de bibliotecas de esquemáticos y bibliotecas de huellas (footprints) debido a que varios componentes del esquemático realizado no constituían parte de las bibliotecas de la herramienta de diseño. Finalmente, tras dar por terminado el esquemático se procedió a realizar el layout. Este era el proceso más importante del proyecto ya que de él dependía el éxito del diseño y como consecuencia el funcionamiento de la tarjeta. Uno de los elementos clave de una tarjeta de comunicaciones es la antena. La capa de comunicaciones diseñada incorpora dos antenas, una implementada sobre la PCB y una antena externa cuya conexión se realiza mediante el conector SMA de borde situado en el parte superior (si se observa en el plano). La antena diseñada en la PCB es una antena plana invertida-F (IFA), clasificada como antena omnidireccional en el plano de la PCB si atendemos a su diagrama de radiación. Su diseño se obtuvo directamente del diseño de referencia del fabricante y se implantó en el layout sin realizársele ninguna modificación, dado su papel fundamental y su delicadeza. A continuación se muestra el diseño introducido en el layout y el obtenido en la placa una vez fabricada:. Pero el elemento crucial de la capa de comunicaciones es el balun. El balun (balancedunbalanced lines transformer) puede provocar una gran caída del rendimiento si se diseña de forma errónea dado que es la parte que une la antena con los pines del transceptor que envían /reciben la señal (RF_P y RF_N). Su principal función es convertir la señal diferencial de RF (señal balanceada) en una señal no balanceada, para que la antena (no balanceada) pueda transmitirla. Además se encarga de adaptar la impedancia vista desde los pines del transceptor para que la señal sea transmitida con la máxima potencia (el fabricante indica como óptima una impedancia de 50 Ω)..

(9) El balun se implementó directamente sobre la PCB con ayuda de los planos ofrecidos por el fabricante, pero esta implementación se convirtió en un arduo trabajo debido a la imposibilidad de importación de los planos en el diseño de la PCB. Como consecuencia de este impedimento hubo que trasladar las medidas de las pistas manualmente, lo que comprendió gran cantidad de tiempo dada la transcendencia de la operación. A continuación se muestra una imagen del balun indicado por el fabricante y una imagen del balun desarrollado en la PCB.. Finalmente, tras la revisión de toda la tarjeta, se envió a fabricar. Fue entonces cuando se comenzó a trabajar con el software. El software está organizado de tal forma que cada elemento de la plataforma posee su propio archivo .c en el que se definen todas las funciones propias y mediante un programa principal se ejecutan las funciones necesarias según las necesidades del momento. Las principales funcionalidades implementadas son:  Reinicio del transceptor.  Modificación del modo de estado.  Modificación del canal de funcionamiento.  Recepción de mensajes.  Transmisión de mensajes. Además de éstas se han implementado funciones para todas las instrucciones disponibles en el set de instrucciones del transceptor CC2520 entre las que se destacan la de lectura y escritura de los distintos tipos de registros, acceso a la memoria y apagado del transceptor. Tras recibir la tarjeta ya fabricada y montada varias semanas después, se procedió a su verificación. En primer lugar se comprobó lo esencial, es decir, que el transceptor era capaz de enviar/recibir datos vía SPI y a su vez el microcontrolador los recibía/enviaba. Tras esta prueba inicial se procedió a comprobar las funcionalidades del transceptor, se comprobó que éste fuese capaz de enviar y recibir datos a través de la antena. Para ello se utilizó una tarjeta con el módulo CC2420 para que, en caso de fallo, se eliminase la incertidumbre de un mal diseño de la antena. Tras varios intentos fallidos, finalmente se consiguió depurar el software eliminando las fuentes de error, resultando así que el diseño de la placa era el correcto..

(10) Tras varias pruebas entre ambos módulos se procedió a verificar la funcionalidad entre dos tarjetas con módulo CC2520, que tras el éxito de las anteriores, éstos se sucedieron al instante. Fue entonces cuando se procedió a la realización de las pruebas de caracterización. En primer lugar se comenzó con la comprobación de la variación del valor de RSSI con la potencia de transmisión, obteniéndose como resultado lo esperado: al reducir la potencia de transmisión el valor de RSSI se reduce. 0 -10 -20. RSSI Real. -30 -40 -50 -60. -60. -61. -60. -66. -69. -70. -70. -73. -76. -80 -94. -90 -100 RSSI Real. 5 -60. 3 -60. 2 -61. 1 -66. 0 -69. -2 -70. -4 -73. -7 -76. -18 -94. Potencia de transmisión típica. Posteriormente se comprobó con el mismo éxito la variación del valor de correlación con los obstáculos situados entre los módulos, ya que al aumentar los obstáculos entre éstos, el valor de correlación se reduce, indicando así que la calidad del enlace empeora. Finalmente se realizaron pruebas para determinar el alcance de la antena implementada en la PCB tanto en interiores como en exteriores, obteniéndose un alcance de más de 90 metros en interiores y de aproximadamente 85 metros en exteriores lo que indica un buen rendimiento de la capa de comunicaciones y de la antena implementada en particular.. Palabras clave: IEEE 802.15.4, Plataforma modular Cookie, CC2520 Código UNESCO: 120309 DISEÑO CON AYUDA DEL ORDENADOR (Ver 3304.06) 120323 LENGUAJES DE PROGRAMACIÓN (Ver 5701.04) 330701 ANTENAS (ver 2105.01) 330703 DISEÑO DE CIRCUITOS (ver 2203.01 y 02 y 2203.07) 330708 DISPOSITIVOS DE MICROONDAS (ver 2202.10 y 3325.04) 330711 RECEPTORES DE RADIO (ver 3325.05) 330712 TRANSMISORES DE RADIO (ver 3325.05).

(11) ÍNDICE 1.. Introducción .................................................................................................................... 13 1.1 Estructura de la memoria................................................................................................ 15 1.2 Redes de sensores inalámbricas ..................................................................................... 16 1.2.1. Estándar IEEE 802.15.4 ......................................................................................... 19 1.2.2. ZigBee .................................................................................................................... 24 1.2.3. Aplicaciones ........................................................................................................... 24 1.3 Plataforma modular Cookie ........................................................................................... 25 1.4 Transceptor CC2520 ...................................................................................................... 26. 2.. Objetivos ........................................................................................................................... 3. 3.. Metodología....................................................................................................................... 3 3.1 Diseño............................................................................................................................. 35 3.1.1. Esquemático ........................................................................................................... 35 3.1.2. Layout..................................................................................................................... 37 3.2 Desarrollo software ........................................................................................................ 41 3.2.1. Consideraciones del software ................................................................................. 42 3.2.2. Inicialización y modos de estado ........................................................................... 42 3.2.3. Biblioteca de instrucciones..................................................................................... 43 3.2.4. Acceso a memoria .................................................................................................. 44 3.2.5. Transmisión de mensajes ....................................................................................... 47 3.2.6. Recepción de mensajes........................................................................................... 49 3.2.7. Otras funciones implementadas ............................................................................. 50 3.3 Implementación y evaluación......................................................................................... 50 3.3.1. Prueba Inicial.......................................................................................................... 51 3.3.2. Pruebas de funcionamiento CC2520 – CC2420 ..................................................... 52 3.3.3. Pruebas de funcionamiento CC2520 – CC2520 ..................................................... 52. 4.. Resultados y discusión ..................................................................................................... 3 4.1 Prueba de RSSI............................................................................................................... 57 4.2 Prueba de LQI ................................................................................................................ 58 4.3 Prueba de alcance de la antena en interiores .................................................................. 59 4.4 Prueba de alcance de la antena en exteriores ................................................................. 60 4.5 Valoración de impactos y de aspectos de responsabilidad ambiental, legal, ética y profesional ............................................................................................................................ 60. 5.. Conclusiones ..................................................................................................................... 3. 6.. Líneas futuras ................................................................................................................. 67. 7.. Planificación temporal y presupuesto .......................................................................... 71.

(12) 7.1 Planificación temporal.................................................................................................... 73 7.1.2. Estructura de descomposición del proyecto ........................................................... 73 7.1.3. Diagrama de Gantt ................................................................................................. 75 7.2 Presupuesto..................................................................................................................... 79 8.. Bibliografía ..................................................................................................................... 75. 9.. Índice de figuras, Índice de tablas y Abreviaturas y acrónimos ................................ 87.

(13) 1. INTRODUCCIÓN.

(14)

(15) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. INTRODUCCIÓN 1.1 Estructura de la memoria En este primer apartado del documento se procede a describir la estructura que se sigue a lo largo de la memoria. En apartados posteriores del presente capítulo se ofrece una visión global del proyecto y a su vez se informa sobre aspectos relacionados con éste. En el capítulo 2 se expone el objetivo principal y las causas que han llevado a la realización de este trabajo fin de grado. En el capítulo 3 se describe la metodología seguida para la realización del proyecto. En este apartado se incluye información sobre las etapas desarrolladas a lo largo del proyecto: diseño, desarrollo de software e implementación y evaluación. En el capítulo 4 se exponen los resultados obtenidos en las pruebas realizadas así como las conclusiones extraídas de los datos adquiridos respecto de los datos esperados. Además se incluye un apartado en el cual se especifican los impactos y aspectos de responsabilidad ambiental, legal, ética y profesional. El capítulo 5 se exponen las conclusiones finales generales a las que se llega tras la realización de las pruebas y del proyecto en sí. En el capítulo 6 se presentan posibles líneas futuras derivadas del presente trabajo. En el capítulo 7 se ofrece la planificación temporal y el presupuesto del proyecto. En los capítulos finales se presentan recursos adicionales para el mejor entendimiento del presente trabajo, así como las bases en las que se ha fundamentado.. Alicia Martínez García. 15.

(16) Introducción. 1.2 Redes de sensores inalámbricas Debido a la necesidad inherente del ser humano de comunicarse, una de las secciones más importantes de las vidas de las personas ha sido la comunicación. Sin embargo, a lo largo de los últimos años la comunicación ha tomado un papel más importante aún, denominándose a la época actual en la que vivimos “Sociedad de la información”. Este hecho ha sido propiciado por varios factores entre los que se destacan el boom tecnológico, el surgimiento de internet y el gran desarrollo en computación, pero es un hecho que cada día se introducen nuevas mejoras que ayudan al ser humano a estar más conectado, siendo un miembro más de una compleja red de interconexión. Dentro de las comunicaciones, un papel importante lo tiene la telecomunicación. Esta se define como toda transmisión y recepción de señal, típicamente electromagnética, que contenga algún tipo de información. A pesar de que este término surgió a principios del siglo XX, esta rama de la comunicación ha sido siempre de vital importancia, sobre todo para el mercado bélico y el comercial. Comenzando por medio de mensajeros, la telecomunicación sufrió un gran boom con el descubrimiento de la electricidad y su capacidad de transmisión. Desde este momento, las comunicaciones no han dejado de sufrir mejoras, desde el telégrafo, el teléfono al teletipo. Pero el último gran desencadenante de la época tecnológica actual, que condujo a un gran desarrollo en el avance de las telecomunicaciones, fue la combinación de las telecomunicaciones y la informática a principios de los años 60. A partir de ese momento comenzaría un amplio desarrollo en las redes de computadores, en el desarrollo de protocolos, arquitecturas, etc. Lo que culminaría con la aparición de internet, una red mundial de redes heterogéneas homogeneizadas a través de la familia de protocolos TCP/IP. Dentro de las comunicaciones, el campo al que pertenece el presente trabajo es el de las redes de sensores inalámbricas. Una red de sensores inalámbrica, en inglés WSN (Wireless Sensor Network), es un conjunto de dispositivos autónomos distribuidos que poseen la capacidad de monitorizar condiciones físicas o ambientales gracias a una serie de sensores y de comunicarse de forma inalámbrica. Esta comunicación se caracteriza por producirse a través de ondas electromagnéticas en el espacio en lugar de realizarse a través de un medio de propagación físico, lo que constituiría una comunicación alámbrica. De acuerdo a la cobertura, las redes inalámbricas se clasifican en:  WPAN, redes inalámbricas de área personal.  WLAN, redes inalámbricas de área local.  WMAN, redes inalámbricas de área metropolitana.  WWAN, redes inalámbricas de área geográfica. La red de sensores inalámbrica realizada en el presente trabajo se encontraría en la categoría de las denominadas WPAN ya que se trataría de una red inalámbrica de corto alcance. Para lograr la comunicación entre dos nodos es necesario tener definido un protocolo de comunicación, un estándar que defina la sintaxis, semántica y sincronización de la comunicación. Algunos de los estándares más comunes hoy en día son IEEE 802.11 (tecnología Wi-Fi), IEEE 802.15.1 (tecnología base para Bluetooth) o IEEE 802.15.4 (tecnología base para ZigBee). A continuación se muestra una tabla comparativa entre las distintas tecnologías [1]:. 16. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(17) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas Tabla 1.1 Comparación de tecnologías.. Modulación Tasa de datos Tipo de datos que se envían Nº de nodos por maestro Latencia Alcance Topología de la red Frecuencia de operación Complejidad de implantación Consumo Duración de batería. ZigBee IEEE 802.15.4. Bluetooth IEEE 802.15.1. WiFi IEEE 802.11. DSSS 250 Kbit/s Pequeños paquetes 64000 30 ms 70-100 m Ad-hoc, P2P, estrella o malla 868/915 MHz 2.4 GHz. FHSS 1 Mbit/s. DSSS 54 Mbit/s Video, audio, gráficos 32 Más de 3 s 100 m Ad-hoc (poca cantidad de nodos). Audio, gráficos 7 Más de 10 s 10 m Entre puntos 2.4 GHz 5 GHz. 2.4 GHz. Baja. Alta. Alta. Muy bajo 100-1000 días. Medio 1 semana. Alto 12-48 horas. Como puede observarse, el estándar IEEE 802.15.4 [2], base de la tecnología ZigBee, se caracteriza por una baja tasa de transferencia de datos, una latencia baja, un gran alcance y un bajo consumo. Además añadirle que la complejidad de implantación es baja, lo que significa que implantar una red de sensores inalámbrica mediante la tecnología ZigBee es sencillo en comparación con el resto de tecnologías. Finalmente, en lo relativo a la red de sensores, esta posee una gran flexibilidad en su configuración además de que permite tener, con mucha diferencia, una mayor cantidad de nodos. Por todas estas razones el estándar IEEE 802.15.4 junto con la tecnología ZigBee se ha convertido en la tecnología más ampliamente utilizada en la implantación de redes de sensores inalámbricas. El estándar IEEE 802.15.4 utilizado en el presente proyecto surgió debido a la escasez de estándares inalámbricos de baja tasa de transmisión. Los estándares disponibles en aquel momento eran estándares como WiFi o Bluetooth, estándares orientados hacia aplicaciones con un uso de un gran ancho de banda y que conllevan un gran consumo de energía. Las redes de sensores se caracterizan por tener unas bajas tasas de transmisión (los nodos transmiten la información recogida por los sensores y el resto del tiempo permanecen dormidos) y unos bajos requisitos de energía (nodos con una mayor autonomía energética), es por esto por lo que ante la insatisfacción de los estándares existentes, cada fabricante optó por utilizar soluciones propias, lo que trajo consigo problemas de interoperabilidad entre los diversos fabricantes. Fue entonces cuando la industria entendió que hacía falta un nuevo estándar que unificara autonomía, envío de datos de baja capacidad (Kbps) y un bajo coste y con este objetivo nació tanto el estándar IEEE 802.15.4 como ZigBee. El estándar IEEE 802.15.4 y ZigBee son protocolos que se basan en el modelo OSI (Open System Interconnection) para su definición. El Modelo OSI divide en 7 capas el proceso de transmisión de la información de un dispositivo a otro en una red de comunicaciones y tiene en cuenta los siguientes factores: Alicia Martínez García. 17.

(18) Introducción    . El modo en que los datos se transforman a un formato apto para la arquitectura de red utilizada. El modo en que los dispositivos de la red se comunican (el canal de comunicación que une al remitente y el destinatario). El modo en que los datos se transmiten entre los dispositivos, se comprueban los errores y la forma en que se coordina la transmisión. El modo en que el direccionamiento lógico de los paquetes de la CPU pasa a convertirse en direccionamiento físico.. Se trata de una normativa estandarizada muy utilizada dentro de las comunicaciones debido a la existencia de innumerables tecnologías, fabricantes y compañías. Este modelo se creó como modelo común para que todos pudieran entenderse de algún modo, aun cuando las tecnologías fuesen muy distintas. De este modo, no importa la localización geográfica o el lenguaje utilizado, todos deben atenerse a unas normas mínimas para poder comunicarse entre sí. Las siete capas que componen el modelo OSI son: • Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos de éstos.. Nivel de aplicación. • Estandariza la forma en la que se presentan los datos a las aplicaciones.. Nivel de presentación. • Se encarga de mantener y controlar el enlace establecido entre dos dispositivos.. Nivel de sesión. • Responsable de una transmisión fiable independientemente del tipo de red física.. Nivel de transporte. • Proporciona la conexión. Se encarga de conseguir que los datos lleguen a su destino aun no habiendo conexión directa.. Nivel de red Nivel de enlace de datos [incluye la subcapa de control de acceso al medio (MAC)]. Nivel físico. • Responsable de que la informacion fluya, libre de errores, entre dos dispositivos. • Define las características físicas de las red. Se encarga de la transmisión binaria (ceros y unos).. Figura 1.1 Capas o niveles del modelo OSI.. Aunque estos sean niveles diferenciados, entre ellos existe una unión por la que un nivel es capaz de utilizar recursos de las capas inferiores. De los siete niveles que componen esta estructura, el estándar IEEE 802.15.4 define el nivel físico y el control de acceso al medio (MAC) mientras que ZigBee define el resto de capas superiores. 18. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(19) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. 1.2.1. Estándar IEEE 802.15.4 El objetivo de este estándar es definir las propiedades de un tipo específico de red, una red de dispositivos cuyas características principales son su bajo coste así como un bajo consumo y unas tasas de datos reducidas (en contraste con la tecnología WiFi, la tecnología del momento). Este estándar fue diseñado pensando en la sencillez de la implementación y en el bajo consumo, sin que ello conllevase pérdida de potencia o de posibilidades. Por esta razón se mantiene una topología totalmente flexible, lo que permite a la red adaptarse a las distintas eventualidades que puedan producirse, tales como fallos en los dispositivos, inestabilidad de la conexión entre dos nodos, etc. Como se ha indicado anteriormente, el estándar define solamente el nivel físico y el control de acceso al medio. En este proyecto se ha utilizado la actualización del estándar publicada en 2006 dado que el nuevo módulo de comunicaciones ya ha sido actualizado a la nueva versión. La principal novedad con respecto a la anterior versión es dar una mayor flexibilidad a las radios introduciendo nuevos métodos de modulación en el espectro de 868\915 MHz para evitar diferencias de modulación con la banda de 2.4 GHz (en el estándar 2003 cada banda de frecuencia se modulaba de una forma distinta y esto provocaba incompatibilidades). Además se mejoran algunas prestaciones con el objetivo de aumentar la flexibilidad.. 1.2.1.1. Nivel físico En el nivel físico se controla el transceptor de RF y se realiza la selección del canal junto con el control de consumo y de señal. A continuación se muestran las diferentes capas disponibles para cada rango de frecuencias, indicándose del mismo modo los distintos parámetros que las caracterizan: Tabla 1.2 Capas del nivel físico definidas en el estándar IEEE 802.15.4.. Parámetros de propagación. PHY. 868/915 MHz 868/915 MHz (opcional) 868/915 MHz (opcional). Banda de frecuencia 868 - 868.6 MHz 902 – 928 MHz 868 - 868.6 MHz 902 – 928 MHz 868 - 868.6 MHz 902 – 928 MHz. Alicia Martínez García. Parámetros de datos. Modulación. Velocidad de bits (kb/s). Velocidad de símbolos (ksymb/s). Símbolos. 300. BPSK. 20. 20. Binario. 600. BPSK. 40. 40. Binario. 400. ASK. 250. 12.5. 20-bit PSSS. 1600. ASK. 250. 50. 5-bit PSSS. 400. O-QPSK. 100. 25. Hexadecimal. 1000. O-QPSK. 250. 62.5. Hexadecimal. Velocidad de chips (kchip/s). 19.

(20) Introducción. 2.4 GHz. 2.4 – 2.4835 GHz. 2000. O-QPSK. 250. 62.5. Hexadecimal. En el presente proyecto el módulo de comunicaciones utilizado ha sido el CC2520, cuya frecuencia de funcionamiento es 2.4 GHz, por lo tanto la capa física utilizada ha sido la coloreada en azul. Esto corresponde a una transmisión modulada del tipo O-QPSK que será explicada a continuación. En la definición del nivel físico del estándar también se define un formato a seguir para el envío de datos. Este es el mostrado en la Figura 1.2. Nº Bytes PHY Layer. 4. 1. Synchronisation Header (SHR) Preamble Start of frame Delimeter Sequence (SFD). 1 PHY Header (PHR). n PHY Service Data Unit (PSDU). Frame length. PHY Protocol Data Unit (PPDU) Figura 1.2 Formato de la trama definida por el estándar IEEE 802.15.4.. La cabecera de sincronización (SHR) está compuesta por la secuencia de preámbulo y por el delimitador de inicio de trama.  La secuencia de preámbulo (Preamble Sequence) se utiliza como método de sincronización entre el dispositivo receptor y el mensaje.  El delimitador de inicio de trama [Start of frame delimeter (SFD)] indica cuando ha concluido la sincronización y se comienza con el envío de datos. La cabecera física [PHY Header (PHR)] la compone la longitud de la trama (Frame length) e indica la longitud total de los datos que se van a enviar. Finalmente se envían los datos [PHY Service Data Unit (PSDU)], con un formato que será definido por el estándar de la capa MAC. Como se ha indicado en la Tabla 1.2, la modulación a realizar por el nuevo módulo es la O-QPSK (Offset- Quadrature Phase Shift Keying). A continuación se muestra un breve resumen de las transformaciones que se realizan durante el proceso así como las velocidades a las que se producen. Como puede comprobarse, las velocidades corresponden a las indicadas por el estándar:  Velocidad de chips: 2000 kchip/s.  Velocidad de bits: 250 kb/s.  Velocidad de símbolos: 62.5 ksymb/s. 20. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(21) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. Figura 1.3 Proceso de modulación.. La primera transformación a realizar en el proceso es la división de cada byte a transmitir en dos símbolos (cada uno con 4 bits). Éstos, como indica el estándar, se tomarán como codificados en hexadecimal. Tras este primer paso, cada símbolo se codifica en una secuencia aleatoria de 32 chips de acuerdo con la Tabla 1.3. Tabla 1.3 Transformación de símbolo a chip.. Símbolo. Secuencias de chip (C0, C1, C2, … , C31). 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. 11011001110000110101001000101110 11101101100111000011010100100010 00101110110110011100001101010010 00100010111011011001110000110101 01010010001011101101100111000011 00110101001000101110110110011100 11000011010100100010111011011001 10011100001101010010001011101101 10001100100101100000011101111011 10111000110010010110000001110111 01111011100011001001011000000111 01110111101110001100100101100000 00000111011110111000110010010110 01100000011101111011100011001001 10010110000001110111101110001100 11001001011000000111011110111000. Esta secuencia de chip es transmitida a 2 Mchip/s al modulador, enviándose en primer lugar el chip menos significativo de cada símbolo. Para proceder con la transmisión, cada chip es transformado en media onda sinusoidal y es transmitido alternativamente en los canales I y Q con un offset del periodo de medio chip. Ver Figura 1.4. Alicia Martínez García. 21.

(22) Introducción. Figura 1.4 Envío de información.. Un aspecto importante para la coexistencia de distintas redes simultáneas es la existencia de varios canales de operación para una misma banda de frecuencia. Estos se definen en el estándar y son los mostrados en la Figura 1.5.. Figura 1.5 Canales de operación. Estándar IEEE 802.15.4.. Al estar nuestro módulo operando en la capa de 2.4 GHz, tenemos a nuestra disposición 16 canales de operación, distanciados unos de otros 5 MHz. Además de éstas, en el nivel físico se definen otras funcionalidades como por ejemplo:  Proceso de encendido y apagado del transceptor de radio.  Comprobación de energía de los canales.  Cálculo del parámetro LQI. Parámetro que ofrece una visión de cómo es la calidad de un enlace entre dos dispositivos cuando se realiza una transmisión.  Comprobación del estado del medio [Clear channel assessment (CCA)]. Este es necesario para el acceso al medio mediante el algoritmo CSMA-CA (Carrier Sense Multiple Access Collision Avoidance), que permite que múltiples dispositivos utilicen un mismo medio de transmisión.  Proceso de transmisión y recepción de mensajes.. 1.2.1.2. Subcapa de control de acceso al medio (MAC) Esta capa está situada dentro del nivel de enlace de datos. Como indicamos en el anterior apartado, en esta capa se define el formato de los datos a enviar (PSDU en la Figura 1.2) lo que se corresponde con la unidad de datos de protocolo de la capa MAC (MPDU).. 22. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(23) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas Bytes: 2. 1. 0 to 20. Data Frame Sequence Address Control Number Information Field (FCF) (DSN) MAC Header (MHR). MAC Layer. Bytes: 4. 1. Start of frame Preamble Delimeter Sequence (SFD) Synchronisation Header (SHR). PHY Layer. n. 2. Frame payload. Frame Check Sequence (FCS). MAC Payload. 1. 5 + (0 to 20) + n. Frame Length. MAC Protocol Data Unit (MPDU). PHY Header (PHR). MAC Footer (MFR). PHY Service Data Unit (PSDU) 11 + (0 to 20) + n. PHY Protocol Data Unit (PPDU). Figura 1.6 Formato de la trama estándar IEEE 802.15.4.. La cabecera MAC [MAC Header (MHR)] está compuesta por el campo de control de la trama, el número de secuencia de datos y la información de direcciones. El campo de control de trama (Frame Control Field (FCF)] ofrece datos importantes sobre los datos que se van a recibir:. Bits: 0-2 Frame Type. 3 Security Enabled. 4 Frame Pending. 5 Acknowledge request. 6 Intra PAN. 7-9. 10-11. Reserved. Destination addressing mode. 12-13. 14-15. Reserved. Source addresing mode. Figura 1.7 Trama del campo FCF.. 0-2 3 4 5 6 7-9 10-11 12-13 14-15. Tipo de mensaje que se va a recibir. Indica si la seguridad está habilitada. Indica si el emisor tiene más datos para el receptor. Indica si se espera la recepción de un mensaje de confirmación de recibo. Indica si la trama se envía con la misma PAN (intra-PAN) o con otra (inter-PAN). Indicaciones sobre a quién va dirigido el mensaje. Indicaciones sobre de quién proviene el mensaje.. El estándar IEEE 802.15.4 tiene cuatro tipos de tramas: Beacon, datos, acknowledge y comando MAC. Únicamente las tramas de datos y los Beacon contienen información proveniente de capas superiores; las tramas acknowledge y la de comandos MAC son utilizadas para el análisis de las comunicaciones. El número de secuencia de datos [Data Sequence Number (DSN)] identifica de forma única el mensaje para evitar mensajes duplicados. La información de direcciones (Address Information) incluye tanto la dirección del emisor como del receptor, así como las direcciones de su PAN. La carga del control de acceso al medio (MAC Payload) está formado por la carga de la trama, o lo que es lo mismo, los datos en sí. Éste campo es variable en longitud con un máximo de 127 bytes y los datos que se introducen en él dependen del tipo de trama. Alicia Martínez García. 23.

(24) Introducción Finalmente el último campo a enviar es el pie de la MAC [MAC Footer (MFR)], compuesto por la secuencia de verificación de trama [Frame Check Sequence (FCS)]. El FCS es un conjunto de bits que permiten al receptor verificar que el mensaje ha sido recibido correctamente y no está corrupto. En la capa física también se definen las siguientes funcionalidades:  Implementación del acceso al medio. Éste se realiza mediante el mecanismo CSMA-CA que será explicado con mayor profundidad en capítulos posteriores.  Asociación y disociación de un dispositivo con una PAN.  Encriptación de los mensajes en caso de necesidad.  Provisión de un enlace seguro entre 2 dispositivos.. 1.2.2. ZigBee El estándar ZigBee complementa al estándar IEEE 802.15.4 definiendo el resto de capas que componen el modelo OSI: capa de red, capa de transporte, capa de sesión, capa de presentación y capa de aplicación. Con las indicaciones del estándar IEEE 802.15.4 se consigue definir las redes de sensores punto a punto, siendo necesario el estándar ZigBee y su definición del resto de capas para dar versatilidad a los tipos de redes. Con ZigBee se obtiene la capacidad de comunicación entre dos dispositivos situados a grandes distancias gracias a la especificación de un protocolo de rutado. El estándar fue definido por la ZigBee Alliance, una alianza de más de 200 grandes empresas entre las que destacan Mitsubishi, Philips, Motorola y otros muchos fabricantes de semiconductores. El objetivo principal de su elaboración eran las aplicaciones con comunicaciones seguras con baja tasa de envío de datos y la maximización de la vida útil de las baterías. Dentro del estándar ZigBee encontramos dos versiones: ZigBee-2006 y ZigBee PRO (2007) aunque la mayoría de los fabricantes ya comercializan dispositivos compatibles con ambas versiones.. 1.2.3. Aplicaciones Las principales aplicaciones de las redes de sensores inalámbricas son:  Automatización en el hogar.  Seguridad.  Lectura de instrumentos de servicios.  Sistema de riego automático.  Control de iluminación.  Control de temperatura en diversas localizaciones.  Controles remotos.  Automatización industrial.. 24. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(25) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. 1.3 Plataforma modular Cookie Es una plataforma hardware para redes de sensores inalámbricas desarrollada en el Centro de Electrónica Industrial, de la Escuela Técnica Superior de Ingenieros Industriales (ETSII) perteneciente a la universidad Politécnica de Madrid (UPM) [3].. Figura 1.8 Plataforma modular Cookies.. El hardware básico de la plataforma se compone de cuatro capas:  Capa de sensado/actuación.  Capa de procesamiento.  Capa de alimentación.  Capa de comunicaciones. Éstas se encuentran interconectadas mediante dos conectores que permiten intercambiar señales entre cada una de ellas, tales como líneas de alimentación, datos de los sensores, etc. Uno de los conectores, denominado bus digital, contiene las señales de sensores digitales, interfaces de comunicación, entradas y salidas de propósito general, entre otras. El otro conector, denominado bus analógico, se encarga de transferir las señales de sensores analógicos hacia convertidores analógico-digitales, señales de control de actuadores, etc. Como se puede observar en la imagen, la capa de comunicaciones se sitúa en la parte baja para que el resto de capas actúen de apantallamiento. A su vez, la capa de sensores y actuadores se sitúa encima del resto para estar en contacto directo con el medio. Al ser una plataforma modular, esta ofrece una gran versatilidad respecto a la situación de las placas así como respecto a la cantidad de ellas. Por ejemplo, podría añadírsele una capa de memoria que permitiese una mayor adquisición de datos. Con respecto a la capa de comunicaciones, el Centro cuenta con placas con diferentes tecnologías implantadas, como por ejemplo Wi-fi o Bluetooth, siendo la placa con la tecnología ZigBee la más utilizada debido a la mayor adaptación a los requisitos. Para el presente trabajo se ha trabajado con una plataforma modular Cookie que únicamente poseía la capa de alimentación y la capa de procesamiento. La capa de sensado/actuación ha sido descartada debido a que su única influencia sobre la capa de comunicaciones era dar valor a la trama enviada. En su lugar, se ha definido un vector de datos en el cual se han añadido posibles valores que enviaría la capa de sensado/actuación. A continuación se muestra la plataforma Cookie utilizada:. Alicia Martínez García. 25.

(26) Introducción. Figura 1.9 Plataforma Cookie utilizada en el TFG.. 1.4 Transceptor CC2520 El modelo de transceptor utilizado en el presente proyecto es CC2520, del fabricante Texas Instruments. Este transceptor está diseñado específicamente para aplicaciones de RF de baja potencia y baja tensión en la banda ISM. La banda ISM es una banda que se encuentra reservada internacionalmente para un uso público y sin licencia, aunque cuenta con algunas regulaciones, por ejemplo, con respecto a la potencia emitida. El módulo CC2520, al igual que el módulo utilizado en la capa de comunicaciones anterior, se comunica con el microcontrolador vía SPI mediante los pines SO, SI, CSn y SCLK. Además posee como novedad 6 pines digitales de propósito general configurables como entradas o salidas y configurables a nivel alto o nivel bajo. El pinout correspondiente es:. Figura 1.10 PinOut CC2520.. A continuación se ofrece una comparativa entre el anterior transceptor, el CC2420, y el nuevo transceptor CC2520. . 26. El estándar ha sido actualizado a la versión publicada en 2006, cuyas principales modificaciones se han mencionado en el apartado correspondiente.. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(27) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas    . .  .   .        . La máxima potencia de salida ha aumentado de 0 dB a 5 dB aumentando así la calidad y el alcance de las comunicaciones. La sensibilidad se modifica de -95 dB a -98 dB. Se añade una señal de salida con un reloj configurable de 1 a 16 MHz dando así una mayor flexibilidad con respecto a los osciladores. Se añaden 6 pines de propósito general configurables como entradas o salidas (GPIO) lo que aporta una gran flexibilidad ya que estas a su vez pueden tener asociadas excepciones que nos indiquen con mayor exactitud momentos claves de la comunicación. Se ofrece la posibilidad de ejecutar algunas instrucciones automáticamente a través de los valores de las señales GPIO lo que da una mayor capacidad de síntesis al software y reduce la tasa de transmisión de datos entre el módulo de comunicaciones y el microcontrolador. Se aumenta la cantidad de instrucciones disponibles dando mayores capacidades al transceptor. Se añade la opción de leer los datos que se envían o se reciben en directo, sin necesidad de leerlos en memoria y de forma no intrusiva. Esto evita las instrucciones de acceso a memoria y ofrece la posibilidad de obtener datos del entorno sin necesidad de guardarlos en memoria. Se impide el acceso a los registros cuando el oscilador no está en funcionamiento. Se han añadido disparadores Schmitt en todas las entradas digitales para evitar el ruido. El oscilador arranca automáticamente tras reiniciar el transceptor mediante el pin RESETn. Sin embargo, sigue necesitándose iniciarlo manualmente si se reinicia mediante la instrucción SRES. Esto ofrece una vía de reinicio con un mayor control del momento de inicio. Se aumenta al doble la frecuencia del reloj, de 16 MHz a 32 MHz. La velocidad máxima vía SPI se reduce de 10 MHz a 8 MHz. Se aumenta la cantidad de memoria RAM de 364 a 768 bytes lo que proporciona una mayor capacidad al módulo de retener y manipular datos. El intervalo de la tensión de funcionamiento se amplía, pasando de 2.1-3.6 V a 1.8-3.8 V. La temperatura de funcionamiento aumenta de 85 ºC a 125 ºC. Las instrucciones de seguridad son más flexibles y permiten una mayor adaptación a la aplicación en curso. Se reduce el tamaño del encapsulado pudiendo así realizar unos diseños más reducidos en tamaño. Se amplía el rango de frecuencias de 2400-2483.5 MHz a 2394-2507 MHz.. Alicia Martínez García. 27.

(28)

(29) 2. OBJETIVOS.

(30)

(31) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. OBJETIVOS El objetivo principal y que dio origen a este trabajo fin de grado fue la necesidad de actualización de la placa de comunicaciones existente de la plataforma modular Cookie basada en el estándar IEEE 802.15.4 y con la tecnología ZigBee implantada. El rápido avance de la tecnología en los últimos años, sobresaliente en el ámbito de la electrónica y las comunicaciones, provoca que en un reducido espacio de tiempo un módulo de comunicaciones con mejores características y capacidades se lance al mercado quedando el anterior obsoleto en cuanto a rendimiento. Este hecho ha propiciado la necesidad de una nueva capa de comunicaciones basada en un transceptor más actualizado. El transceptor finalmente escogido por el Centro fue el CC2520, un transceptor diseñado específicamente para aplicaciones de baja potencia y baja tensión en la banda ISM sin licencia compatible con el estándar IEEE 802.15.4 y capacitado para su uso en productos ZigBee. Otro aliciente añadido a la realización de este nuevo diseño de la capa de comunicaciones era la necesidad de mejora de los rendimientos obtenidos con la capa de comunicaciones predecesora [4]. Aunque los requisitos de una placa utilizada en un centro de una universidad no son muy fuertes, el departamento no se conforma y busca una placa que ofrezca unas mejores prestaciones para de este modo seguir progresando en el resto de áreas relacionadas con las redes de sensores inalámbricas. Respecto a la plataforma modular de la que formaría parte la nueva capa, la plataforma Cookie, es muy utilizada por el Centro para la realización de muchos proyectos es por eso que una buena placa de comunicaciones es crucial para todas estas aplicaciones, pues sin una buena comunicación las redes de sensores quedarían inservibles. Esta plataforma fue diseñada e implementada buscando una plataforma robusta, basada en la fiabilidad y al mismo tiempo en la sencillez del nodo debido a esto se deriva su característica modularidad, tanto a nivel de hardware como a nivel de software. Al mismo tiempo, con el desarrollo de esta nueva placa no se pretende destruir todo lo anterior, sino que el objetivo es mejorar y actualizarse. Es por eso que con este nuevo diseño no se aspira a sustituir totalmente a la otra tarjeta y dejarla inaprovechable sino que se busca la compatibilización, que ambas placas puedas convivir en una misma red. Por lo tanto el presente trabajo no solo busca el estudio y diseño de una capa de comunicaciones basada en el estándar IEEE 802.15.4, sino que además busca una compatibilización.. Alicia Martínez García. 31.

(32)

(33) 3. METODOLOGÍA.

(34)

(35) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. METODOLOGÍA El presente proyecto comenzó como un gran desafío debido a la falta de base en el campo de las telecomunicaciones. Como consecuencia, la primera tarea a realizar fue conocer un poco más este campo, centrando el foco en el campo de las comunicaciones inalámbricas. El procedimiento seguido en la realización del presente proyecto presenta tres fases:  Diseño: en esta fase se diseñó la capa de comunicaciones que posteriormente se envió para su fabricación.  Desarrollo software: esta etapa incluye tanto la adaptación como la ampliación del software al nuevo módulo de comunicaciones CC2520.  Implementación y evaluación: en este apartado se explican y se muestran los resultados de las pruebas realizadas de comprobación de la nueva capa.. 3.1 Diseño Antes de comenzar con el diseño en sí era necesario conocer el funcionamiento exacto del nuevo módulo de comunicaciones para así advertir qué señales eran necesarias para su funcionamiento y cuáles eran las más interesantes a conectar con el resto de placas de la plataforma Cookie [5]. Se estudiaron sus características así como sus novedades con respecto al transceptor CC2420, ya que uno de los principales objetivos del proyecto era que las placas fuesen totalmente equivalentes. Una vez examinado el material y determinadas las especificaciones se procedió a realizar el diseño. A pesar de que las placas de circuito impreso (PCB) son componentes básicos de la electrónica actual, su composición y su diseño no son tradicionalmente conceptos de estudio, por lo que fue también necesaria una búsqueda de información de sus características típicas antes de proceder con el diseño. Sobre la herramienta utilizada para el diseño, se utilizó la herramienta Altium Designer [6], un conjunto de programas para el diseño electrónico en todas sus fases y para todas las disciplinas, ya sean esquemas, simulación, diseño de circuitos impresos, implementación de FPGA, o desarrollo de código para microprocesadores. Se escogió esta herramienta y no OrCad, la herramienta de diseño de la placa anteriormente diseñada, debido a que Altium se ha convertido en una de las mejores herramientas de diseño en la actualidad y podíamos disponer de ella en los ordenadores del departamento.. 3.1.1. Esquemático El primer paso en el diseño de la placa fue el diseño del esquemático. El esquema base inicial fue el proporcionado por el fabricante y a partir de él se comenzó a comparar tanto con el esquemático anteriormente utilizado en la placa del módulo CC2420 como con los diversos testimonios encontrados en Internet [7]. Por otro lado este esquemático también se modificó para añadir las necesidades características de la plataforma Cookie. Se dimensionó la placa para adaptarla al tamaño del resto de capas de la plataforma y debido a la necesidad de unión con el resto de capas, se modificaron los conectores y se situaron a una distancia determinada. Asimismo se modificó el tipo de conector de la antena externa a un conector SMA de borde para poder situar la placa de comunicaciones en la parte baja de la plataforma Cookie.. Alicia Martínez García. 35.

(36) Metodología Otro componente característico que hubo que modificar con respecto al diseño base fue el oscilador, ya que hubo que buscar un oscilador que aguantase una temperatura máxima de 125 ºC para que concordase con el resto de la capa, ya que ésta es la temperatura máxima indicada por el fabricante para el conjunto. Este componente se conecta en los pines XOSC32M_Q1 y XOSC32M_Q2 y tiene asociados dos condensadores dependientes de él, por lo que éstos también hubo que modificarlos. Finalmente el cristal utilizado fue un oscilador de una frecuencia de 32 MHz, 10 pF y 40 ppm y los condensadores fueron de 10 pF, 5%.. Figura 3.1 Esquema eléctrico del oscilador.. Otras modificaciones realizadas fueron como consecuencia de la persecución de la equivalencia de las capas. Se trabajó para que la compatibilización de la placa de procesamiento fuera máxima con ambas capas de comunicación con respecto a las señales de conexión. La placa de procesamiento dispone de un microcontrolador, el ADUC841, y de una FPGA, XC3S200, que hace de unión entre las diversas capas y el microcontrolador. Es por eso por lo que se buscó la compatibilización, para evitar las reprogramaciones de la FPGA. Las señales clave que se tuvieron en cuenta en el conexionado fueron las señales propias del estándar SPI (SI, SO, SCLK y CSn), las señales de control del transceptor (VREG_EN, RESETn) y las señales de propósito general (GPIO0, GPIO1, GPIO2, GPIO3, GPIO4 y GPIO5) ya que aunque estas señales no se encontraban en el módulo CC2420 algunas de ellas sí que se encontraban de forma específica. La etapa dedicada al diseño en Altium, siendo el esquema sencillo a primera vista, conllevó varios problemas debido a que algunos de los componentes no estaban disponibles en las bibliotecas incluidas en el software por lo que hubo que diseñarlos mediante la información obtenida en las hojas de datos de los componentes (tanto los diseños esquemáticos como las huellas). Un ejemplo de ellos fue el conector SMA:. Figura 3.2 Diseño conector SMA de borde para PCB.. 36. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(37) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas Finalmente el diseño realizado fue:. Figura 3.3 Esquemático realizado en el presente TFG.. 3.1.2. Layout Desde el comienzo del proyecto se acordó que lo más razonable era seguir las recomendaciones del fabricante siempre y cuando no interfiriesen con los objetivos perseguidos. Para la realización del layout se trabajó del mismo modo. Se aplicaron las mejoras realizadas en el diseño de la placa del módulo CC2420 y se buscaron y estudiaron mejoras realizadas por distintos testimonios encontrados. Al final se optó por un diseño de dos capas, altamente recomendado por el fabricante. Todos los componentes se situaron en la capa superior mientras que la capa inferior se utilizó como recurso para el ruteo de ciertas pistas. Este recurso constaba como último recurso pues un atributo importante de este diseño era que la capa inferior debía reservarse para contener un plano de masa continuo y con el menor número de discontinuidades. La principal mejora incorporada fue la realización de una zona de aislamiento de RF (RF shield), es decir, una zona que provoca que las interferencias se vean reducidas. Para alcanzar este objetivo es necesario confeccionar un perímetro lleno de vías cuyo inicio parte de la capa superior y su final se conecta con el plano de masa de la capa inferior. En la figura siguiente puede observarse como este perímetro de vías rodea la zona clave de la tarjeta.. Alicia Martínez García. 37.

(38) Metodología. Figura 3.4 Detalle de la zona de aislamiento de la capa de comunicaciones.. Otra de las mejoras efectuadas fue la modificación del tamaño de los componentes respecto de la anterior versión, la del CC2420. Ésta versión utilizaba componentes de tamaño 0402 en la zona del balun y 0603 en el resto del diseño. En esta nueva versión se han elegido todos de tamaño 0402 para evitar que los componentes 0603 provoquen valores parásitos. A continuación se muestran imágenes del diseño final:. Figura 3.5 Diseño de la capa superior de la PCB (top).. 38. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(39) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. Figura 3.6 Simulación del diseño de la parte delantera.. Figura 3.7 Diseño de la capa inferior de la PCB (bottom).. Alicia Martínez García. 39.

(40) Metodología. Figura 3.8 Simulación del diseño de la parte trasera.. 3.1.2.2. Antena En el diseño de una placa de comunicaciones existen varios factores cruciales para obtener un buen rendimiento. Uno de los factores principales es la antena, pues dependiendo de las necesidades del proyecto, el tipo de antena es diferente. Por ejemplo, en unos casos debe expandir en lo posible la potencia radiada y sin embargo en otros debe canalizar la potencia en una dirección. La placa de comunicaciones diseñada en este proyecto posee dos antenas, una antena diseñada e implantada en la PCB y una antena física externa cuya conexión se realiza a través de un conector SMA de borde. La antena diseñada en la PCB es una antena plana invertida-F (IFA) cuya clasificación según su diagrama de radiación la sitúa en el conjunto de las antenas omnidireccionales, siendo su radiación únicamente a lo largo del plano de la PCB. Su diseño fue obtenido del propio fabricante y no se realizó ninguna modificación dado su papel fundamental y su delicadeza, ya que las dimensiones de una antena dependen de la longitud de onda de la señal de radiofrecuencia transmitida o recibida.. Figura 3.9 Diseño de la antena en PCB.. Sobre la antena externa indicar que, como se ha señalado anteriormente, se modificó su conector para que esta pudiese conectarse, ya que la capa de comunicación se sitúa en la parte baja de la plataforma Cookie.. 40. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(41) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. 3.1.2.3. Balun El balun (balanced-unbalanced lines transformer) es sin duda la parte más crítica del diseño, pues un mal dimensionado puede provocar una caída o un aumento de la impedancia vista por la antena, lo que se traduce en una fuerte caída del rendimiento. El balun es la parte del diseño que une los pines que transmiten la señal, RF_P y RF_N, con la antena (ya sea la interna o la externa) y su principal función es convertir la señal diferencial de RF (señal balanceada) en una señal no balanceada, para que la antena (no balanceada) pueda transmitirla. Otra de sus funciones es adaptar la impedancia vista desde los pines RF_P y RF_N para que la señal sea transmitida con la máxima potencia. Sobre este aspecto el fabricante indica como óptima una impedancia de 50 Ω. Respecto a su diseño, el fabricante indicaba dos opciones, una mediante componentes discretos como bobinas y condensadores y otra cuya implementación se realizaba directamente sobre la PCB. La opción elegida fue la de la implementación directa sobre la PCB debido a que se encontraba mejor documentado mediante planos, aunque conllevó un gran trabajo debido a la imposibilidad de importación en el diseño del layout en Altium. Debido a este impedimento se consumió mucho tiempo ya que hubo que trasladar las medidas de las pistas manualmente, que con la preocupación de ser una pieza clave del proyecto se revisó muchas veces.. Figura 3.10 Diseño del balun en PCB.. 3.2 Desarrollo software El software de la plataforma Cookie, realizado por diversas personas relacionadas con el departamento, está programado en lenguaje C y consta de 8 archivos (.c) y 46 archivos cabecera (.h) divididos funcionalmente. Para la edición del código fuente se utilizó la aplicación Keil uVision 3.8 y el desarrollo tuvo como dificultad la innumerable cantidad de información. A continuación se detallan algunas consideraciones a tener en cuenta del funcionamiento del software y se presentan las principales funcionalidades implementadas:. Alicia Martínez García. 41.

(42) Metodología. 3.2.1. Consideraciones del software Un aspecto importante a tener en cuenta del software de control de la placa de comunicaciones es que las señales no son directamente las señales conectadas a los conectores laterales sino que, como hemos visto, éstas están conectadas a una FPGA. Por otro lado, tener en cuenta que la comunicación del microcontrolador y el transceptor CC2520 se realiza vía SPI y que esta comunicación posee una estructura maestro - esclavo siendo el maestro el microcontrolador y el esclavo el transceptor. Es decir, el microcontrolador trata al módulo de comunicaciones como un periférico. El protocolo SPI utiliza 4 líneas para establecer la comunicación, SCLK, CSn, SI y SO.  SCLK (señal de entrada para el módulo CC2520) es el reloj utilizado por el microcontrolador para enviar los datos al transceptor. El reloj de la placa de procesamiento utilizada es de 11,0592 MHz.  CSn (señal de entrada para el módulo CC2520) es la señal de habilitado. El microcontrolador habilita y deshabilita la comunicación vía SPI según las necesidades.  SI es el pin por el cual el microcontrolador envía la información al transceptor.  SO es el pin por el cual el microcontrolador recibe la información enviada por el transceptor.. 3.2.2. Inicialización y modos de estado Para reiniciar el módulo CC2520 el fabricante ofrece dos posibilidades, colocando el pin RESETn del transceptor a nivel bajo o ejecutando la instrucción SRES. Se acordó utilizar el primer mecanismo ya que es el recomendado por el fabricante dada su ventaja de conocimiento del momento exacto de encendido del módulo (a través de la instrucción SRES esto no es posible) además de que por este método el oscilador se enciende automáticamente. Tras el reinicio, el transceptor entra en el modo ACTIVE. Este modo forma parte de un conjunto de modos de estado en los que puede funcionar el módulo CC2520. A continuación se muestran las características de cada modo de estado: Tabla 3.1 Caracterización de modos.. Regulador de voltaje digital Oscilador Datos conservados Módulos analógicos. Activo. LPM1. LPM2. Encendido Corriendo Si Controlado por la parte digital. Encendido Parado Si Controlado por la parte digital. Apagado Parado No Apagado. Además de estos modos indicados por el fabricante, se ha establecido otro modo, el modo RX, modo en el que el transceptor se encuentra en modo recepción. En la siguiente imagen se muestran las operaciones a realizar para proceder con el cambio de modo de funcionamiento. Como puede observarse, se ha incluido el proceder para realizar la transmisión, aunque el modo de transmisión no se ha incluido como tal al ser un modo de funcionamiento transitorio. 42. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(43) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas. Figura 3.11 Modos de estado: Activo, LPM1, LPM2 y recepción. Estado de transmisión.. Tras el reinicio es necesario configurar el transceptor para que sus funcionalidades se ajusten a nuestros requisitos. Las acciones a realizar son las siguientes:  Encendido del oscilador si se ha reiniciado mediante la instrucción SRES.  Compatibilización del software tanto para el funcionamiento del módulo CC2520 como para el funcionamiento del módulo CC2420.  Modificación de los registros necesarios para obtener la configuración deseada del módulo. Un registro importante es el registro TXPOWER ya que se encarga de definir la potencia de salida.  Configuración de la dirección PAN de la red de sensores y de la dirección propia del dispositivo.  Inicialización del valor DSN a un valor aleatorio.  Inicialización del buffer utilizado como almacenaje de los mensajes recibidos.. 3.2.3. Biblioteca de instrucciones Este apartado se centra en una de las nuevas expansiones del transceptor CC2520, las instrucciones. En el módulo CC2420 las configuraciones y operaciones podían realizarse de dos maneras: mediante Command Strobes, funcionalidades que se ejecutan vía SPI a través del envío de 1 byte característico (no necesitan la introducción de datos) o mediante la modificación de registros. El nuevo módulo CC2520, sin embargo, utiliza como método de configuración los registros, pero para la realización de operaciones, además de conservar la mayoría de los Command Strobes, cuenta con instrucciones. En total, el set de instrucciones cuenta con 47 instrucciones divididas en instrucciones periféricas, entrada/salida de datos, instrucciones de gestión de datos e instrucciones de seguridad.. Alicia Martínez García. 43.

(44) Metodología Añadir también que el módulo de comunicaciones CC2520 cuenta también con la posibilidad de ejecución de Command Strobes directamente mediante excepciones en las señales GPIO, ya sean de flanco de subida o de flanco de bajada. Esto ofrece una gran flexibilidad ya que puede lograrse una gran eficiencia en el consumo.. 3.2.4. Acceso a memoria La memoria del transceptor CC2520 cuenta con 4.096 direcciones y se encuentra dividida en las siguientes zonas:. Figura 3.12 Mapa de memoria del transceptor CC2520.. Los registros de configuración están localizados entre las direcciones 0x000 y 0x07F. Dentro de éstos se pueden encontrar dos tipos de registros, los registros de acceso rápido [(Fast Access Register (FREG)] que se encuentran entre las direcciones 0x000 y 0x03F y los registros de estado [Status Register (SREG)] que se encuentran entre las direcciones 0x040 y 0x07F. En el siguiente apartado se realizará una breve descripción de ellos y se indicarán las diferentes posibilidades de acceso a ellos. A continuación se define una zona reservada, que no es utilizada, entre las direcciones de memoria 0x080 y 0x0FF. Tras esta memoria reservada, se encuentra una de las zonas más importantes de la memoria, la zona que contiene la memoria TX FIFO y la memoria RX FIFO.. 44. Escuela Técnica Superior de Ingenieros Industriales (UPM).

(45) Diseño de capa de comunicaciones para plataforma modular de redes de sensores inalámbricas La TX FIFO tiene un tamaño de 128 bytes y se extiende desde la dirección de memoria 0x100 a la 0x17F. A diferencia del módulo CC2420, esta zona de la memoria no se encuentra protegida de ningún modo, es por eso por lo que además de ser accesible a través de las instrucciones específicas de acceso a la memoria TXFIFO, puede accederse a ella mediante las instrucciones generalistas MEMWR y MEMRD (aunque no es recomendable). Esta memoria únicamente puede contener un mensaje, el mensaje a enviar. La RX FIFO posee un tamaño igual al tamaño de la TXFIFO, sin embargo ésta si puede contener más de un mensaje. Sus direcciones de memoria se prolongan desde la dirección 0x180 a la 0x1FF y al igual que la TXFIFO, no se encuentra protegida de ningún modo. De la dirección 0x200 a la 0x37F existe una zona de 384 bytes de memoria libre a excepción de una parte en la zona alta utilizada por las instrucciones de seguridad CBCMAC, UCBCMAC, CCM y UCCM. Estas instrucciones utilizan las franjas de 16 bytes CBCTEMPH y CBCTEMPL situadas entre las direcciones 0x360 y 0x37F. Finalmente, antes de la dirección 0x400, que vuelve a ser una zona reservada que se extiende hasta el final de la memoria, FFF, se tiene una zona que es utilizada para almacenar datos y resultados tanto del filtrado de paquetes como de la comprobación de direcciones.. 3.2.4.2. Lectura y escritura de registros El acceso a los registros se realiza de manera distinta en el módulo CC2420 y en el CC2520. En el módulo CC2420 únicamente se tenía la capacidad de modificar registros y lanzar Command Strobes. En el módulo CC2520 todo se realiza mediante instrucciones, instrucciones que se identifican con un código único que debe enviarse al comienzo de la comunicación vía SPI para ejecutarlas. El acceso a todos los registros, que como hemos visto se dividen en registros de acceso rápido (FREG) y registros de estado (SREG), puede realizarse mediante las instrucciones MEMWR y MEMRD. Éstas son instrucciones genéricas que requieren el envío de 2 bytes vía SPI para su lanzamiento. Al mismo tiempo, el acceso a los registros del tipo FREG (los registros de la zona marcada en azul), además de a través de las instrucciones MEMWR y MEMRD son accesibles mediante las instrucciones REGWR y REGRD. Éstas poseen la ventaja de que únicamente requieren el envío vía SPI de 1 byte para su lanzamiento. Del mismo modo, los registros marcados en la zona roja, además de ser accesibles mediante las instrucciones mencionadas anteriormente, son accesibles mediante las instrucciones BSET y BCLR. Estas instrucciones vuelven a necesitar el envío de 2 bytes vía SPI, sin embargo, poseen la ventaja de que permiten modificar un bit sin alterar el resto de bits que componen el registro, es decir no es necesario el uso de máscaras de bits. Por último ratificar que el acceso a los registros de estado (SREG) que no forman parte de ninguna de las categorías mencionadas anteriormente únicamente puede realizarse mediante las instrucciones MEMWR y MEMRD.. Alicia Martínez García. 45.

(46) Metodología. Tabla 3.2 Registros del transceptor CC2520. Address (hex). +0x000. + 0x001. + 0x002. + 0x003. REGISTROS FREG 0x000. FRMFILT0. FRMFILT1. SRCMATCH. 0x004. SRCSHORTEN0. SRCSHORTEN1. SRCSHORTEN2. 0x008. SRCEXTEN0. SRCEXTEN1. SRCEXTEN2. 0x00C. FRMCTRL0. FRMCTRL1. RXENABLE0. 0x010. EXCFLAG0. EXCFLAG1. EXCFLAG2. 0x014. EXCMASKA0. EXCMASKA1. EXCMASKA2. 0x018. EXCMASKB0. EXCMASKB1. EXCMASKB2. 0x01C. EXCBINDX0. EXCBINDX1. EXCBINDY0. EXCBINDY1. 0x020. GPIOCTRL0. GPIOCTRL1. GPIOCTRL2. GPIOCTRL3. 0x024. GPIOCTRL4. GPIOCTRL5. GPIOPOLARITY. 0x028. GPIOCTRL. DPUCON. 0x02C. DPUSTAT. FREQCTRL. FREQTUNE. 0x030. TXPOWER. TXCTRL. FSMSTAT0. FSMSTAT1. 0x034. FIFOPCTRL. FSMCTRL. CCACTRL0. CCACTRL1. 0x038. RSSI. RSSISTAT. 0x03C. RXFIRST. RXFIFOCNT. TXFIFOCNT. MDMCTRL1. RXENABLE1. REGISTROS SREG 0x040. CHIPID. VERSION. 0x044. EXTCLOCK. MDMCTRL0. 0x048. FREQEST. RXCTRL. 0x04C. FSCTRL. FSCAL0. FSCAL1. 0x050. FSCAL2. FSCAL3. AGCCTRL0. AGCCTRL1. 0x054. AGCCTRL2. AGCCTRL3. ADCTEST0. ADCTEST1. 0x058. ADCTEST2. MDMTEST0. MDMTEST1. 0x05C. DACTEST0. DACTEST1. ATEST. DACTEST2. 0x060. PTEST0. PTEST1. RESERVED. 0x064-0x077 0x078 0x07C. DPUBIST ACTBIST. RAMBIST. 3.2.4.3. Acceso a las memorias TXFIFO y RXFIFO Tanto para escribir en la memoria TXFIFO como para leer la memoria RXFIFO es necesario el uso de instrucciones.. 46. Escuela Técnica Superior de Ingenieros Industriales (UPM).

Referencias

Documento similar