Diseño e implementación de un prototipo hardware para un banco de pruebas del estándar AIS
Abstract
Grado en Ingeniería en Tecnologías de la Telecomunicación
Full text
Escuela de Ingeniería de Telecomunicación y Electrónica TRABAJO FIN DE GRADO Diseño e implementación de un prototipo hardware para un banco de pruebas del estándar AIS Titulación: Grado en Ingeniería en Tecnologías de la Telecomunicación Autor: D. Nicolás Molina Padrón Tutores: Dr. Francisco José Cabrera Almeida Dr. Víctor Alexis Araña Pulido Fecha: Julio de 2015
Escuela de Ingeniería de Telecomunicación y Electrónica TRABAJO FIN DE GRADO Diseño e implementación de un prototipo hardware para un banco de pruebas del estándar AIS HOJA DE FIRMAS Firma de los tutores Fdo. Dr. Francisco José Cabrera Almeida Fdo. Dr. Víctor Alexis Araña Pulido Firma del alumno Fdo. D. Nicolás Molina Padrón Fecha: Julio de 2015
Escuela de Ingeniería de Telecomunicación y Electrónica TRABAJO FIN DE GRADO Diseño e implementación de un prototipo hardware para un banco de pruebas del estándar AIS HOJA DE EVALUACIÓN Calificación: Presidente Secretario Vocal Fdo.: Fdo.: Fdo.: Fecha: Julio de 2015
Estudia arduamente lo que más te interese, de la forma más indisciplinada, irreverente y original que puedas. Richard P. Feynman, premio Nobel de Física en 1965.
Agradecimientos A mis padres, por todo el esfuerzo y los sacrificios que han hecho para que pueda estar hoy aquí, y por darme la fuerza y la confianza que a veces no tengo en mí mismo. Y mi hermano Rafa, que pese a nuestras diferencias, nos apreciamos más de lo que parece. A mi tía Pepa, por ser desde que tengo memoria mi segunda madre, y a mi tío Vicente, que una vez me dijo que la fórmula del éxito es H2O(Honestidad,Humildad yOsadía). Y también por darme el mejor regalo posible: mi prima Pepilla, a la que llevo incordiando desde que nació, pero ella sabe que es con cariño. Y a mi tío Octavio, porque siempre ha estado ahí para mi familia y para mí. A mis amigos Ares y Kito, por todas las carcajadas que nos hemos sacado todos estos años. Bea y Rachel, con quienes que viví ese milagroso ascenso de la U.D. Las Palmas este año (y alguna lagrimilla que preferimos no reconocer en público). A Cris, por todas esas conversaciones sobre libros y viajes que amenizaron estos últimos meses agobiantes. Y a Guzmán, por todo lo que aprendí de él y por creer en mí. A mis compañeros de clase. Hago especial mención a mi amigo Héctor, que nunca dudó en echarme un cable cuando lo necesité,yaquienechéenfalta este último curso por Tafira. Y al resto de compañeros que, de una forma u otra, me ayudaron en muchas etapas de mi formación, especialmente Yoel, Santana y Gara. Y a mis tutores Francis y Víctor, por la ayuda y el apoyo que me brindaron durante la elaboración de este trabajo, y por la confianza que depositaron en mí. Y a Juan Domingo, por la ayuda técnica que me ofreció en el laboratorio. ix
Índice de figuras 1.1. Cobertura global AIS por satélite ..................... 4 1.2. Visualización de un sistema radar convencional frente al sistema AIS . 5 1.3. Funcionamiento de SOTDMA entre dos embarcaciones ......... 6 1.4. Receptor AIS cedido por Marine Traffic al IDeTIC ............ 7 1.5. Diagrama de bloques del banco de pruebas transmisor AIS ....... 7 1.6. Diagrama de bloques del banco de pruebas receptor AIS ........ 8 2.1. Esquema general de la arquitectura de red del estándar AIS ...... 11 2.2. Descripción de la banda de trabajo del servicio AIS ........... 12 2.3. Esquema de codificación y de modulación en el estándar AIS ...... 13 2.4. Ejemplo de codificación NRZI sobre una secuencia binaria ....... 14 2.5. Comparativa entre los espectros FSK y GMSK .............. 15 2.6. Respuesta al impulso de un filtro gaussiano ideal ............. 15 2.7. Respuesta al impulso de un filtro gaussiano con BT =0.3yBT =0.5.16 2.8. Interferencia entre símbolos en GMSK para factores BT =0.3yBT =0.517 2.9. Modulador y demodulador FM-GMSK .................. 18 2.10. (a) Sincronismo UTC directo, (b) Sincronismo UTC indirecto ..... 19 2.11. Formato de una trama AIS ......................... 20 2.12. Esquema TDMA en AIS para las frecuencia AIS-1 y AIS-2 ....... 21 xvii
xviii ÍNDICE DE FIGURAS 2.13. Esquemas TDMA en AIS en función de su aplicación .......... 21 2.14. Algoritmo de la fase de inicialización en SOTDMA ........... 22 2.15. Selección de NTS en un intervalo SI .................... 23 2.16. Algoritmo de la fase de entrada en red en SOTDMA .......... 24 2.17. Selección de NS definido en un NI ..................... 25 2.18. Algoritmo de la fase de operación continua en SOTDMA ........ 25 2.19. Campos incluidos en un mensaje AIS simple ............... 29 2.20. Campos incluidos en un mensaje AIS compuesto ............. 29 2.21. Diagrama de bloques de un transpondedor AIS clase A ......... 31 2.22. Diagrama de bloques de un transpondedor AIS clase B ......... 32 3.1. Diferentes modelos de plataforma Arduino ................ 33 3.2. Microcontrolador Arduino UNO R3 .................... 34 3.3. Conectores USB tipo A/B macho y hembra sobre Arduino UNO .... 36 3.4. Shield DV-MEGA GMSK ......................... 37 3.5. Encapsulado del chip CMX589A ...................... 38 3.6. Subsistemas integrados al chip CMX589A ................ 39 3.7. Circuito de sincronismo externo al chip CMX589A para 9.8kbps.... 40 3.8. Filtro pasivo RC paso bajo ......................... 40 3.9. Filtro activo paso bajo ........................... 41 3.10. Filtro de transmisión ............................ 42 3.11. Filtro de recepción ............................. 42 3.12. Circuito PTT del módem DV-MEGA GMSK ............... 43 3.13. Dimensiones del conector Mini-DIN 6 (expresadas en milímetros, mm). 44 3.14. Pines del conector Mini-DIN 6 ....................... 44
ÍNDICE DE FIGURAS xix 3.15. Dimensiones físicas del chip Radiometrix TX1 .............. 45 3.16. Diagrama de bloques del chip Radiometrix TX1 ............. 46 3.17. Dimensiones físicas del chip Radiometrix RX1 .............. 47 3.18. Diagrama de bloques del chip Radiometrix RX1 ............. 49 3.19. Antena VHF marítimo Kenwood SMA macho .............. 50 4.1. Diagrama de bloques del prototipo hardware del transmisor AIS .... 52 4.2. Diagrama de bloques del prototipo hardware del receptor AIS ..... 52 4.3. Condiciones de disparo en Arduino .................... 57 4.4. Flujograma del programa principal del firmware de control del transmisor 61 4.5. Flujograma de la rutina de servicio del firmware de control del transmisor 63 4.6. Flujograma del programa principal del firmware de control del receptor 66 4.7. Flujograma de la rutina de servicio del firmware de control del receptor 69 4.8. Banco de pruebas transmisor y receptor con interfaces Serial ...... 70 4.9. Interfaz de la aplicación CoolTerm .................... 71 4.10. Envío de cadenas de caracteres por el puerto serie con Send String ... 71 4.11. Interfaz de la aplicación Serial Monitor de Matlab 2014b ........ 72 5.1. Montaje de prueba para el chip Radiometrix TX1 ............ 74 5.2. Señal portadora a 161.975 MHz generada por el chip Radiometrix TX1 75 5.3. Espectro FM de una señal cuadrada como moduladora ......... 76 5.4. Montaje de prueba para el chip Radiometrix RX1 ............ 77 5.5. Señal demodulada por el chip Radiometrix RX1 ............. 77 5.6. Montaje de prueba para el módem DV-MEGA GMSK ......... 78 5.7. Algoritmo de prueba de transmisión de una secuencia binaria alternada 79
xx ÍNDICE DE FIGURAS 5.8. Algoritmo de prueba de recepción de una secuencia binaria alternada . 80 5.9. Visualización en osciloscopio multicanal de una secuencia binaria alternada en el módem DV-MEGA GMSK ................... 80 5.10. Algoritmo de prueba de transmisión de una secuencia binaria aleatoria 81 5.11. Visualización en osciloscopio multicanal de una secuencia binaria aleatoria en el módem DV-MEGA GMSK ................... 82 5.12. Algoritmo de prueba de transmisión de una secuencia binaria conocida 83 5.13. Visualización en osciloscopio multicanal de un dato conocido en el módem DV-MEGA GMSK .......................... 84 5.14. Recepción del carácter 52 desde el módem GMSK hasta Serial Monitor 84 5.15. Montaje de prueba para la visualización por pantalla de tramas AIS . . 85 5.16. Banco de pruebas para la visualización por pantalla de tramas AIS . . 86 5.17. Medida del parámetro S11 para la antena VHF transmisora ....... 87 5.18. Medida del parámetro S11 para la antena VHF receptora ........ 87 5.19. Montaje de medida del ancho de banda de transmisión de tramas AIS . 88 5.20. Trama AIS de test sobre la interfaz Send String de CoolTerm ..... 88 5.21. Trama AIS modulada en FM-GMSK por el prototipo hardware del transmisor ..................................... 89 5.22. Trama AIS modulada en FM-GMSK por el prototipo hardware transmisor 90 5.23. Envío de la trama AIS durante 30 iteraciones (CoolTerm0 como transmisor, CoolTerm1 como receptor) ..................... 90 5.24. Montaje del banco de pruebas de recepción de tramas AIS reales .... 91 5.25. Montaje en laboratorio del banco de pruebas de recepción de tramas AIS reales .................................. 91 5.26. Banda de trabajo AIS a la frecuencia 161.975 MHz ........... 92 5.27. Forma de onda de la trama AIS recibida ................. 93 5.28. Comprobación de los slots en las tramas AIS recibidas ......... 94
ÍNDICE DE FIGURAS xxi A.1.EncapsuladodelchipCMX589A...................... 111 A.2. Subsistemas integrados al chip CMX589A ................ 112 A.3. Diagrama de pines del chip CMX589A .................. 113 A.4. Topología de sincronismo local con oscilador XTAL ........... 115 A.5. Topología de sincronismo externo para EXTCLK > 10.24 MHz.... 116 A.6. Topología de sincronismo externo para EXTCLK ≤10.24 MHz.... 116 A.7. Selección de RBen función de fxtal y los estados sobre ClkDivA y ClkDivB117 A.8. Mínimas conexiones del CMX589A para RB= 4800bps ......... 117 A.9. Filtro RC para la selección del factor BT ................. 118 A.10.Tabla de selección de R1yC1en función de RBy factor BT ...... 119 A.11.Tabla de modos de funcionamiento del PLL en recepción ........ 121 A.12.Modos de funcionamiento de control en recepción ............ 122 A.13.Relación entre BER y relación S/N para distintos factores BT ..... 123 A.14.Relación entre tiempos de adquisición y relación S/N para distintos factores BT ................................... 124 A.15.Respuesta al impulso del filtro de transmisión .............. 125 A.16.Encapsulado del modelo CMX589AE2 .................. 127 A.17.Diagrama de pines del chip CMX589AD5 ................. 127 A.18.Diagrama de pines del chip CMX589AD2 ................. 128 A.19.Diagrama de pines del chip CMX589AP4 ................. 128 B.1. Esquemático del módulo transmisor para el banco de pruebas AIS . . . 129 B.2. Diseño PCB sobre Eagle PCB Design del transmisor FM ........ 130 B.3. Implementación física de la PCB del transmisor ............. 130 C.1. Esquemático del módulo receptor para el banco de pruebas AIS .... 131
xxii ÍNDICE DE FIGURAS C.2. Diseño PCB sobre Eagle PCB Design del receptor FM ......... 132 C.3. Implementación física de la PCB del receptor .............. 132
Índice de tablas 2.1. Parámetros radio generales del estándar AIS ............... 12 2.2. Características especiales para transmisores AIS ............. 13 2.3. Características especiales para receptores AIS .............. 13 2.4. Campos de datos de un mensaje AIS codificado con NMEA 0183 .... 30 3.1. Descripción de los pines del módem DV-MEGA GMSK ......... 38 3.2. Características del chip Radiometrix TX1 ................. 47 3.3. Características del chip Radiometrix RX1 ................ 49 3.4. Características de la antena de VHF marítimo Kenwood ........ 50 P.1. Tabla de precios del material hardware fungible ............. 103 P.2. Tabla de precios del material hardware no fungible ........... 103 P.3. Tabla de precios del material software ................... 104 P.4. Presupuesto según el trabajo tarifado y la amortización del inmovilizado material ................................... 105 P.5. Presupuesto incluyendo la redacción de la memoria ........... 106 P.6. Presupuesto final del TFG ......................... 107 xxiii
Acrónimos Acrónimo Descripción ADC Analog-to-Digital Converter AIS Automatic Identification System AtoN Aid to Navigation BER Bit Error Rate COITT Colegio Oficial de Ingenieros Técnicos de Telecomunicación CRC Código de Redundancia Cíclica CSTDMA Carrier Sense Time Division Multiple Access DGPS Differential Global Positioning System DIN Deutsches Institut für Normung DLS Data Link Service EEPROM Electrically Erasable Programmable Read Only Memory FATDMA Fixed Access Time Division Multiple Access FM Frequency Modulation GMDSS Global Maritime Distress and Safety System GMSK Gaussian Minimum Shift Keying GPS Global Positioning System GSM Global System for Mobile communications HDLC High-Level Data Link Control IDE Integrated Development Environment IDeTIC Instituto para el Desarrollo Tecnológico y la Innovación en Comunicaciones IMO International Maritime Organization ISR Interrupt Service Routine ITDMA Incremental Time Division Multiple Access ITU International Telecommunication Union KB Kilobyte LME Link Management Entity MAC Medium Access Control MMSI Maritime Mobile Service Identity MN Milla náutica MSC Maritime Safety Committee NI Nominal Interval NMEA National Marine Electronics Association NRZI Non Return Zero Inverted NS Nominal Slot NSS Nominal Start Slot NTS Nominal Transmission Slot xxv
61.1. Antecedentes Otra de las peculiaridades que hace de AIS un sistema cada vez más atractivo, incluso para aquellas embarcaciones que no se ven sometidas al Convenio SOLAS, es que a diferencia de otros sistemas móviles, como es el caso de GSM, los fallos en las estaciones base de control AIS no implican la caída total del sistema, pues cada estación móvil autogestiona su envío y recepción de datos hacia otras estaciones. Esto se consigue a través del principal aspecto técnico de este estándar: el esquema de multiplexación temporal SOTDMA (Self-Organized Time Division Multiple Access). SOTDMA es una técnica de multiplexación que incorpora una sincronización UTC (Universal Time Coordinated) que permite a las estaciones AIS poder advertir al resto de estaciones su intención de transmitir en un determinado slot de tiempo. En caso de que este slot esté ocupado por otra estación, nuestra estación transmisora hará uso del algoritmo SOTDMA hasta encontrar un slot libre al que acceder. Este proceso será repetido por el resto de estaciones, asegurando que en ningún momento dos estaciones puedan interferirse ocupando el mismo slot para transmitir sus datos [7]. A través de los slots, cada embarcación transmitirá su información tanto estática (identificación) como dinámica (posición, rumbo, velocidad) para que el resto de embarcaciones puedan conocerla y así evitar conflictos de trayectoria en una misma zona de tránsito marítimo. De esta forma, todas las estaciones conocerán los datos del resto de estaciones (Figura 1.3). Figura 1.3: Funcionamiento de SOTDMA entre dos embarcaciones Desde abril de 2013, el IDeTIC (Instituto para el Desarrollo Tecnológico y la Innovación en Comunicaciones) cuenta con una estación receptora de AIS que fue cedida por la empresa Marine Traffic para realizar diversos estudios sobre operaciones portuarias y marítimas (Figura 1.4). Presenta un rango de cobertura que varía en función de las condiciones meteorológicas, pero ronda entre las 82.73 y 685.52 MN, y es capaz de recibir datos de cerca de 100 embarcaciones [8].
1. Introducción 7 Figura 1.4: Receptor AIS cedido por Marine Traffic al IDeTIC 1.2. Objetivos El principal objetivo de este Trabajo de Fin de Grado es el diseño y la implementación física de un prototipo hardware modular destinado a la realización de pruebas sobre el estándar AIS. Para este banco de pruebas, se atenderá al diseño de un transmisor y un receptor. En el caso del transmisor, desde una interfaz conectada al puerto serie de un microcontrolador, es posible enviar tramas de datos. El microcontrolador dará formato a estas tramas y serán moduladas en banda base a través de un módem GMSK. Seguidamente, los datos modulados en banda base volverán a ser modulados en paso banda con un modulador FM, que a su salida entregará la señal generada a través de una antena de VHF marítimo (Figura 1.5). Figura 1.5: Diagrama de bloques del banco de pruebas transmisor AIS Por otra parte, el receptor recibirá los datos modulados en FM por una antena de VHF marítimo. Estos datos serán demodulados en FM y posteriormente, en GMSK, entregando a la entrada del microcontrolador los datos enviados desde el transmisor.
81.3. Estructura de la memoria Por último, una interfaz conectada al puerto serie del microcontrolador permite que los datos recibidos queden representados en una pantalla de ordenador (Figura 1.6). Figura 1.6: Diagrama de bloques del banco de pruebas receptor AIS Para alcanzar el objetivo principal de este TFG, los pasos que se siguen son los siguientes: Estudio en profundidad del estándar AIS. Diseño modular del prototipo para el banco de pruebas. Implementación e integración física de los módulos. Programación del firmware de control para el banco de pruebas. 1.3. Estructura de la memoria En el Capítulo 1 de esta memoria se describen algunas consideraciones generales sobre el estándar AIS y el marco en el que se sitúa este trabajo, aportando una breve introducción que permita dar paso Capítulo 2, donde se realiza un estudio minucioso de este estándar. En este segundo capítulo, se estudia con mayor detalle el estándar con el objetivo de reconocer los requisitos que deben cumplir los dispositivos hardware que lo integran. En el Capítulo 3 se se detallan las características técnicas de los módulos escogidos para el desarrollo del prototipo hardware. Este tercer capítulo permite abordar las consideraciones de diseño relativas al conexionado y funcionamiento del prototipo, que se describe en el Capítulo 4. El Capítulo 5 recoge todas las pruebas realizadas para verificar el correcto funcionamiento del prototipo hardware y su viabilidad. Las conclusiones alcanzadas tras la realización de estas pruebas y las propuestas de mejoras para este trabajo se recogen en el Capítulo 6. Seguidamente, se incluye la bibliografía que ha sido referenciada en la redacción de este trabajo y el presupuesto de este TFG. Se incluye como anexos alguna documentación relativa al hardware que se emplea en el prototipo hardware, destacando la inclusión de los resultados publicados en base a este trabajo.
Capítulo 2 Descripción del estándar AIS 2.1. Introducción En este capítulo se realiza un estudio previo del estándar AIS, que está especificado en la recomendación ITU-R M.1371-5 [9]. En primer lugar, se habla de la regulación del estándar AIS y la obligatoriedad de incorporación del mismo en ciertos tipos de embarcaciones. Por último, se describe la arquitectura de red de este estándar, entrando en mayor detalle con los niveles Física y de Enlace, pues tienen una repercusión directa con este trabajo. 2.2. Regulación y regulación del estándar AIS Desde 2003, la IMO exige la incorporación obligatoria del estándar AIS en ciertos tipos de embarcaciones en función de su tonelaje bruto y el servicio al que se destinan. Los buques con un tonelaje bruto superior a 500 toneladas, superior a 300 toneladas y que realicen travesías internacionales y todo buque de pasajeros, independientemente de su tonelaje bruto, están obligados a incorporar transpondedores AIS en sus equipos de abordo. Aquellos buques que prestan un servicio no comercial para un Estado, los buques militares y las pequeñas embarcaciones de recreo o de pesca, no están obligados a integrar este sistema. En cualquier caso, la mayoría de los buques militares integran AIS como sistema de respaldo para otros equipos de a bordo, pero no están obligados a identificarse en el sistema. En este conjunto de embarcaciones exentas del cumplimiento del estándar AIS se encuentran también las embarcaciones de recreo (dimensiones de eslora máxima de 24 metros), los barcos pesqueros de pequeñas dimensiones y cualquier otra embarcación con dimensiones y tonelaje inferiores a las que exige la IMO en relación a la obligatoriedad de integración del estándar AIS. 9
10 2.3. Arquitectura de red La obligatoriedad de integración de los equipos AIS para ciertos tipos de embarcaciones hace que este sistema diferencie entre dos tipos de transpondedores, llamados AIS clase A y AIS clase B, que difieren entre sí tanto en prestaciones técnicas como en sus esquemas de acceso al medio. AIS clase A: se trata del sistema con mayores prestaciones dentro de la gama de transpondedores AIS. Su uso es obligatorio en buques con un tonelaje bruto superior a 500 toneladas, superior a 300 toneladas que realicen travesías internacionales y cualquier buque de transporte de pasajeros, independientemente de su tonelaje bruto. AIS clase B: es un sistema con menores prestaciones que los transpondedores AIS clase A, y su calidad depende principalmente de las técnicas de acceso al medio implementadas. Se destina a aquellos buques para los que el uso de AIS no sea obligatorio, como pueden ser las embarcaciones de recreo o los buques pesquero de pequeñas dimensiones. Por otro lado, el estándar AIS puede ser integrado en diversos dispositivos dependiendo de los fines a los que se destina. En función de su uso, se establece la siguiente clasificación: AIS BS (Base Station): estaciones de control instaladas en la costa, que integran AIS para para proveer de cobertura a los barcos que se encuentran próximos a los puertos y realizan operaciones de atraque. AtoN (Aid to Navigation): sistema integrado en boyas de salvamento marítimo, que prestan cobertura en las zonas más hostiles del entorno marino. AIS SART (Search and Rescue Transponder): dispositivos AIS integrados en numerosos vehículos terrestres, marítimos y aéreos, con el objetivo de determinar la posición de los buques de salvamento y así poder servir como red de apoyo en operaciones de rescate. 2.3. Arquitectura de red El estándar AIS presenta una arquitectura de red basada en el modelo de referencia OSI (Open System Interconnection), lo que significa que está formada por 7 capas o niveles relacionados entre sí (Figura 2.1). Sin embargo, el estándar AIS solamente describe el funcionamiento de los tres primeros niveles de esta arquitectura: Nivel Físico: en él se realizan todas las conexiones entre los sistemas que pretenden comunicarse en formato digital a través de un mismo estándar, de manera que se puede interpretar como la interfaz entre el sistema de comunicación y el canal.
2. Descripción del estándar AIS 11 Nivel de Enlace: se relaciona con el manejo de las tramas de bits, así como con la detección y corrección de errores que se realiza previamente al envío de paquetes por la red. Por ello, es la capa que asegura la fiabilidad del flujo binario. A su vez, se compone de tres subniveles: -MAC (Medium Access Control): asegura la correcta transferencia de datos desde el medio físico hasta el Nivel de Enlace. -DLS (Data Link Service): realiza la detección y el control de errores tras realizarse la transferencia de datos sobre el Nivel de Enlace. -LME (Link Management Entity): controla las operaciones que realiza las subcapas MAC y DLS. Capa de Red: en esta capa se realiza el envío y recepción de paquetes de datos. Realiza las tareas de descongestión de paquetes en red, en caso de existir flujos masivos de datos que pusiesen en riesgo el intercambio de información entre sistemas bajo un mismo estándar. En lo que respecta a las capas de Transporte, Sesión, Presentación y Aplicación, la única exigencia del estándar es que se implementen de forma coherente a los paquetes de datos que son intercambiados desde el Nivel de Red. Figura 2.1: Esquema general de la arquitectura de red del estándar AIS
12 2.3. Arquitectura de red 2.3.1. Nivel Físico El Nivel Físico hace referencia a la interfaz que existe entre el propio sistema de comunicación y el canal. En esta capa se transmiten y reciben las secuencias de bits de los datos del protocolo implementado, y se caracteriza por todos aquellos parámetros ligados al hardware del sistema. 2.3.1.1. Banda de trabajo y parámetros radio El servicio AIS se establece en la banda de VHF marítimo (156.00 MHz - 162.025 MHz), tomando dentro de esta banda dos posibles canales: AIS-1 (161.975 MHz) y AIS-2 (162.025 MHz), también llamados canales 87 y 88, respectivamente (Figura 2.2). La canalización de la banda de trabajo en AIS es 25 KHz, establecido por la recomendación ITU-R M.1084-5 [11]. Figura 2.2: Descripción de la banda de trabajo del servicio AIS Los parámetros radio definen aquellas características que los equipos deben satisfacer en la banda de trabajo donde operan. Para el estándar AIS, estas características quedan recogidas en la Tabla 2.1. Parámetro radio Valor Banda de trabajo del servicio 156.025 −162.025 MHz Frecuencia de trabajo AIS-1 161.975 MHz Frecuencia de trabajo AIS-2 162.025 MHz Canalización del servicio 25 KHz Velocidad de transmisión 9600 baudios Potencia transmitida en AIS clase A 12.5W Potencia transmitida en AIS clase B 1W Factor BT en transmisión (aproximado) 0.4 Factor BT en recepción (aproximado) 0.5 Índice de modulación 0.5 Tabla 2.1: Parámetros radio generales del estándar AIS
2. Descripción del estándar AIS 13 Además, el estándar AIS también especifica las características propias de los equipos de transmisión (Tabla 2.2) y de recepción (Tabla 2.3). Parámetro radio Valor Desviación de frecuencia de la portadora ±500 Hz Desviación de potencia de la portadora ±1.5dB Respuesta de rechazo para emisiones espúreas −36 dBm (9KHz - 1GHz) −30 dBm (1GHz - 4GHz) Atenuación de intermodulación ≥40 dB Tabla 2.2: Características especiales para transmisores AIS Parámetro radio Valor Sensibilidad −107 dB Tasa de error por saturación 1% para −77 dBm 1% para −7dBm Selectividad para canales adyacentes 70 dB Selectividad para el propio canal 10 dB Respuesta de rechazo para emisiones espúreas −57 dBm (9KHz - 1GHz) −47 dBm (1GHz - 4GHz) Atenuación sobre emisiones espúreas ≥70 dB Atenuación de intermodulación ≥74 dB Tabla 2.3: Características especiales para receptores AIS Por último, el estándar AIS establece sus propios esquemas de codificación y modulación. Emplea un esquema de codificación NRZI sobre los datos digitales transmitidos. Estos datos son modulados en banda base con GMSK, que se combina con una modulación paso banda FM (Figura 2.3). Figura 2.3: Esquema de codificación y de modulación en el estándar AIS En los siguientes puntos se trata el estudio del esquema de codificación y de modulación del estándar AIS en mayor profundidad. 2.3.1.2. Esquemas de codificación El estándar AIS incopora un tipo concreto de codificación diferencial, que son un grupo de codificaciones ampliamente utilizadas en comunicaciones por radio y satélites,
14 2.3. Arquitectura de red que se emplean para la recepción precisa de los bits cuando la señal se ve sometida a algún tipo de modulación digital. Estas técnicas permiten que los datos transmitidos no dependan del bit actual únicamente, sino también del bit anterior que ha sido transmitido. De esta manera, hay un mayor control en el flujo de los datos transmitidos, aunque cabe destacar que son muy sensibles a los llamados errores de multiplicación por los que una detección incorrecta de un símbolo conlleva a la generación de dos símbolos incorrectos, duplicando de esta forma la tasa de error de bit (BER). La codificación diferencial empleada por el estándar AIS se denomina NRZI (Non Return to Zero inverted). Esta codificación mantiene constante el nivel de tensión durante la duración de un bit, de forma que los datos están codificados mediante la presencia o ausencia de una transición de la señal al principio del intervalo del tiempo de bit [12]. Cuando se tiene un 1lógico, se codifica mediante la transición (sea desde nivel bajo hasta nivel alto, o viceversa) al principio del intervalo de bit. Por el contrario, un 0 lógico representa la ausencia de una transición, de manera que cuando el valor del bit es 1, la señal cambia de estado después de que el ciclo de reloj lo indique, y si es 0,la señal no cambia de estado (Figura 2.4). Figura 2.4: Ejemplo de codificación NRZI sobre una secuencia binaria Esta codificación presenta importantes ventajas que justifican la elección de la misma en el estándar AIS, como son las siguientes: Precisión en la detección o ausencia de señal. Inmunidad frente a ruido e interferencias en el canal. Facilidad para detectar la transición entre símbolos.
2. Descripción del estándar AIS 15 En cuanto a sus desventajas, la principal es que cuando existe una corriente continua durante una secuencia de ceros, se perturba el sincronismo entre transmisor y receptor. Por este motivo, las tramas AIS deben presentar un formato sobre el que, al realizar la codificación NRZI, se eviten las largas cadenas de 0lógicos que afecten al sincronismo entre los sistemas transmisor y receptor. 2.3.1.3. Esquema de modulación El estándar AIS emplea la combinación de una modulación paso banda FM (Frequency Modulation) con una modulación banda base GMSK (Gaussian Minimum Shift Keying), conocida como modulación FM-GMSK. La modulación GMSK es un tipo particular de modulación MSK en banda base, que emplea un filtrado previo sobre los datos para reducir el ancho de banda de la señal. Más concretamente, es capaz de eliminar aquellas componentes relativas a los lóbulos secundarios del espectro [13]. En la Figura 2.5 se muestra una comparativa en el dominio de la frecuencia entre una modulación FSK y una modulación GMSK. Se observa, pues, la mejora que sufre el espectro en lo que respecta a la reducción del ancho de banda en banda base al filtrar los lóbulos secundarios. Figura 2.5: Comparativa entre los espectros FSK y GMSK El tipo de filtro que se emplea para ello es un filtro gaussiano [14]. Se trata de un filtro paso bajo con una respuesta al impulso capaz de transformar una delta de Dirac a su entrada en una forma de onda que, idealmente, se corresponde con una curva de Gauss (Figura 2.6). Figura 2.6: Respuesta al impulso de un filtro gaussiano ideal
22 2.3. Arquitectura de red SOTDMA El esquema SOTDMA (Self-Organized Time Division Multiple Access)eselprincipal esquema de multiplexación que caracteriza al estándar AIS, y se integra en los transpondedores AIS clase A. Este esquema contempla los siguientes modos de operación: Modo autónomo y continuo: las estaciones AIS ejecutan continuamente este modo para poder realizar la transmisión y recepción de mensajes AIS en todo momento. Modo asignado: es programado mediante una autoridad competente que configura los datos en función del área donde se realiza la travesía. Modo interrogación: se ejecuta únicamente cuando una estación AIS solicita una respuesta por parte de otra estación AIS sobre un determinado evento durante la travesía. El modo autónomo y continuo comienza con la fase de inicialización, que se establece en el momento en que la estación es activada. El primer paso consiste en monitorizar los canales VHF marítimo del sistema AIS durante 60 segundos. De esta manera, cada estación puede identificar al resto de estaciones activas en su misma región de cobertura, además del estado de los slots a los que pretende acceder (Figura 2.14). Figura 2.14: Algoritmo de la fase de inicialización en SOTDMA
2. Descripción del estándar AIS 23 Una vez la estación monitoriza la actividad de las estaciones en los canales AIS-1 y AIS-2, debe seleccionar un primer slot para presentarse en el sistema. Esta es la fase de entrada en red, que consigue que el resto de estaciones conozcan la incorporación de esta nueva estación AIS, y así gestionar el acceso a los slots, teniendo en cuenta que un elemento nuevo competirá con ellas para dicho acceso. Para ello, lo primero que hace la estación es seleccionar para los canales AIS-1 y AIS-2 los NSS (Nominal Start Slot), llamados NSSAyNSSB. Considerando un cierto NI (Nominal Increment), se define la siguiente relación: NSSB=NSSA+NI (2.5) donde el incremento nominal NI se define como: NI =2250 Rr (2.6) siendo Rr(Report Rate) el número de informes de posición que el sistema genera cada minuto, de forma que si RI (Reporting Interval) es el intervalo de duración de cada informa, entonces: Rr=60 RI (2.7) En la Figura 2.15 se observa la selección un intervalo SI con los posibles slots destinados a la transmisión y del NTS, que es el slot que realiza la transmisión. Figura 2.15: Selección de NTS en un intervalo SI Cabe destacar que el comienzo de la selección del slot se establece a partir de un NTS (Nominal Transmission Slot), que tiene especial relevancia en la tercera etapa de funcionamiento del esquema de acceso SOTDMA (Figura 2.16).
24 2.3. Arquitectura de red Figura 2.16: Algoritmo de la fase de entrada en red en SOTDMA La tercera etapa de funcionamiento de SOTDMA es la fase de la primera trama.En esta etapa, cada estación AIS localiza de forma continua los distintos NTS y transmite sobre estos sus informes de posición. Al alcanzar el primer NTS, se seleccionan unos nuevos NS (Nominal Slot) y NTS para las próximas transmisiones que llevará a cabo. Dicho de otra manera, cuando se selecciona un slot sobre el que se va a realizar una transmisión, se selecciona otro para la próxima transmisión, y así sucesivamente hasta cumplir 60 segundos desde que se alcanza el primer NSS de la transmisión. Para llevar a cabo este proceso, se almacena en un registro el número de transmisiones efectuadas hasta el momento en el canal, con un tamaño que va desde 0aRr−1. De esta manera, la selección de NS debe efectuarse conforme a la siguiente expresión:
2. Descripción del estándar AIS 25 NS =NSS +(n·NI)∀n∈[0,R r−1] (2.8) En la Figura 2.17 se observa la selección del siguiente NS en función del NSS con el que se realiza la transmisión del informe de posición en el slot actual. Figura 2.17: Selección de NS definido en un NI Por último, se establece la fase de operación continua. En esta fase, la estación realiza de forma continua las transmisiones sobre los slots asignados. Un contador (slot time-out) marca los tiempos en que es ocupado el slot de transmisión, y cuando este contador se pone a 0, se selecciona un nuevo NTS sobre el intervalo SI de igual forma a como se establece en la fase de la primera trama (Figura 2.18). Figura 2.18: Algoritmo de la fase de operación continua en SOTDMA Esta fase se mantiene hasta que el equipo se apaga, pasa al modo asignado oal modo interrogación o bien si cambia la tasa de actualización de los informes.
26 2.3. Arquitectura de red RATDMA El esquema RADTMA (Random Access Time Division Multiple Access) se emplea para anunciar previamente la transmisión aperiódica de slots. Las estaciones transmisoras que emplean RATDMA usan un mapa de slots interno que selecciona aleatoriamente los slots que no están siendo ocupados por otras estaciones. No se anuncia el uso de ningún slot usado para transmisiones aperiódicas (actuales o futuras). No es aconsejable usar RATDMA en transmisiones periódicas para la asignación de slots. Esto se debe a que RATDMA no permite el reconocimiento de estos slots por otros dispositivos que integren AIS, ya que provienen del mapa de slots interno del dispositivo. De hecho, si se usara para transmisiones periódicas, implicaría serios problemas de colisión de datos que comprometerían el correcto funcionamiento del sistema. Por ello, RATDMA se suele emplear como técnica de entrada en red por las estaciones AIS clase A. Esto ocurre cuando un dispositivo que integra AIS clase A se conecta a la red y pretende anunciarse por primera vez en la misma. La selección aleatoria del slot inicial que realiza RATDMA mejora considerablemente esta etapa para otros esquemas de mayor calidad, como SOTDMA. ITDMA El esquema ITDMA (Incremental Time Division Multiple Access) se emplea cuando una estación necesita asignar un slot, pero esta asignación no ha sido anunciada previamente. A diferencia de RATDMA, con el esquema ITDMA sí se anuncia al resto de estaciones qué slots están siendo ocupados en todo momento. De esta manera, permite que una estación transmisora pueda anunciar un cambio temporal en el intervalo de información que ocupa un mensaje periódico. Por tanto, es posible completar envíos de mensajes aperiódicos (por ejemplo, un mensaje relacionado con la seguridad de la embarcación). Este esquema se suele emplear, al igual que RATDMA, para la fase de entrada en la red. Sin embargo, necesita apoyarse del esquema SOTDMA, por lo que no se usa como un esquema de acceso independiente como ocurre con RATDMA. FATDMA El esquema FATDMA (Fixed Access Time Division Multiple Access) se gestiona manualmente para todos los dispositivos AIS que están configurados para utilizar los slots a los que se accede para el resto de transmisiones. Las estaciones configuradas con FATDMA transmiten un mensaje DLM (Data Link Management), que informan al resto de estaciones que integran este esquema sobre la
2. Descripción del estándar AIS 27 asignación de slots, y permiten bloquear estos slots para que no sean ocupados por otras estaciones cercanas. Este esquema TDMA se usa exclusivamente en las estaciones base AIS y en el sistema AtoN. De hecho, se intenta que su integración no abunde entre dispositivos AIS, ya que puede influir en la dinamización de la asignación de slots en la red AIS. CSTDMA El esquema CSTDMA (Carrier Sense Time Division Multiple Access) se emplea como técnica de acceso al medio para transpondedores AIS clase B. Estos transpondedores deben ser compatibles con SOTDMA y garantizar que, en todo momento, SOTDMA tenga prioridad sobre cualquier otro esquema. Este esquema TDMA no necesita sincronismo UTC directo para operar correctamente, por lo que emplea sincronismo UTC indirecto. De esta manera, el sincronismo entre las estaciones que emplean este esquema deriva de otras estaciones con sincronismo UTC directo (por GPS). En cuanto a su funcionamiento, las estaciones con CSTDMA monitorizan continuamente el nivel de ruido de fondo en los canales AIS y toman como referencia este nivel de ruido. De esta forma, se logra medir el nivel de la señal al inicio de cada slot. Usando una asignación aleatoria de slots, se mide el nivel de señal al inicio del slot, seleccionado aleatoriamente, y toma la siguiente decisión: - Si el nivel de señal es superior al nivel de ruido de referencia, asume que ese slot está en uso y, por tanto, no accede al mismo. - Si el nivel de señal es inferior al nivel de ruido de referencia, asume que ese slot está libre y, por tanto, accede al mismo. La principal desventaja de este sistema, frente a la ventaja económica indiscutible que supone la integración de este esquema de acceso sobre transpondedores AIS, es que requiere la existencia de estaciones AIS que empleen otros esquemas de mayor calidad, como SOTDMA, para poder sincronizarse con el resto de estaciones. Además, una mala medida del nivel de referencia de ruido en el canal puede ocasionar que las estaciones que integran CSTDMA interfieran sobre los slots en uso y provocar la colisión de paquetes. Es por ello por lo que normalmente se emplea en equipos receptores. PATDMA El esquema PATDMA (Pre-Announced Time Division Multiple Access), también conocido como SOTDMA modificado, es un esquema de acceso basado en SOTDMA que se utiliza para anunciar futuras transmisiones. Está destinado únicamente a los dispositivos de transmisión.
28 2.4. Tipos de mensajes AIS Las estaciones PATDMA seleccionan de forma aleatoria el slot que se utiliza para transmitir. La primera transmisión anuncia la intención de utilizar este slot durante 8 minutos para la siguiente transmisión, y una vez transcurre este primer periodo, se selecciona aleatoriamente el siguiente slot. Por ello, las transmisiones se realizan en ráfagas de 8 mensajes (un mensaje por minuto), garantizando de esta manera que la transmisión tenga éxito cuando se establece la comunicación cerca de la superficie del mar, pues podría bloquearse por el oleaje u otros fenómenos adversos. El hecho de que PATDMA use un sistema de acceso aleatorio a los slots implica que el esquema sea más sensible a las colisiones de paquetes. Por ello, suele aplicarse casi exclusivamente en boyas de salvamento marítimo, puesto que no reciben una cantidad masiva de datos como ocurre en el resto de estaciones AIS. 2.4. Tipos de mensajes AIS La información compartimentada entre las estaciones AIS depende de la tecnología del transpondedor AIS que ofrece el servicio. En cualquier caso, la clasificación de los mensajes AIS para cualquier tipo de transpondedor AIS es la siguiente: Información estática: está referida a todos aquellos parámetros propios de una embarcación que permiten identificarla, de manera unívoca, frente al resto de estaciones: - MMSI (Maritime Mobile Service Identity). - Nombre de la embarcación. - Tipo de embarcación. - Dimensiones físicas. - Bandera del país de origen de la embarcación. Información dinámica: está referida a la información variable durante una travesía y que es de especial importancia para un correcto control de las operaciones marítimas provistas del sistema AIS: - Posición. - Velocidad. - Trayectoria. - Estado de la navegación. Información sobre el viaje: el usuario puede introducir manualmente algunos datos relevantes acerca de la travesía marítima y que no son monitorizados de forma automática por el sistema AIS. Además de la clasificación de los mensajes AIS según su aplicación, se abre una nueva clasificación que diferencia en mensajes simples ymensajes compuestos [17].
2. Descripción del estándar AIS 29 Los mensajes simples contienen la información más básica de la embarcación (Figura 2.19), y se envían en diferentes intervalos de tiempo en función de la velocidad del buque. Si el barco está anclado o atracado, cada 3 minutos envía un informe de posición. Si está en movimiento, con una velocidad menor a 14 nudos, los informes se envían cada 10 segundos, y si supera los 14 nudos, las tasas de actualización varían entre 6 y 2 segundos, dependiendo si la embarcación cambia su rumbo. Figura 2.19: Campos incluidos en un mensaje AIS simple Por otro lado, los mensajes compuestos incorporan información adicional sobre la travesía de la embarcación que envía este mensaje (Figura 2.20), y son enviados cada 6 minutos. Figura 2.20: Campos incluidos en un mensaje AIS compuesto Además, es posible agregar información complementaria a la que se provee en estos mensajes, como puede ser la asociación de la velocidad a un modo de navegación de la embarcación, o considerar el total de embarcaciones y el tiempo de navegación en aquellos cuadrantes de referencia geográfica conformados entre meridianos y paralelos para permitir la realización estudios estadísticos sobre la confluencia de tráfico marítimo en una región determinada.
30 2.5. Descripción hardware de los transceptores AIS El formato que define los mensajes AIS se recopila en la especificación NMEA 0183 [18]. Este formato común para la transmisión de datos entre dispositivos electrónicos destinados a equipos marítimos combina ciertas especificaciones eléctricas con los datos recibidos por GPS, permitiendo así la comunicación en tiempo real entre embarcaciones y estaciones marítimas. La comunicación con formato NMEA 0183 se realiza través del puerto serie de los equipos marítimos. Los mensajes se presentan como una ráfaga de datos AIVDM que son transmitidos hasta un host como datos binarios ASCII y se codifican a través de los protocolos de red TCP/IP o UDP/IP. Un ejemplo de mensaje NMEA 0183 es el siguiente: !AIVDM,1,1, ,B,19NWrrP02sbuuuuhM86hA0=n2<0:,0*12. En la Tabla 2.4 se describe el significado de las diferentes partes de un mensaje con formato NMEA 0183 como el que se presenta en el ejemplo anterior. Los campos del mensaje y su descripción en esta tabla se ordenan conforme a una lectura del mismo de izquierda a derecha. Descripción Campos NMEA Tipo de mensaje NMEA !AIV DM Número de líneas del mensaje 1 Línea número 1 del mensaje 1 Espacio en blanco para separar mensajes multilínea Tipo de canal AIS (A = AIS-1, B = AIS-2) B Datos AIS codificados 19NWr···=n2<0: Fin de los datos AIS 0∗ Checksum NMEA 12 Tabla 2.4: Campos de datos de un mensaje AIS codificado con NMEA 0183 2.5. Descripción hardware de los transceptores AIS El estándar AIS diferencia entre dos clases de transpondedores AIS: AIS clase A y AIS clase B [19]. La diferencia entre estas dos clases de transpondedores depende de la calidad del hardware y las prestaciones que ofrece el sistema, permitiendo así que por un coste económico considerable cualquier embarcación pueda sumarse a la red AIS, pese a no estar obligadas a ello. 2.5.1. AIS clase A Los transceptores AIS clase A son los transpondedores AIS de mayor calidad y mejores prestaciones, motivo por el que su integración es obligatoria para los buques
2. Descripción del estándar AIS 31 que deben cumplir con el Convenio SOLAS. Se caracterizan por operar con potencias de hasta 12.5Wy por implementar el protocolo SOTDMA (Figura 2.21). Los subsistemas que integran estos transpondedores son: Un transmisor VHF sintonizable para los canales AIS-1 y AIS-2. Dos receptores de VHF para los canales AIS-1 y AIS-2. Un procesador de comunicaciones marítimas con una interfaz para comunicaciones IEC 61162/NMEA 0183 y donde esté implementado el protocolo SOTDMA. Un receptor GPS/DGPS para establecer el sincronismo entre estaciones. Una unidad de visualización del servicio, con la posibilidad de combinarse con la visualización radar. Figura 2.21: Diagrama de bloques de un transpondedor AIS clase A 2.5.2. AIS clase B Los transpondedores AIS clase B son la opción económicamente más asequible para aquellas embarcaciones que no se ven inmersas en la obligatoriedad de cumplimiento del Convenio Solas, y por tanto, la integración de transpondedores AIS pasaría a ser opcional. Se caracterizan por operar con potencias de hasta 2Wy por implementar el protocolo CSTDMA, de manera que el alcance es menor. Las embarcaciones que integren este modelo no se ven obligadas a transmitir (Figura 2.22). Los subsistemas que integran estos transpondedores son: Un transmisor VHF sintonizable para uno de los posibles canales, AIS-1 o AIS-2. Un receptor de VHF para uno de los canales, AIS-1 o AIS-2.
38 3.3. Módulo banda base DV-MEGA GMSK Pin Modo Descripción TX SERIAL Salida No tiene conexiones con el módem. RX SERIAL Entrada No tiene conexiones con el módem. RX CLK Entrada Señal de reloj de la línea de datos recibidos. TX CLK Entrada Señal de reloj de la línea de datos transmitidos. S/N Salida Marca la relación S/N según el nivel de los datos recibidos. RXD Entrada Línea de datos recibidos. TXD Salida Línea de datos transmitidos. RXDCACQ Salida Opera sobre el PLL del chip CMX589A. PTT Entrada Permite la operación half-dúplex del módem. PLLACQ Salida Opera sobre el PLL del chip CMX589A. LED TX Entrada Enciende el LED de transmisión (verde). LED COS Entrada Enciende el LED COS (rojo). LED PWR Entrada Enciende el LED PWR (amarillo). ARDU LED Entrada Enciende el LED integrado sobre Arduino. Tabla 3.1: Descripción de los pines del módem DV-MEGA GMSK 3.3.2. CMX589A El chip CMX589A es un encapsulado de 24 pines diseñado por la empresa CML Microcircuits que se describe como un módem GMSK banda base que puede operar siguiendo tanto un esquema de comunicación full-dúplex como half-dúplex (Figura 3.5). Este chip permite tasas de transmisión comprendidas entre 4kbps y200 kbps.En lo que respecta al factor BT, presenta un pin configurable para seleccionar este factor en dos posibles valores: 0.3y0.5. Figura 3.5: Encapsulado del chip CMX589A La función principal de este chip es realizar una serie de filtrados sobre las señales de entrada y de salida siguiendo los esquemas de una modulación GMSK. Presenta pines de transmisión y recepción de datos que trabajan bit a bit, además de sus respectivas señales de reloj, que son las que permiten el sincronismo de los datos transmitidos y recibidos, respectivamente. Este chip requiere circuitos externos para completar su funcionamiento, ya sean unidades de amplificación como filtros y moduladores paso banda, además de los cir-
3. Diseño modular del prototipo hardware 39 cuitos de sincronismo que, entre otros factores, determinan la tasa binaria a la que puede operar el dispositivo. Tal y como se observa en el diagrama de bloques de la Figura 3.6, los pines principales con los que opera el CMX589A son los pines de transmisión y recepción de datos (TX Data yRX Data) y sus correspondientes pines de sincronismo (TX Clock yRX Clock), que se conectan directamente a la UARToaunmicrocontrolador con el que se pretende comunicar para realizar la transferencia de datos. Figura 3.6: Subsistemas integrados al chip CMX589A A este sistema se le suman algunos subsistemas relativos a la ganancia y al filtrado de la señal. Debido a que el CMX589A no puede asegurar que a su salida se entregue el nivel de señal que se requiere para una determinada aplicación, emplea diversos mecanismos de amplificación y filtrado para ajustar los niveles de señal y rechazar frecuencias indeseables a la entrada y a la salida del chip. Los detalles técnicos del chip CMX589A, así como su configuración y selección de componentes y circuitos externos al propio chip, se recogen en el Anexo [A]. A continuación, se describen algunas redes externas que se integran en el dispositivo DV-MEGA GMSK, y son las siguientes: - Circuito de sincronismo externo. - Etapa de filtrado y ganancia en transmisión y recepción. - Controlador PTT. 3.3.3. Circuito de sincronismo externo El módem DV-MEGA GMSK emplea una red de sincronismo externa basada en un cristal de 9.8304 MHz para establecer las líneas de sincronismo TXCLK y RXCLK que se encuentran en el chip CMX589A (Anexo [A]).
40 3.3. Módulo banda base DV-MEGA GMSK Este cristal fija una señal de reloj de 9.8304 MHz para establecer una tasa binaria de 9.8kbps. Para ello, la configuración binaria que deben seguir las líneas ClkDivA y ClkDivB del chip CMX589A es ClkDivA =1yClkDivB =1, pues se fija el divisor de frecuencia a N= 1024 y se establece que: RB=fXTAL N=9.8304 ·106 1024 =9.8kbps (3.1) La ecuación (3.1) queda recogida en el Anexo [A]. Se indica, además, que para el correcto funcionamiento de la red representada en la Figura 3.7, los condensadores C2 yC3se fijan a 30 pF y la resistencia R2=1MΩ. Figura 3.7: Circuito de sincronismo externo al chip CMX589A para 9.8kbps 3.3.4. Etapas de filtrado y ganancia en transmisión A la salida del pin TXOUT del chip CMX589A se colocan dos filtros. El primero de estos filtros se encarga de fijar la tasa binaria de salida del dispositivo, mientras que el segundo realiza un filtrado paso bajo sobre los datos e incluye, a través de un potenciómetro, el control de ganancia a la salida del módem. En una primera etapa, el filtro pasivo RC paso bajo formado por la resistencia R1= 47kΩy el condensador C1= 470 pF determina el factor BT, según la tasa binaria seleccionada, y elimina el ruido de alta frecuencia (Figura 3.8). Figura 3.8: Filtro pasivo RC paso bajo
3. Diseño modular del prototipo hardware 41 A partir de las especificaciones del chip CMX589A, si el factor BT de este dispositivo es BT =0.5, el valor de la tasa binaria a la salida, según los valores de R1yC1 anteriormente fijados, se calcula de la siguiente manera: RB=0.22 R1·C1 =0.22 47 ·103·470 ·10−12 ≈9.8kbps (3.2) A esta etapa de filtrado le sigue otra etapa que incluye un filtro activo paso bajo basado en un amplificador operacional (Figura 3.9): Figura 3.9: Filtro activo paso bajo Su función de transferencia viene determinada por la ecuación (3.3): H(jω)=−R2 R1· 1 R2·C jω +1 R2·C (3.3) Por tanto, a partir de la ecuación (3.3) es posible determinar la ganancia del filtro activo, que viene dada por la expresión (3.4): H0=−R2 R1 (3.4) La expresión (3.4) indica que al menos uno de los dos valores resistivos de este filtro debe ser variable para que a la salida que se conecta al puerto del módem GMSK pueda ajustarse el nivel de señal. El valor variable que integra un potenciómetro es R1, que oscila entre 500 kΩy1MΩ. Esto implica que las variaciones de ganancia sean del orden de entre 7dB hasta 10 dB. Este filtro consigue que la señal que llega al modulador FM pueda variar linealmente la frecuencia en función de la tensión que regula el potenciómetro, de manera que se trata de un VCO (Voltage-controlled oscillator) [20]. La conjunción de estos filtros y elementos de control de ganancia en el transmisor, colocados a la salida del pin TXOUT, se representa en la Figura 3.10.
42 3.3. Módulo banda base DV-MEGA GMSK Figura 3.10: Filtro de transmisión 3.3.5. Etapas de filtrado y ganancia en recepción A la entra del pin RX IN SIGNAL del chip CMX589A se coloca un filtro de topología similar a la estudiada para la etapa de transmisión (punto 3.3.4). Este filtro, fundamentalmente, controla la ganancia del receptor. Consta de un potenciómetro que hace variar las señales de entrada para que no superen 1Vpp ala entrada del chip CMX589A, como se indica en el Anexo [A], pues es la amplitud con la que opera internamente este chip. Se consigue, además, filtrar algunas componentes espúreas que pueden pasar desde el demodulador de FM. Seguido de esta topología, se coloca un filtro RC paso bajo descrito en el Anexo [A], para el que se establecen los valores R3= 100 kΩ,R4= 100 kΩyC6=22pF para configurar que la tasa binaria con la que opera el chip CMX589A sea inferior a 64 kbps. Estos filtros y los elementos de control de ganancia en el receptor, colocados a la entrada del pin RX IN SIGNAL, se representan en la figura 3.11. Figura 3.11: Filtro de recepción
3. Diseño modular del prototipo hardware 43 3.3.6. Push To Talk Los circuitos PTT (Push To Talk) suelen integrarse en los sistemas de radiofrecuencia para activar y desactivar los subsistemas de transmisión y de recepción. Normalmente, se asocian a los principios de operación de un walkie-talkie: cuando se pulsa el PTT, el equipo entra en modo transmisión y el usuario puede enviar voz, mientras que si no está pulsado, el usuario puede recibir la señal que llega al dispositivo desde otros equipos de radio. Por tanto, se puede definir el PTT como el circuito que permite controlar la comunicación half-dúplex en una comunicación por radiofrecuencia. En el caso del módem DV-MEGA, este circuito realiza un proceso de modulación o de demodulación GMSK a partir de una señal de activación generada por el sistema de comunicación FM, aunque su incorporación no excluye el uso del modo símplex en este módem. El circuito PTT está formado por una topología inversora. De esta manera, a través de una resistencia de pull-up, que mantiene el nivel que llega a la entrada del PTT, se consigue que en caso de que el equipo transmisor no esté transmitiendo voz y/o datos, se desconecte el modo transmisión y el modo recepción pasa a estar activo, o viceversa (Figura 3.12). Figura 3.12: Circuito PTT del módem DV-MEGA GMSK 3.3.7. Conector Mini-DIN 6 Los conector Mini-DIN son una familia de conectores estandarizados por el organismo de estandarización alemán DIN (Deutsches Institut für Normung). Presentan sección circular, con un diámetro genérico de 9.5mm, y el número de pines en su interior es variable dependiendo del modelo evaluado (Figura 3.13). El módem DV-MEGA GMSK integra un conector Mini-DIN 6. Este conector se caracteriza por presentar 6 pines, de los cuales dos quedan inhabilitados para esta aplicación (Figura 3.14).
44 3.3. Módulo banda base DV-MEGA GMSK Figura 3.13: Dimensiones del conector Mini-DIN 6 (expresadas en milímetros, mm) A continuación, se presenta la descripción de los pines habilitados para el módem: Pin 1 (OUT): salida de datos del módem, de manera que en relación a los circuitos implementados en el módem, presenta una conexión directa con la salida de las etapas de ajuste de ganancia y filtrado a la salida del pin TX OUT del chip CMX589A. Pin 2 (GND): toma de tierra del módem. Pin 3 (PTT): referido a la habilitación y deshabilitación de los modos de transmisión y de recepción en el módem. Pin 4 (IN): entrada de datos del módem, de manera que en relación a los circuitos implementados en el módem, presenta una conexión directa con la entrada de las etapas de ajuste de ganancia y filtrado a la entrada del pin RX SIGNAL del chip CMX589A. Figura 3.14: Pines del conector Mini-DIN 6
3. Diseño modular del prototipo hardware 45 3.4. Módulos paso banda FM Radiometrix Dado que el estándar AIS especifica que su esquema de modulación debe presentar una modulación FM, se escogen dos dispositivos que operan como modulador y demodulador FM. La opción elegida son los chips Radiometrix TX1 (modulador) y Radiometrix RX1 (demodulador), ambos operando a la frecuencia 161.975 MHz. 3.4.1. Radiometrix TX1 El chip Radiometrix TX1 a la frecuencia 161.975 MHz es un dispositivo modulador de FM que opera sobre los datos que la llegan a su entrada, entregándolos a su salida modulados en FM y siendo emitidos por una antena que opera a la frecuencia de trabajo del propio chip. Figura 3.15: Dimensiones físicas del chip Radiometrix TX1 Tal y como se observa en la Figura 3.15, este dispositivo presenta siete pines de entrada y salida sobre su encapsulado. A continuación, se describe la función de cada uno de estos pines: RF GND: toma de tierra del dispositivo; los pines 1,3y6están conectados internamente, de manera que solo se necesita una conexión a tierra en alguno de estos pines para que el dispositivo funcione correctamente. RF Out: salida del modulador de FM que entrega a la salida una potencia de aproximadamente 10 dBm para una alimentación superior a 2.8V. Enable: señal que habilita la transmisión en el dispositivo. En caso de alimentar este pin con una tensión entre 0.15 V−1.7V(asegurando que la corriente suministrada no sea inferior a 1μA), empieza a transmitir la portadora.
46 3.4. Módulos paso banda FM Radiometrix Vcc: alimentación del dispositivo, comprendida en unos valores de tensión entre 2.2V−12 V. No debe superar un rizado de 0.1Vpp. Además, la corriente máxima suministrada no puede ser superior 14 mA. TXD: entrada para la señal moduladora con la que se realiza la modulación FM. Acepta señales de datos digitales comprendidas entre 0V−3V. A nivel de diagrama de bloques, el chip Radiometrix TX1 consiste en un filtro paso bajo a la entrada de la señal de datos TXD con una frecuencia de corte de 7KHz. La señal filtrada pasa por un VCO que oscila a la frecuencia de 161.975 MHz, de manera que se encarga de generar la frecuencia portadora para hacer posible la modulación en frecuencia de los datos de entrada. Un filtro paso banda se encarga de ajustar la banda modulada previamente a la etapa de amplificación, generando a la salida una potencia máxima de RF que va en función del voltaje que entrega el regulador de tensión del dispositivo (Figura 3.16). Figura 3.16: Diagrama de bloques del chip Radiometrix TX1 La salida del diagrama de bloques se conecta a una antena de VHF, ya sea de forma directa o incluyendo atenuadores o amplificadores, según el diseño que se quiera llevar a cabo. En cualquier caso, debe asegurarse una correcta adaptación a 50 Ω que permita que la señal modulada se transmita con el menor coeficiente de reflexión posible. En la Tabla 3.2 se muestran algunas de las características técnicas más relevantes del chip Radiometrix TX1, clasificando cada parámetros según sus valores mínimo, nominal y máximo:
3. Diseño modular del prototipo hardware 47 Parámetro Mínimo Norminal Máximo Tensión de alimentación (V) 2.2 3 12 Corriente de alimentación (mA) 9.5 11 Potencia de salida (dBm) (VCC =2.2V) +4.5 +6 7.5 Potencia de salida (dBm) (VCC ≥2.8V) +8.5 +10 +11.5 Atenuación de la banda espuria (dBc) -70 -55 Desviación de frecuencia (KHz) -2 0 +2 Ancho de banda a -3 dB (KHz) 0 7 Nivel de señal de entrada (LOW) (V) -0.2 0 0.2 Nivel de señal de entrada (HIGH) (V) 2.8 3 3.2 Tabla 3.2: Características del chip Radiometrix TX1 3.4.2. Radiometrix RX1 El chip Radiometrix RX1 a la frecuencia 161.975 MHz es un dispositivo demodulador de FM que opera sobre los datos modulados en FM que llegan a su entrada desde una antena de VHF y los entrega a su salida demodulados (banda base) y convertidos a formato digital. Figura 3.17: Dimensiones físicas del chip Radiometrix RX1 Tal y como se observa en la Figura 3.17, este dispositivo presenta nueve pines de entrada y salida sobre su encapsulado. A continuación, se describe la función de cada uno de estos pines: RF GND: toma de tierra del dispositivo; los pines 2,3y6están conectados internamente, de manera que la conexión a tierra solamente es necesaria en alguno de estos pines para el correcto funcionamiento del dispositivo.
54 4.3. Programación de un firmware de control en Arduino valor referenciado en cualquier sección del código, permitiendo de esta manera que la programación sea más compacta. 1#define ejemplo_definicion 2015 Con respecto a las variables, se declaran asignándole un tipo de variable, un nombre y si procede, un valor inicial. Los tipos que incluye el lenguaje de programación Arduino son los mismos que se incluyen en otros lenguajes de programación como C. 1int variable_entero = 3; 2float variable_decimal = 9.5; 3char variable_caracter; 4boolean variable_booleana = false; Además, el lenguaje Arduino permite crear funciones que cumplan ciertas operaciones cuando son llamadas por el programa. Las funciones se caracterizan por tener un tipo, un nombre y si procede, parámetros. Estas mismas funciones pueden ser rutinas de servicio que atiendan las interrupciones que ocurren en el diseño. 1char funcion1() { 2// estamentos de la funcion1 3} 4 5int funcion2(int valor1, int valor 2) { 6// estamentos de la funcion2 7} 4.3.1. Funciones propias de Arduino El lenguaje Arduino se caracteriza por presentar algunas funciones propias que facilitan la programación de los dispositivos. Es conveniente indicar algunas de las funciones más relevantes en Arduino para concretar la descripción del funcionamiento del firmware de control del transmisor (punto 4.4) y del receptor (punto 4.5). En primer lugar, las funciones básicas de configuración, lectura y escritura de datos a través de los puertos digitales de Arduino son las siguientes: pinMode(pin, modo): permite configurar un pin según el modo que se especifique en la inicialización del programa. Puede ser modo entrada (INPUT)omodo salida (OUTPUT).
4. Integración del banco de pruebas AIS 55 digitalWrite(pin, estado): permite la escritura de niveles lógicos sobre un pin. El estado del nivel lógico lo marcan las constantes HIGH (nivel alto) y LOW (nivel bajo). digitalRead(pin): permite la lectura de niveles lógicos sobre un pin. El estado del nivel lógico lo marcan las constantes HIGH yLOW. delay(milisegundos): introduce un retardo durante la ejecución del programa, y se especifica como parámetro los milisegundos que se desea retardar una cierta rutina. Suele ser una función de gran utilidad para la visualización por pantalla de los datos transmitidos y recibidos a través del puerto serie. Otras funciones de especial importancia son aquellas relativas al puerto serie, y que pertenecen a la clase Serial definida en Arduino. Estas funciones permiten la lectura y escritura de datos digitales a través del puerto serie, de manera que pueden ser representados por pantalla o ser enviados a otros dispositivos mediante un cable USB para su almacenamiento, procesado o visualización. Para indicar que son funciones del puerto serie, se debe especificar la clase Serial en la instrucción antes de declarar la función: 1Serial.funcion(parametros); Las funciones principales del puerto serie son las siguientes: begin(velocidad, configuración): inicializa el puerto serie según el protocolo de la UART que se desee implementar. Se especifica para ello la tasa de símbolos (baudios) y la configuración del protocolo de la UART. Este último parámetro no es estrictamente necesario, ya que por defecto Arduino implementa el protocolo 8N1 (8 bits de datos, sin paridad y 1 bit de stop). write(dato): permite la escritura de un carácter por el puerto serie. Se diferencia de las funciones print() yprintln() en que estas escriben los caracteres según su equivalencia en la tabla ASCII. read(dato): permite la lectura de un carácter por el puerto serie. available(): devuelve el número de bytes disponibles para ser leídos desde el puerto serie. Suele emplearse como condición para la habilitación del puerto serie. flush(): realiza el borrado del buffer de transmisión y/o de recepción del puerto serie durante la inicialización del programa. Suele ser útil para asegurar que los datos previos a la ejecución del programa actual no interfieran con los nuevos datos.
56 4.3. Programación de un firmware de control en Arduino 4.3.2. Interrupciones en Arduino Una interrupción es una señal de un dispositivo conectado al microprocesador que provoca la detención del programa principal con el fin de ejecutar una rutina externa al mismo. A esta rutina externa se le suele denominar rutina de servicio (ISR). Las rutinas de servicio son secciones de código en un programa que permiten atender una interrupción que llega al procesador. De esta manera, la ISR se habilita y toma el control del procesador una vez llegue la interrupción, y se deshabilita cuando la interrupción haya sido atendida. Generalmente, los microcontroladores pueden atender interrupciones por hardware ypor software. Sin embargo, en el caso de los microcontroladores Arduino, actualmente solamente pueden ser procesadas las interrupciones hardware, aunque no se descarta que diseños futuros permitan la inclusión de las interrupciones software. En los microcontroladores Arduino, dependiendo del modelo elegido, hay dos o más pines sobre los que pueden llegar interrupciones. El modelo Arduino UNO R3 presenta dos pines digitales sobre los que se atienden las interrupciones previamente programadas en el dispositivo. Estos pines son: Pin 2: atiende la interrupción INT0. Pin 3: atiende la interrupción INT1. Cuando se activa una rutina de servicio para atender una interrupción, es necesario incluir una condición sobre los flancos de las señales que llegan al pin, a las que se les denomina condiciones de disparo. En el caso de Arduino, su programación permite incluir esta clasificación en las condiciones de disparo: LOW: la interrupción se dispara cuando el pin se encuentra a nivel bajo. CHANGE: la interrupción se dispara cuando el pin pasa de nivel alto a nivel bajo, o viceversa. RISING: la interrupción se dispara en flanco de subida (cuando el pin pasa de nivel bajo a nivel alto). FALLING: la interrupción se dispara en flanco de bajada (cuando el pin pasa de nivel alto a nivel bajo). En la Figura 4.3 se incluye una descripción gráfica de estos cuatro posibles estados por los que se habilita una ISR.
4. Integración del banco de pruebas AIS 57 Figura 4.3: Condiciones de disparo en Arduino Por tanto, cuando se define una interrupción en Arduino, hay dos funciones para habilitar y deshabilitar una interrupción: attachInterrupt (habilita la ISR) y detachInterrupt (deshabilita la ISR). Para la función attachInterrupt, se definen tres parámetros: el número de la interrupción, el nombre de la ISR y la condición de disparo. Es decir: 1attachInterrupt(interrupt , ISR_name, mode); Para la función detachInterrupt, se define únicamente como parámetro el número de la interrupción: 1detachInterrupt(interrupt); 4.4. Desarrollo del firmware de control del transmisor El firmware de control del transmisor se diseña con el objetivo de que el microcontrolador Arduino que actúa como transmisor AIS en el banco de pruebas pueda recibir datos desde un ordenador personal a través del puerto serie empleando atención por polling. El propio Arduino genera el formato de la tramas AIS, la codifica en NRZI y la envía a través del módem DV-MEGA GMSK hasta el modulador FM por medio de una rutina de servicio, donde las tramas son moduladas y, posteriormente, enviadas a través de la antena de VHF marítimo del banco de pruebas del transmisor.
58 4.4. Desarrollo del firmware de control del transmisor 4.4.1. Definiciones y variables globales En esta sección de código se definen los pines del módem GMSK, los valores límite que son usados en el programa y las variables globales con las que se trabaja en el mismo. En lo que respecta a la definición de los pines, cabe señalar que se usa la directiva define y se declara el nombre del pin y su número asociado en el módem GMSK. 1#define pinRXCLK 2 2#define pinTXCLK 3 3#define pinSN 4 4#define pinRXD 5 5#define pinTXD 6 6#define pinPTT 8 7#define pinPLLACQ 9 8#define pinLEDTX 10 9#define pinLEDCOS 11 10 #define pinLEDPWR 12 11 #define pinArduinoLED 13 Los valores límites también usan la directiva define y la misma declaración que los pines. Se asocian a los valores que sirven para establecer condiciones y hacer la programación más compacta. De esta forma, se tiene MAX DATA (indica el número máximo de datos que puede almacenar una trama AIS), LONG HEADER (indica el número de bytes fijos en la trama AIS) y MAX FRAME (indica el tamaño máximo de la trama AIS). 1#define MAX_DATA 23 2#define LONG_HEADER 4 3#define MAX_FRAME 2*LONG_HEADER + MAX_DATA Las variables globales usadas son las siguientes: 1uint8_t txdato; 2uint8_t txByte; 3uint8_t datoGMSK; 4uint8_t datoGMSK_NRZI = 0; 5int contadorBitTx = 0; 6int contadorByteTx = 0; 7int contadorTx = 0; 8unsigned char bufferTx[MAX_FRAME];
4. Integración del banco de pruebas AIS 59 4.4.2. Inicialización del programa En esta sección del código se inicializan el puerto serie, los pines del módem GMSK y los elementos del vector de la trama que son fijos. El puerto serie se inicializa con una velocidad de transmisión de 9600 baudios a través de la función begin() de la clase Serial. Además, es importante asegurar que el puerto serie no tenga datos anteriores que puedan ser transmitidos por error, de manera que se emplea la función flush() de la clase Serial para borrar cualquier dato presente en el puerto serie antes de iniciar la ejecución del programa. 1Serial.begin(9600); 2Serial.flush(); En la inicialización de los pines, cabe señalar que aunque se trabaja casi en exclusividad con los pines TXCLK y TXD, es conveniente inicializar todos los pines con el fin de que el código de control del transmisor pueda ser reutilizado para otros trabajos posteriores. Para ello se emplea la función pinMode() que recibe como parámetro el pin y el modo en el que se quiera trabajar con dicho pin, pudiendo ser de salida (OUTPUT) o de entrada (INPUT). 1pinMode(pinTXCLK, INPUT); 2pinMode(pinRXCLK, INPUT); 3pinMode(pinSN, INPUT); 4pinMode(pinRXD, INPUT); 5pinMode(pinTXD, OUTPUT); 6pinMode(pinLEDTX, OUTPUT); 7pinMode(pinLEDCOS, OUTPUT); 8pinMode(pinLEDPWR, OUTPUT); 9pinMode(pinPTT, OUTPUT); 10 pinMode(pinPLLACQ, OUTPUT); Puede comprobarse como el pin TXD se inicializa como salida debido a que los datos que van a ser generados por el microcontrolador Arduino son enviados a través de este pin hacia la interfaz radio. Sin embargo, los pines TXCLK y RXCLK deben actuar como entradas debido a que recogen las señales de reloj asociadas a la transmisión y la recepción, respectivamente, para poder establecer el sincronismo con los datos transmitidos y recibidos. Por último, una trama AIS contiene 4 bytes iniciales relativos al preámbuloyala cabecera de inicio. Dado que la trama AIS se declara como un vector, los 4 primeros elementos de este vector deben ser fijos. Lo mismo ocurre con los 4 últimos bytes de la trama AIS, que se corresponden con la cabecera de fin y el buffer temporal. 1bufferTx[0] = 0x55;
60 4.4. Desarrollo del firmware de control del transmisor 2bufferTx[1] = 0x55; 3bufferTx[2] = 0x55; 4bufferTx[3] = 0x7E; 5bufferTx[LONG_HEADER + MAX_DATA] = 0x7E; 6bufferTx[LONG_HEADER + MAX_DATA+1] = 0x00; 7bufferTx[LONG_HEADER + MAX_DATA+2] = 0x00; 8bufferTx[LONG_HEADER + MAX_DATA+3] = 0x00; Cabe señalar que los 3 bytes relativos al buffer temporal, debido a que se relacionan fundamentalmente con niveles superiores de la arquitectura de red AIS y que no son objeto de este trabajo, se inicializan a 0x00 para conservar el formato de la trama pero sin implementar sus valores adecuados, que dependen de la transmisión y el sistema sobre el que vienen integrados. 4.4.3. Programa principal En esta sección del código, primero se comprueba si en el puerto serie se reciben bytes. Para ello se establece una condición que indique que en caso de no haber bytes disponibles, no se ejecutarán las siguientes líneas del código. Se usa para ello la función available() de la clase Serial. 1while(!Serial.available()); En caso de que haya bytes en el puerto serie, se reciben los bytes a través de la función read() de la clase Serial y se almacenan en el vector de la trama AIS hasta que se hayan almacenado 23 bytes correspondientes a los campos de datos y CRC. Además, a través de la función write() de la clase Serial, se presentan por pantalla los datos introducidos con un retardo de 10 ms entre carácter y carácter, determinado por la función delay(). 1for(int k=0; k<MAX_DATA; k++) { 2delay(10); 3txdato = Serial.read(); 4bufferTx[LONG_HEADER + k] = txdato; 5Serial.write(txdato); 6} Cuando los datos recibidos estén almacenados en el vector de la trama AIS y en disposición de ser enviados por el módem GMSK, se reinician los contadores de bits y bytes (que están declarados en la rutina de servicio del transmisor) y se habilita la interrupción de transmisión a través de la función attachInterrupt().
4. Integración del banco de pruebas AIS 61 1contadorBitTx = 0; 2contadorByteTx = 0; 3attachInterrupt(1, txISR, RISING); En la Figura 4.4 se presenta el flujograma del proceso que sigue el programa principal del firmware de control del transmisor. Figura 4.4: Flujograma del programa principal del firmware de control del transmisor
62 4.4. Desarrollo del firmware de control del transmisor 4.4.4. Rutina de servicio del transmisor En primer lugar, la rutina de servicio extrae los bytes almacenados en el vector de la trama AIS. Sobre cada byte, toma cada uno de los bits que lo componen a través de un desplazamiento lógico a la derecha. Estos bits se escriben sobre el pin TXD a través de la función digitalWrite(). 1txByte = bufferTx[contadorByteTx]; 2datoGMSK = (txByte >> (7-contadorBitTx)) & 0x01; 3// CODIFICACION NRZI 4digitalWrite(pinTXD, datoGMSK ? HIGH:LOW); Previamente a que los bits sean escritos sobre el pin TXD, se establece la codificación NRZI sobre los bits a partir del siguiente bloque condicional: - Si el dato que se va a transmitir está a nivel alto (HIGH ), se realiza una operacion XNOR entre el estado del pin de transmisión y el propio bit a transmitir. - Si el dato que se va a transmitir está a nivel bajo (LOW ), se lee el estado del pin de transmisión y se realiza la escritura del bit resultante sobre el pin TXD. 1if(datoGMSK == HIGH) { 2datoGMSK_NRZI = digitalRead(pinTXD) ^ datoGMSK; 3digitalWrite(pinTXD, datoGMSK_NRZI); 4}else { 5datoGMSK_NRZI = digitalRead(pinTXD); 6digitalWrite(pinTXD, datoGMSK_NRZI); 7} Seguidamente, la escritura de los bits que forman cada byte se realiza hasta que el contador de bits llegue a los 8 bits, indicando que se ha escrito un byte y por tanto, el contador de bytes aumenta una unidad. Este proceso se repite mientras el contador de bytes no alcance el valor de 23 bytes. En caso de que el contador de bytes llegue a 23, se deshabilita la rutina de servicio del transmisor a través de la función detachInterrupt(). De esta manera, vuelven a almacenarse los datos recibidos desde el puerto serie desde el programa principal y se vuelve a realizar todo el proceso descrito anteriormente en la rutina de servicio del transmisor. 1if(contadorBitTx >= 7) { 2contadorBitTx = 0; 3if(contadorByteTx >= MAX_FRAME -1) { 4contadorByteTx = 0;
4. Integración del banco de pruebas AIS 63 5detachInterrupt(1); 6}else { 7contadorByteTx++; 8} 9}else { 10 contadorBitTx++; 11 } En la Figura 4.5 se presenta el flujograma del proceso que sigue la rutina de servicio del firmware de control del transmisor. Figura 4.5: Flujograma de la rutina de servicio del firmware de control del transmisor
70 4.6. Descripción de la interfaz Arduino - Puerto serie 4.6. Descripción de la interfaz Arduino - Puerto serie Se emplean dos aplicaciones para el manejo de los sistemas de pruebas en transmisión y en recepción. En ambos casos, el objetivo de las aplicaciones utilizadas es realizar la comunicación vía puerto serie entre un ordenador personal y Arduino. Para el caso se transmisión, se emplea el software CoolTerm (Figura 4.9), que permite enviar una cadena de caracteres a través del puerto serie hasta el dispositivo Arduino transmisor. Para recepción, se utiliza la aplicación Serial Monitor incluida en Matlab 2014b (Figura 4.11), que permite al usuario visualizar los datos recibidos desde el puerto serie al que se conecta el dispositivo Arduino receptor, además de almacenar estos datos en un fichero de extensión (.dat). En la Figura 4.8 se presenta un esquema del montaje final del banco de pruebas, incluyendo tanto los elementos hardware que caracterizan tanto al transmisor como al receptor (microcontrolador, módem GMSK y módulos paso banda) como las interfaces de transmisión y recepción de datos en cada uno de los casos. Figura 4.8: Banco de pruebas transmisor y receptor con interfaces Serial 4.6.1. Interfaz de transmisión En la Figura 4.9 se presenta la interfaz del software CoolTerm, utilizado para el envío de cadenas de caracteres que se incluyen en el campo de datos de las tramas AIS generadas por Arduino para el sistema transmisor. CoolTerm ofrece diferentes utilidades dependiendo de la aplicación que se esté evaluando. Las principales funciones que se manejan para el control del prototipo hardware se encuentran en la ventana Connection, donde se puede establecer la conexión con el puerto serie donde se conecta el prototipo transmisor. Además, se presenta el comando Send String, que envía una cadena de caracteres que se reciben en Arduino para transmitir tramas AIS (Figura 4.10).
4. Integración del banco de pruebas AIS 71 Figura 4.9: Interfaz de la aplicación CoolTerm Figura 4.10: Envío de cadenas de caracteres por el puerto serie con Send String 4.6.2. Interfaz de recepción En la Figura 4.11 se presenta la interfaz Serial Monitor que se utiliza para la visualización de los datos recibidos desde Arduino. Esta interfaz incluye una ventana llamada Serial Data. Sobre esta ventana, los datos recibidos quedan representados por pantalla, y con la opción Save, se permite almacenar los datos recibidos en un fichero Matlab. Esto permite operar con los datos recibidos desde Matlab a través de diferentes pruebas que se recogen en el Capítulo 5. Por último, se debe especificar el puerto de conexión a través de Serial Port. Una vez se selecciona el puerto serie al que está conectado el microcontrolador Arduino que opera como receptor, basta con seleccionar Connect para comenzar a recibir datos.
72 4.6. Descripción de la interfaz Arduino - Puerto serie Figura 4.11: Interfaz de la aplicación Serial Monitor de Matlab 2014b
Capítulo 5 Pruebas y resultados 5.1. Introducción En este capítulo se describen las pruebas de conformidad para cada uno de los módulos que forman parte del prototipo hardware, así como las pruebas finales de viabilidad al integrar estos módulos sobre un mismo sistema de transmisión y recepción. 5.2. Pruebas sobre los módulos paso banda Se describen las pruebas individuales realizadas sobre cada de uno de los módulos paso banda que integran el prototipo hardware. Los dispositivos que se evalúan para este propósito son los chips Radiometrix TX1 (3.4.1) y Radiometrix RX1 (3.4.2). El objetivo de estas pruebas es comprobar el funcionamiento de estos módulos, empleando para ello señales de test que puedan simular el comportamiento de los dispositivos previamente a su integración con el módulo banda base. 5.2.1. Pruebas sobre el módulo Radiometrix TX1 Para realizar las pruebas de verificación del chip Radiometrix TX1, se requieren los siguientes materiales: Radiometrix TX1. Fuente de alimentación. Generador de señal. Analizador de espectros. Atenuador fijo. 73
74 5.2. Pruebas sobre los módulos paso banda Con estos elementos, se realiza el montaje de la Figura 5.1. Figura 5.1: Montaje de prueba para el chip Radiometrix TX1 En este montaje se aprecian dos líneas relativas a la fuente de alimentación. La línea roja representa la tensión de alimentación VCC =3Vy una corriente de 9.5mA aplicada sobre el dispositivo, mientras que la línea verde entrega la tensión VEN =1.5V y0.1mA para que el dispositivo se encuentre operativo. La conexión entre la salida del Radiometrix TX1 y la entrada del analizador de espectros a través de un cable coaxial rígido está adaptada a 50 Ω, y depende de la entrada del chip (RF IN ) que se encuentra conectada por medio de otro cable coaxial a la salida del generador de funciones. El generador de funciones se ajusta para entregar a su salida una señal cuadrada de 4.8KHz, con una amplitud de 1.5Vpp y un nivel de offset de 500 mVpp. Cada pulso tiene un ciclo de trabajo del 50 %. De esta manera, se consigue representar una tasa binaria de 9600 bps. Una vez se realiza el montaje de la Figura 5.1, la primera medida tomada para estas pruebas es la potencia de portadora. Se realiza desconectando el generador de funciones de la entrada del modulador de FM. De esta forma, el modulador Radiometrix TX1 únicamente emite su portadora a 161.975 MHz. En la Figura 5.2 se observa que el analizador de espectro detecta una potencia de pico de portadora de −2.8dBm. Se trata de un resultado lógico si se tiene en cuenta que el modulador transmite una potencia cercana a 7dBm yseleaplicaalaseñal de salida una atenuación de 10 dB, por lo que se esperaría una potencia teórica de −3dBm.
5. Pruebas y resultados 75 Figura 5.2: Señal portadora a 161.975 MHz generada por el chip Radiometrix TX1 La siguiente medida es el ancho de banda de la señal modulada. Para ello, basta con conectar el generador de funciones ajustado tal y como se indica anteriormente, de manera que se tiene una señal moduladora en forma de señal cuadrada combinada con una portadora a 161.975 MHz sobre una modulación FM. Para esta medida, es necesario buscar una justificación a partir de la regla de Carson (5.1). Considerando una desviación de frecuencia Δf=±2.5KHz y que la tasa de transmisión es el doble de la frecuencia moduladora al tratarse de una señal cuadrada, VT=9.6KHz, se obtiene un ancho de banda de 24.2KHz. BT≃2·(Δf+VT)(5.1) Teniendo este dato presente, el ancho de banda registrado a partir de la utilidad POWER MEASURE del analizador de espectros es de 26.1KHz,porloquehayun error de 1.9KHz entre el cálculo teórico a partir de la regla de Carson y la medida obtenida en el laboratorio (Figura 5.3).
76 5.2. Pruebas sobre los módulos paso banda Figura 5.3: Espectro FM de una señal cuadrada como moduladora 5.2.2. Pruebas sobre el módulo Radiometrix RX1 Para realizar las pruebas de verificación del chip Radiometrix RX1, se requieren los siguientes materiales: Radiometrix RX1. Radiometrix TX1. Fuente de alimentación. Generador de señal. Analizador de espectros. Atenuador fijo. Se requiere mantener el montaje de la Figura 5.1 para que se envíe una señal modulada en FM que el chip Radiometrix RX1 se encarga de demodular. Con estos elementos, junto con los del punto 5.2.1, se realiza el montaje de la Figura 5.4. En este se conecta a través de un cable coaxial rígido (línea azul) la salida del módulo Radiometrix TX1 con la entrada del módulo Radiometrix RX1 por medio de los conectores SMA montados sobre la PCB de cada uno de los módulos (Anexos B y C).
5. Pruebas y resultados 77 Figura 5.4: Montaje de prueba para el chip Radiometrix RX1 La prueba de verificación de este chip consiste en observar mediante el osciloscopio si sobre el pin de salida del módulo se obtiene la señal moduladora, correctamente demodulada, que entrega el módulo Radiometrix TX1 (Figura 5.5). Figura 5.5: Señal demodulada por el chip Radiometrix RX1 Se observa a la salida del chip Radiometrix RX1 la señal moduladora que se utiliza para testear el conjunto transmisor-receptor en paso banda, con una amplitud algo menor a la transmitida debido a las pérdidas del cable que conecta al módulo TX1 con RX1 y algunas pérdidas relacionadas con la desadaptación de impedancias. Por tanto, se concluye que la combinación entre los módulos paso banda es adecuada para realizar las pruebas de integración de los módulos banda base.
78 5.3. Pruebas sobre los módulos banda base 5.3. Pruebas sobre los módulos banda base Se describen las pruebas individuales realizadas sobre el módem DV-MEGA GMSK (3.3) que se integra en las etapa de transmisión y recepción del prototipo hardware. El objetivo de estas pruebas es comprobar el funcionamiento del módem GMSK y sus características técnicas, y verificar que los procesos de modulación y demodulación de datos transmitidos y recibidos por el microcontrolador Arduino en cada etapa se realiza correctamente. Para realizar las pruebas de verificación del módem DV-MEGA GMSK, se requieren los siguientes materiales: Microcontrolador Arduino UNO R3 (×2). Módem DV-MEGA GMSK (×2). Osciloscopio multicanal. Para ello, se realiza en montaje de la Figura 5.6. En este montaje se conectan a través de un cable la salida y la entrada Mini DIN 6 del módem transmisor y receptor, respectivamente, y se visualiza la salida de datos a través del osciloscopio (línea D3). Seguidamente, se conecta la línea de la señal de reloj del transmisor (línea D0) y las líneas de transmisión (D1) y de recepción (D2) de los datos a través de Arduino. Figura 5.6: Montaje de prueba para el módem DV-MEGA GMSK Se realizan las siguientes pruebas a partir de los diferentes códigos de test que se implementan sobre los microcontroladores Arduino: Transmisión y recepción de una secuencia binaria alternada. Transmisión y recepción de una secuencia binaria aleatoria. Transmisión y recepción de un dato (byte) conocido.
5. Pruebas y resultados 79 5.3.1. Prueba de transmisión y recepción de una secuencia binaria alternada Una vez se realiza el montaje de la Figura 5.6, se carga sobre cada uno de los módulos de transmisión y recepción un firmware diferente para cada caso. En el caso del transmisor, se genera una secuencia alternada de 1y0lógicos a través de una rutina de servicio que se activa y desactiva cada vez que se realiza una escritura del bit sobre el pin de transmisión del módem GMSK (Figura 5.7). Figura 5.7: Algoritmo de prueba de transmisión de una secuencia binaria alternada Para el receptor, se recibe la secuencia binaria alternada a través de una rutina de servicio sencilla que está activa durante toda la ejecución del programa (Figura 5.8). En la Figura 5.9 se observa la forma de onda senoidal resultante tras el proceso de modulación GMSK, además de las secuencias binarias pertinentes del proceso de transmisión y recepción con una velocidad de transmisión de 9600 baudios. Además, se aprecia un cierto retardo entre las líneas de transmisión y recepción.
86 5.4. Pruebas de integración de los módulos paso banda y banda base En la Figura 5.16 se incluye el banco de pruebas real donde se realizan las pruebas de transmisión y recepción de tramas AIS. Figura 5.16: Banco de pruebas para la visualización por pantalla de tramas AIS Es importante realizar previamente a estas pruebas la caracterización de las antenas de VHF marítimo escogidas y la medida del ancho de banda de la señal modulada en FM-GMSK cuando se realiza el envío continuo de tramas AIS. 5.4.1. Medidas sobre antenas de VHF marítimo Las pruebas realizadas con las antenas de VHF marítimo que se describen en 3.5 es la medida del módulo del parámetro S11, que permite medir el grado de reflexión que sufren las señales al ser radiada con estas antenas. |S11|=|ρin|=COE −1 COE +1 (5.2) Tal como indica la Ecuación 5.2, a partir de la medida del coeficiente de reflexión de entrada de cada antena, es posible calcular el COE que mide la calidad de la antena en función en lo que respecta a la potencia que puede radiar. Para esta prueba, se realiza la medida del módulo parámetro S11 de las dos antenas empleadas para el prototipo hardware a través de un analizador de redes escalar previamente calibrado, y a partir de esta medida, se calcula de forma teórica el COE de ambas. En la Figura 5.17 se observa la medida obtenida para la antena que se usa para el
5. Pruebas y resultados 87 prototipo del transmisor, mientras que en la Figura 5.18 se observa la misma medida, pero para la antena que se usa en recepción. Figura 5.17: Medida del parámetro S11 para la antena VHF transmisora Figura 5.18: Medida del parámetro S11 para la antena VHF receptora
88 5.4. Pruebas de integración de los módulos paso banda y banda base Por tanto, se obtiene que la antena VHF transmisora presenta un COE =1.51, mientras que la receptora un COE =1.35 según los datos recogidos en las medidas en el analizador de redes. Se concluye, pues, que ambas antenas presentan un COE alto, lo que puede suponer serios problemas durante la transmisión y recepción de tramas en el prototipo hardware. 5.4.2. Pruebas de ancho de banda para tramas AIS En esta prueba se analiza el ancho de banda ocupado al enviar sucesivamente tramas AIS desde el prototipo hardware del transmisor. Para ello, se realiza el montaje de la Figura 5.19. Figura 5.19: Montaje de medida del ancho de banda de transmisión de tramas AIS Se toma el analizador de espectros como receptor y se conecta a su entrada una de las antenas de VHF marítimo empleadas para este prototipo hardware. Con ello, se implementa el firmware de control del transmisor descrito en el punto 4.4 y a través de la interfaz CoolTerm, se envía sucesivamente una trama AIS (Figura 5.20). Figura 5.20: Trama AIS de test sobre la interfaz Send String de CoolTerm En la Figura 5.21 se visualiza el espectro de la señal transmitida tras el envío sucesivo de tramas a través del prototipo hardware del transmisor, obteniendo para ello un ancho de banda de transmisión de 9.3KHz.
5. Pruebas y resultados 89 Figura 5.21: Trama AIS modulada en FM-GMSK por el prototipo hardware del transmisor 5.4.3. Prueba de envío y recepción de tramas AIS En esta prueba se describe el proceso de envío y recepción de tramas AIS, utilizando para ello el prototipo hardware implementado, tal y como se ha hecho en las pruebas anteriores. Para ello, se realiza el montaje de la Figura 5.22. En este montaje, se emplea CoolTerm para la transmisión y recepción de tramas AIS, puesto que esta interfaz ofrece más facilidades para detectar posibles errores durante la comunicación entre los dos sistemas del banco de pruebas. Para ello, se implementa sobre Arduino cada uno de los códigos del firmware de control del transmisor y del receptor recogidos en los puntos 4.4 y 4.5, respectivamente. El transmisor genera desde Arduino el formato de la trama AIS, tomando los datos que recibe por el puerto serie desde la interfaz transmisora CoolTerm, presentándose además por pantalla. Seguidamente, estos datos se modulan en GMSK y posteriormente en FM, y se envían por la antena transmisora de VHF. El receptor, por otra parte, recibe la trama AIS que se envía desde el transmisor por la antena receptora, y extrae de ella únicamente el campo de datos. De esta manera, los datos extraídos se envían por el puerto serie hasta la interfaz receptora CoolTerm, que los representa por pantalla.
90 5.4. Pruebas de integración de los módulos paso banda y banda base Figura 5.22: Trama AIS modulada en FM-GMSK por el prototipo hardware transmisor En la Figura 5.23 aparece el proceso de transmisión y recepción de una misma secuencia de datos, que se corresponde con las 23 primeras letras del abecedario. Figura 5.23: Envío de la trama AIS durante 30 iteraciones (CoolTerm0 como transmisor, CoolTerm1 como receptor) Se comprueba que la trama de datos enviada se recibe correctamente, por lo que el diseño del prototipo hardware y el firmware de control implementado es correcto. Esta prueba se ha repetido 10 veces, y el porcentaje de acierto se mantiene en un 100 %.
5. Pruebas y resultados 91 5.5. Prueba real de recepción de tramas AIS con el prototipo hardware El objetivo de esta última prueba es evaluar si, conforme a las pruebas realizadas anteriormente, es posible recibir tramas AIS de las embarcaciones que se encuentran en la misma región de cobertura del dispositivo y que integran este servicio. Para ello, se realiza el montaje de la Figura 5.24, mientras que en la Figura 5.25 se observa el montaje realizado en el laboratorio. Figura 5.24: Montaje del banco de pruebas de recepción de tramas AIS reales Figura 5.25: Montaje en laboratorio del banco de pruebas de recepción de tramas AIS reales
92 5.5. Prueba real de recepción de tramas AIS con el prototipo hardware El montaje de la Figura 5.25 se realiza a través de una antena de VHF marítimo instalada en la azotea del Pabellón B de la Escuela de Ingeniería Electrónica y Telecomunicación (EITE) de la Universidad de Las Palmas de Gran Canaria (ULPGC). A través de un cable coaxial que va desde la salida de la antena hasta el prototipo hardware del receptor, se capturan los datos que llegan a la misma y sufren el proceso de demodulación por parte de este prototipo. La visualización de la banda de trabajo de AIS que recibe la antena de VHF marítimo de este montaje se encuentra en la Figura 5.26. Esta antena se conecta directamente al analizador de espectros y se selecciona un SPAN de 100 KHz, centrando la banda en la frecuencia 161.975 MHz. Esta medida permite determinar que el dispositivo Radiometrix RX1 realiza correctamente la selección del canal AIS-1, ya que el espectro de esta señal se encuentra dentro de la canalización de 25 KHz. Figura 5.26: Banda de trabajo AIS a la frecuencia 161.975 MHz En la Figura 5.28 se visualiza a través del osciloscopio una parte de las tramas AIS donde se remarca con la utilidad CURSORS un intervalo temporal de 26.67 ms, correspondiente al slot de una trama. Se comprueba la presencia de datos en toda la trama. Se comprueba que el proceso de demodulación de las tramas se realiza correctamente. De esta manera, se determina una tasa binaria de 9.6kbps, medida en el osciloscopio, que corresponde a un bit (104 μs) (Figura 5.27).
5. Pruebas y resultados 93 Figura 5.27: Forma de onda de la trama AIS recibida El prototipo hardware del receptor decodifica las tramas AIS, pero no se ha implementado el proceso de decodificación del campo de datos. Por tanto, los datos que se reciben y que se representan a través de la interfaz de Matlab no aportan información sobre el servicio. Por último, una vez comprobada que la demodulación es correcta, se verifica la decodificación de las tramas AIS. Esta comprobación se realiza a través de la interfaz serie de Matlab, siendo los resultados de esta prueba satisfactorios, puesto que el prototipo hardware envía información a la interfaz serie. Sin embargo, no se ha implementado la decodificación del campo de datos de las tramas, y por tanto, la visualización de las mismas a través de la interfaz serie no es interpretable.
94 5.5. Prueba real de recepción de tramas AIS con el prototipo hardware Figura 5.28: Comprobación de los slots en las tramas AIS recibidas
Capítulo 6 Conclusiones 6.1. Resultados y Revisión de Objetivos La línea de trabajo de este TFG está orientada a la evaluación del estándar AIS a partir de un prototipo hardware modular basado en la gama de microcontroladores Arduino. A través de este prototipo, se evalúa el Nivel Físico y de Enlace que sigue la arquitectura de este estándar, extrayendo diferentes conclusiones acerca del mismo. Este trabajo se compone de una etapa previa de documentación sobre el estándar AIS estrictamente necesaria, donde se entra en detalle acerca de las características que debe cumplir este estándar. Esto permite la evaluación y posterior elección de los módulos que integran el prototipo hardware para el banco de pruebas. A través del diseño de un firmware de control para un transmisor y un receptor que operan en la frecuencia AIS-1 (161.976 MHz), se consigue evaluar características propias de la modulación FM-GMSK que sigue este estándar, además de la codificación NRZI, y se cubre completamente el estudio del Nivel Físico en AIS. Es importante destacar la capacidad del chip Radiometrix RX1 para demodular las tramas AIS del servicio establecido, aunque la decodificación del campo de datos y su posterior procesado no es objeto de este TFG. Sin embargo, con las pruebas realizadas al respecto, se contempla la viabilidad del prototipo hardware implementado en cuanto a las características de recepción. En lo que respecta a la codificación NRZI, se comprueba la necesidad de la misma en el proceso de transmisión y de recepción. Esta codificación se implementa por software en el propio firmware de control, aunque en los modelos comerciales suele venir dada, de forma más eficiente, como una solución hardware [22]. También se consigue evaluar la capacidad del microcontrolador Arduino UNO R3 como núcleo para este banco de pruebas. Realizando el firmware de control del prototipo hardware a través de interrupciones, se ha comprobado la viabilidad de un diseño modular para este estándar. Los resultados de este TFG han sido publicados en 1st Radio Science Conferen95
102 P.3. Amortización del inmovilizado material Heson las horas especiales trabajadas durante la jornada laboral. Se estima que para la elaboración de este TFG se ha trabajado durante 5 meses, desde febrero de 2015 hasta junio de 2015, con una media de 3horas diarias. Considerando que en un mes hay 20 días laborales, el número de horas normales trabajadas asciende a la siguiente cifra: Hn=5×20 ×3=300 horas (P.2) Se asume que He=0debido a que no se han trabajado horas fuera de la jornada laboral establecida, de manera que el coste total de los honorarios es: H=14,48 ×300+20,27 ×0=4.344,00 e(P.3) Por tanto, el trabajo tarifado por tiempo empleado asciende a la cantidad de cuatro mil trescientos cuarenta y cuatro euros. P.3. Amortización del inmovilizado material En el inmovilizado material se consideran tanto los recursos hardware como software empleados para la realización de este TFG. Se analizan de forma independiente. Se estipula el coste de amortización para un periodo de 3 años, utilizando un sistema de amortización lineal donde se supone que el inmovilizado material se deprecia de forma constante a lo largo de su vida útil. La cuota de amortización anual se calcula haciendo uso de la ecuación (P.4): Cuota anual =Valor de adquisición −Valor residual Número de años de vida útil (P.4) donde el valor de adquisición se refiere al coste unitario de cada recurso y el valor residual es el valor teórico que se supone que presenta el elemento evaluado tras cumplir su vida útil. P.3.1. Amortización de los recursos hardware Al ser la duración de este TFG de 5 meses, y esta es una cantidad inferior a los 3 años estipulados para la amortización de los elementos evaluados, los costes que se evalúan son los que corresponden a los 5 primeros meses. En las siguientes tablas se muestran los recursos hardware empleados para la elaboración de este TFG, incluyendo para cada recurso su valor de adquisición, valor residual y coste de amortización, estableciendo un tiempo de uso de 5 meses. En lo que respecta
103 al valor residual, se estima que su valor es un 60/%del coste unitario del material, independientemente del recurso evaluado. Es importante hacer una escisión entre recursos hardware fungibles (Tabla P.1) y recursos hardware no fungibles (Tabla P.2), entendiendo por fungible aquellos materiales que son consumidos al uso y no admiten reutilización, y por tanto, no se les aplica una amortización. Concepto Número de unidades Coste unitario (e) Arduino UNO R3 2 24,29 Radiometrix TX1 1 20,6 Radiometrix RX1 1 29,71 Shield DV-MEGA GMSK 2 60 Antena VHF marítimo 2 12,5 Placa PCB 2 1,5 Resistencia SMD 7 0,01 Condensador SMD 3 0,05 Conector Mini DIN 6 2 0,45 Conector SMA 2 0,05 Clema PCB 2 0,05 Cable USB tipo A/B 2 2,35 Coste total 252.91 e Tabla P.1: Tabla de precios del material hardware fungible Concepto Coste unitario (e) Coste residual (e) MacBook Pro 13.3” Retina Intel i5 1.649,00 989,4 Osciloscopio digital Agilent DSO1002A 996,00 597,6 Analizador espectral Advantest R1331A 3.970,00 2.382,00 Generador de funciones Agilent 33250A 1.567,00 940,20 Fuente de alimentación Agilent E3620A 610,30 366,18 Multímetro digital FLUKE 77III 213,89 128,33 Sonda con punta de prueba Tektronix 7,65 4,59 Cables de prototipado 2,45 1,47 Coste total 9.016,29 e5.409,77 e Tabla P.2: Tabla de precios del material hardware no fungible El coste total de los recursos hardware empleados, sumando las cantidades del material hardware fungible y no fungible, asciende a cinco mil seiscientos sesenta y dos euros con sesenta y ocho céntimos. P.3.2. Amortización de los recursos software De forma análoga a los recursos hardware no fungibles, se estiman los costes de los recursos software relativos a los 5 primeros meses, que se corresponden con el periodo
104 P.4. Redacción de la documentación de realización de este TFG. En la Tabla P.3 se muestran los recursos software empleados para la elaboración de este TFG, incluyendo para cada recurso su valor de adquisición, valor residual y coste de amortización, y estableciendo un tiempo de uso de 5 meses. Concepto Coste unitario (e) Coste residual (e) MATLAB 2014b (UNIX) 2.000,00 1.200,00 IDE Arduino 1.6 0,00 0,00 CoolTerm 0,00 0,00 CadSoft Eagle PCB Design 7.2 0,00 0,00 Microsoft Office 2011 119,00 71,4 Editor L A TEX TexMaker 0,00 0,00 Fritzing 0,00 0,00 Coste total 2.119,00 e1.271,4 e Tabla P.3: Tabla de precios del material software El coste total de los recursos software empleados asciende a mil doscientos setenta y un euros con cuarenta céntimos. P.4. Redacción de la documentación Se emplea la fórmula (P.5) para establecer el coste asociado a la redacción de la documentación relativa a la memoria de este TFG: R=0,05 ×P(P.5) donde: Rson los honorarios por la redacción de la memoria. Pes el presupuesto. El valor del presupuesto Pse calcula como la suma de los costes de las secciones anteriores correspondientes al trabajo tarifado por tiempo empleado y a la amortización del inmovilizado material (tanto para recursos hardware como software), es decir: P=H+Ch+Cs(P.6) donde: Hson los honorarios totales por tiempo empleado.
105 Ches el coste total de los recursos hardware. Cses el coste total de los recursos software. Esta suma total se refleja en la Tabla P.4. Concepto Coste (e) Trabajo tarifado por tiempo empleado 4.344,00 Amortización del material hardware 5.662,68 Amortización del material software 1.271,4 Coste total 11.278,08 e Tabla P.4: Presupuesto según el trabajo tarifado y la amortización del inmovilizado material Por tanto, los honorarios por la redacción de la memoria de este TFG son: R=0,05 ×11.278,08 = 563.9e(P.7) El coste total de la redacción de la memoria asciende a quinientos sesenta y tres euros con noventa céntimos. P.5. Derechos de visado del COITT El COITT establece que para la redacción de trabajos en Integración de Sistemas, Equipos y Aplicaciones Electrónicas y Redes y Aplicaciones Telemáticas, los derechos de visado para 2015 se calculan en base a la fórmula (P.8): V=0,0035 ×P×C(P.8) donde: Ves el coste de visado del trabajo. Pes el presupuesto. Ces el es el coeficiente reductor en función del presupuesto. El valor del presupuesto Pse calcula sumando los costes de las secciones anteriores, que se corresponden con el trabajo tarifado por tiempo empleado, la amortización del inmovilizado material (tanto hardware como software) y la redacción de la memoria, es decir:
106 P.6. Gastos de tramitación y envío P=H+Ch+Cs+R(P.9) Esta suma total se refleja en la Tabla P.5. Concepto Coste (e) Trabajo tarifado por tiempo empleado 4.344,00 Amortización del material hardware 5.662,68 Amortización del material software 1.271,4 Redacción de la memoria 563,9 Coste total 11.841,98 e Tabla P.5: Presupuesto incluyendo la redacción de la memoria En este caso, el coeficiente reductor Ces el asignado para un presupuesto de hasta 30.050 e, cuyo valor es C=1. Por tanto, el coste de visado del trabajo es: V=0,0035 ×P×C=0,0035 ×11.841,98 ×1=41,45 e(P.10) El coste total del visado del trabajo asciende a cuarenta y un euros con cuarenta y cinco céntimos. P.6. Gastos de tramitación y envío Los gastos de tramitación y envío se estipulan en seis euros (6 e) por cada documento visado de forma telemática. P.7. Aplicación de impuestos y coste total La realización del presente TFG está gravada por el Impuesto General Indirecto Canario (I.G.I.C.), en un siete por ciento (7%). De esta manera, en la Tabla P.6 se presenta el presupuesto final sobre el que se aplican estos impuestos.
107 Concepto Coste (e) Trabajo tarifado por tiempo empleado 4.344,00 Amortización del material hardware 5.662,68 Amortización del material software 1.271,4 Redacción de la memoria 563,9 Derechos de visado del COITT 41,45 Gastos de tramitación y envío 6,00 Coste total 11.889,43 e Tabla P.6: Presupuesto final del TFG Por lo tanto, el coste total de este Trabajo de Fin de Grado con título "Diseño e implementación de un prototipo hardware para un banco de pruebas del estándar AIS" asciende a once mil ochocientos ochenta y nueve euros con cuarenta y tres céntimos. El graduado Fdo.: D. Nicolás Molina Padrón En Las Palmas de Gran Canaria a 15 de Julio de 2015
Parte III Anexos 109
Apéndice A Descripción del chip CMX589A El chip CMX589A es un encapsulado de 24 pines diseñado por la empresa CML Microcircuits que se describe como un módem GMSK banda base que puede operar siguiendo tanto un esquema de comunicación full-dúplex como half-dúplex . Este chip permite velocidades de transmisión comprendidas entre 4kbps y200 kbps, y presenta un pin configurable para seleccionar el factor BT deseado (que puede ser 0.3 o 0.5). Entre los usos más habituales del chip CMX589A, se encuentran las aplicaciones de transmisión y recepción de datos vía inalámbrica, principalmente en telefonía móvil, donde la modulación GMSK suele estar presente en los principales servicios, como es el caso de GSM. También suele ser utilizado en la recepción de datos GPS y DGPS y en los módulos de transmisión y recepción de ordenadores portátiles e impresoras. Figura A.1: Encapsulado del chip CMX589A La función principal de este chip es realizar una serie de filtrados sobre las señales de entrada y de salida siguiendo los esquemas de una modulación GMSK. En esencia, presenta pines de transmisión y recepción de datos binarios, y para asegurar un correcto funcionamiento de la comunicación, estos pines deben estar sincronizados con sus respectivas señales de reloj. Además, este chip requiere circuitos externos para completar su funcionamiento y poder realizar aplicaciones como las que se han mencionado anteriormente, ya sean unidades de amplificación como filtros y moduladores paso banda. 111
118 Los valores que determinan el factor BT son los que componen el filtro RC: R1y C1, que como ya fue mencionado, ocupan la siguiente localización en relación con los pines del CMX589A: Figura A.9: Filtro RC para la selección del factor BT Considerando que en todo momento debe cumplirse que R1≥20 kΩ, los valores de R1yC1pueden ser calculados a partir de las siguientes expresiones en función de la tasa binaria deseada y el factor BT escogido: - Para un factor BT =0.3 R1·C1=0.34 RB (A.2) - Para un factor BT =0.5 R1·C1=0.22 RB (A.3) A continuación, se adjunta una tabla con los valores de R1yC1en función de los dos posibles valores de BT seleccionables y las tasas binarias más habituales:
A. Descripción del chip CMX589A 119 Figura A.10: Tabla de selección de R1yC1en función de RBy factor BT
120 Filtrado y ganancia en recepción Las principales funciones que cumple el chip CMX589A para la recepción de datos son las siguientes: Ajustar el nivel de la señal de entrada. Filtrar la señal de entrada. Proporcionar los niveles de DC adecuados para las señales de reloj y para los circuitos externos. Proporcionar el sincronismo de la señal de reloj para la extracción de datos y para los circuitos externos. Conformar los datos recibidos en formato binario. Evaluar la calidad de la señal recibida e indicar la relación S/N. La salida del discriminador de frecuencia del receptor radio debe conectarse al filtro RX con una ganancia adecuada y un nivel de DC correctamente ajustado. Este filtro, además, debe ser añadido previamente a la etapa de amplificación del receptor. La ganancia debe ser ajustada de forma que el nivel de la señal de entrada no supere 1Vpp (para una alimentación VDD =0.5Vcentrado sobre Vbias cuando se recibe un patrón de datos binarios continuos de la forma 1111000011110000. Los ciclos positivos de la señal de entrada generan un 0lógico, mientras que los ciclos negativos de la señal de entrada generan un 1lógico sobre la salida de datos recibidos. La señal recibida es filtrada a través de un filtro pasobajo con una atenuación de −3dB para 0.56 veces la tasa binaria de datos. Este filtro se sitúa antes de la región de extracción de datos y generación de las señales de reloj del chip. El bloque de ajuste de nivel consiste en dos detectores de voltaje: uno de ellos mide los ciclos positivos (niveles más altos que VDD 2) y otro los negativos (niveles más bajos que VDD 2). Los condensadores externos son utilizados para estos detectores a través de los pines DOC1 y DOC2, formando así el voltaje para los circuitos de hold e integración. Estos dos niveles se emplean para establecer los decisores de umbrales óptimos para el nivel DC del circuito de reloj y para la extracción de datos, y dependen de la amplitud de la señal recibida y sus niveles de offset.
A. Descripción del chip CMX589A 121 Modos de control en recepción Las características operativas de control de los circuitos de medida de nivel y de extracción de reloj en el modo receptor del dispositivo están controlados a través de los niveles lógicos que se introducen a la entrada de los pines PLLacq, Rx HOLDN y RxDCacq, que también pueden ser usados para cambiar las condiciones de recepción, tal y como se muestra en la siguiente tabla: Figura A.11: Tabla de modos de funcionamiento del PLL en recepción En general, una transmisión de datos comienza con un cierto preámbulo, como puede ser 1100110011001100, lo que permite a los circuitos receptores establecer los tiempos de adquisición de reloj tan rápidamente como fuera posible. Una vez se haya detectado la portadora en recepción, y durante el tiempo en el que se espera el preámbulo de la trama de datos recibida, las entradas PLLacq y RxDCacq deben ser conmutadas de 0lógico a 1lógico para que el control de ganancia y la extracción de reloj cumplan sus funciones correctamente. La entrada Rx HOLDN normalmente debe mantenerse con un 1lógico mientras se reciban datos, aunque puede establecerse un 0lógico para congelar el nivel de medición de los circuitos de extracción de reloj durante un proceso de desvanecimiento. Si el desvanecimiento es menor a 200 periodos de bit, puede retroceder a su modo de funcionamiento normal introduciendo un 1lógico sobre la entrada Rx HOLDN. En caso de desvanecimientos superiores a 200 periodos de bit, es recomendable restablecer los circuitos de control de ganancia poniendo un 1lógico en el pin RxDCacq durante un intervalo de tiempo entre 10 a 20 periodos de bits. La entrada Rx HOLDN no tiene ningún efecto sobre los circuitos de control de ganancia siempre que RxDCacq siga con un 1lógico en su entrada, y tampoco tiene efecto sobre el PLL siempre que el pin PLLacq tenga un 1lógico. Un 0lógico en Rx HOLDN no desactiva la salida del reloj en recepción (Rx Clock), y los circuitos de extracción de reloj y de medición de la relación S/N siguen estando operativos.
122 Figura A.12: Modos de funcionamiento de control en recepción Extracción de reloj en recepción Los circuitos de extracción de la señal de reloj del receptor controlan la salida de reloj del receptor, que se encuentra sincronizada mediante un circuito PLL de cruces por cero de la señal de entrada. Incluso la salida de reloj del receptor internamente es usada por los circuitos de extracción de datos. Las características del PLL pueden variar en el circuito de control del receptor, sobre los pines PLLacq y RX HOLDN, dependiendo del modo de operación seguido (tal y como se indicaba en las tablas anteriores). Extracción de datos en recepción Los circuitos de extracción de datos del receptor muestrean la señal recibida y decide si el valor adquirido es un 1oun0lógicos, después del filtrado de esta misma señal. La comparación de estos valores se realiza a través de los circuitos de medición de nivel a través de un umbral. Este umbral se adapta bit a bit para reducir la interferencia entre símbolos (IES) y la limitación de la ruta global de transmisión y de premodulación gaussiana. Los datos extraídos se envían desde el pin de recepción de datos y se deben tomar muestras externamente en el flanco ascendente de la señal de reloj del receptor. Detección de relación S/N en recepción El sistema de detección de la relación S/N clasifica los cruces por cero como buenos ymalos dependiendo de los tiempos que transcurren entre los cruces que se producen realmente con respecto al tiempo esperado, que viene dados por los circuitos de extrac-
A. Descripción del chip CMX589A 123 ción de reloj del PLL. Esta información es procesada para dar seguidamente un nivel lógico a la salida del pin RX S/N a partir de esta clasificación: Si tenemos un 1 lógico, los cruces por cero serán buenos. Si tenemos un 0 lógico, los cruces por cero serán malos. Según esta medida, es posible derivar una medida de la relación S/N, y por tanto, puede estimarse la tasa de error de bit (BER) de la señal recibida para un factor BT establecido. Esto se puede representar a modo de ejemplo, para una tensión de alimentación VDD =5V, como se observa en la siguiente gráfica: Figura A.13: Relación entre BER y relación S/N para distintos factores BT Cabe señalar que esta gráfica es independiente de la tasa binaria (aunque se considera el ancho de banda de ruido para calcular la tasa binaria empleada), el rendimiento radio (por ejemplo, la distorsión en el filtro de FI), el voltaje aplicado (para detectar un nivel de bit alto se necesita que VDD ≥4.5V) y otros factores reales. Calidad de la señal recibida Para medir la calidad de la señal recibida, se emplea una gráfica que marca la tendencia lineal de los tiempos de adquisición de señales con un cierto factor BT, expresados como medida porcentual, en función de la relación S/N, como es la que se presenta a continuación:
124 Figura A.14: Relación entre tiempos de adquisición y relación S/N para distintos factores BT
A. Descripción del chip CMX589A 125 Filtrado y ganancia en transmisión Los datos binarios que se aplican a la entrada TX son remitidos por el chip CMX589A en cada flanco de subida de la señal de reloj de transmisión, para luego convertirse en una señal binaria con una amplitud de 1VPP centrada en VBIAS para una tensión VDD =+5V. En caso de que la entrada de habilitación del transmisor, TX ENABLE, se encuentra a nivel alto, esta señal binaria se conecta a la entrada del filtro paso bajo del transmisor, y la salida de este filtro se conecta al pin de salida TX OUT. Por el contrario, si la entrada de habilitación del transmisor se encuentra a nivel bajo, se conecta la entrada del filtro de transmisión a VBIAS y se desconecta la salida del filtro, TX OUT, a través de una resistencia normalizada de 500 kΩ. El filtro de transmisión tiene una respuesta al impulso gaussiana aproximada (ver figura A.15), que minimiza la distorsión de amplitud y de fase de la señal binaria, a la vez que introduce la suficiente atenuación para evitar las interferencias con los canales adyacentes a la banda de trabajo del dispositivo. En lo que respecta al ancho de banda del filtro de transmisión, este viene determinado por la tasa binaria con la que opera el dispositivo (dependiente de la red de sincronismo externa) y la configuración del factor BT, pudiendo ser esta BT =0.3o BT =0.5. Figura A.15: Respuesta al impulso del filtro de transmisión Entre la salida del pin TX OUT y la entrada del modulador de frecuencia, es necesario colocar una red RC. Esta red se puede adaptar a cualquier cambio de los niveles de DC y los ajustes del nivel de salida (ganancia) de la señal, y forma una parte importante para el filtrado de la señal de transmisión. La conexión a tierra del condensador C1de esta red RC debe ser tal que permita in-
126 troducir la máxima atenuación posible para el ruido de alta frecuencia en el modulador de frecuencia. La señal TX OUT se centra alrededor de VBIAS, que es positiva cuando se reciben 1lógicos y negativa cuando se reciben 0lógicos.
A. Descripción del chip CMX589A 127 Encapsulado de los modelos de chip CMX589A En este apartado se muestran las dimensiones físicas de los cuatro tipos de encapsulados del chip CMX589A que se encuentran en el mercado, aunque el funcionamiento de estos modelos es exactamente igual en todos los casos. Figura A.16: Encapsulado del modelo CMX589AE2 Figura A.17: Diagrama de pines del chip CMX589AD5