UNIVERSIDAD DE GRANADA INGENIERIA ELECTRÓNICA Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz REALIZADO POR Juan Santaella Hernández DIRIGIDO POR D. Francisco Jiménez Molinos DEPARTAMENTO Electrónica y Tecnología de los Computadores Palabras clave: CC2510, transceptor, SmartRF04_EB, radio. Resumen: En este proyecto se trabajará con los CIs de radio de las familias CC11xx y CC25xx de Texas Instruments. Estos circuitos integrados son transceptores capaces de manejar diferentes esquemas de modulación, con potencia de salida programable e indicador de potencia recibida (RSSI) en el receptor. El objetivo principal de este proyecto es emplear estos transceptores para realizar un radioenlace entre dos unidades, estableciendo también los montajes y procedimientos de medida (setups) de laboratorio necesarios para su caracterización. Todo este desarrollo podrá servir como punto de partida para posteriores trabajos en los que se desee añadir funcionalidad inalámbrica a algún sistema a través de radios implementadas con estos CIs. UNIVERSIDAD DE GRANADA INGENIERIA ELECTRÓNICA PROYECTO FIN DE CARRERA AUTOR: Juan Santaella Hernández TÍTULO: Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4 GHz TRIBUNAL : D. Juan Antonio Jiménez Tejada D. Carlos Sampedro Matarín D. Miguel A. Carvajal Rodríguez CALIFICACIÓN: Presentado en Granada a de Septiembre de 2009 Evaluado en Granada a de Septiembre de 2009 El Presidente El Vocal El Secretario UNIVERSIDAD DE GRANADA INGENIERIA ELECTRÓNICA AUTORIZACIÓN DE LECTURA DE PROYECTO FIN DE CARRERA D. Francisco Jiménez Molinos, profesor del Departamento de Electrónica y Tecnología de los Computadores de la Universidad de Granada, como director del Proyecto Fin de Carrera titulado “Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz” y realizado por el alumno D. Juan Santaella Hernández CERTIFICA: que el citado Proyecto Fin de Carrera, ha sido realizado y redactado por dicho alumno y autorizan su presentación. Granada, a de Septiembre de 2009 Fdo: UNIVERSIDAD DE GRANADA INGENIERIA ELECTRÓNICA AUTORIZACIÓN DE DEPÓSITO EN LA BIBLIOTECA Yo, D. Juan Santaella Hernández con DNI 74673294, autor del Trabajo Fin de Carrera titulado “Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz” realizado en la Universidad de Granada AUTORIZO: al depósito de dicho Trabajo en la Biblioteca de la Universidad de Granada, y de la visualización a través de Internet. Granada, a de Septiembre de 2009 Fdo. D. Juan Santaella Hernández Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz ÍNDICE 1.- AGRADECIMIENTOS……………………………………………………… 3 2.- INTRODUCIÓN……………………………………………………………... 2.1 – Motivación................................................................................................. 4 4 2.2 – Objetivo………………………………………………………………….. 5 3.- FAMILIA DE CIRCUITOS INTEGRADOS CC11XX/25XX …………… 8 4.- CARACTERIZACIÓN DEL CIRCUITO INTEGRADO CC2510………. 4.1 – Introducción…………………………………………………………….. 10 10 4.2 - Características generales CC2510…………………………………….... 4.2.1- APLICACIONES CC2510………………………………………….. 4.2.2- DESCRIPCIÓN GENERAL………………………………………... 11 11 11 4.3 - Características específicas CC2510........................................................... 4.3.1- PUERTOS I/O..................................................................................... 13 13 4.3.2- DESCRIPCIÓN DEL CIRCUITO………………………………….. 4.3.2.1- CPU y Periféricos……………………………………………… 4.3.2.2- Administración de Potencia……………………………………. 4.3.2.2.1- Modos de operación…………………………………… 4.3.2.3- Radio…………………………………………………………… 4.3.2.3.1- Descripción……………………………………………. 4.3.2.3.2- Instrucciones ………………………………………….. 4.3.2.3.3- Registros 4.3.2.3.4- Indicadores de calidad (RSSI)………………………… 4.3.2.3.5- Potencia de salida programable ……………………... 15 16 22 22 25 25 26 27 28 29 4.3.3- EMPAQUETADO…………………………………………………... 4.3.3.1- Recomendaciones PCB………………………………………… 30 31 1 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.- HERRAMIENTAS DE DESARROLLO EMPLEADAS………………….. 5.1 - Introducción…………………………………………………………….. 32 32 5.2 – Herramientas……………………………………………………………. 5.2.1- HARDWARE: CC2510DK…………………………………………. 5.2.1.1- SMARTRF04_EB…………………………………………... 5.2.1.2- CC2510EM…………………………………………………. 33 33 35 42 5.2.2- SOFTWARE ……………………………………………………….. 5.2.2.1- IAR Embedded Workbench…………………………………. 5.2.2.2- SmartRF® Studio…………………………………………… 5.2.2.3- SmartRF® Flash Programmer……………………………... 44 45 47 49 6.- MEDIDAS EXPERIMENTALES DE LA POTENCIA DE SEÑAL RECIBIDA……………………………………………………………………….. 51 7.- IMPLEMENTACIÓN DE UN SISTEMA INALÁMBRICO PARA MEDIDA DE DISTANCIA Y TEMPERATURA……………………………... 7.1 – Introducción…………………………………………………………….. 58 7.2 - Descripción del sistema…………………………………………………. 58 59 61 7.3 – Desarrollo de la aplicación……………………………………………... 7.3.1- NIVEL SOFTWARE………………………………………………... 7.3.1.1- Transmisor……………………………………….................. 7.3.1.2- Receptor…………………………………………………...... 7.3.1.3- Funciones comunes…………………………………………. 61 61 74 84 7.3.2- NIVEL HARDWARE………………………………………………. 7.3.2.1- Sensores……………………………………………………. 7.3.2.2- Módulo HOST……………………………………………… 7.3.2.3- Módulo TRANSMISOR…………………………………….. 7.3.2.4- Diseño de un MÓDULO TRANSMISOR AUTÓNOMO… 86 86 95 97 100 7.4 – Implementación final …………………………………………………... 113 8.- CONCLUSIONES…………………………………………………………… 114 9.- BIBLIOGRAFÍA…………………………………………………………….. 115 10.- ANEXO 1: PROYECTO INNOVACIÓN DOCENTE ………………….. 116 2 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 1.- AGRADECIMIENTOS En primer lugar, y como no podía ser de otra manera, quisiera agradecer a mis padres, Juan y Encarnita, y a mi hermana María del Mar, el apoyo que me han dado durante todos estos años, ya que sin ellos estoy seguro de que no hubiera podido escribir estas líneas. A María, por estar a mi lado en cada momento y ayudarme a superar los retos más complicados. A mis amigos por comprenderme y aceptar siempre de buen grado la respuesta “No, que tengo que estudiar”. A mi compañera Lucía por tantas horas de estudio soportando el “a por ellos” de Kiki. A mi tutor, Francisco Jiménez Molinos, por su amabilidad, predisposición y dedicación durante el desarrollo de este proyecto. A la Universidad de Granada en general, y a todos mis profesores en particular, por haberme brindado la oportunidad de adquirir unos extensos conocimientos y capacidades. A todos, Gracias. “Sólo sé que no sé nada” 3 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 2.- INTRODUCIÓN 2.1 – Motivación Finalizaba el curso 2007/2008 con los exámenes de Julio y en Octubre comenzaba el nuevo curso 2008/2009. Iba a ser, o mejor dicho, “pretendía” que fuera mi último curso de Ingeniería Superior en Electrónica por la Universidad de Granada (ya que después de algunos años te das cuenta de que no puedes hacer demasiadas cábalas con esta carrera en este sentido) y necesitaba encontrar un proyecto final de carrera. Mi idea inicial era la de realizar el proyecto durante el periodo lectivo 2008/2009 junto con las demás asignaturas de segundo y de esta manera poder presentarlo para Junio o Septiembre de 2009. Desde el principio tenía claro que quería desarrollar un proyecto algo más práctico y no demasiado teórico, es decir, un proyecto donde pudiera aplicar los conocimientos adquiridos durante estos años y plasmarlo en una forma experimental de tratar la electrónica. De esta forma pensé rápidamente en la asignatura de Electrónica de Comunicaciones ya que, en mi opinión, fue una asignatura distinta en comparación a las que había cursado hasta el momento. Esta asignatura tenía una parte teórica interesante y una parte práctica más atractiva aún. Dicha parte concentraba todo el contenido teórico en la construcción práctica de algo muy cercano a la realidad cotidiana como era el caso de un receptor homodino. Aquí, se desarrollaba un proyecto más allá del papel y la teoría cuyo objetivo final estaba claramente definido: se tenía que poder escuchar la cadena SER a 1080 KHz. Por ello decidí hablar con el profesor Francisco Jiménez Molinos, quien impartía esta asignatura, e intentar realizar el proyecto con él. Me puse en contacto con él y no hubo ningún problema al respecto, por lo que comenzamos a trabajar enseguida en el desarrollo de un radioenlace a partir de los circuitos integrados (CI) de la familia CC25XX de Texas Instrument. 4 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 2.2 – Objetivo El presente proyecto se enmarca dentro del proyecto de innovación docente “Nuevas Herramientas para el Aprendizaje de Técnicas Básicas de Medida en el Laboratorio de Electrónica Analógica y para el Desarrollo de Sistemas de RF”. Como expone el título anterior, la prioridad de este proyecto consiste en el desarrollo de Nuevas Herramientas en el campo de RF. De esta manera, el proyecto fin de carrera que nos ocupa tiene su base en el transceptor (transmisor/receptor) CC2510, un CI actual que se caracteriza fundamentalmente por su bajo coste y consumo de potencia. Así pues, podemos decir que el presente proyecto intenta cubrir dos grandes metas claramente diferenciadas que se muestran a continuación. Por un lado tenemos el primer bloque denominado “CARACTERIZACIÓN DEL CIRCUITO INTEGRADO CC2510”. Aquí se intentará describir, de forma general, las características del CI. De esta forma, un futuro usuario que no tenga conocimientos previos sobre este componente, podrá obtener en un tiempo relativamente corto, una visión amplia del mismo. Todo este trabajo podrá servir como punto de partida para posteriores implementaciones en las que se desee añadir funcionalidad inalámbrica a algún sistema a través de radios implementadas con estos CIs o para realizar aplicaciones de radio más complejas (como comunicación entre más de dos unidades, redes de sensores, ...). Por tanto, este apartado tiene como objetivo fundamental, facilitar el camino a futuros trabajos basados en esta tecnología, resumiendo en este documento, los conocimientos adquiridos a partir de la gran cantidad de información procedente de manuales, hojas de características, notas de aplicación etc. Es por ello que se seguirán los siguientes pasos de actuación • Estudio de los manuales, hojas características y notas de aplicación de los integrados. • Familiarización con las herramientas de desarrollo para estos circuitos integrados (kit de desarrollo, entorno de programación del MCU, …) • Caracterización de los circuitos como radio: Medidas de rango de alcance en función de la potencia de salida y para diversos esquemas de modulación Medidas de sensibilidad del receptor 5 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz En segundo lugar encontramos el bloque “IMPLEMENTACIÓN DE UN SISTEMA INALÁMBRICO PARA MEDIDA DE DISTANCIA Y TEMPERATURA.”. El desarrollo de este segundo apartado consistirá en la realización de una aplicación concreta a partir del CC2510. Este sistema electrónico se basará en dos módulos independientes. Uno de ellos, el transmisor, se encargará de la adquisición de datos. Estos datos se concretan en dos señales analógicas procedentes de dos sensores diferentes. En un lado tenemos un sensor de distancia y en el otro un sensor de temperatura. Este módulo transmisor, tratará estas señales analógicas de manera adecuada, esto es, las convertirá en señales digitales a partir de un ADC. Posteriormente, el transmisor enviará estos datos vía radio, en la frecuencia de 2.4GHz, al módulo receptor o host de una manera continua, ya que se pretende una adquisición de valores en tiempo real. De esta forma el transmisor finalizará su tarea cuando sea desconectado de la fuente de alimentación y volverá, por tanto, a estar en funcionamiento operativo cuando se conecte a la tensión adecuada. Por su parte, el receptor o host, recibirá los datos procedentes del transmisor, y se encargará de mostrarlos al usuario en tiempo real. Además, este módulo tendrá una interfaz de usuario donde éste podrá interactuar y decidir entre varias opciones, como la posibilidad de visualizar la temperatura del MCU del host. Como se puede intuir, la construcción del sistema se fundamentará en dos niveles de actuación. Por un lado tendremos un nivel software, donde se programará el dispositivo básico y por otra, encontraremos un nivel hardware que dará sustento físico al propio sistema y que estará formado por los sensores (distancia y temperatura) y los módulos anteriores. A continuación se muestra un esquema (figura 2.1) del sistema completo con la intención de que el lector conciba una idea general de lo que se propone en este apartado. 6 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 2.1 – Esquema modular del Radioenlace En la implementación de este sistema inalámbrico se utilizarán las herramientas de desarrollo que se presentarán en el apartado 5. De esta forma alcanzaremos el segundo objetivo del presente Proyecto Fin de Carrera, consistente en el diseño e implementación de un radioenlace en la banda ISM de 2.4GHz. Para ello seguiremos los siguientes pasos. • Realización del programa del MCU que debe controlar la operación de las radios y gestionar la comunicación entre las dos unidades. • Diseño y realización del radioenlace entre dos placas, cada una portadora de uno de estos circuitos integrados. 7 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 3.- FAMILIA DE CIRCUITOS INTEGRADOS CC11XX/25XX El progresivo escalado de los dispositivos y circuitos electrónicos ha permitido incluir cada vez más funciones en un único chip, dando lugar a los circuitos integrados conocidos como SoC (system on a chip). El campo de las radiocomunicaciones no podía escapar de esta tendencia y desde hace sólo dos ó tres años se han lanzado al mercado CIs que actúan como transceptores completos que apenas necesitan componentes externos (prácticamente basta con la antena y un cristal) y que, incluso, incluyen el microcontrolador (MCU) para la gestión de la radio y de otros componentes externos, como pueden ser sensores. En este proyecto se trabajará con los CIs de radio de las familias CC11xx y CC25xx de Texas Instruments. Estos circuitos integrados son transceptores capaces de manejar diferentes esquemas de modulación, con potencia de salida programable, indicador de potencia recibida (RSSI) en el receptor etc. Además, algunas referencias incluyen el MCU para el control de la radio. Distribución de frecuencias Para elegir la frecuencia de radio correcta para nuestra aplicación, en primer lugar, debemos decidir la banda en la que queremos operar. La familia de CIs de Texas Instrument, ofrece la posibilidad de trabajar en la banda de 2.4GHz (CC25XX) o en bandas sub-1GHz (CC11XX), con frecuencias inferiores a 1GHz. Este tipo de bandas ISM (Industrial Scientific Medical) están reguladas en función de la distribución geográfica en la que se pretenda trabajar. En la siguiente figura 3.1 se muestran qué bandas de frecuencias están disponibles para cada región. 8 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 3.1 – Distribución geográfica de frecuencias En nuestro caso optaremos por la banda de 2.4GHz ya que es una banda libre en toda la superficie terrestre, que posee unas menores restricciones. En esta banda, Texas Instrument ofrece las siguientes posibilidades en cuanto al tipo de IC que queramos utilizar 2.4 GHz CC2400 Transceiver CC2500 Transceiver CC2550 Transmitter CC2510 System-on-Chip CC2511 System-on-Chip with Integrated USB Controller Nuestra elección final será el dispositivo CC2510 ya que incorpora ambas funciones de transmisión y recepción, además de incorporar una unidad de microcontrolador (MCU) con las grandes ventajas que esto implica. Este dispositivo será descrito con mayor detalle en las páginas siguientes. 9 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.- CARACTERIZACIÓN DEL CIRCUITO INTEGRADO CC2510 4.1 - Introducción Este apartado pretende descubrir al lector el dispositivo CC2510 de manera general. El objetivo que se pretende alcanzar es el de proporcionar, de manera rápida, unos conocimientos previos del dispositivo. De esta forma iremos analizando las características específicas del IC. 10 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.2 - Características generales CC2510 4.2.1- APLICACIONES CC2510 Aplicaciones en la banda de 2.4 GHz (2400 - 2483.5 MHz) Dispositivos electrónicos Teclados y ratones inalámbricos Comunicación inalámbrica de audio Control remoto Equipamiento deportivo inalámbrico Telemetría de baja potencia 4.2.2- DESCRIPCIÓN GENERAL El CI CC2510 es un transceptor system-on-chip (SoC) integrado de bajo coste que trabaja en la banda de 2.4GHz y está diseñado para construir aplicaciones inalámbricas de baja potencia. El CC2510 es un dispositivo actual que combina las características de RF del transceptor CC2500 junto con las del microcontrolador estándar 8051 MCU. Una de sus ventajas es su reducido tamaño (6x6 mm). Esto implica que sea muy adecuado en aplicaciones donde las dimensiones sean un factor importante a tener en cuenta. Otra ventaja es su bajo consumo lo que representa una característica indispensable en el diseño de cualquier sistema electrónico. A continuación se describen brevemente las propiedades más importantes del dispositivo Radio - Transceptor de RF de alto rendimiento basado en el CC2510 - Gran selectividad en el receptor - Alta sensibilidad (-103 dBm a 2.4 kBaud) - Data rate programable hasta 500kBaud - Potencia de salida programable hasta 1dBm - Rango de frecuencias : 2400-2483.5 MHz 11 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Consumo - Bajo consumo (RX: 17.1 mA a 2.4 kBaud - TX: 16 mA a −6 dBm de potencia de salida) - 0.3 µA en el modo PM3 (modo de consumo de potencia más bajo) MCU, Memoria y Periféricos - Microcontrolador 8051 - 8/16/32 kB de memoria programable flash. Esta característica se añade al nombre del dispositivo CC2510Fx, donde x ~ 8, 16 o 32 kB. - 1/2/4 kB de memoria RAM - Interface I2S (Inter-IC Sound) para audio - 7-12 bit ADC con 8 canales de entrada - 128 bits AES (Advanced Encryption Standard) de seguridad - Gran funcionalidad del DMA - 2 canales USARTs - 1 Timer (contador) de 16 bit en modo DSM (Delta Sigma Modulator) - 3 Timers de 8 bit de uso general - 21 pins GPIO (General Purpose I/O pins) General - Rango de tensiones de alimentación (2.0 – 3.6) V 12 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3 - Características específicas CC2510 4.3.1- PUERTOS I/O En la figura 4.1 y en la tabla 4.1 se presentan los pins de Entrada y Salida del CC2510. Figura 4.1 – Vista Superior del CC2510Fx 13 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Tabla 4.1 – Correspondencia de pines del CC2510Fx 14 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2- DESCRIPCIÓN DEL CIRCUITO El diagrama de bloques del CC2510 se muestra en la figura 4.2. Los diferentes módulos se dividen en tres categorías: módulos referentes a la CPU, módulos relacionados con la Potencia Consumida y un tercer grupo basado en la propia Radio. Éstos serán analizados en los siguientes subapartados. Figura 4.2 – Diagrama de Bloques del CC2510Fx 15 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.1- CPU y Periféricos CPU El núcleo del microcontrolador se basa en una arquitectura CPU 8051 formada por tres buses de acceso a memoria diferentes (SFR, DATA y CODE/XDATA), una interfaz de depuración y una amplia unidad de interrupción que proporciona dieciocho formas distintas de interrupciones. La representación en el diagrama de bloques se muestra en la (figura 4.3). Figura 4.3 – Representación de la CPU PERIFÉRICOS El módulo conocido como memory arbitrator (figura 4.4) es el corazón del sistema, ya que conecta la CPU y el controlador DMA con las memorias físicas y todos los periféricos a través del bus SFR. Esta memoria tiene cuatro puntos de acceso mediante los cuales se puede mapear una de las tres memorias físicas disponibles en el CC2510Fx: 1/2/4 KB SRAM, 8/16/32 KB flash memory y los registros RF/I2S. Además, la memory arbitrator es la encargada de gestionar los accesos simultáneos a la misma memoria física. Figura 4.4 – Conexiones de la Memory Arbitrator 16 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz El bus SFR está dibujado de manera conceptual en el diagrama de bloques anterior (figura 4.2) como un bus común que conecta todos los módulos periféricos con la memory arbitrator. Por otra parte, este bus (figura 4.5) proporciona acceso a los registros de la radio y del I2S. Figura 4.5 – Bus SFR La memoria 1/2/4 KB SRAM es un tipo de memoria SRAM de baja potencia que retiene la información contenida en ella en los modos de operación PM2 y PM3. Estos modos de operación serán descritos posteriormente. Figura 4.6 – Interconexión de la memoria SRAM Por su parte, el bloque de memoria flash 8/16/32 proporciona una memoria programable no volátil para el dispositivo estando asociada a los espacios de memoria CODE y XDATA. La siguiente tabla (Tabla 4.2) nos muestra los diferentes tipos de dispositivos CC2510 atendiendo a su memoria flash. Tabla 4.2- Opciones de la Memoria Flash del CC2510 17 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 4.6 – Interconexión de la Memoria Flash Los diferentes tipos de dispositivos CC2510Fx, únicamente difieren en la capacidad de la memoria flash. Esta memoria se programa a través del Flash Controller. Existen cinco canales disponibles en el sistema para el controlador DMA . Éste es capaz de controlar la memoria utilizando un espacio de memoria unificado y consta, además, de un acceso a todas las unidades físicas de memoria. Cada canal se puede configurar atendiendo a diferentes parámetros como son el modo de transferencia, el modo de direccionamiento o el evento de disparo, a partir de los descriptores DMA. Figura 4.7 – Representación modular del DMA El controlador de interrupciones proporciona dieciocho tipos diferentes de fuentes de interrupción, divididos en seis grupos, cada uno de los cuales está asociado a uno de los cuatro tipos de prioridades de interrupción. La interfaz de depuración implementa un tipo de interfaz serie propietaria que se usa para depurar el propio circuito. A través de esta interfaz es posible borrar la memoria flash, controlar los osciladores activados, parar y empezar la ejecución de un programa usuario o ejecutar instrucciones adicionales en el 8051. 18 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 4.8 – Interconexión de Interfaz de Depuración y la CPU El controlador de I/O es responsable de todos los pines de entrada-salida. La CPU puede configurar los módulos periféricos controlando ciertos pins mediante un software de control. En este caso, cada pin puede ser configurado como entrada o salida y además es posible configurar el modo de entrada (pullup, pull-down o triestado). Cada módulo periférico puede conectarse a un pin I/O eligiendo entre dos tipos diferentes de localizaciones, lo que implica una mayor flexibilidad en el desarrollo de aplicaciones. Figura 4.9 – Controlador de I/O El Sleep Timer es un contador de baja potencia que utiliza un oscilador de cristal de 32.768 kHz o un oscilador RC de baja potencia como fuente de reloj. El Sleep Timer funciona continuamente en todos los modos de operación excepto en el modo activo y en el modo PM3. Se usa típicamente para salir del modo PM0, PM1 o PM2. El CC2510Fx dispone de un Watchdog Timer que permite resetear el sistema en el caso de que el firmware falle. Cuando está activado, este timer debe ser inicializado periódicamente para evitar que el dispositivo se resetee cuando el timer alcanza su valor final. 19 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Timer1 es un contador o timer de 16 bits que realiza las funciones típicas de cualquier timer, ya que es capaz de capturar entradas, comparar registros e implementar funciones PWM. Este contador dispone de un prescaler programable y tres canales de captura y comparación. Timer2 (MAC TIMER) es otro timer especialmente diseñado para soportar protocolos de tipo time-slotted en software. El contador es capaz de configurar su periodo a través de un prescaler programable. Timer3 y Timer4 son contadores de 8 bits de uso general con características funcionales típicas como comparación y programación del prescaler. Para esto, dispone de 2 canales los cuales pueden ser usados como salidas de PWM. Figura 4.10 – Contadores disponibles en el dispositivo CC2510 USART0 y USART1 son dos registros que pueden ser configurados como SPI master/slave (modo síncrono) o como UART (modo asíncrono). Proporcionan control de flujo ya que actúan como módulos de doble almacenamiento (buffering) en proceso de Tx y Rx. Figura 4.11 – Registros USART0 y USART1 20 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz El núcleo de encriptación/desencriptación (AES) permite al usuario encriptar y desencriptar los datos usando un algoritmo AES de 128 bits. El CC2510 dispone de un Conversor Analógico-Digital (ADC) que permite tener una resolución entre 7 y 12 bits. Las conversiones de audio y DC disponen de ocho canales independientes. Las entradas de estos canales pueden ser seleccionadas como single ended (entrada absoluta) o differential extern signal (entrada diferencial). La referencia de tensión puede ser de cuatro tipos, referencia interna (2.8V-3.6V), VDD (referencia externa, nunca mayor de 3.6V), single ended o differential external signal. El ADC también dispone de un canal asignable a un sensor de temperatura interno que es capaz de adquirir la temperatura del microcontrolador. Figura 4.12 – Núcleo de Encriptación El registro I2S (Inter-IC Sound) puede ser utilizado para enviar/transmitir muestras de audio a o desde un procesador externo de sonido. Estas muestras pueden tener una resolución mayor de 16 bits, aunque este parámetro deberá ser configurado en el registro correspondiente. Además, permite configuraciones del tipo master/slave y soporta los modos mono y stereo. Figura 4.13 – Registro I2S 21 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.2- Administración de Potencia En esta sección se describe la manera de gestionar la Potencia Consumida por el dispositivo, es decir, se muestran una serie de métodos o modos mediante los cuales se puede alcanzar un consumo óptimo de potencia en un a aplicación concreta. Esto se concreta a partir del módulo de Administración de Potencia, que tiene la capacidad de controlar el uso del modo activo, los modos de potencia y la señal de reloj como veremos a continuación. 4.3.2.2.1- Modos de operación El CC2510 utiliza diferentes modos que permiten actuar al dispositivo en operaciones de baja potencia. Esto se consigue desconectando las fuentes de potencia de los módulos, lo que permite un bajo consumo de potencia estático. Además se reduce la frecuencia de reloj y de los osciladores por lo que el consumo potencia dinámica se reduce. El CC2510 tiene un modo activo y cuatro modos de potencia consumida configurables (PM0, PM1, PM2 y PM3), de los cuales, el modo PM3 es el modo en el que el dispositivo consume menos potencia. Las características fundamentales de estos modos de operación se reflejan en la siguiente tabla (Tabla 4.3) Tabla 4.3 – Modos de Operación 22 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz MODO ACTIVO Es el modo de funcionamiento fundamental. El regulador de voltaje del núcleo digital está activado y el oscilador RC de alta velocidad y/o el oscilador de cristal de alta velocidad también están en funcionamiento. Además, el oscilador RC de baja potencia o el oscilador de 32.768 kHz de cristal está también activado. PM0 Aquí ocurre lo mismo que en el modo activo, con la salvedad que la CPU está en un estado de espera mientras no se esté ejecutando ningún código. PM1 El regulador de voltaje de la parte digital está activo. En cambio ni el oscilador RC de alta velocidad ni el oscilador de cristal de alta velocidad están en funcionamiento. Por su parte, el oscilador RC de baja potencia o el oscilador de 32.768 kHz de cristal está también activado. El sistema volverá al modo activo cuando exista una interrupción o cuando el contador Sleep Timer llegue al final. PM2 El regulador de voltaje de la parte digital está desactivado. Ni el oscilador RC de alta velocidad ni el oscilador de cristal de alta velocidad están en funcionamiento. Por su parte, el oscilador RC de baja potencia o el oscilador de 32.768 kHz de cristal está también activado. El sistema volverá al modo activo cuando exista una interrupción o cuando el contador Sleep Timer llegue al final. PM3 El regulador de voltaje de la parte digital está desactivado. Además, ninguno de los osciladores está funcionando. El sistema volverá al modo activo cuando exista una interrupción o cuando el contador Sleep Timer llegue al final. Cuando una interrupción externa se produce en PM1, PM2 o PM3 o el Sleep Timer finaliza su cuenta en PM1 o PM2, el sistema retornará al modo activo y el código se ejecutará desde el lugar donde se quedó (cuando entró en modo PM1/2/(3). En cambio desde el modo PM0 el sistema volverá al modo activo ejecutando el código desde el inicio. 23 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Por su parte, un reseteo del chip que se produzca desde cualquier modo de operación implicará un retorno al modo activo en el cual, el código comenzará a ejecutarse desde su inicio. 24 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.3- Radio 4.3.2.3.1- Descripción Las características referentes a la radio del transceptor de RF CC2510, se basan en la tecnología del dispositivo CC2500. De esta forma, se requieren muy pocos componentes externos para implementar un circuito de RF óptimo. Figura 4.14 – Diagrama modular de la Radio En la figura anterior (figura 4.14) se muestra un diagrama de bloques simplificado formado por los distintos módulos de la radio del CC2510. De aquí se puede extraer que la señal de RF recibida es amplificada por el LNA (Low-NoiseAmplifier) y separadas las componentes en fase y en cuadratura (I y Q) a la frecuencia intermedia IF. En esta frecuencia intermedia, las señales I/Q son digitalizadas a partir de los ADC. De esta manera, el Control de Ganancia Automático (AGC), el filtrado o la demodulación son llevadas a cabo digitalmente. La parte del transmisor del CC2510 está basada en la síntesis directa de la frecuencia de RF. El sintetizador de frecuencia incluye un completo on-chip LC VCO y un desplazador de fase de 90 grados para generar las señales I y Q a partir de la conversión, en los mezcladores de señales, en el modo de transmisión. La alta velocidad del oscilador de cristal genera la frecuencia de referencia en la sintetización, además de actuar como señal de reloj en el módulo de 25 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz ADC y en la parte digital. Una interfaz SFR es usada como buffer de datos de la CPU. Al estado y la configuración de los registros se accede a partir de los registros mapeados de la memoria XDATA. 4.3.2.3.2- Instrucciones La CPU usa una serie de instrucciones para controlar las operaciones de la radio. Estos comandos pueden ser vistos como unas instrucciones de un solo Byte que inician una secuencia interna en la radio. Los comandos son utilizados para activar el sintetizador de frecuencia, configurar el modo de recepción o transmisión etc. En la siguiente tabla se describen dichos comandos. Tabla 4.4 - Comandos 26 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.3.3- Registros La radio se configura a través de una serie de registros de RF. Estos registros están mapeados en espacio de memoria XDATA. Además la propia configuración de los registros nos muestra información acerca del estado de la radio. La siguiente figura (figura 4.15) muestra dichos registros dentro del espacio de memoria existente. Figura 4.15 – Espacio de Memoria 27 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.3.4- Indicadores de calidad (RSSI) El RSSI (Receive Signal Strength Indicator) proporciona una estimación del nivel de la señal en el canal elegido. Este valor está basado en la ganancia de corriente en el receptor Rx y el nivel de señal medido en el canal. En el modo de recepción, el valor del RSSI puede ser leído de manera continua a partir del propio registro RSSI. Dicho valor se muestra en dBm. De esta forma, se muestra a continuación una gráfica (figura 4.16) que nos muestra valores típicos de RSSI frente a la potencia de entrada para distintos Data Rates. Figura 4.16 – Valores típicos del RSSI frente al Nivel de Potencia de Entrada [2] 28 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.2.3.5- Potencia de salida programable Una característica importante del dispositivo CC2510 es que podemos programar la potencia de salida, de manera que podemos realizar aplicaciones específicas atendiendo a la realidad del entorno exterior. De esta manera, este nivel de potencia puede ser configurado a través del registro PATABLE0. Así, en la siguiente tabla (Tabla 4.5) se muestran las configuraciones típicas de este registro en relación a la potencia de salida. Tabla 4.5 – Configuraciones registro PATABLE en función de la potencia deseada 29 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.3- EMPAQUETADO En este apartado se muestra el empaquetado del dispositivo, es decir, las dimensiones del mismo. Las medidas se dan en mm y los ángulos en grados. Figura 4.17 – Dimensiones típicas de empaquetado 30 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 4.3.3.1- Recomendaciones PCB En la figura 4.21 se muestran las recomendaciones del fabricante a la hora de crear el footprint del dispositivo CC2510. Es muy recomendable seguir estas instrucciones ya que el IC tiene unas dimensiones muy reducidas. Figura 4.18 – Recomendaciones en la creación de la PCB 31 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.- HERRAMIENTAS DE DESARROLLO EMPLEADAS 5.1 – Introducción En este punto nos encontramos en el inicio del segundo gran bloque de este Proyecto Fin de Carrera. Esto es debido a que en este apartado se describirán las herramientas de desarrollo empleadas, tanto a nivel software como a nivel hardware, utilizadas en la creación de la aplicación práctica. La implementación de dicha aplicación se plasmará en el capítulo 7 de este documento. 32 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2 - Herramientas En esta parte se describe de manera general las herramientas de desarrollo empleadas. Estas herramientas se hacen indispensables en al creación de cualquier aplicación, ya que dan un soporte sobre el cual es posible implementar, de manera práctica, cualquier idea basada en el CC2510. Con este material de ayuda podemos actuar a dos niveles fundamentales: nivel hardware y nivel software que describiremos a continuación. 5.2.1- HARDWARE: CC2510DK El Hardware de desarrollo empleado es un conjunto elementos que se concretan en lo que se conoce como el kit de desarrollo CC2510DK (CC2510 Development Kit). Esta plataforma de desarrollo pertenece a la compañía Texas Instruments y permite la evaluación, el desarrollo y el prototipado de aplicaciones reales basadas en el dispositivo CC2510 de la propia compañía. El CC2510DK se divide en dos partes fundamentalmente. Por un lado encontramos la placa SmartRF04_EB (Evaluation Board) está formada por componentes discretos como un LCD, una serie de LEDs, potenciómetros etc. Por otra parte encontramos el CC2510EM (Evaluation Module). Éste es un pequeño módulo donde se sitúa el propio CC2510 y los elementos necesarios en el diseño de la capa de RF. En los siguientes apartados se amplían las características de estas dos placas de prototipado. El contenido de este kit de desarrollo es el siguiente y se muestra en la figura 5.1. • 2 x SmartRF04EB • 2 x Módulos de Evaluación (CC2510EM) • 2 x Antenas de 2.4GHz • 2 x Cables USB • 1 x 10 Cable de prototipado para tarjetas externas • Guía de inicio rápida al kit de desarrollo 33 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.1 – Kit de desarrollo CC2510DK 34 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.1.1- SMARTRF04_EB En primer lugar se presenta la SmartRF04_EB. Esta placa de desarrollo incluye una serie de funciones y aplicaciones que permite testear de manera rápida la interfaz RF y los módulos periféricos del chip CC2510. En la siguiente figura (figura 5.2) se presentan los principales componentes de la SmartRF04_EB Figura 5.2 – Diagrama de Módulos de la tarjeta SmartRF04_EB El cable USB procede del PC y se conecta, en la propia EB, al controlador de USB. El USB MCU es un C8051F320 de Silicon Labs. El único propósito de este controlador es el de traducir las señales USB a la interfaz del módulo SoC (Chipcon System on Chip) cuando éste está conectado. Esta interfaz incluye DC (Depuración señal Reloj) y DD (Depuración de Datos). Además, la mayoría de los módulos periféricos del chip están conectados al controlador USB, lo que implica, que los puertos I/O del controlador USB y del SoC están relacionados en pines semejantes. Cuando el controlador USB detecta el módulo SoC, todas las señales I/O del mismo se ponen en modo triestado (alta impedancia). De esta manera el controlador USB no tiene influencia ninguna en estas líneas I/O. 35 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz La siguiente tabla (Tabla 5.1) muestra el uso de los pines I/O del USB MCU. Tabla 5.1 – Pines del USB MCU 36 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz La siguiente figura (Figura 5.3) muestra la SmartRF04_EB junto con la descripción de cada uno de sus componentes. Figura 5.3 – SmartRF04_EB Los principales módulos de esta placa de desarrollo se especifican a continuación. 37 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Fuente de alimentación SmartRF04_EB La propia placa tiene diferentes vías de alimentación. Si existen varias tensiones conectadas a la placa, la más alta será la que predominará. Figura 5.4 – Interruptor de Alimentación El interruptor de alimentación S3 debe estar en la posición correcta dependiendo de la fuente alimentación usada. De esta manera, si se aplican 3.3V, utilizando el bloque terminal, el interruptor debería estar en la posición de la izquierda. En otro caso, éste debe estar en la posición derecha. Figura 5.5 – Conector de Alimentación 38 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz La SmartRF®04EB puede ser alimentada por diferentes vías • Conector DC jack (4-10V) • Laboratory power supply (4-10V) • USB power • Battery power (9V) Sea cual sea la fuente de alimentación, la propia placa de desarrollo regula la tensión a 3.3V, siendo muy importante no alimentar directamente la EM a más de 3.6V. Interfaz USB La interfaz USB conecta el PC con la EB y se usa para poder utilizar el software de programación correspondiente que veremos posteriormente. Interfaz RS-232 Esta interfaz puede ser utilizada para comunicar diferentes dispositivos con la propia EB. Interfaz de Usuario La SmartRF04_EB dispone de un joystick y un pulsador como dispositivos de entrada para un usuario. Además existen cuatro LEDs y un display LCD de 2x16 caracteres como dispositivos de salida. Interfaz de Audio La EB incluye un micrófono de entrada y un auricular de salida para configurar múltiples aplicaciones de este tipo. Conectores I/O Estos conectores extraen las señales procedentes de los conectores de la EM. Esto permite un acceso sencillo a las señales de I/O además de la posibilidad de conexión de placas prototipo. Estas relaciones, entre pines de EM y conectores, se muestran en la siguiente tabla (Tabla 5.2). En el desarrollo de cualquier aplicación, es 39 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz necesario tener en cuenta estas relaciones ya que nos permitirán depurar la aplicación concreta diseñada. Tabla 5.2 – Conectores I/O Figura 5.6 – Conectores I/O En este sentido, hay que tener en cuenta un detalle muy importante a la hora de utilizar correctamente estos conectores. Como se observa en la tabla anterior, el pin3 del conector A, por ejemplo, conecta el pin P0_0 de la EM y el micrófono de la EB. De esta manera la señal de salida que encontramos en el conector A relaciona las dos señales anteriores al mismo tiempo. Esto es debido a que existe una serie de resistencias de baja impedancia (R_0ohm) que unen estos dos módulos como se observa en la figura 5.7. 40 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.7 – Evaluation Board Signal flow Si queremos obtener únicamente la señal procedente de la EM, es decir, del propio CC2510, tendremos que eliminar estas resistencias. Para ello debemos desoldar, literalmente, las propias R_0ohm de la EB. Para ello debemos tener en cuenta la relación entre cada módulo de la EM y la EB. Esta información la podemos encontrar en la tabla 5.1. 41 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.1.2- CC2510EM En este apartado se describe el módulo CC2510_EM. Esta placa contiene el propio dispositivo CC2510 y se monta sobre la SmartRF04_EB a partir de unos conectores de superficie disponibles. La figura 5.8 muestra la EM. Figura 5.8 – CC2510EM La característica fundamental de este módulo, reside en el hecho de que todos los componentes de RF necesarios (cristal, antena etc.) para una correcta Tx/Rx están montados sobre la propia placa. Además, en ésta se encuentra el CC2510. Así, lo único que hay que hacer, es colocar la EM sobre la EB. Finalmente, el hardware completo de desarrollo sería el mostrado en la figura 5.9. 42 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.9 – SmartRF04_EB + CC2510EM 43 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.2- SOFTWARE En este apartado corresponde hablar del software empleado en el desarrollo realizado. Este software se divide en tres programas diferentes: -IAR Embedded Workbench -SmartRF® Studio -SmartRF® Flash Programmer El primero de ellos se emplea en el diseño del código que utilizaremos en el microcontrolador. El segundo se encarga de la optimización en las medidas de RF. Por último, el tercer programa se utiliza para programar la memoria del propio CC2510. A continuación describiremos de forma detallada estos programas. 44 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.2.1- IAR Embedded Workbench El IAR Embedded Workbench® IDE es un Entorno de Desarrollo Integrado que permite el diseño y la gestión completa de proyectos basados en aplicaciones embebidas. Las características generales de este software son las siguientes: ● Lenguaje de alto nivel IAR C/C++ ● Compilador de alta optimización IAR C/C++ ● Ensamblador IAR ● IAR XLINK Linker ● Librerías IAR y IAR XLIB ● Potente editor de desarrollo ● Depurador IAR C-SPY® Este programa es compatible para una gran variedad de microprocesadores y microcontroladores de segmentos de 8, 16 y 32 bits sin ser necesario unos grandes conocimientos previos sobre el Entorno de Desarrollo. Esto es posible debido a la eficiente interfaz de Windows de desarrollo y depuración, lo que proporciona un aprendizaje rápido de dicho software. El programa IAR Embedded Workbench® IDE viene con múltiples librerías de funciones que permiten al usuario obtener un control absoluto de un proyecto de desarrollo, empleando diferentes lenguajes y niveles de programación como, por ejemplo, C, C++ o lenguaje ensamblador. En particular, en lo que a este proyecto se refiere, se usará este Entorno de Desarrollo Integrado para construir el código, en lenguaje C/C++, del programa que correrá en el microcontrolador. Es decir, utilizaremos este software para obtener un pequeño programa que gestionará las funciones del dispositivo CC2510, esto es, activar pines I/O, utilizar los módulos de los periféricos (Radio, DMA etc.), interrupciones o cambiar los registros internos del chip. El entorno gráfico que utiliza el IAR Embedded Workbench® IDE se presenta en la figura 5.10. 45 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.10 – IAR Embedded Workbench® IDE 46 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.2.2- SmartRF® Studio Como se ha dicho anteriormente, este programa se encarga de la optimización en las medidas de RF. Es decir, el software permite, de manera sencilla, tener acceso directo a todos los registros del dispositivo CC2510. De esta manera, sabemos en todo momento la información contenido en los mismos, por lo que podemos depurar correctamente cualquier aplicación a través del SmartRF® Studio. Además desde el propio programa, el usuario puede modificar dichos registros, lo que implica que éste puede cambiar parámetros como el tipo de modulación utilizada en el módulo de la radio, los modos y direcciones de funcionamiento de las I/O, la función del ADC o el control del DMA. La interfaz de usuario es sencilla, lo que permite un fácil manejo del programa. De esta forma, al conectar el hardware (SmartRF04_EB + CC2510EM) al PC (donde se instala el SmartRF® Studio), el propio programa reconoce el dispositivo y con una simple pulsación tenemos acceso a los registros internos del CC2510. A continuación se muestran dos figuras; figura 5.11 y figura 5.12 en las que se presenta esta interfaz. Figura 5.11 – Interfaz del SmartRF® Studio1 47 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.12 – Interfaz del SmartRF® Studio2 Como se observa, la visualización y el acceso a los registros del chip es muy sencillo. Por otro lado, el programa puede cargar el firmware del MCU en la SmartRF04_EB, lo que hace posible el control del USB. Además, otra característica importante de este software es la posibilidad de comprobar la calidad de un radio enlace. Esto es posible ya que se pueden medir parámetros como el RSSI (Receive Signal Strength Indicator), que se obtiene directamente de un registro específico, o el PER (Packet Error Rate), que nos indica el porcentaje de paquetes que se pierden al ser transmitidos. Esto anterior, combinado con la posibilidad de modificar el tipo de modulación, el Bit-Rate, o el número de paquetes transmitidos, hacen de este programa sea una herramienta fundamental en el desarrollo de cualquier aplicación. 48 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 5.2.2.3- SmartRF® Flash Programmer Por último nos encontramos con el SmartRF® Flash Programmer. Este software permite programar la memoria flash del CC2510. Dispone, igualmente, de una interfaz gráfica amable, lo que permite programar el CC2510 fácilmente. Los pasos a seguir son los siguientes Creamos el código en lenguaje de alto nivel C/C++ con IAR Embedded Workbench. Compilamos el código generando un archivo .HEX En el SmartRF® Flash Programmer indicamos la ruta del archivo .HEX anterior. Cargamos el programa en el CC2510 con diferentes posibilidades: i) Borrar el contenido de la memoria flash y cargar el nuevo código. ii) Borrar, cargar y verificar. iii) Cargar a continuación del último código. iv) Verificar. v) Leer el archivo .HEX de la memoria flash. La Interfaz Gráfica de Usuario (GUI) descrita anteriormente se muestra a continuación en la figura 5.13. 49 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 5.13 – Interfaz del SmartRF® Flash Programmer 50 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 6.- MEDIDAS EXPERIMENTALES DE LA POTENCIA DE SEÑAL RECIBIDA A continuación se muestran las medidas experimentales realizadas con el dispositivo CC2510. Estos datos corresponden a una representación del parámetro RSSI (Indicador de la Potencia de la Señal Recibida) frente a la distancia. La nota de diseño DN018 [11] muestra una gráfica en la que se observan estos parámetros a diferentes alturas, tal y como se muestra en la siguiente figura (Figura 6.1). Figura 6.1 – RSSI a 7cm, 31cm y 115cm de elevación El objetivo fundamental de este apartado es ampliar la zona comprendida entre 0 y 10 metros, ya que nuestra aplicación tendrá sentido dentro de este rango de distancias. De esta manera podremos optimizar nuestro desarrollo (en cuanto a consumo de potencia) atendiendo a datos experimentales. 51 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Siguiendo esta línea de estudio, podemos decir que los parámetros configurables en el dispositivo CC2510 para poder desarrollar una gráfica similar a la anterior mediante el software SmartRF, que se describe en el capítulo 5, son los siguientes PARÁMETROS CONFIGURABLES 1) Packet Lenght Longitud de los paquetes que van a ser transmitidos En nuestro caso elegimos un valor fijo intermedio de 10 Bytes. * 10 2) Packet Count Número de paquetes que van a ser transmitidos Aquí dejamos un número de paquetes fijo de (200) es recomendable seleccionar un valor alto para que el error en la medida sea pequeño. * 200 3) Preset Modulación deseada y data rate. Seleccionamos tres configuraciones posibles para obtener diferentes resultados. * 10 KBaud * 250 KBaud * 500 KBaud 4) Potencia de Salida Potencia configurable del emisor Nos centramos en dos valores. Uno de ellos es un valor intermedio y el otro es el máximo posible. * -20 dbm (intermedia) * +1 dbm (máxima) Por su parte, seleccionamos una altura de 41 cm ya que es un valor comprendido entre los 7cm y los 115cm que se pueden observan en la gráfica anterior. 5) Altura Altura del CC2510EM Obtenemos valores para una altura concreta *41cm 52 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz De esta forma obtenemos los siguientes resultados experimentales. RSSI (10 Kbaud) 0 2 4 6 8 10 -20dBm -34 +1dBm Polinómica (+1dBm) Polinómica (-20dBm) RSSI (dBm) -44 -54 -64 -74 Distancia (m) Figura 6.2 – RSSI a 10Kbaud Los resultados se han ajustado mediante un polinomio de 6º orden, dando lugar a las siguientes expresiones +1dBm y = 0,0005x6 - 0,0133x5 + 0,1367x4 - 0,7134x3 + 2,7401x2 - 10,884x - 25,404 -20dBm y = 0,0037x6 - 0,09x5 + 0,8063x4 - 3,3068x3 + 7,0029x2 - 13,638x - 44,589 53 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz RSSI (250 Kbaud) 0 2 4 6 -29 8 10 -20dBm +1dBm Polinómica (+1dBm) Polinómica (-20dBm) RSSI (dBm) -39 -49 -59 -69 -79 Distancia (m) Figura 6.3 - RSSI a 250Kbaud Los resultados se han ajustado mediante un polinomio de 6º orden, dando lugar a las siguientes expresiones +1dBm y = 0,005x6 - 0,1253x5 + 1,1742x4 - 5,1921x3 + 11,757x2 - 18,879x - 22,817 -20dBm y = 0,0012x6 - 0,0325x5 + 0,3586x4 - 2,1227x3 + 7,5909x2 - 17,96x - 44,605 54 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz RSSI (500 Kbaud) 0 2 4 6 -29 8 10 -20dBm +1dBm Polinómica (+1dBm) Polinómica (-20dBm) RSSI (dBm) -39 -49 -59 -69 -79 Distancia (m) Figura 6.4 - RSSI a 500Kbaud Los resultados se han ajustado mediante un polinomio de 6º orden, dando lugar a las siguientes expresiones +1dBm y = 0,0036x6 - 0,0912x5 + 0,8761x4 - 4,0847x3 + 10,277x2 - 18,814x - 22,292 -20dBm y = 0,005x6 - 0,1329x5 + 1,3617x4 - 6,7727x3 + 17,347x2 - 25,672x - 42,301 55 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz A continuación se presentan una serie de gráficas, en donde se compara (para una misma potencia de salida) la influencia del bit rate en el valor del RSSI. RSSI (-20 dBm) -44 0 1 2 3 4 5 6 7 8 -250Kbaud 500Kbaud -49 RSSI (dBm) 9 10Kbaud -54 -59 -64 -69 -74 -79 Distancia (m) Figura 6.5 -20dBm de Potencia de Salida RSSI (+1 dBm) -25 0 1 2 3 4 5 6 -30 8 9 10Kbaud 250Kbaud 500Kbaud -35 RSSI (dBm) 7 -40 -45 -50 -55 -60 Distancia (m) Figura 6.6 +1dBm de Potencia de Salida 56 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz A la vista de estos resultados experimentales, podemos concluir que para optimizar el consumo de potencia se deben atender a las siguientes consideraciones: 1) Obviamente, la potencia de salida influye en el valor del RSSI ya que cuanto mayor es aquella, mejor es el valor del propio RSSI. Por el contrario cuando aumentamos la potencia de salida aumentamos el consumo del dispositivo. 2) En cambio, el Datarate no influye en el valor del RSSI y por lo tanto, éste sólo depende de la potencia de salida. 3) Para un enlace con un Datarate promedio bajo (10KBaud) se producirá un aumento en el tiempo del modo activo y por tanto un aumento en el consumo medio. 4) Usando un Datarate alto (500KBaud) se reducirá el tiempo en el modo activo y por tanto disminuirá el consumo de corriente de forma significativa. Además, reduciendo el tiempo en el modo activo se reducirá la probabilidad de colisión con otros sistemas como por ejemplo redes WLAN o Bluetooth. 5) Como conclusión final podemos decir que dependiendo de la distancia entre los dispositivos y de la fiabilidad pretendida (teniendo en cuenta condiciones de interferencia con otros sistemas) necesitaremos elegir una potencia de salida y un Datarate adecuado para llegar a un compromiso entre el consumo del dispositivo y el cumplimiento de las condiciones del sistema desarrollado. 57 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.- IMPLEMENTACIÓN DE UN SISTEMA INALÁMBRICO PARA MEDIDA DE DISTANCIA Y TEMPERATURA. 7.1 – Introducción En este apartado nos situamos claramente dentro del segundo bloque del presente proyecto. Después de familiarizarnos con las herramientas de desarrollo necesarias para la creación del sistema electrónico, pasaremos a utilizarlas de manera práctica, sin perder de vista los dos objetivos marcados para este bloque. • Realización del programa del MCU que debe controlar la operación de las radios y gestionar la comunicación entre las dos unidades. • Diseño y realización del radioenlace entre dos placas, cada una portadora de uno de estos circuitos integrados. Otra cuestión que hay que tener en mente, antes de empezar a describir el sistema, es que la base del desarrollo de éste, se fundamenta en el CC2510. Es decir, este dispositivo controlará todas las situaciones posibles que se presenten, siendo parte imprescindible en la implementación de la aplicación. 58 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.2 - Descripción del sistema Aquí haremos una descripción general del propio sistema electrónico que queremos desarrollar. El sistema consta de dos módulos independientes. Uno de ellos, el transmisor, se encargará de la adquisición de datos. Estos datos se concretan en dos señales analógicas procedentes de dos sensores diferentes. En un lado tenemos un sensor de distancia y en el otro un sensor de temperatura. Este módulo transmisor, tratará estas señales analógicas de manera adecuada, esto es, las convertirá en señales digitales a partir de un ADC. Posteriormente, el transmisor enviará estos datos vía radio, en la frecuencia de 2.4GHz, al módulo receptor o host de una manera continua, ya que se pretende una adquisición de valores en tiempo real. De esta forma el transmisor finalizará su tarea cuando sea desconectado de la fuente de alimentación y volverá, por tanto, a estar en funcionamiento operativo cuando se conecte a la tensión adecuada. Por su parte, el receptor o host, recibirá los datos procedentes del transmisor, y se encargará de mostrarlos al usuario en tiempo real. Además, este módulo tendrá una interfaz de usuario donde éste podrá interactuar y decidir entre varias opciones, como la posibilidad de visualizar la temperatura del MCU del host. Como se puede intuir, la construcción del sistema se fundamentará en dos niveles de actuación. Por un lado tendremos un nivel software, donde se programará el dispositivo básico y por otra, encontraremos un nivel hardware que dará sustento físico al propio sistema y que estará formado por los sensores (distancia y temperatura) y los módulos anteriores. A continuación se muestra un esquema (figura7.1) del sistema completo con la intención de que el lector conciba una idea general de lo que se propone en este apartado. 59 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.1 – Esquema modular del Radioenlace En la implementación de este sistema inalámbrico se utilizarán las herramientas de desarrollo descritas en el capítulo 5. De esta forma se alcanzarán los objetivos propuestos en este bloque y que se plantearon en la introducción del mismo. 60 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3 – Desarrollo de la aplicación 7.3.1- NIVEL SOFTWARE Como se ha descrito en el apartado 4, el dispositivo CC2510 dispone de una memoria flash programable. En este espacio de memoria es donde se aloja el programa principal que será el encargado de gestionar las entradas y salidas del MCU. Este software será creado a partir del IAR Embedded Workbench, una herramienta de desarrollo descrita en el apartado 5. El lenguaje de programación utilizado será el conocido C/C++. Ya que el sistema inalámbrico dispone de dos módulos, transmisor y receptor, con funciones diferentes, será necesario desarrollar dos programas distintos, uno para cada módulo, que permitan al sistema total funcionar como un conjunto coordinado de subsistemas independientes. 7.3.1.1- Transmisor Antes de comenzar a describir el código de este módulo, es conveniente recordar, de forma esquemática, las funciones que debe realizar el mismo. • Adquisición de dos señales analógicas (temperatura y distancia) • Tratamiento adecuado de estas señales Conversión digital • Transmisión de las mismas al receptor. De esta manera, se presentará a continuación el diagrama de flujo correspondiente al programa de este módulo transmisor. 61 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Diagrama de flujo INICIO CONF DE PARÁMETROS • • • • Modo Oscilación Cristal Bit-Rate 10kBaud Canal 2.42GHz Modo Transmisor • • • CONF I/O MODO Analógicas P0_1 IN P0_2 IN INTERRUPCIONES ON CONSTRUCCIÓN PAQUETE DE ENVÍO TRANSMISIÓN Figura 7.2 – Diagrama de flujo del Transmisor 62 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Una explicación detallada de este diagrama sería la siguiente. En primer lugar, el programa comienza a ejecutarse (INICIO) cuando el transmisor se conecta a la alimentación. El siguiente paso es configurar ciertos parámetros referentes a la radio (CONF DE PARÁMETROS). Aquí elegimos un modo de oscilación activo, es decir, dejamos actuar como señal de reloj la salida del oscilador a cristal que incorpora el propio CC2510EM. Además, seleccionamos un Bit-Rate de 10kBaud, un canal de comunicación a la frecuencia de 2.42GHz y un estado de funcionamiento en modo transmisor, esto es, configuramos el módulo DMA del CC2510 para trasladar los datos que queremos enviar, desde el buffer de empaquetamiento hasta la propia radio sin necesidad de que intervenga la CPU. Seguidamente, procedemos a configurar las entradas/salidas (CONF I/O) que nos interesan para adquirid las señales analógicas procedentes de los sensores. De esta manera, establecemos los pines P0_1 y P0_2 del CC2510 como entradas analógicas. El tercer paso (INTERRUPCIONES) consiste en activar las interrupciones que se producen cuando ocurre algún evento. De esta manera seremos capaces, por ejemplo, de detectar que una transmisión se ha realizado completamente o que se ha trasladado un paquete en su totalidad desde el buffer de empaquetamiento a la radio. Posteriormente debemos construir el paquete de envío (CONSTRUCCIÓN PAQUETE DE ENVÍO). En este caso debemos seguir las instrucciones dadas en la hoja de características del dispositivo y formar una trama de bits correcta que sea capaz de recibirse en el host. Finalmente (TRANSMISIÓN), trasladamos el paquete construido desde el buffer de empaquetamiento a la radio, mediante el DMA configurado previamente para ello, que se encarga de transmitirlo. 63 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Programa Principal A continuación se muestra el programa principal, creado en lenguaje C usando el entorno de programación del IAR Embedded Workbench. Todas las sentencias utilizadas están explicadas a través de comentarios. Cabe mencionar, que no todas las funciones utilizadas en el código serán mostradas debido a la extensión que ocuparía este documento. Además, muchas de estas funciones son propias del dispositivo y son suministradas por el fabricante. Aún así, el programa completo se presenta en un CD adjunto a este documento en el entorno de programación antes mencionado. En cambio, se describen aquellas funciones que han sido confeccionadas durante la realización de este proyecto. /*----------------------------------------------------------------------------| Archivo: Transmisor_ pfc.c | Tarjeta: cc2510 | Autor: Juan Santaella Hernández | Fecha: 10/09/2009 | Revision: 1.0 | Proyecto: Sistema Inalámbrico para Medida de Distancia y Temperatura /*-----------------------------------------------------------------------------*==== INCLUDES ==============================================*/ #include "hal_main.h" #include "per_test_main.h" #include "stdbool.h" /*==== FUNCIONES GENERALES==================================*/ void main(void) { UINT32 burstSize; UINT32 seqNum; bool condicion; BYTE dist; BYTE tempe; BYTE mensel; int i; // Elegimos el oscilador de cristal como señal de reloj halPowerClkMgmtSetMainClkSrc(CRYSTAL); // Seleccionamos la frecuencia y el Data-Rate 64 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz radioConfigure(10000, 2420000); //Seleccionamos el modo de transmisión mode = RADIO_MODE_TX; //ENTRADAS ANALÓGICAS:--> P0_1 , P0_2 ADCCFG=0x06; //Activamos los leds1 y 2 Led1_ON(); Led2_ON(); // Configuramos el DMA para mover los datos desde el buffer de empaquetamiento a la radio dmaRadioSetup(RADIO_MODE_TX); // Configuramos las interupciones HAL_INT_ENABLE(INUM_RF, INT_ON); // Enable RF general interrupt RFIM = IRQ_DONE; // Mask IRQ_DONE flag only INT_GLOBAL_ENABLE(INT_ON); // Enable interrupts globally // Construimos el paquete que queremos transmitir radioPktBuffer[0] = PACKET_LENGTH; // Length byte radioPktBuffer[1] = (BYTE) (NETWORK_ID_KEY>>8); // Network identifier radioPktBuffer[2] = (BYTE) NETWORK_ID_KEY; //Comenzamos un bucle de forma constante while (TRUE) { //Obtenemos los datos de los sensores y seguimos construyendo el paquete //Estas funciones se analizarán más adelante radioPktBuffer[7] = (BYTE) getdistancia(); radioPktBuffer[8] = (BYTE) getTempLM335(); //Elegimos el número de paquetes con esta información que se enviarán burstSize =1; // Transmitimos el número de paquetes for (seqNum = 1; seqNum <= burstSize; seqNum++) { // Se forma la parte final de la trama con la secuencia correcta del num de paquete pktSetSeqNum(seqNum); // Transmitimos el paquete DMAARM |= DMAARM_CHANNEL0; // Arm DMA channel 0 RFST = STROBE_TX; // Switch radio to TX // Esperamos hasta que la transferencia de la radio esté completa y bajamos el // flag del registro del evento asociado a esta interrupción. while(!pktSentFlag); pktSentFlag = FALSE; 65 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz // Esperamos 3ms para que el receptor haga sus propias tareas antes de recibir //otro paquete halWait(3); } } //Desaactivamos los indicadores leds1 y 2 Led1_OFF(); Led2_OFF(); } } /*==== FUNCIONES PRIVADAS====================================*/ /*==== RUTINAS DE INTERRUPCIÓN===============================*/ /********************************************************************** * @fn rf_IRQ * * @brief * The only interrupt flag which throws this interrupt is the IRQ_DONE interrupt. * So this is the code which runs after a packet has been received or * transmitted. * * Parameters: * * @param void * * @return void * #pragma vector=RF_VECTOR __interrupt void rf_IRQ(void) { RFIF &= ~IRQ_DONE; // Tx/Rx completed, clear interrupt flag // Clear the general RFIF interrupt registers S1CON &= ~0x03; if (mode == RADIO_MODE_RX) { pktRcvdFlag = TRUE; } else { pktSentFlag = TRUE; } } /*==== END OF FILE ===========================================*/ 66 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Adquisición de datos : getdistancia() y getTempLM335() En este subapartado describiremos las funciones creadas usando el programa IAR Embedded Workbench necesarias para la adquisición y tratamiento de las señales analógicas procedentes del sensor de distancia y del sensor de temperatura y que son tratadas por el módulo periférico integrado ADC del CC2510. Estos sensores serán analizados posteriormente en el Nivel Hardware del Sistema Inalámbrico de Medida. • FUNCIÓN getdistancia() Esta función tiene como objetivo transformar la tensión que recibe una entrada analógica predeterminada, en un valor de distancia. Es decir, dado un valor de entrada en V, la función debe devolver un valor en cm. Este valor será el que enviemos vía radio al host. Seguidamente se presenta el código elaborado para conseguir este proceso. /********************************************************************** * Función: getdistancia * * Resumen: * Obtener la distancia dada por Sharp * Reference voltage: VDD en PIN AVDD --> (2.1-3.6) V, (3.3V) Resolution: 12 bits, ADC input: Distancia sensor LM335 en AIN2 Obtenemos experimentalmente la curva de calibración del sensor * Parámetros: * @param void * * @return float * Valor de la Distancia del Sharp **********************************************************************/ float getdistancia(void){ //Declaramos las variables necesarias unsigned int adcValue2; float Vo; float dist; do { //Escribimos en los registros del ADC los valores necesarios según nuestras especificaciones ADCCON2 = 0xB2; ADCCON1 = 0x73; 67 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz //Mientras no se alcance el final de la conversión… while(!(ADCCON1 & 0x80)); //Grabamos el registro bajo del ADC en nuestra variable adcValue2 adcValue2 = ADCL; //Grabamos el registro alto del ADC en nuestra variable, desplazado 8 bits adcValue2 |= (((unsigned int)ADCH) << 8); } while(0); //Desplazamos 4 bits nuestro registro a la derecha ya que la conversión resultante //siempre reside en la sección MSB del registro ADC ( ADCH:ADCL ) adcValue2 >>= 4; // Shift 4 due to 12 bits resolution //Multiplicamos por la constante de conversión Vo = adcValue2 * CONST2; // Según nuestra ecuación de calibrado(ver Nivel Hardware) la distancia resultante es dist=((0.9619*(Vo*Vo*Vo*Vo*Vo*Vo))(10.211*(Vo*Vo*Vo*Vo*Vo))+(45.122*(Vo*Vo*Vo*Vo))(107.77*(Vo*Vo*Vo))+(150.91*(Vo*Vo))-(125.31*Vo)+57.778); //Devolvemos la distancia return dist; } Aclaraciones del Código: 1. REGISTROS ADCCON1 Y ADCCON2 Estos registros controlan el ADC del CC2510. Para configurarlos correctamente hay que recurrir a las hojas de características. De esta forma, la figuras 7.3 y 7.4 muestran el contenido de estos registros. El valor de estos registros se escribe directamente en hexadecimal. Así pues en este caso particular ADCCON2 = 0xB2. Si nos fijamos en la figura 7.3, y traducimos 0xB2 a binario entenderemos el porqué de este valor. Es un detalle a tener en cuenta ya que nos servirá para entender la nomenclatura de este datasheet. Ver el ejemplo en la tabla 6.1. 0xB2 1011 0010 POSICIÓN BIT DESCRIPCIÓN 7:6 10 VDD en el pin AVDD 5:4 11 12 bits de resolución 3:0 0010 Entrada analógica AIN2 Tabla 7.1 – Ejemplo del registro ADCCON2 68 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.3 – Registro ADCCON2 De la misma manera actuamos con el registro ADCCON1 cuyo valor es ADCCON1 = 0x73. Si nos fijamos en el significado de este valor en la figura 7.4, vemos lo que queremos conseguir de este registro. 69 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.4 – Registro ADCCON1 2. REGISTRO ADC El registro ADC se divide en dos registros. ADCL contiene la parte menos significativa del registro ADC y ADCH contiene la parte más significativa, tal y como se aprecia en la figura 7.5. De esta forma hay que prestar atención a la hora de cargar el valor del registro ADC en la variable adcValue2 de nuestro código y realizar los desplazamientos oportunos atendiendo al número de bits de resolución que hayamos configurado previamente en el registro ADCCON2. Figura 7.5 – Registro ADC 70 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 3. Constante de conversión CONST2. Esta constante tiene su origen en la división que se produce en cualquier Conversión Analógica-Digital. Ya que se divide el rango de tensión total (elegimos una referencia interna de 3.28V) entre el valor máximo del ADC que en este caso es 211-1 (2047) debido a que este valor es dado en complemento a 2. Así pues: CONST2= 0.00160234 = (3.280V / 2047) 4. Calibrado del sensor de distancia Esta ecuación de calibrado se ha obtenido de manera experimental, tal y como se mostrará en el Nivel Hardware. 71 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz • FUNCIÓN getTempLM335() De manera similar a la función anterior, obtenemos la temperatura dada por el sensor LM335. El código de esta función es el siguiente /******************************************************************* Función: getTempLM335 * * Resumen: * Obtener la Temperatura del LM335 a través del ADC -->DN102 * Reference voltage: VDD en PIN AVDD --> (2.1-3.6) V, (3.3V) Resolution: 12 bits, ADC input: Temperature sensor LM335 en AIN1 Asumimos un punto de calibración obtenido de manera experimental modificable a través del potenciómetro (hardware)-->OFFSET_exp=0; * Parámetros: * * @param void * * @return float * Valor de la Temperatura del LM335 * * **********************************************************************/ float getTempLM335(void){ unsigned int adcValue1; float outputVoltage1; do { ADCCON2 = 0xB1; ADCCON1 = 0x73; while(!(ADCCON1 & 0x80)); adcValue1 = ADCL; adcValue1 |= (((unsigned int)ADCH) << 8); } while(0); adcValue1 >>= 4; outputVoltage1 = adcValue1 * CONST1; return ((outputVoltage1 - OFFSET_DATASHEET1) / TEMP_COEFF1); } 72 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Aclaraciones del Código: 1. OFFSET_DATASHEET1 y TEMP_COEFF1 El offset_datasheet1, que aparece en la ecuación de calibrado del sensor de temperatura, es un valor necesario que debemos introducir en esta función ya que esperamos que la función nos devuelva la temperatura en ºC en lugar de K. Por su parte el coeficiente temp_coeff1 proviene de la propia hoja de características del dispositivo LM335. Aunque todo esto se verá con mayor detalle en el apartado Nivel Hardware correspondiente a estos sensores. 73 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.1.2- Receptor De la misma manera que se hizo en la descripción del transmisor, recordaremos de forma general las funciones que debe realizar este módulo. • Modo de RECEPCIÓN Recepción válida del paquete de envío construido en el transmisor Tratamiento de los datos por parte del host Visualización de los datos • Modo de TEMPERATURA Visualización de la temperatura del MCU Así pues, se presentará a continuación el diagrama de flujo correspondiente al programa de este módulo receptor. 74 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Diagrama de flujo INICIO • • • • CONF DE PARÁMETROS Modo Oscilación Cristal Bit-Rate 10kBaud Canal 2.42GHz Modo Receptor SI NO Mensel = ¿ADQ? MODO RECEPCIÓN Mensel = ¿TMP? NO INTERRUPCIONES ON SI MODO TEMPERATURA RECEPCIÓN PAQUETE MOSTRAR VALORES mostrartemp() NO ¿PAQUETE VÁLIDO? NO SI ¿BOTÓN PULSADO? SI TRATAMIENTO DATOS • dist = Valor_Distancia • tempe = Valor_Temperatura MOSTRAR VALORES mostrarvaloresdist() mostrarvalorestemp() SI ¿BOTÓN PULSADO? NO Figura 7.6 – Diagrama de flujo del Receptor 75 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz A continuación se presenta una explicación detallada de este diagrama. En primer lugar, el programa comienza a ejecutarse (INICIO) cuando el receptor se conecta a la alimentación. El siguiente paso es configurar ciertos parámetros referentes a la radio (CONF DE PARÁMETROS). En este caso, al igual que en el transmisor, elegimos un modo de oscilación activo. Además, seleccionamos el mismo Bit-Rate y el mismo canal que en en el transmisor. En cambio, aplicamos un estado de funcionamiento en modo receptor, esto es, configuramos el módulo DMA del CC2510 para trasladar los datos que queremos enviar, desde la radio hasta el buffer de empaquetamiento (acción contraria que en el transmisor) sin necesidad de que intervenga la CPU. Seguidamente entraríamos en una interfaz de usuario, donde éste puede elegir entre dos opciones. Si la variable mensel toma el valor “ADQ”, el programa entra en el MODO RECEPCIÓN. Aquí, el primer paso (INTERRUPCIONES) consiste en activar las interrupciones que se producen cuando ocurre algún evento. De esta manera seremos capaces, por ejemplo, de detectar que una recepción se ha realizado completamente o que se ha recibido un paquete válido. Posteriormente se produce el evento RECEPCIÓN PAQUETE, donde se recibe un paquete enviado por el transmisor. En realidad el paquete puede ser recibido desde cualquier medio de transmisión (en ese canal) por lo que la siguiente acción (¿PAQUETE VÁLIDO?) consiste en validarlo antes de continuar. Si el paquete es correcto, pasamos a TRATAMIENTO DATOS, donde extraemos la información que nos interesa del mismo, almacenándola en las variables dist y tempe. Como el transmisor emite de manera continua, el siguiente nivel es volver al estado de RECEPCIÓN PAQUETE, en el caso de que no hayamos pulsado el botón, ya que si esto ocurre, el programa vuelve al menú principal. Por el contrario, si el usuario selecciona la opción MODO TEMPERATURA, a través de la variable mensel=TMP, el programa muestra la temperatura del MCU hasta que el propio usuario pulse el botón, acción que le devolverá al menú principal. 76 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Programa Principal A continuación se muestra el programa principal del módulo receptor, creado en lenguaje C usando el entorno de programación IAR Embedded Workbench. Cabe mencionar, que no todas las funciones utilizadas en el código serán mostradas debido a la extensión que ocuparía este documento. Además, muchas de estas funciones son propias del dispositivo y son suministradas por el fabricante. Aún así, el programa completo se presenta en un CD adjunto a este documento en el entorno de programación antes mencionado. /*----------------------------------------------------------------------------| Archivo: Receptor_ pfc.c | Tarjeta: cc2510 | Autor: Juan Santaella Hernández | Fecha: 10/09/2009 | Revision: 1.0 | Proyecto: Sistema Inalámbrico para Medida de Distancia y Temperatura /*-----------------------------------------------------------------------------*==== INCLUDES ==============================================*/ #include "hal_main.h" #include "per_test_main.h" #include "stdbool.h" /*==== FUNCIONES GENERALES==================================*/ void main(void) { UINT32 burstSize; UINT32 seqNum; bool condicion; BYTE dist; BYTE tempe; BYTE mensel; int i; // Elegimos el oscilador de cristal como señal de reloj halPowerClkMgmtSetMainClkSrc(CRYSTAL); // Inicializamos el LCD de la SmartRF04_EB halBuiInitLcd(); // Seleccionamos la frecuencia y el Data-Rate radioConfigure(10000, 2420000); 77 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz while(TRUE){ mensel=selopcionmenu(); //Según la opción seleccionada hacemos una cosa u otra: //ADQ--> Adquirir datos permanentemente del MS //TMP--> Ver la temperatura del Micro del MM if (mensel == ADQ) { //Adquirir datos permanentemente del Transmisor //Seleccionamos el modo de recepción mode = RADIO_MODE_RX; // Configuramos el DMA para trasladar los paquetes desde la radio al buffer dmaRadioSetup(RADIO_MODE_RX); // Activamos las interrupciones HAL_INT_ENABLE(INUM_RF, INT_ON); // Enable RF general interrupt RFIM = IRQ_DONE; // Mask IRQ_DONE flag only INT_GLOBAL_ENABLE(INT_ON); // Enable interrupts globally // Cargamos en el LCD halBuiLcdUpdate("Ready to", "receive"); Comenzamos a recibir DMAARM = DMAARM_CHANNEL0; // Arm DMA channel 0 RFST = STROBE_RX; // Switch radio to RX // No avanzamos hasta que se levante la bandera de paquete recibido while (!pktRcvdFlag); // Mientras no pulsemos el botón, estamos en el bucle de RECEPCIÓN while (!halBuiButtonPushed()) { // Comprobamos la validez del paquete recibido if (pktRcvdFlag) { pktRcvdFlag = FALSE; if (pktCheckValidity()) { //Si el paquete es válido, extraemos los datos que nos interesan de él y los //almacenamos en las variables correspondiente dist=radioPktBuffer[7]; tempe=radioPktBuffer[8]; //Activamos el LED1 para indicar el enlace LED1 = LED_ON; // Turn on LED to indicate PER test link } //No necesitamos el buffer más, por lo que rearmamos el DMA para el //siguiente paquete DMAARM = DMAARM_CHANNEL0; 78 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz RFST = STROBE_RX; // Apagamos el LED1 LED1 = LED_OFF; } //Mostramos los valores de distancia y temperatura a través del LCD mostrarvaloresdist((float)dist , LINE1, 1); mostrarvalorestemp((float)tempe , LINE2, 1); } }else if (mensel == TMP){ //Ver la temperatura del MCU del receptor while (!halBuiButtonPushed()){ halBuiLcdUpdate("TEMP_MICRO", ""); mostrartemp(getTemp() , LINE2); } while (!halBuiButtonPushed()); } } /*==== FUNCIONES PRIVADAS====================================*/ /*==== RUTINAS DE INTERRUPCIÓN===============================*/ /********************************************************************** * @fn rf_IRQ * * @brief * The only interrupt flag which throws this interrupt is the IRQ_DONE interrupt. * So this is the code which runs after a packet has been received or * transmitted. * * Parameters: * * @param void * * @return void * #pragma vector=RF_VECTOR __interrupt void rf_IRQ(void) { RFIF &= ~IRQ_DONE; // Tx/Rx completed, clear interrupt flag S1CON &= ~0x03; // Clear the general RFIF interrupt registers if (mode == RADIO_MODE_RX) { pktRcvdFlag = TRUE; } else { pktSentFlag = TRUE; } } /*==== END OF FILE ===========================================*/ 79 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Adquisición de datos : Función getTemp() Esta función tiene como objetivo obtener la temperatura del MCU (microcontrolador) del CC2510. Este dispositivo posee un sensor interno de temperatura, cuya salida puede ser entrada del propio ADC del CC2510, a través de una configuración adecuada. Por tanto, esta función debe proporcionar dicha configuración como veremos a continuación. El código es el siguiente. /********************************************************************** * Función: getTemp * * Resumen: * Obtener la Temperatura del Micro a través del ADC -->DN102 * Reference voltage: Internal 1.25 V, Resolución: 12 bits, ADC input: Sensor de Temperatura Asumimos un offset de 29.75mV (Hoja de Características) * Parámetros * @param void * * @return float * Valor de la Temperatura del microcontrolador **********************************************************************/ float getTemp(void){ unsigned int adcValue; float outputVoltage; do { ADCCON2 = 0x3E; ADCCON1 = 0x73; while(!(ADCCON1 & 0x80)); adcValue = ADCL; adcValue |= (((unsigned int)ADCH) << 8); } while(0); // Desplazamos 4 bits debido a los 12 bits de resolución outputVoltage = adcValue * CONST; return ((outputVoltage - OFFSET) / TEMP_COEFF); } 80 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Aclaraciones del Código: 1. CONST Esta constante tiene su origen en la división que se produce en cualquier Conversión Analógica-Digital. Ya que se divide el rango de tensión total (elegimos una referencia interna de 1.25V) entre el valor máximo del ADC que en este caso es 211-1 (2047) debido a que este valor es dado en complemento a 2. Así pues: CONST = 0.61065 // (1250 / 2047) 2. OFFSET El offset que aparece en la ecuación de calibrado del sensor de temperatura, es un valor necesario que debemos introducir en esta función y cuyo origen es experimental. Este valor lo proporciona el propio fabricante ya que no se puede acceder al sensor de forma externa. 3. TEMP_COEFF Esta coeficiente también lo proporciona el fabricante. 81 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Visualización de datos: • mostrarvaloresdist() y mostrarvalorestemp() FUNCIÓN mostrarvalorestemp() Esta función tiene como objetivo mostrar al usuario el valor de la temperatura a través del LCD de la SmartRF04_EB. La función recibe la temperatura, la línea del LCD donde se quiere mostrar este valor y el número de secuencia del dato. A continuación se muestra el código del proceso. /******************************************************************** * Función: mostrarvalorestemp * * Resumen: * Muestra la temperatura de la muestra X * * Parámetros:* * @param float tempmicro //Temperatura a mostrar* * @param UINT8 line * @param UINT8 nummuestra * * @return void *********************************************************************/ void mostrarvalorestemp(float tempmicro , UINT8 line, UINT8 nummuestra) { char vtemp[15]; char letra[2]; //Escribimos un tipo char en un vector sprintf(letra,"%d",nummuestra); //Escribimos "TEMP" antes del valor halBuiLcdUpdateChar(line, 0, 'T'); halBuiLcdUpdateChar(line, 1, 'E'); halBuiLcdUpdateChar(line, 2, 'M'); halBuiLcdUpdateChar(line, 3, 'P'); halBuiLcdUpdateChar(line, 4, letra[0]); halBuiLcdUpdateChar(line, 5, ':'); //Primero almacenamos el valor numérico de la temperatura en un char array sprintf(vtemp,"%4.1f",tempmicro); //Ahora escribimos caracter a caracter en la segunda línea del LCD halBuiLcdUpdateChar(line, 7, vtemp[0]); halBuiLcdUpdateChar(line, 8, vtemp[1]); halBuiLcdUpdateChar(line, 9, vtemp[2]); halBuiLcdUpdateChar(line, 10, vtemp[3]); halBuiLcdUpdateChar(line, 11, ' '); halBuiLcdUpdateChar(line, 12, 'C'); return ;} 82 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz • FUNCIÓN mostrarvaloresdist() Esta función tiene como objetivo mostrar al usuario el valor de la distancia a través del LCD de la SmartRF04_EB. La función recibe la distancia, la línea del LCD donde se quiere mostrar este valor y el número de secuencia del dato. A continuación se muestra el código del proceso. /******************************************************************** * Función: mostrarvaloresdist * * Resumen: * Muestra la distancia de la muestra X * * Parámetros:* * @param float tempmicro //Distancia a mostrar (Variable LOCAL) * @param UINT8 line * @param UINT8 nummuestra * * @return void *********************************************************************/ void mostrarvaloresdist(float tempmicro , UINT8 line, UINT8 nummuestra) { char vtemp[15]; char letra[2]; //Escribimos un tipo char en un vector sprintf(letra,"%d",nummuestra); //Escribimos "TEMP" antes del valor halBuiLcdUpdateChar(line, 0, 'D'); halBuiLcdUpdateChar(line, 1, 'I'); halBuiLcdUpdateChar(line, 2, 'S'); halBuiLcdUpdateChar(line, 3, 'T'); halBuiLcdUpdateChar(line, 4, letra[0]); halBuiLcdUpdateChar(line, 5, ':'); //Primero almacenamos el valor numérico de la temperatura en un char array sprintf(vtemp,"%4.1f",tempmicro); //Ahora escribimos caracter a caracter en la segunda línea del LCD halBuiLcdUpdateChar(line, 7, vtemp[0]); halBuiLcdUpdateChar(line, 8, vtemp[1]); halBuiLcdUpdateChar(line, 9, vtemp[2]); halBuiLcdUpdateChar(line, 10, vtemp[3]); halBuiLcdUpdateChar(line, 11, 'c'); halBuiLcdUpdateChar(line, 12, 'm'); return ;} 83 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.1.3- Funciones comunes En este subapartado, se muestran algunas de las funciones comunes de los códigos del Transmisor y del Receptor. Estas funciones corresponden al encendido y el apagado de los leds. Se ha creído importante introducir estas funciones aquí, ya que muestran al lector la forma de poner en alto y bajo los pines del dispositivo CC2510. De esta manera tenemos lo siguiente. Funciones Led1_ON() y Led1_OFF() Led1_ON() Esta función tiene el objetivo de activar un Led a partir de un pin del CC2510. El código de esta función se muestra a continuación. /********************************************************************** * Función: Led1_ON() * * Resumen: * Activa Led1 * * Parámetros: * @param void * * @return void ********************************************************************** void Led1_ON(void) { //Pone P1_0 a 0 -->LED1_ON P1_0=0; IO_DIR_PORT_PIN(1, 0, IO_OUT); P1SEL &= ~0x03; } Los pasos a seguir son 3: 1. Poner la salida del pin en el estado lógico deseado (0 en nuestro caso) 2. Configurar este pin como salida 3. Configurar la salida como salida periférica (Ver registro P1SEL en la hoja de características). 84 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz De igual forma encontramos la función que desactiva o apaga el Led. La estructura es la básicamente la misma que la anterior. Led1_OFF() Esta función tiene el objetivo de activar un Led a partir de un pin del CC2510. El código de esta función se muestra a continuación. /********************************************************************** * Función: Led1_OFF() * * Resumen: * Desactiva Led1 * * Parámetros: * @param void * * @return void ********************************************************************** void Led1_ON(void) { //Pone P1_0 a 0 -->LED1_OFF P1_0=1; IO_DIR_PORT_PIN(1, 0, IO_OUT); P1SEL &= ~0x03; } Los pasos a seguir son 3: 4. Poner la salida del pin en el estado lógico deseado (1 en este caso) 5. Configurar este pin como salida 6. Configurar la salida como salida periférica (Ver registro P1SEL en la hoja de características). 85 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.2- NIVEL HARDWARE En este apartado se describirá el hardware utilizado en la construcción del “Sistema Inalámbrico para Medida de Distancia y Temperatura”. Este hardware dará soporte físico al sistema total y se divide en tres grupos diferentes. En primer lugar tenemos los sensores de medida. En segunda posición se encuentra el módulo receptor o host. Por último, y como no podía ser de otra manera, tenemos el módulo transmisor que complementa al host. Estos tres conjuntos se detallan a continuación. 7.3.2.1- Sensores A) Sensor de Distancia SHARP GP2D120. El sensor GP2D120 es un dispositivo optoelectrónico de medida de distancias por infrarrojos (IR), que consta de un procesador integrado de señal y una salida de tensión analógica. Este sensor emite una señal hacia el exterior. El propio dispositivo recoge la señal reflejada en un objeto, obteniendo de esta manera una tensión de entrada que se puede relacionar con la distancia a dicho objeto. Las características más importantes del dispositivo son las siguientes Salida Analógica Rango efectivo de medida: 4-30 cm Tiempo de respuesta: 39ms Consumo de corriente media: 33mA Figura 7.7 – Representación del GP2D120 86 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Un aspecto a tener en cuenta es la calibración del dispositivo. La respuesta de éste, es una respuesta no lineal. La hoja de características del dispositivo, nos ofrece una gráfica de la salida (V) del sensor frente a la distancia medida. Esto se muestra en la figura 7.8. Figura 7.8 – Curva del Fabricante Tensión_salida vs Distancia del GP2D120 87 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Para validar este modelo y tener unos datos objetivos y precisos de nuestro sensor, se ha decido reconstruir esta gráfica de manera experimental para una superficie de reflexión dada que será la que utilizaremos en nuestra aplicación. De esta forma, midiendo la tensión de salida frente a la distancia medida, obtenemos la siguiente representación (figura 7.9). CALIBRADO GP2D120 3 2,5 Vo (V) 2 1,5 1 0,5 0 0 5 Cal_Superfice_Oscura 10 15 20 25 30 35 Distancia (cm) Figura 7.9 – Curva Experimental Tensión_salida vs Distancia del GP2D120 88 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Podemos observar que las dos curvas (fabricante y experimental) se asemejan, por lo que podemos concluir que la curva de calibración experimental es válida, y por tanto, será nuestro punto de partida a la hora de obtener la distancia medida Según la hoja de características del sensor, éste es fiable en dos condiciones de trabajo: 1. Ambiente no contaminado Al ser un dispositivo que funciona por infrarrojos, la luz exterior al mismo puede dar como resultado medidas erróneas. A su vez, la superficie reflectora debería ser siempre la misma ya que un cambio de la misma puede provocar igualmente variaciones en la medida. 2. Rango de medidas fiable Según el fabricante, sólo se pueden realizar medidas fiables en el rango de 4 a 30cm. De esta forma, la ecuación de calibración utilizada a nivel software en el apartado correspondiente se limita a este rango tal y como se observa en la figura 7.10. Rango Válido de Actuación 3 Rango Válido Polinómica (Rango Válido) 2,5 Vo (V) 2 1,5 1 0,5 0 3 8 13 18 23 28 Distancia (cm) Figura 7.10 – Rango Válido Experimental de Actuación del GP2D120 A partir de un ajuste polinomial de sexto orden, obtenemos la ecuación de calibrado usada en la programación del dispositivo CC2510, donde D(cm) y V(V). D(Vo) = 0,9619Vo6 - 10,211Vo5 + 45,122 Vo4 - 107,77Vo3 + 150,91Vo2 - 125,31Vo + 57,778 (E7.1) 89 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Algunas fotografías realizadas durante el proceso de calibración, muestran el proceso de obtención de los datos experimentales anteriores. Figura 7.11 – Calibración del GP2D120 _1 Figura 7.12 – Calibración del GP2D120 _2 90 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz B) Sensor de Temperatura LM335 El dispositivo LM335, es un sensor de temperatura preciso y de fácil calibrado. Opera como un diodo zener de dos terminales con una tensión de ruptura directamente proporcional a la temperatura absoluta, con un coeficiente de temperatura igual a 10mV/ºK. Las características generales del sensor son las siguientes: Salida de Tensión Analógica Fácil calibrado Bajo coste De la misma manera que en el sensor anterior, un aspecto a tener en cuenta es la calibración del dispositivo. A diferencia del sensor de distancias, este dispositivo muestra una respuesta lineal a la salida, facilitando en gran medida el calibrado del mismo. Según la hoja de características del fabricante, si representamos la tensión de salida frente a la temperatura, obtenemos lo siguiente (figura 7.13). CALIBRADO LM335 3200 3200 Tensión Salida (mV) 3100 3000 f( x) 2900 2800 2700 Teórica 2600 2600 0 0 10 20 30 40 x 50 50 Temperatura (ºC) Figura 7.13 – Curva Teórica Tensión_salida vs Temperatura del LM335 91 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Por tanto, la ecuación que deberíamos usar en la programación del CC2510 sería Vo(T) = 10 T + 2731.5 (E7.2) Sin embargo necesitamos un punto de calibración experimental, ya que, según el fabricante, existen errores en la tensión de salida debido a errores en la pendiente real de la curva. De esta manera, el dispositivo muestra un offset (figura 7.14) que se resuelve mediante el cálculo de este punto de calibración. OFFSET EXPERIMENTAL 3200 3200 Tensión Salida (mV) 3100 3000 f( x) y ( x) 2900 2800 2700 Teórica Experimental 2600 2600 0 0 10 20 30 40 x 50 50 Temperatura (ºC) Figura 7.14 – Offset entre Curvas Teórica y Experimental De esta forma la ecuación resultante sería: Vo(T) = 10 T + 2731.5 + Offset (E7.3) 92 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Para corregir esta variación, se incorpora un potenciómetro (figura 7.15) al dispositivo, que se regula hasta que se obtiene una tensión de salida a una temperatura conocida (2.982V a 25ºC , según el fabricante), haciendo válida, por tanto, la expresión inicial: Vo(T) = 10 T + 2731.5 (E7.4) Esta ecuación de calibrado es la utilizada en la programación del CC2510, que nos da una temperatura en ºC para una tensión dada en mV. Figura 7.15 – Diagrama del sensor LM335 93 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz C) Sensor Integrado de Temperatura El SoC CC2510, incorpora un sensor de temperatura que está conectado directamente a uno de los canales del ADC y que nos indica la temperatura alcanzada del MCU. Esta configuración se puede apreciar en la figura 7.16, donde se muestra un diagrama esquemático del propio ADC. Figura 7.16 – Diagrama de bloques del ADC del CC2510 De esta forma podemos calcular la temperatura del MCU a través de la expresión dada por el fabricante Temp = Vo( mV ) − 779.75( mV ) 2.43( mV ºC ) Programando adecuadamente las entradas del ADC como se vio en el apartado Nivel Software, y basándonos en esta ecuación, obtenemos la temperatura del MCU de una manera relativamente sencilla. Por otro lado, cabe destacar que esta medida puede no ser del todo fiable debido a la inviabilidad de calibración del propio sensor de temperatura que incorpora el CC2510. Por tanto, no podemos hacer una comparación entre las medidas teóricas proporcionadas por el fabricante, y las experimentales. 94 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.2.2- Módulo HOST Antes de describir este módulo conviene recordar las funciones que debe cumplir. El receptor o host, (figura 7.17) recibirá los datos procedentes del transmisor, y se encargará de mostrarlos al usuario en tiempo real De forma esquemática tenemos las siguientes acciones • RECEPCIÓN Recepción válida del paquete de envío construido en el transmisor • VISUALIZACIÓN Visualización de los datos. Figura 7.17 - Host Una vez que tenemos en mente las funcionalidades del receptor, presentaremos el soporte físico donde se sustenta este módulo. 95 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Para tal fin, usaremos como módulo receptor la tarjeta SmartRF04_EB junto con el CC2510EM (figura 7.18) que vimos en el apartado 5 “Herramientas de desarrollo”. Figura 7.18 – Módulo Receptor Esta decisión se debe a que este conjunto físico responde perfectamente a las exigencias que nos planteamos en relación al módulo receptor. Por un lado, el sistema es capaz de recibir los datos procedentes del transmisor y mostrarlos por la pantalla LCD que incorpora. Por otro lado, podemos programar el dispositivo CC2510 de una manera rápida y sencilla a través de esta placa (conexión USB al PC) y del programa SmartRF® Flash Programmer. Además el CC2510EM proporciona una fiabilidad demostrada, en cuanto a la transmisión/recepción de datos a 2.4 GHz. De hecho, el fabricante del dispositivo CC2510 recomienda el uso de este esquemático en el desarrollo de cualquier aplicación de radiofrecuencia donde se utilice el propio CI CC2510. En definitiva, la principal tarea que debemos llevar a cabo para la puesta a punto de este módulo, será la de programar el CC2510 con el código desarrollado en el Nivel Software. 96 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.2.3- Módulo TRANSMISOR Igual que hicimos anteriormente, es conveniente recordar las funciones que debe cumplir realizar este módulo. El transmisor, (figura 7.19) estará encargado de adquirid los datos del exterior (temperatura y distancia) y transmitirlos de manera constante al host. De forma esquemática tenemos las siguientes acciones • ADQUISICIÓN Adquisición de Temperatura y Distancia • TRANSMISIÓN Transmisión de los datos al receptor. Figura 7.19 - Transmisor Una vez que tenemos en mente las funcionalidades del transmisor, presentaremos el soporte físico donde se sustenta este módulo. 97 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz En un primer prototipo, utilizaremos como transmisor la tarjeta SmartRF04_EB junto con el CC2510EM (figura 7.18) que vimos en el apartado 5 “Herramientas de desarrollo”. Esto se hace necesario ya que en primer lugar debemos comprobar que el módulo funciona como tal, es decir, necesitamos depurar los posibles errores cometidos tanto a nivel de software (programa del transmisor), como a nivel de hardware (sensores). De esta manera, colocamos las salidas analógicas de los sensores a las entradas correspondientes de los conectores I/O (figura 7.20), siguiendo los esquemas de la hoja de características de la placa SmartRF04_EB. Figura 7.20 – Conectores I/O Para identificar correctamente los pines que queremos usar como entradas analógicas (P0_1 y P0_2 en nuestro caso) debemos recurrir a la tabla 7.21 como ya vimos en el capítulo 5 de este documento. Tabla 7.21 – Conectores I/O 98 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Una vez realizado esto, programamos adecuadamente el CC2510 a través del PC y el SmartRF® Flash Programmer y depuramos los posibles errores del sistema final, esto es, comunicación correcta entre los dos módulos receptor y transmisor. Figura 7.22 – Sistema Completo 99 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 7.3.2.4- Diseño de un MÓDULO TRANSMISOR AUTÓNOMO Una vez que hemos depurado los errores y que comprobamos que el sistema total funciona tal y como lo hemos diseñado, nos planteamos llegar un poco más lejos y proceder a diseñar un transmisor independiente. Esto es, basándonos en los esquemas correspondientes a la SmartRF04_EB queremos construir una tarjeta específica que cumpla los objetivos planteados para el módulo transmisor sin depender de la propia placa SmartRF04_EB. Para este fin, haremos uso de la placa CC2510EM (figura 7.23) para implementar el circuito de Radio, ya que el CC2510EM proporciona una fiabilidad demostrada, en cuanto a la transmisión/recepción de datos a 2.4 GHz. Además, de esta forma facilitaremos el diseño de la tarjeta transmisora. Figura 7.23 – CC2510EM En este punto, podemos deducir que nuestro objetivo es crear un sistema parecido a la SmartRF04_EB, que sirva de soporte al CC2510EM, con unas condiciones muy particulares: Servir como fuente de alimentación al dispositivo CC2510 Suministrar una potencia adecuada a los sensores externos Proporcionar un acceso directo a los pines I/O del CC2510 que nos interesan (entradas analógicas, salidas a periféricos) 100 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Un esquema modular del transmisor completo que se pretende diseñar sería el siguiente (figura 7.24) Figura 7.24 – Esquema del Transmisor Las ventajas de este nuevo transmisor serían básicamente dos Reducción del espacio Portabilidad Diseño en función de una Aplicación Específica La herramienta de desarrollo que se utilizará en el diseño de esta placa será el software de diseño PCB PADS de Mentor Graphics. Este programa se divide en tres partes diferenciadas 1. PADS LOGIC Diseño de los esquemáticos del circuito 2. PADS LAYOUT Posicionamiento de los componentes 3. PADS ROUTER Ruteado de las pistas Además, para completar el diseño de la placa se han tenido que crear librerías con los componentes necesarios, basándose en las hojas de características de la tarjeta SmartRF04_EB. 101 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 1. ESQUEMÁTICOS DEL SISTEMA Alimentación El sistema debe poder suministrar potencia en tres niveles de tensión según las especificaciones técnicas, esto es, 3.3V, 1.8V y 5V. Las dos primeras tensiones corresponden a la alimentación del CC2510EM y la tensión de 5V corresponde a los sensores de temperatura y de distancia. De esta manera diseñaremos el sistema para que obtenga estos valores a partir de una fuente de alimentación de 9V. Para ello necesitaremos i) Interruptor de entrada ii) Regulador a 3.3V: LP298533 iii) Regulador de tensión a 1.8V: LP298518 iv) Regulador de tensión a 5V: LM7805 Un esquema de lo anterior lo encontramos en la figura 7.25. Figura 7.25 – Suministro de Potencia 102 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Periféricos Este módulo debe tener una serie de periféricos que den funcionalidad al sistema como son v) Sensor de Temperatura: LM335 vi) Sensor de Distancia: GP2D120 vii) LEDs de indicación viii) Switch de RESET Un esquema de la interconexión de los periféricos se visualiza en la figura 7.26. Figura 7.26 - Periféricos 103 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Pins I/O El sistema debe proporcionar un acceso directo a los pines I/O del CC2510 que nos interesan (entradas analógicas, salidas a periféricos) ix) Conector I/O La representación de este conector se refleja en la figura 7.27. Figura 7.27 – Esquema de los Conectores I/O Conexión CC2510EM Se debe poder acoplar el módulo CC2510EM que realiza las funciones de la radio. Esto se hará mediante unos conectores específicos para ello. Se representan en la figura 7.28. Figura 7.28 – Conectores SMD El esquema completo del sistema se muestra en la figura 7.29 104 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.29 – Esquemático de la Tarjeta_Base_Transmisor RF 105 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 2. LAYOUT DE LA PLACA A partir del esquemático anterior obtenemos el layout de la placa como se muestra en la figura 7.30. Aquí se muestran la colocación de los componentes y la interconexión existente entre ellos. 3. RUTEO DE LA PLACA Por último se muestra el ruteo de las pistas a partir del layout. Cabe destacar que se ha elaborado una PCB de doble cara, por lo que existen pistas por las dos superficies de la placa. Esto se visualiza en la figura 7.31. Finalmente, se imprime el fotolito (figura 7.32) correspondiente y se realiza la PCB de manera práctica. 106 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.30 - Layout 107 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.31 – Layout final 108 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.32 - Fotolito 109 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz PROCESO DE FABRICACIÓN A continuación se muestran algunas imágenes del proceso de fabricación de la PCB, desarrollado en el Laboratorio de Proyectos del Departamento de Electrónica y Tecnología de los Computadores de la Universidad de Granada. Figura 7.33 – Diferentes cubetas con productos químicos Figura 7.34 – Proceso de Revelado 110 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Figura 7.35 – Realizando el proceso de atacado Figura 7.36 – Resultado final 111 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz PROCESO DE ENSAMBLADO Aquí se muestran algunas imágenes del proceso de ensamblado de la PCB. Figura 7.37 – Ensamblado de los componentes Figura 7.38 – Sistema Transmisor Completo 112 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz – Implementación final Finalmente, el sistema total quedaría de la siguiente manera (figura 7.39). Figura 7.39 – Sistema Total 113 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 8.- CONCLUSIONES El futuro de la electrónica depende de dos características fundamentales: el tamaño y la potencia consumida. Las tendencias en el desarrollo de esta tecnología, se fundamentan en el intento por reducir al máximo estos parámetros. En esta línea de investigación, el dispositivo CC2510 aquí presentado, cumple con creces estas dos premisas. Su gran capacidad de integración en un reducido tamaño de empaquetamiento, unido a la baja potencia consumida, hacen de este transceptor, un elemento importante a tener en cuenta a la hora de diseñar cualquier sistema basado en radiofrecuencia. Así pues, este proyecto ha pretendido dar a conocer el dispositivo CC2510 de dos formas distintas, una teórica y otra más experimental. El trabajo teórico ha implicado un estudio de los manuales y hojas de características del integrado, la familiarización de las herramientas de desarrollo de este tipo de circuitos y la caracterización de los mismos mediante una serie de medidas experimentales. Por su parte, la labor práctica ha consistido en el diseño e implementación de un radioenlace entre dos placas, basándonos en el dispositivo CC2510 junto con las implicaciones a nivel software (manejo de los programas adecuados, programación del dispositivo CC2510, creación del código general y de las funciones internas correspondientes, control de los sensores) y a nivel hardware (interconexión de las tarjetas SmartRF04_EB, configuración y calibración de los sensores, diseño de una placa transmisora autónoma) que ello conlleva. Por tanto, podemos llegar a la conclusión de que se han alcanzado los objetivos planteados al inicio de este Proyecto Fin de Carrera de Ingeniería en Electrónica, con la esperanza de que éste pueda servir como iniciación en otros proyectos basados en esta tecnología. 114 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 9.- BIBLIOGRAFÍA [1] CC2510 Development Kit User Manual http://focus.ti.com/lit/ug/swru134a/swru134a.pdf [2] Low-Power SoC (System-on-chip) with MCU, Memory, 2.4GHz RF Transceiver http://focus.ti.com/docs/prod/folders/print/cc2510f32.html [3] CC2500 User Manual http://focus.ti.com/docs/prod/folders/print/cc2500.html [4] IAR Embedded Workbench IDE User Guide http://focus.ti.com/lit/ug/swru038/swru038.pdf [5] 8051 IAR C/C++ Compiler Reference Guide [6] 8051 IAR Assembler [7] Texas Instrument website www.ti.com [8] Flash Programmer User Manual http://focus.ti.com/docs/toolsw/folders/print/flash-programmer.html [9] SmartRF Studio User Manual http://focus.ti.com/docs/toolsw/folders/print/smartrftm-studio.html [10] SoC Temperature Sensor Design Note DN102 http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=swra101a [11] Range Measurements in an Open Field Environment Design Note DN018 http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=swra169a [12] PCB Design Software PADS Lab Workbook 115 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 10.- ANEXO 1: PROYECTO INNOVACIÓN DOCENTE DATOS GENERALES Título: Nuevas herramientas para el aprendizaje de técnicas básicas de medida en el laboratorio de electrónica analógica y para el desarrollo de sistemas electrónicos de RF Responsable: Francisco Jiménez Molinos Composición del equipo: • Profesorado UGR: o Pedro Cartujo Cassinello o Francisco J. Gámiz Pérez o Andrés Roldán Aranda o Juan Bautista Roldán Aranda • Colaboradores: Luis Caballero Guindo • Estudiantes: Juan Santaella Hernández, José Antonio Moya Espinosa Área académica a la que se dirige: Enseñanzas técnicas DESCRIPCIÓN Y PLAN DE TRABAJO Acción en la que se enmarca el proyecto: Acción 2: Innovación en metodologías docentes para clases teóricas y prácticas Descripción y objetivos del proyecto: El objetivo global del proyecto es posibilitar la aplicación de nuevas metodologías de enseñanza en los laboratorios de electrónica analógica. Estas nuevas metodologías consistirán, en síntesis, en la aplicación de técnicas instrumentales y herramientas similares a las realmente empleadas en el contexto industrial que encontrarán los alumnos al terminar la carrera. Estas nuevas herramientas se aplicarán en dos vertientes: en primer lugar, para el aprendizaje de los conceptos básicos de electrónica analógica necesarios para trabajar en un laboratorio de electrónica y, en segundo lugar, para el desarrollo de prácticas avanzadas en el ámbito de los sistemas de radiocomunicación y de proyectos fin de carrera. A continuación detallaremos la motivación del presente proyecto de innovación docente y desglosaremos el objetivo global indicado anteriormente en los objetivos concretos que se pretenden obtener. El desarrollo de sistemas electrónicos reales ha evolucionado enormemente en las últimas décadas. Ya no se concibe realizar una aplicación electrónica usando elementos discretos (principalmente, transistores y componentes pasivos) como ladrillos básicos del sistema y diseñar el circuito partiendo de estos elementos como constituyentes fundamentales. En lugar de esto, se emplean algunos de la infinidad de circuitos integrados (“chips”) disponibles en el mercado para realizar un gran número de funciones y facilitar el diseño del circuito completo además de reducir su tamaño. Además, en los últimos años han aparecido complejos sistemas integrados en un único chip (“Sistem on a Chip”) con un alto nivel de integración. Ello hace posible realizar en 116 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz placas de muy reducido tamaño completos sistemas electrónicos, como receptores de radios, lectores de MP3, etcétera. Además, la alta integración se hace incluso imprescindible en los nuevos sistemas de radiocomunicación, donde las altas frecuencias requieren sistemas compactos para minimizar los efectos parásitos de largas pistas. El desarrollo de estos nuevos sistemas electrónicos requiere también el uso de nuevas técnicas y metodologías para la depuración y caracterización de los prototipos, además de para su fabricación. El alto nivel de integración y la complejidad de estos sistemas requieren del uso de herramientas especializadas para su diseño y desarrollo (a menudo, proporcionadas por el correspondiente fabricante del circuito integrado). Además, precisamente el reducido tamaño de estos sistemas dificulta su fabricación con técnicas tradicionales de fabricación de placas de circuito impreso (PCBs). Los alumnos de las Ingenierías Electrónica y de Telecomunicación de Granada tienen, según nuestra opinión, una sólida formación teórica y práctica sobre el diseño de circuitos analógicos y digitales. Conocen, por ejemplo, los bloques funcionales que constituyen un sistema de radiocomunicación así como los fundamentos de los circuitos electrónicos que realizan esos bloques. Sin embargo, no trabajan con sistemas completos de radiocomunicación y desconocen qué tipo de herramientas se emplean en su desarrollo. Sin embargo, como hemos dicho antes, el estado actual de la tecnología requiere el uso de estas nuevas técnicas y herramientas para el desarrollo de sistemas electrónicos actuales y competitivos. Además, esto es todavía de mayor importancia en el entorno empresarial en el que nos encontramos en el que, como mucho, se realiza el diseño y fabricación de productos electrónicos completos (placas de circuito impreso que realizan una determinada función), pero nunca se diseña un circuito integrado. Por consiguiente, es tan importante que el alumno sea capaz de diseñar productos electrónicos completos trabajando con estos nuevos chips y sus correspondientes herramientas de desarrollo como que conozca los fundamentos del diseño de los circuitos integrados. Por todo ello, con este Proyecto de Innovación Docente pretendemos potenciar a lo largo de toda la formación universitaria del alumno el uso de la tecnología real empleada industrialmente para el desarrollo de aplicaciones electrónicas. Por tanto, para los primeros cursos, desarrollaremos (con este proyecto) placas de entrenamiento en circuito impreso serigrafiadas con circuitos completamente funcionales y puntos de test. Sobre estas placas, los alumnos afianzarán conceptos básicos de electrónica, aprenderán técnicas de medida e instrumentación básica de laboratorio y las aplicarán para la caracterización de los propios sistemas incluidos en las placas de entrenamiento. Además, estas mismas placas servirán para ayudar en la evaluación de los conocimientos adquiridos de una forma más eficaz y fiable que la actual. Para afianzar esta nueva metodología, también se desarrollarán nuevas herramientas para permitir introducir nuevas prácticas avanzadas en asignaturas de segundo ciclo o en proyectos fin de carrera dedicados al diseño y fabricación de sistemas electrónicos de radiocomunicación. Para esta parte, tendremos en cuenta que cada fabricante cuenta con sus propios circuitos integrados y sus propias herramientas de diseño, aunque el proceso 117 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz de desarrollo y las técnicas generales de diseño son similares. Por ello, nos centraremos en unos pocos circuitos integrados de radiocomunicación y en sus correspondientes herramientas de desarrollo sin intentar cubrir todos los posibles fabricantes y aplicaciones (lo cual, además, sería imposible). Lo que sí hemos buscado al seleccionar los circuitos integrados con los que trabajaremos es que sean lo más actuales y recientes posibles. Alguno de ellos, está disponible en el mercado tan sólo desde este año. Como uno de los objetivos fundamentales de este proyecto es conseguir que el alumno se familiarice con las herramientas y técnicas empleadas en el “mundo real” en las empresas dedicadas al desarrollo de esta clase de productos, contaremos con el asesoramiento de Luis Caballero Guindo, Ingeniero de Prototipos en el Departamento de “Soluciones inalámbricas autónomas” del consorcio Holst Centre (Eindhoven), constituido por IMEC y TNO. Los objetivos concretos de este proyecto son: a. Diseño y construcción de placas de circuito impreso, con circuitos completos de demostración, para la enseñanza de conceptos básicos de electrónica analógica y de medida. b. Desarrollo de documentación referente a las placas: guiones de prácticas y esquemáticos para su simulación. c. Diseño, montaje y puesta a punto de un puesto de laboratorio para el diseño y caracterización de sistemas de radiocomunicación en la banda ISM de 2.4 GHz. Este puesto contará con dos ordenadores (uno para controlar y depurar el sistema emisor y otro para el receptor) y dos placas de desarrollo. d. Diseño, montaje y puesta a punto de un puesto de laboratorio para el diseño de sistemas RFID (Radio Frequency Identification Systems). Este puesto requiere de la correspondiente herramienta de desarrollo y de un ordenador para su control y depurado. Se pretende usar, de momento, uno de los ordenadores del puesto anterior. e. Desarrollo por parte del equipo de este proyecto de sistemas que sirvan como ejemplo de aplicación para la demostración y enseñanza de estas nuevas herramientas. f. Desarrollo de manuales y guías para el uso de estos puestos y para el desarrollo de nuevos sistemas electrónicos basados en estos circuitos integrados. También se crearán tutoriales en los que paso a paso se detallen los procesos que se han seguido para desarrollar los ejemplos. g. Creación de nuevas prácticas avanzadas basadas en estos sistemas. h. Usar el medidor de campo PROLINK-4 para la medida y análisis de las señales involucradas en sistemas de radiocomunicación. i. En la medida de lo posible, se montarán los puestos de Laboratorio para que puedan operar también de forma remota, de manera que los alumnos puedan probar y depurar (al menos en parte) sus diseños desde casa o desde otros ordenadores. j. Se montará un sitio Web para hacer accesible toda la documentación generada en el proyecto (ejemplos, guías de desarrollo, tutoriales, …) así como para recoger y enlazar mucha de la información disponible en la red para el desarrollo de estos sistemas. 118 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Metodología: Para el desarrollo de este proyecto, lo hemos dividido en varias tareas que se han asignado a diferentes grupos del equipo. Las tareas de mayor envergadura se han subdividido a su vez en otras tareas. T1. Informática e instalación de servidores y sitio web 1.1. Instalación de los ordenadores y del software necesario. 1.2. Instalación del servidor web y creación y mantenimiento del sitio web. 1.3. Creación del entorno necesario para el control remoto de los puestos de laboratorio. T2. Placas de entrenamiento de electrónica analógica 2.1. Diseño 2.2. Construcción 2.3. Desarrollo de la documentación relativa a las placas (guiones de prácticas, manuales, esquemáticos, ...) T3. Puesto de radiocomunicación en la banda ISM de 2.4 GHz 3.1. Diseño del puesto de radiocomunicación en la banda ISM de 2.4 GHz. Análisis de las alternativas y elección de las placas y herramientas necesarias. 3.2. Montaje del puesto. 3.3. Puesta a punto del puesto y desarrollo de las aplicaciones necesarias para su control. 3.4. Desarrollo de aplicaciones finales de ejemplo. 3.5. Creación de la documentación necesaria, detallando los pasos seguidos para el desarrollo de las aplicaciones de ejemplo o para la creación de nuevos sistemas de radiocomunicación. T4. Puesto de diseño de aplicaciones de RFID 4.1. Diseño del puesto de desarrollo de aplicaciones de RFID. Análisis de las alternativas y elección de las placas y herramientas necesarias. 4.2. Montaje del puesto. 4.3. Puesta a punto del puesto y desarrollo de las aplicaciones necesarias para su control. 4.4. Desarrollo de aplicaciones finales de ejemplo. 4.5. Creación de la documentación necesaria, detallando los pasos seguidos para el desarrollo de las aplicaciones de ejemplo o para la creación de nuevos sistemas de radiocomunicación. T5. Ejemplos de uso y aplicación del medidor de campo en los sistemas de radiocomunicación. T6. Coordinación para conseguir uniformidad en la documentación y contenidos web. 119 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Programación de tareas entre los miembros del equipo: T1: Pedro Cartujo Cassinello, Juan B. Roldán Aranda y Juan Santaella Hernández T2: Andrés Roldán Aranda, Jose A. Moya Espinosa, Pedro Cartujo Cassinello y Juan B. Roldán Aranda T3: Juan Santaella Hernández, Francisco Jiménez Molinos, Andrés Roldán Aranda, Francisco Gámiz Pérez y Jose A. Moya Espinosa T4: Francisco Jiménez Molinos, Francisco Gámiz Pérez T5: Juan B. Roldán Aranda, Francisco Jiménez Molinos y Andres Roldán Aranda T6: Francisco Jiménez Molinos y Pedro Cartujo Cassinello Debido a la envergadura y cantidad de tareas por realizar, con este proyecto se solicita también un becario. Este becario servirá de apoyo especialmente en las tareas T1, T2 y T5. Duración del proyecto (en meses): 9 meses Cronograma: Tarea M1 M2 T1 T2 X X T3 X T4 X T5 T6 X M3 M4 M5 M6 X X X X X X X X X X X X X X X X X X M7 M8 M9 X X X X X X X X X X Descriptores del proyecto (palabras clave): electrónica analógica, sistemas de radiocomunicación, laboratorio remoto, proyectos fin de carrera, desarrollo de productos electrónicos BENEFICIARIOS DEL PROYECTO Titulaciones: Ingeniería Electrónica, Ingeniería de Telecomunicación, Ingeniería Informática, Ingenierías Técnicas en Informática de Sistemas y de Gestión y Licenciatura en Física. Asignaturas y Departamentos implicados: INGENIERÍA ELECTRÓNICA CONFIGURACIÓN): (Y ASIGNATURAS DE LIBRE Análisis de Circuitos y Sistemas Lineales Componentes y Circuitos Electrónicos Electrónica de Comunicaciones Sistemas Analógicos e Instrumentación Dispositivos y Circuitos Integrados de Microondas Proyectos fin de carrera 120 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz INGENIERO DE TELECOMUNICACIÓN: Análisis de Circuitos Dispositivos Electrónicos I Electrónica Analógica Diseño de Receptores de Radio Transmisión por Soporte Físico Circuitos de Radiofrecuencia y Microondas Circuitos Integrados para Comunicaciones Proyectos fin de carrera INGENIERÍA INFORMÁTICA Fundamentos Físicos de los Computadores Fundamentos Tecnológicos de los Computadores INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Fundamentos Físicos de los Computadores Fundamentos Tecnológicos de los Computadores INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Fundamentos Tecnológicos de los Computadores LICENCIATURA EN FÍSICA: Electrónica 1 Electrónica 2 Profesores: Los pertenecientes a los departamentos de: Electrónica y Tecnología de Computadores Arquitectura y Tecnología de Computadores Física Aplicada Teoría de la Señal, Telemática y Comunicaciones Nº de estudiantes al que va dirigido: 600 121 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz EXPERIENCIA DEL EQUIPO EN LA MATERIA: Comités de Autoevaluación o Evaluación Externa de la Calidad Docente Proyectos de innovación docente: La mayoría de miembros del equipo han participado ya en dos Proyectos de Innovación Docente: • “Aplicación de la nuevas tecnologías a la enseñanza de dispositivos electrónicos” de la convocatoria 2003-2004, cuyo coordinador fue el profesor Francisco Gámiz Pérez. • “Desarrollo de una herramienta de simulación de circuitos y de un sitio web para la mejora y la innovación del laboratorio de electrónica”, de la convocatoria del curso 2005-06, cuyo coordinador fue el profesor Juan B. Roldán Aranda. Proyectos de Acción Tutorial: Proyectos ECTS: Muchos de los miembros del equipo han participado en la Experiencia Piloto para la Implantación del Crédito Europeo (ECTS) durante el curso 2006/07. Proyectos de mejora de la calidad docente vinculados a Contratos-Programa: Tres de los miembros del equipo que solicita este proyecto participan en el “Contratoprograma para acciones de mejora de la titulación Ingeniería Electrónica”, firmado el 6 de septiembre de 2007 por D. Luis Rico Romero (entonces Vicerrector de Planificación, Calidad y Evaluación Docente) y por D. Juan A. López Villanueva (coordinador de Ingeniería Electrónica). Congresos y Jornadas Docentes: Investigación vinculada con la innovación docente (publicaciones, ponencias, comunicaciones, …) Libros Autores: Andrés Roldán Aranda Título: EXPERIENCIA EN LA UNIVERSIDAD DE HUELVA. LA INNOVACIÓN DOCENTE: UN CAMINO HACIA LA CALIDAD Tipo de participación: Monografía Editor: SERVICIO DE PUBLICACIONES DE LA UNIVERSIDAD DE HUELVA ISBN: 84-600-9892-3 Depósito Legal: SE-25-2004 Lugar celebración: Huelva Fecha: 15, 16, 17 de s 122 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Contribuciones a Congresos Autores: A. Roldán, J. Roldán Título: La simulación de circuitos en el siglo XXI. Tipo de participación: Comunicación Congreso: 5º Congreso Internacional de Docencia Universitaria e Innovación Publicación: ISBN 978-84-8458-279-3 Depósito Legal: Gi-733-2008 Lugar de celebración: Lérida, SPAIN. Fecha: 3-5 Julio, 2008. Autores: A. Roldán, J. Roldán Título: ESPICE: Un Nuevo simulador didáctico de circuitos electrónicos. Aplicaciones. Tipo de participación: Comunicación Congreso: VIII Congreso TAEE – Tecnologías Aplicadas a la Enseñanza de la Electrónica Publicación: ISBN 978-84-7733-628-0 Resumen en Pág. 94 Depósito Legal: Z-546-2008 Lugar de celebración: Zaragoza, SPAIN. Fecha: 3-5 Julio, 2008. Autores: J.Pajón Permuy, A. Roldán Aranda, T. Santos Rodríguez Título: Una nueva comprensión del proceso de aprendizaje. Líneas Directrices del Aprendizaje de las competencias emocionales Tipo de participación: Ponencia Congreso: VII Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas Publicación: VOL I.= 84-931043-2-9 - Pag:1342-1347 Lugar celebración: Huelva Fecha: 15-17 de septiembre 2001 Autores: T. Santos Rodríguez, J.Pajón Permuy, A. Roldán Aranda. Título: Análisis Comparativo de los Planes de Estudio de Ingeniería Técnica en Informática de Gestión (ITIG) e Ingeniería Técnica en Informática de Sistemas (ITIS) en la Univ. de Huelva. Tipo de participación: Ponencia Congreso: VII Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas Publicación: VOL I.= 84-931043-2-9 - Pag:1655-1675 Lugar de celebración: Huelva Fecha: 15, 16, 17 de septiembre 1999 Autores: A. Roldán Aranda, T. Santos Rodríguez, J.Pajón Permuy. Título: El proyecto fin de carrera: Nuevas perspectivas. Tipo de participación: Ponencia Congreso: VII Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas Publicación: VOL I.= 84-931043-2-9 - Pag:1757-1760 Lugar de celebración: Huelva Fecha: 15, 16, 17 de septiembre 1999 Otros méritos relacionados: El proyecto de innovación docente “Desarrollo de una herramienta de simulación de circuitos y de un sitio web para la mejora y la innovación del laboratorio de electrónica”, recibió una MENCIÓN HONORÍFICA en la convocatoria del Premio a la Innovación Docente 2007 de la Universidad de Granada. 123 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Este proyecto fue coordinado por el profesor Juan B. Roldán Aranda y en él participaron muchos de los miembros que solicitan el presente proyecto. DIFUSIÓN DE PROYECTOS DE INNOVACIÓN ANTERIORES ¿Es continuación? No Describa, si procede, la difusión de PIDs anteriores (no rellenar aquí, sí en los siguientes ítems) Indicadores de utilización por el alumnado del producto generado: La Web que se realizó para el proyecto de innovación docente “Aplicación de la nuevas tecnologías a la enseñanza de dispositivos electrónicos” ha sido utilizada por bastantes alumnos, ya que los profesores que intervinieron en el proyecto de innovación docente le han dado publicidad entre los alumnos de sus asignaturas. Nos hemos ocupado en todo momento del servidor de páginas, desde que se presentó el proyecto y sigue disponible en http://deyte.ugr.es Por su parte, el programa de simulación de circuitos ESPICE, creado en el contexto del proyecto de innovación docente “Desarrollo de una herramienta de simulación de circuitos y de un sitio web para la mejora y la innovación del laboratorio de electrónica”, es el único simulador empleado en numerosas asignaturas de las titulaciones de Ingeniería Electrónica, Ingeniería de Telecomunicación, Licenciado en Física e Ingeniería Informática. También los videos y tutoriales multimedia generados en el proyecto han tenido numerosas descargas y han servido de apoyo para los alumnos de los primeros cursos que se inician en el manejo de instrumentación básica de un laboratorio de electrónica. Finalmente, el sitio web en su conjunto (http://espice.ugr.es) sigue disponible y recibe numerosas visitas y descargas (del programa ESPICE, de ejemplos de aplicación, manuales de uso, …) Publicaciones: Ponencias o comunicaciones en Congresos de Innovación Docente: En el siguiente congreso se presentó el simulador ESPICE desarrollado en el marco del proyecto de innovación docente “Desarrollo de una herramienta de simulación de circuitos y de un sitio web para la mejora y la innovación del laboratorio de electrónica”, de la convocatoria del curso 2005-06, cuyo coordinador fue el profesor Juan B. Roldán Aranda. Autores: A. Roldán, J. Roldán Título: ESPICE: Un Nuevo simulador didáctico de circuitos electrónicos. Aplicaciones. Tipo de participación: Comunicación Congreso: VIII Congreso TAEE – Tecnologías Aplicadas a la Enseñanza de la Electrónica Publicación: ISBN 978-84-7733-628-0 Resumen en Pág. 94 Depósito Legal: Z-546-2008 Lugar de celebración: Zaragoza, SPAIN. Fecha: 3-5 Julio, 2008. 124 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz Difusión en medios de comunicación (prensa, TV, …): En la página web “Andalucia Investiga” (www.andaluciainvestiga.com) se publicó una entrevista al profesor Juan B. Roldán Aranda, coordinador del proyecto “Desarrollo de una herramienta de simulación de circuitos y de un sitio web para la mejora y la innovación del laboratorio de electrónica” (www.andaluciainvestiga.com/espanol/noticias/2/5096.asp). Indicadores de evolución de los resultados académicos de los alumnos: Encuestas de satisfacción y opinión del alumnado: Otros: PRESUPUESTO Presupuesto total: 15000 euros Ayuda solicitada: 15000 euros Desglose de la ayuda solicitada (en su caso, se deberá indicar la cantidad solicitada para personal): Partida 1. Material y fabricación: 10350 € Desglose partida 1: 1. Kit de desarrollo CC2500DK: 497.4 € 2. Herramienta de desarrollo eZ430-RF2500: 4 uds. x 48.38 € = 193.52 € 3. Herramienta de desarrollo eZ430-RF2480: 2 uds. x 114.42 € = 228.84 € 4. Herramienta de desarrollo MSP-FET430U14: 171.46 € 5. Placa de experimentación MSP-EXP430FG4618: 114.42 € 6. Herramienta de desarrollo eZ430-F2013: 23.01 € 7. Herramienta de desarrollo RFID TRF7960EVM: 560.41 € 8. RFID transponders: 220 € 9. Ordenadores (torre+periféricos): 2 x 596.18 € = 1192.36 € 10. Medidor de campo PROLINK-4C Premium: 4777.34 € 11. Conversor banda 2.4GHz CV-245: 460 € 12. Placas: 220 € 13. Componentes para las placas: 1091.24 € 14. Fabricación de las placas: 600 € Partida 2. Bibliografía: 600 € Partida 3. Becario: 4050 € Desglose de la partida 3: Becario: 450 € / mes x 9 meses = 4050 € 125 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz PRODUCTOS Y BENEFICIOS DEL PROYECTO Beneficios para una titulación, indicando cómo se garantizará su implantación real y continuidad temporal: El presente proyecto implicará un conjunto de beneficios, que hemos agrupado en dos categorías, para el aprendizaje de los estudiantes de las Ingenierías y Licenciaturas en las que se imparten asignaturas de Electrónica. a) El proyecto facilitará el aprendizaje de las técnicas básicas de medida en un laboratorio de Electrónica y de conceptos fundamentales de circuitos analógicos en los primeros cursos de estas titulaciones. Este objetivo se pretende lograr a través del uso en las prácticas de laboratorio de las placas de demostración de circuitos analógicos que se desarrollarán con el presente proyecto. Con ello, desde el principio, el alumno manejará circuitos realizados con una tecnología real, la que encontrará en el mundo laboral. Además, el escaso número de créditos con el que se cuenta para adquirir y desarrollar las habilidades de medida en el laboratorio de electrónica aconsejan el uso de estas placas, con circuitos prediseñados y montados para que sean medidos y caracterizados por los alumnos. Los proponentes de este proyecto (y todos aquellos profesores que quieran) las usarán en las prácticas de estas asignaturas. Además, al ser placas de circuito impreso, podrán ser usadas en múltiples ocasiones y a lo largo de muchos años. b) Por otra parte, la puesta a punto de dos puestos de radiocomunicación y RFID, garantizará la posibilidad de realizar prácticas avanzadas e, incluso, proyectos fin de carrera sobre estos sistemas. Por un lado, las aplicaciones de ejemplo que se desarrollen servirán de estudio en prácticas de laboratorio y las nuevas herramientas desarrolladas servirán para la creación de nuevas prácticas de laboratorio en las que se haga uso de herramientas actuales y de uso real. Por otro lado, el interés de la sociedad en estas nuevas tecnologías resulta patente, por lo que cabe esperar también que sean numerosos los proyectos fin de carrera realizados por alumnos de estas Ingenierías que hagan uso de estos puestos y herramientas desarrolladas en el presente proyecto y que se mantendrán a lo largo de los años. Facilitará también esta labor la documentación generada en el proyecto y disponible en el sitio web que se creará y mantendrá. En resumen, las titulaciones que impartan asignaturas de electrónica se verán beneficiadas con una serie de recursos materiales y documentales que consistirán básicamente en placas con circuitos electrónicos analógicos básicos para su medida y caracterización, así como puestos de laboratorio para el diseño de sistemas de radiocomunicación. Las placas servirán tanto para el aprendizaje como para la evaluación en numerosas asignaturas y centros, mientras que los puestos estarán físicamente ubicados en el Laboratorio de Electrónica (F3) situado en la Facultad de Ciencias. No obstante, se pretende que puedan ser controlados de forma remota desde cualquier aula de docencia (para demostraciones, por ejemplo) o, en general, desde cualquier ordenador conectado a la red de la Universidad de Granada. El equipo participante en este proyecto ha demostrado dar continuidad a los recursos generados en Proyectos anteriores (cuyo material puede aún consultarse en 126 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz http://deyte.ugr.es y en http://espice.ugr.es). Además, en el presente proyecto, los productos generados tienen menos componente software que los anteriores, por lo que si ya en aquellos casos el material ha perdurado y sigue disponible después de varios años, cabe esperar que aún más lo haga en este caso y que, por tanto, las placas y herramientas desarrolladas puedan usarse a lo largo de muchos años. Productos o recursos generados por el proyecto: • • • • • • • Placas de entrenamiento para prácticas básicas de electrónica analógica Nuevas prácticas y documentación para la medida y caracterización de sistemas analógicos basados en las placas de demostración desarrolladas. Habilitación o creación de dos puestos especializados de laboratorio para el desarrollo de prácticas avanzadas de radiocomunicación y aplicaciones de RFID. En la medida de lo posible, estos puestos se podrán hacer operativos a través de Internet, dando lugar a un Laboratorio Remoto de Sistemas de Radiocomunicación. Nuevas prácticas sobre herramientas avanzadas de diseño y desarrollo de sistemas de RF Documentación detallada sobre el diseño de los sistemas que sirven de ejemplo, así como guías para la creación de nuevas aplicaciones. Sitio web para aunar toda la información y recursos generados, alojar la documentación producida en el proyecto, enlazar con otra documentación relacionada y servir de comunicación con los futuros usuarios de estas aplicaciones o con personas interesadas. Técnicas e instrumentos para la evaluación de la adquisición de competencias, en su caso: Las placas de electrónica básica desarrolladas en este proyecto servirán como medio de aprendizaje, pero también como un apartado más en la evaluación de las prácticas de asignaturas de electrónica básica, pues los alumnos deberán medir sistemas sin conocer a priori su esquema eléctrico, por lo que deberán usar los instrumentos de medida de los laboratorios de electrónica para caracterizar estos sistemas sin poder analizarlos teóricamente con anterioridad. Descripción de la mejora que supone el proyecto para la mejora del aprendizaje de los estudiantes: La utilización de placas de entrenamiento permite una mayor optimización del escaso tiempo de laboratorio con el que cuentan los alumnos de los primeros cursos. Los alumnos pueden aprender a medir y caracterizar sistemas electrónicos sobre estas placas, sin conocer de antemano el resultado que deben obtener. Por tanto, cabe esperar que adquieran una mayor soltura y habilidad con el manejo de la instrumentación básica de electrónica (fuentes de alimentación, generadores de onda y osciloscopios). Además, al trabajar con placas de circuito impreso desde el principio conocen la tecnología real en la que se desarrollan los sistemas electrónicos y con la que, muchos de ellos, trabajarán en su etapa laboral. Por otro lado, la habilitación de puestos para trabajar con nuevas placas y herramientas de RF va a permitir al profesorado de estas asignaturas la propuesta de nuevas prácticas 127 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz e, incluso, proyectos fin de carrera, en los que los alumnos podrán trabajar con herramientas actuales y desarrollar prácticas o aplicaciones completas empleando circuitos integrados de radiocomunicaciones totalmente novedosos. Medidas para la evaluación (interna y externa) del proyecto y muy especialmente, de los resultados del proyecto: Para garantizar la correcta realización del proyecto se tomarán las siguientes medidas: • Seguimiento mensual de las tareas realizadas y comprobación del cronograma • Reuniones mensuales del equipo del proyecto para coordinar tareas Para la evaluación de la difusión de las herramientas generadas por el proyecto se podrá atender a los siguientes indicadores objetivos: • • • Número de visitas a la web y de descargas de documentación Número de nuevas prácticas realmente implementadas basadas en las placas y recursos generados en este proyecto Número de proyectos fin de carrera que han usado las herramientas aportadas por este proyecto 128 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz CARTA DE CONCESIÓN 129 Juan Santaella Hernández | Universidad de Granada Diseño, implementación y caracterización de un radioenlace en la banda ISM de 2.4GHz 130 Juan Santaella Hernández | Universidad de Granada