• No se han encontrado resultados

Ingeniería Inversa al componente programable FPGA EP1K100QC208 I de las tarjetas T111 y T211

N/A
N/A
Protected

Academic year: 2020

Share "Ingeniería Inversa al componente programable FPGA EP1K100QC208 I de las tarjetas T111 y T211"

Copied!
72
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA. Ingeniería Inversa al componente programable FPGA EP1K100QC208-I de las tarjetas T111 y T211. Autor: Rachel de la Caridad Rodríguez Díaz Tutor: Dr. Emilio González Rodríguez. Santa Clara 2014 “Año 56 de la Revolución".

(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA Ingeniería inversa al componente programable FPGA EP1K100QC208-I de las tarjetas T111 y T211. Autor: Rachel de la Caridad Rodríguez Díaz e-mail: [email protected]. Tutor: Dr. Emilio González e-mail: [email protected]. Cotutor: Dr. Juan Pablo Barrios Rodríguez e-mail: [email protected]. Santa Clara 2014 “Año 56 de la Revolución".

(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la carrera de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. Ningún sueño es demasiado grande y ningún soñador es demasiado pequeño. Robert D. Siegel.

(5) ii. DEDICATORIA. A mis padres Aurora y Adalberto por permitir que este sueño se hiciera realidad gracias a su enseñanza, esfuerzo incondicional y entrega por completo a mí. Los amo..

(6) iii. AGRADECIMIENTOS. Le doy gracias a Dios y a la virgen María por mantener mi camino iluminado. A mis padres, que han estado presentes en cada uno de los momentos de mi vida y han sido mi mayor ejemplo. A ti Gabriel, gracias por tanto amor, comprensión y paciencia durante estos cinco años. A Barrios por ayudarme con la realización de la tesis como si fuera uno más de sus tesiantes. A la supervisión del compañero Pierrat en el proyecto. A mi amiga la Vane por tantos momentos que compartimos juntas y las noches extensas de estudio en el comedor que son momentos que no voy a olvidar en la vida. A Aniel por la oportunidad de tener su amistad. Gracias por tus sugerencias y aliento para la realización de este trabajo cuando me parecía imposible terminar. A mis compañeros de aula por compartir juntos durante cinco años de universidad. y a todas las muchachitas del cuarto en especial a Aniladys, Bazi, Sumo, La Torre, Lila, Lore y mi amigo Allen. A todos mis profesores y en especial a Henri, Irina y Carlitos. A todas las personas que de una forma u otra contribuyeron a la realización de este trabajo. Muchas Gracias..

(7) iv. TAREA TÉCNICA Para confeccionar el presente trabajo y alcanzar los resultados esperados, fue necesario elaborar las siguientes tareas técnicas:  Estudio de las generalidades de la Estación de Conducción de Artículos ECC S125MIA del complejo Pechora.  Asimilación de las estrategias de diseño, análisis y simulación de las herramientas de diseño asistido por el computador de la firma Altera (Quartus II).  Realización de la ingeniería inversa a las tarjetas T111 y T211.  Análisis de la formación de la señal Sb1 proveniente de los interruptores, botones y conmutadores correspondiente al armario 2 y 3 del complejo Pechora.  Elaboración del informe final.. ______________________ Firma del Autor. ______________________ Firma del Tutor.

(8) v. RESUMEN. En este trabajo de diploma se identifica el funcionamiento de los sistemas de conversión y transmisión de la información de la estación de trabajo para objetos aéreos del sistema coheteril Pechora, mediante el proceso de ingeniería inversa al componente programable FPGA EP1K100QC208-I de las tarjeta T111 y T211. Se analiza el proceso de conversión paralelo-serie que da lugar a la formación de la señal Sb1cuya información llega por el bus serie a través de la trama Rs-485 para activar las diferentes partes de este complejo de manera digitalizada. Esta investigación sirve de eje para generar alternativas viables para la sustitución de la tecnología analógica presente en la técnica de combate por la digital que es más moderna. Se pretende lograr con el mínimo costo permisible, la renovación de los viejos equipos para prolongar su vida útil..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO.......................................................................................................................i DEDICATORIA ..................................................................................................................... ii AGRADECIMIENTOS .......................................................................................................... iii TAREA TÉCNICA ..................................................................................................................iv RESUMEN .............................................................................................................................. v INTRODUCCIÓN ................................................................................................................... 1 CAPÍTULO 1. COMPLEJO COHETERIL PECHORA ......................................................... 4 1.1 El complejo coheteril Pechora en la defensa del país .................................................. 4 1.1.1 Características ....................................................................................................... 4 1.1.2 Funcionamiento ..................................................................................................... 5 1.1.3 Dinámica de trabajo .............................................................................................. 8 1.2 Tarjetas T101, T111 y T211 .......................................................................................... 9 1.2.1 Características ....................................................................................................... 9 1.2.2 Funcionamiento .................................................................................................... 11 1.3 Concepto de ingeniería inversa ................................................................................... 14 1.3.1 Ingeniería inversa ................................................................................................. 15 CAPÍTULO 2. FPGAs DE ALTERA. LENGUAJE DE DESCRIPCION CIRCUITAL VHDL .............................................................................................................................................. 17.

(10) vii 2.1 FPGAs ..................................................................................................................... 17 2.1.1Características generales de los FPGA............................................................ 18 2.1.2 Arquitectura básica de los FPGA .................................................................... 18 2.1.3 FPGA EP1K100QC208-I ................................................................................ 20 2.2 Facilidades para el análisis del funcionamiento con el Quartus II ....................... 20 2.3 Lógica programable y lenguaje de descripción ..................................................... 22 2.3.1 VHDL, lenguaje de descripción ....................................................................... 23 2.3.2 Ventajas de emplear VHDL en el desarrollo de los circuitos integrados ....... 23 2.3.3 VHDL como lenguaje para describir, simular, validar y diseñar ................... 24 2.4 Principales características del código AHDL ........................................................ 27 2.4.1 Estructura de un archivo texto en AHDL ........................................................ 27 2.4.2 Sentencias de control ....................................................................................... 28 2.5 Interfaces RS-485 .................................................................................................... 30 2.5.1 Formato de la trama Rs-485 ................................................................................ 31 CAPÍTULO 3. RESULTADOS Y DISCUSIÓN ..................................................................... 32 3.1 Descripción general de los algunos bloques esquemáticos de la tarjeta T111 .......... 32 3.2 Proceso de conversión de paralelo a serie de la señal SB1 ...................................... 37 3.3 Organización de los datos según la norma del protocolo de comunicaciones RS485…. ........................................................................................................................... 41 CONCLUSIONES Y RECOMENDACIONES ....................................................................... 44 ABREVIATURAS Y ACRÓNIMOS........................................................................................ 46 REFERENCIAS BIBLIOGRÁFICAS .................................................................................... 49 ANEXOS................................................................................................................................ 51 Anexo I Enlace digital por comunicación serie ................................................................ 51.

(11) viii Anexo II Señales de entada de la T111 y los pines de la FPGA a la que se encuentran conectadas ........................................................................................................................ 52 Anexo III Máquina de estado algorítmica del proceso de conversión P- S en la T111. .. 53 Anexo IV Segmento de código que contiene la entrega de información a la salida serie 54 Anexo V Máquina de estado algorítmica del proceso P-S de la señal Sb3 en la T111. ... 55 Anexo VI Características de la (LPM_FIFO) que se encuentran en la ayuda del QUARTUS-II. .................................................................................................................... 55 Anexo VII Código de la memoria FIFOCONT en formato de texto VHDL. .................... 58 Anexo VIII Código del bloque SINPSCONV_Ben en el formato de texto VHDL ............. 60.

(12) INTRODUCCIÓN. 1. INTRODUCCIÓN Las FAR, como gran conglomerado político-económico-militar, es una pieza clave en el futuro de Cuba. La institución nace luego de la derrota del ejército constitucional de Fulgencio Batista. La exitosa transformación del Ejército Rebelde en las Fuerzas Armadas Revolucionarias el 16 de octubre de 1959, bajo el mando del Raúl Castro, fue una clara garantía para la posibilidad de instaurar un nuevo régimen político en Cuba, más allá del aparato institucional de la segunda república (1933-1958). Ha sido, además, una organización cohesionada, organizada, y con capacidad militar demostrada, que fue capaz de librar varias guerras en África, donde llegó a desplegar un ejército expedicionario de decenas de miles de efectivos sin ser derrotado (Cubadefensa, 2012). El desafío de soñar y trabajar por mantener esta república libre y soberana de matriz martiana, exige hoy una mayor preparación en sus fuerzas y medios, por lo que en estos tiempos es una tarea de gran impacto la modernización de los sistemas de combate. Para lograrlo, la Defensa Antiaérea Revolucionaria (DAAFAR) se encuentra modernizando la Estación de Conducción de Artículos S125MIA “Pechora” (ECC) en lugar de remplazarlo debido al elevado costo que implicaría, optando así por la renovación de sus viejos equipos para alargar su vida útil. Esta ECC está destinada a la búsqueda, seguimiento y aniquilamiento de los objetivos aéreos, en los rangos de bajas y medias alturas, tanto de día como de noche y excepcionalmente de los objetivos navales y terrestres. Posé dos canales de trabajo: Radiolocalización y Televisión (Pierrat, 2013). Este sistema coheteril está actualmente en la técnica de combate de forma analógico y debido al avance de la tecnología hoy en día están obsoletos y se quiere remplazar por los sistemas electrónicos digitales que son más sencillos y potentes. ECC emplea dieciocho tarjetas, a saber: T121, T122, T123, T124, T125, T126, T222, T424, T101, T111, T211, T 318, T223, T311, T312, T313, T314 y T316, elaboradas con electrónica programada, que emplean los dispositivos FPGAs (Arreglos de Compuertas Lógicas Programables). Estos dispositivos semiconductores contienen componentes lógicos programables, configurables e interconexiones programables. En muchos FPGAs, los componentes lógicos programables o bloques lógicos, según el lenguaje comúnmente.

(13) INTRODUCCIÓN. 2. usado, también incluyen elementos de memoria, los cuales pueden ser simples biestables o bloques de memoria más complejos(Bozich, 2005). En la Segunda Guerra Mundial, surgió la ingeniería inversa, que está asentada en la electrónica programada sobre circuitos impresos de cuatro capas y en estos momentos se encuentra funcionando en la técnica de combate de nuestro país. Es ineludible prever la posibilidad de averías o errores que induzcan un incorrecto funcionamiento en el complejo de defensa de la estación de conducción de artículos ECC S125MIA Pechora(Acevedo, 2007). Teniendo en cuenta lo anterior, se plantea el siguiente problema de investigación: ¿Cómo realizar el proceso. de ingeniería inversa. al componente programable FPGA. EP1K100QC208-I de las tarjetas T111 y T211? Planteado una vez el problema de investigación para darle respuesta se propone como objetivo general: Obtener la funcionalidad del código fuente almacenado en la FPGA EP1K100QC208-I de las tarjetas T111 y T211 a través de la ingeniería inversa. Los objetivos específicos son los siguientes: Caracterizar el funcionamiento de la estación de conducción para objetos aéreos del complejo Pechora. Describir dentro de la estación de trabajo las Tarjetas T101, T111 y T211. Caracterizar la FPGA que se utiliza en las tarjetas T111 y T211 del complejo Pechora Validar la ingeniería inversa realizada a las tarjetas T111 y T211 a través del análisis del código fuente, utilizando la herramienta Quartus II. De los objetivos específicos surgen las siguientes interrogantes científicas: ¿Qué características poseen las tarjetas101, 111 y 211 del complejo Pechora? ¿Qué característica poseerá la FPGA y los lenguajes de programación utilizados en sus circuitos? ¿Cómo realizar la labor de asimilación de tecnología y obtención del funcionamiento del componente programable FPGA EP1K100QC208-I7 de las tarjetas T111 y T211, mediante la ingeniería inversa?.

(14) INTRODUCCIÓN. 3. El informe se ha estructurado de la siguiente manera: Introducción, capitulario, conclusiones, recomendaciones, referencias bibliográficas y anexos. El primer capítulo se enfatiza en las características, funcionamiento y dinámica de trabajo del sistema coheteril Pechora. Se caracterizan a las tarjetas T101, T111 y T211, resaltando el concepto, los beneficios y modo de uso de la ingeniería inversa aplicada a estas tarjetas. En el segundo capítulo se abordan las características generales de los FPGA y se ofrece una introducción a los Lenguajes de Descripción de Hardware (HDL) empleados en la programación del FPGA EP1K100QC208-1 de la familia Cyclone I de la compañía altera. Se caracteriza la herramienta de simulación Quartus II y la interfaz serial Rs-485. En el tercer capítulo se describen los bloques esquemáticos más importante de la T111, los procesos de conversión serie-paralelo y paralelo-serie que dan origen a la formación de la señal Sb1 y se validan los resultados con el análisis de los códigos fuentes no documentados utilizando la herramienta Quartus II..

(15) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 4. CAPÍTULO 1. COMPLEJO COHETERIL PECHORA En este capítulo se describen las cualidades combativas y los regímenes de trabajo de la Estación de Conducción de Cohetes Pechora, se explican sus características y su funcionamiento y se caracterizan las tarjetas T101, T111 y T211 perteneciente al complejo. 1.1 El complejo coheteril Pechora en la defensa del país El complejo coheteril está conformado por sistemas analógicos, que se caracterizan por ser muy pesados y ocupar gran espacio en el terreno. Tras el programa de modernización de armamentos que lleva a cabo las DAAFAR, el complejo no quedó exento de ello y todos estos sistemas analógicos van a migrar a digitales. Con esta modernización se obtendrán numerosas ventajas porque se minimiza considerablemente el tamaño del sistema, al convertir una tecnología basada en válvulas al vacío en sistemas digitales con una alta capacidad de integración. Esta reducción le ofrece al complejo una mayor movilidad en el terreno, siendo esta una característica imprescindible, en vistas a contribuir a la vitalidad tanto del equipo como del personal que lo opera en la técnica de combate porque es de trascendental importancia el correcto funcionamiento del complejo para la defensa del país. 1.1.1 Características La ECC posee dos canales de trabajo: Radiolocalización y Televisión. En el canal de Radiolocalización posee dos regímenes de exploración del espacio aéreo: Localización (LOC) y Acompañamiento (ACOMP), el régimen de LOC se usa para la localización de objetivos aéreos a distancias hasta 80 km, así como para la localización de objetivos de superficie terrestre o marítima y para la localización de objetivos portadores del Cohete Anti Radar (CAR) el segundo régimen es el que se emplea para el tiro, permitiéndole actuar contra objetivos de pequeña superficie efectiva de reflexión (SER), de grandes dimensiones, en grupo, del tipo aerostatos automáticos a la deriva (ADA) y portadores de interferencias activas y pasivas (Pierrat, 2014a). El canal de televisión posee dos regímenes de exploración: Campo visual ancho con Foco F-150 y 60 diagonalmente y campo visual estrecho con Foco F-500 y 20 diagonalmente. En F-500 se utiliza en los casos de localización de objetivos a distancias mayores de 18 km y.

(16) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 5. para el seguimiento del objetivo durante el tiro y en el F-150 se utiliza durante la localización de objetivos a distancias menores de 18 km (Pierrat, 2014a). 1.1.2 Funcionamiento Cuando se aplica la alimentación de 220 V; 50 Hz y 200 V; 400 Hz a la ECC de la figura 1.1 se ponen en funcionamiento los diferentes dispositivos, equipos y sistemas que la componen, mediante la conexión “a distancia”, dirigida y efectuada desde la cabina de dirección, cuando se conecta para el combate o “a local”, efectuada independientemente por cada equipo cuando se conecta para mantenimientos o reparaciones (Pierrat, 2014a). Al quedar conectada la ECC el Dispositivo sincronizador (T221) elabora todos los impulsos que sincronizan los procesos tanto por distancia (procesos en el orden de los microsegundos) como por ángulo (procesos en el orden de los milisegundos) y comienza el funcionamiento sincronizado de todos los sistemas. Cuando se está en régimen de localización, al elevarse la alta tensión de los transmisores y conectarse el interruptor “Antena-Equivalente” en la posición “Antena”, los impulsos de alta frecuencia, corta duración y gran potencia a través del conmutador a Guías de ondas “TrasmisiónRecepción” ubicado en el Puesto de antenas y de la Antena UV10 son irradiados al espacio (Pierrat, 2014a). Desde la cabina de dirección, el operador de conducción, gira las manivelas por los planos de azimut plano β y ángulo de elevación plano ξ del armario 3, provocando que a través del dispositivo de dirección de las antenas, este giro es transmitido al puesto de antenas, para que ellas se orienten hacia la posición angular en la que se encuentra el objetivo. En esto intervienen las tarjetas T121, T122, T123, T124, T125, T126 y el bloque UK61. La onda electromagnética (OEM) irradiada por la antena incide sobre el objetivo y una porción de esta se refleja y es recibida nuevamente en la Antena UV10 (Pierrat, 2014a). Señales reflejadas, a través del conmutador “Transmisión-Recepción”, llegan al circuito de entrada, al amplificador de alta frecuencia (AAF) y de este siguen hacia los preselectores, donde se separan por frecuencias; las señales reflejadas desde el objetivo y las señales recibidas desde el respondedor del artículo (Pierrat, 2014a)..

(17) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 6. En el régimen de Acompañamiento, las señales reflejadas entran por las antenas UV10 y por la UV11, denominándose “Canal principal” al recorrido de la señal que entra por la UV11 y “Canal Anti feeding” al recorrido de la señal que entra por la antena UV10. Además, en el régimen de acompañamiento la antena UV10 no explora y su diagrama se queda fijo en la directriz del sector de exploración. En este régimen, las señales reflejadas principal y anti feeding se aplican al mezclador donde también se reciben la señal del oscilador local, obteniéndose FI que representará la señal del objetivo principal y anti feeding con 35 MHz. La señal de respuestas se convierte directamente de súper alta frecuencia a video (Pierrat, 2014a). Las señales de los canales: principal y anti feeding, desde la salida de los amplificadores previos de FI del Puesto de antenas, se aplican a los amplificadores principales de FI .La señal de respuesta del artículo que viene en video desde el Puesto de antenas se aplica al amplificador principal de video en la cabina de dirección. De los amplificadores principales se obtienen las respectivas señales en frecuencia de video y se envían a los bloques del SOM y a la T317 Dispositivo ГШН y de la salida de todas estas tarjetas se aplican las respectivas señales al distribuidor que se encarga de enviar las señales, según el régimen que esté conectado, al dispositivo de medición de las coordenadas (DDC) del objetivo y del artículo, de manera directa, y a los indicadores a través de la T424 (Pierrat, 2014a). De la salida de los bloques del DDC, se obtienen impulsos representativos del centro energético de la señal y por tanto la posición por distancia y ángulo del objetivo y del artículo. Los impulsos del objetivo y del artículo se aplican al dispositivo de elaboración de los mandos, donde se obtiene el error angular entre objetivo y artículo, y a partir de este error, se van a elaborar los mandos de dirección. A la salida del DEM se obtienen los mandos de dirección K1, K2, y los mandos únicos K3, K4, K5 y K6. Los mandos K1 y K2, contienen las magnitudes y el sentido en que debe moverse el artículo en el espacio para disminuir el error lineal entre su posición calculada y la real. Los mandos únicos K3, están destinados para el accionamiento a distancia de la radioespoleta o explosión de la carga combativa del artículo. Los mandos K4 están destinados a elevar la trayectoria del artículo una vez que éste haya rebasado el punto de encuentro. El mando K5 se emplea para el tiro contra objetivos de superficie y el mando K6 para el tiro al alcance. Estos mandos se envían al dispositivo cifrador del dispositivo de radiotrasmisión de los mando..

(18) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 7. En el cifrador del DTM los mandos se modulan y se codifican, luego en la parte de alta frecuencia de este dispositivo se convierten en una emisión de onda continua de Alta frecuencia, solo interrumpida por la emisión de impulsos de gran potencia y corta duración, para el visado del artículo. Las dos señales: mandos e impulsos se trasmiten al espacio a través de la antena UV12, haciendo que el artículo vaya cambiando paulatinamente su posición espacial en correspondencia con los valores de los mandos de dirección enviados. En dependencia del régimen de accionamiento de la radioespoleta o régimen de explosión de la carga combativa, variará el momento de envío del mando K3 a bordo del artículo. El mando K4 se elabora cuando el artículo no explota al rebasar al objetivo y los mandos K5 y K6 se elaboran en dependencia del régimen de tiro que esté establecido. De la parte de alta frecuencia del DTM se toma una muestra en video de los mandos que se envía hacia el artículo, la cual va al dispositivo Descifrador donde se demodulan y decodifican los mandos obteniendo estos en sus magnitudes originales para dirigir el artículo imitado que se forma en el Dispositivo Imitador. La señal imitada del artículo se envía en video a la T311 con el objetivo de introducirla en el canal receptor. Esto permite realizar el control de funcionamiento evaluando la dirección del artículo hacia el blanco en los monitores(Pierrat, 2014a)..

(19) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 8. Figura 1.1. Esquema funcional de la ECC Pechora (Pierrat, 2014a).. 1.1.3 Dinámica de trabajo La dinámica de funcionamiento del complejo comienza cuando hay un objetivo violador del espacio aéreo, que es localizado por alguno de los radares de la guardia combativa. A partir de esto el PM de la unidad superior designa el grupo que debe derribarlo y ordena localizarlo y destruirlo. Una vez transmitidas las coordenadas del objetivo la unidad pasa a “Posición 1”, momento en el cual se conectan la ECC y las rampas en lanzamiento (Pierrat, 2014b). La conexión de la ECC se realiza “a distancia”, y durante el tiempo de calentamiento los transmisores, se realiza un control del funcionamiento en el cual se comprueba el trabajo del sincronizador, del SUPA, del dispositivo automatizado de lanzamiento (DAL), del DDC, del DEM mirando los indicadores y de parte del DTM cifrador y descifrador. La.

(20) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 9. presencia de trama en los indicadores significa el buen trabajo del sincronizador; el movimiento de las antenas al mover las manivelas indica el trabajo correcto del SDA-RL; la presencia de las marcas y valores del DAL indican un trabajo correcto del sistema (Pierrat, 2014b). El paso a Seguimiento Automático (SA) del objetivo imitado y la captura de los artículos imitados indican el paso correcto de las señales por los canales del receptor; la magnitud de los errores y el valor de los mandos de dirección indican el correcto funcionamiento del DDC, del DEM y de parte del DTM. A todo esto se le llama “control funcional de la ECC en baja frecuencia”. Después de transcurrir los dos minutos de calentamiento de los transmisores aparecen los ruidos en la pantalla de los indicadores señalizando el trabajo de la parte de alta frecuencia de los receptores. A partir de ese momento se considera elevada la alta tensión en los receptores y se puede elevar la alta tensión de los transmisores. Cuando se eleva la alta tensión se pasa el conmutador “antena–equivalente” a la posición “antena” y se comprueba que aparezcan los objetos locales (señales reflejadas de las lomas, edificios, nubes, etc.) y si hay un objetivo en el aire aparecerá también. Con esto se termina el control de funcionamiento y se informa si el complejo está listo o no para cumplir la misión de combate (Pierrat, 2014b). 1.2 Tarjetas T101, T111 y T211 Las T101, T111 y T211 son tarjetas que pertenecen a la estación de trabajo para objetos aéreos ECC S125MIA Pechora. Estas forman parte de un sistema de adquisición de datos que reciben el estado de los conmutadores, interruptores y botones de dicho complejo coheteril. 1.2.1 Características La tarjeta T101 está implementada con electrónica programada, es típica para conectar el slot PCI de una de las computadoras que se instala en la Cabina de dirección de la Estación. Se encarga del control del tiro y se enlaza con el exterior a través de las señales denominadas SB1, SB2, SB8 y SB12 mediante el bus serie RS-485 y se comunica con el armario 1 por el bus serie RS-232. La tarjeta T101 emplea el bus serie SB8 y SB12 para enviar información a las restantes tarjetas, y recibe información a través de los buses SB1 y SB2, la cual es empleada en la formación de las señales (Pierrat, 2013)..

(21) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 10. A continuación en la Figuras 1.2 se muestra una imagen de la placa de la tarjeta que en su arquitectura tiene el FPGA EP1K100QC208-I, perteneciente a la familia Cyclone I de la compañía Altera.. Figura 1.2. Imagen frontal de la tarjeta T101(Pierrat, 2013).. Las tarjetas T111 y T211 (ver anexo I) están implementadas con electrónica programada, son las encargadas del estado de los conmutadores, interruptores y botones en los puestos de trabajo donde están conectadas, además de activar y desactivar las lámparas de señalización (LEDs). La T111 recibe de la T211 por SB1y le envía señales por SB3, la imagen frontal de la tarjeta se muestra en la Figura1.3.. Figura 1.3. Imagen frontal de la tarjeta T111(Pierrat, 2013).. La T211 es la que envía la señalización a los puesto de trabajo 3, 4 y 5 por SB1 y recibe (Figura1.4) impulsos de encoder incrementales y señales de los interruptores, botones y conmutadores por SB4, SB5, SB7, SB9, que llegan al integrado 74HC245 (buffer)..

(22) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 11. Figura 1.4. Imagen de la tarjeta T211 (Pierrat, 2013).. 1.2.2 Funcionamiento La T111 realiza las funciones que hacían en el complejo sin modernizar los conmutadores, interruptores y botones del armario 2 ver figura 1.5. Esta tarjeta es la encargada de (Pierrat, 2014c): Trabajo combativo – Control de la estación (TC-KC). Es la conmutación más importante que tiene el "Pechora". Se conecta el régimen TC cuando se va a efectuar el fuego real. Cuando se está en KC, funciona todo en control; siendo este el régimen que está establecido cuando se conecta el complejo. Cuando se pasa a TC, se desconecta todo lo que es imitado y el complejo está listo para realizar el fuego real. Permiso de control (PK). Es la conmutación que se realiza para que los sistemas puedan trabajar de forma autónoma, y de la misma forma, cuando los sistemas trabajan de forma autónoma y se desea realizar una actividad conjunta dirigida desde la cabina de dirección solo basta con quitar PK y se acaba el trabajo autónomo. Antena–imitador. Esta conmutación permite que los sistemas trabajen con los impulsos emisores que llegan desde las antenas o que trabajen con impulsos emisores imitados que se forman en el Sistema sincronizador por ángulo (UK79). Bajas alturas 1 – 2 (BA-1 – BA-2). Esta conmutación prepara a la Estación, principalmente al SUPÁ, para establecer el límite mínimo del ángulo de inclinación de las antenas (ε) en +1° (BA-1) o en -0.5° (BA-2). Alta tensión del transmisor. Este interruptor permite conectar o desconectar la alta tensión en el transmisor, que está en el puesto de antenas, desde este puesto de trabajo..

(23) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 12. Antena – equivalente. Este interruptor permite la conexión del transmisor a la antena para irradiar al espacio o cuando no se va a irradiar y se quiere tener el transmisor conectado, desviar la irradiación hacia una carga absorbente conectada por un conmutador de guía de ondas, que consume toda la energía del transmisor sin crear reflexiones en dichas guías. Solitario – Ráfaga. Este interruptor establece el régimen de fuego. Preparación. Se usan estos botones para preparar los equipos de a bordo de cada artículo antes de ser lanzados. Anulación. Se emplean para retirar la preparación a los artículos. Selección de la RL. Con este conmutador se selecciona la RL por la cual se va a realizar el fuego. Conexión – Desconexión. Como su nombre lo indican estos botones se emplean para realizar la conexión de todos los equipos de la Estación al mismo tiempo.. Figura 1.5. Conmutadores, botones e interruptores de la T111(Pierrat, 2014c).. En el sistema de combate modernizado la T211 realiza las funciones que hacían en el complejo sin modernizar los conmutadores, interruptores y botones del armario 3 ver figura 1.6 .Esta tarjeta es la encargada de (Pierrat, 2014c):.

(24) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 13. Manivelas. Son tres manivelas, dos para la conducción de la antena hacia el ángulo deseado (por β y ε) y una para el movimiento de la Marca horizontal de distancia durante la localización y durante el seguimiento por distancia. Paso a seguimiento por distancia (SM-D y SA-D). Con estos dos botones se realiza el paso a seguimiento manual y a seguimiento automático del objetivo encentrado en la Marca horizontal de distancia. Lanzamiento-retorno. Son cuatro botones; los dos más pegados al armario son los botones de lanzamiento, que como su nombre indica, provocan el despegue del artículo, por cada canal, desde la Rampa escogida. Los dos menos pegados al armario son los botones de retorno del lanzamiento por cada uno de los canales. Acompañamiento-automático. La posición de este interruptor decide el régimen de seguimiento al que pasa la estación cuando se pasa al régimen de acompañamiento por los planos inclinados. Si el interruptor está conectado, se pasa a Seguimiento automático con Acompañamiento automático (SA-AA); si el interruptor está desconectado se pasa “Conducción en planos inclinados” y cuando los operadores toman el mando se pasa entonces a “Seguimiento manual con Acompañamiento manual” (SM-AM). Amplificación. Este es un potenciómetro que permite establecer la regulación manual de la amplificación del receptor. El de adelante es para la frecuencia de trabajo del receptor y el de atrás para la frecuencia de reserva. Métodos de guiado. Estos interruptores establecen (uno para cada canal) el método de vuelo del artículo hacia el encuentro con el objetivo en dos variantes: “Método de tres puntos” o “Método de Semipredicción”. Lanzamiento automático. Este interruptor permite que el lanzamiento se realice automáticamente cuando DAL indique que el objetivo está en zona. Escala 40-80. Se usa este interruptor para establecer las escalas de distancia de la estación en 40 km u 80 km. Selección de canales. Con este conmutador se escoge el orden de los canales para realizar el fuego..

(25) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 14. Indicación de objetivos. Con este interruptor se escoge la indicación externa del objetivo al cual hay que realizarle el fuego. Con ello las antenas se mueven automáticamente hacia el ángulo que se recibe desde un puesto de mando alejado del complejo, de manera tal que al irradiar aparezca el objetivo indicado sin perder tiempo en su búsqueda. Cambio de frecuencia. Como su nombre lo indica, este interruptor cambia la frecuencia del transmisor y del receptor al valor de la frecuencia de trabajo o a la de reserva. Compensación del viento. Este potenciómetro varía la fase de comparación en el SOM para eliminar el efecto de la velocidad del viento en las nubes y las elimine. SOM 1, 2. Este interruptor tiene tres posiciones: SOM desconectado; SOM-1, para la Selección de los Objetos Móviles con una sola cancelación y SOM-2, para la Selección de los Objetos Móviles con doble cancelación. GVB – PVB. Este interruptor conmuta entre “Grandes Velocidades del Objetivo” y “Pequeñas Velocidades del Objetivo”. Esta conmutación la emplea el SOM para cambiar los valores de los períodos alternos.. Figura 1.6 Conmutadores, botones e interruptores de al T211(Pierrat, 2014c).. . 1.3 Concepto de ingeniería inversa La ingeniería inversa es el proceso de descubrir los principios tecnológicos de un dispositivo, objeto o sistema, a través del razonamiento de su estructura, función y.

(26) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 15. operación. Se trata de tomar algo (un dispositivo mecánico o electrónico, un software de computadora, etc.) para analizar su funcionamiento en detalle, generalmente para intentar crear un dispositivo o programa que haga la misma o similar tarea sin copiar la original (Toscano, 2013). 1.3.1 Ingeniería inversa La Ingeniería Inversa es un proceso analítico-sintético que busca determinar las características y/o funciones de un sistema, una máquina, un producto, una parte de un componente o un subsistema con el propósito de determinar un modelo genérico(López, 2010). Se puede definir además como el proceso de transformación de código en un modelo a través de una correspondencia con un lenguaje de implementación específico. Analizar un sistema determinado tiene dos objetivos: . Identificar los componentes de un sistema y sus interrelaciones. . Crear representaciones de un sistema en otra forma de abstracción más alta. En la actualidad existe una concepción errónea sobre la ingeniería inversa del software, generalmente se la asocia con el hecho de ruptura de seguridades que protegen los derechos de propiedad intelectual con fines bajos como la piratería y la manipulación del código programable para uso indebido de la información contenida (Morales, 2013). La investigación muestra el surgimiento de la ingeniería inversa del software como una técnica necesaria para reducir los altos costos de mantener un producto software. El proceso de entender cómo fue conceptuado un producto software requiere un bagaje de conocimientos mayores que el proceso en sí de desarrollar dicho producto, por lo tanto la necesidad de investigar los procedimientos de fabricarlo descansan necesariamente en una metodología de desarrollo de software (Morales, 2013). Utilizar ingeniería inversa en el software promueve grandes beneficios (Morales, 2013): . Permite optimizar un código programable de un sistema software heredado para acoplarlo a las nuevas necesidades del usuario.. . Permite documentar un producto software para su mejor entendimiento cuando no.

(27) CAPÍTULO 1. COMPLEJO. COHETERIL PECHORA. 16. existe información técnica al respecto. . Permite entender cómo fue diseñado un producto software, con la ausencia de sus mentores, reduciendo el costo aplicado a su mantenimiento.. . Permite mejorar las aptitudes de analista y diseñador de software.. . Permite realizar la portabilidad de un producto software importante a nuevas Arquitecturas.. . Permite optimizar los recursos software disgregados en un entorno, englobándolos en un nuevo producto con mejores características.. . Permite reducir el índice de errores de un producto por medio de antipatrones..

(28) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 17. CAPÍTULO 2. FPGAs DE ALTERA. LENGUAJE DE DESCRIPCION CIRCUITAL VHDL Desde su introducción a mediado de la década de 1980, los FPGAs (Field Programmable Gate Array) son cada vez más utilizados en la industria electrónica debido a su flexibilidad, reconfiguración y capacidad para ejecutar operaciones de forma paralela. El diseño de aplicaciones para implementar en estos dispositivos se realiza comúnmente mediante lenguajes de descripción de hardware (Maxfield, 2004). En este capítulo se abordan las características generales de los FPGA. Se hace una breve descripción de los lenguajes AHDL y VHDL empleados en la programación del FPGA EP1k100QC208-I perteneciente a las tarjetas T101, T111 y T211. 2.1 FPGAs Las FPGAs, son un tipo de FPD construido con una estructura general que permite obtener una alta capacidad lógica de propósito general, programable por los usuarios y compuesto de bloques lógicos comunicados por conexiones programables. Las FPGA han sido los responsables del mayor avance en el diseño de circuitos digitales. La raíz histórica de los FPGA son los dispositivos de lógica programable compleja CPLD de mediados de 1980. Estos dispositivos estuvieron integrados en un principio por matrices programables que su salida respondían a un numeroso grupo de términos productos, unidos por compuertas AND y luego estas compuertas tributaban a salidas de una segunda matriz programable de compuertas OR y estos elementos fueron los primeros PLD. Más adelante se le incluyeron elementos de almacenamiento y se conformaron las primeras celdas programables (Drimer, 2012). El desarrollo y la multiplicación de cada una de estas celdas fue creciendo con los años y las vías de conectividad también se fueron perfeccionando hasta llegar a los más complejos FPGA, con los cuales se puede elaborar dispositivos programables de muy alta complejidad. Tales interconexiones son más flexibles en términos del rango de diseños prácticos para los cuales pueden ser usadas. Muchas FPGAs modernas, soportan una total o parcial re-configuración del sistema, permitiendo que una parte del diseño sea reprogramado mientras las otras partes siguen funcionando, por lo cual su demanda es cada vez más codiciada en las aplicaciones electrónicas..

(29) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 18. 2.1.1Características generales de los FPGA Los FPGAs son dispositivos orientados a satisfacer una amplia gama de aplicaciones, desde simple lógica combinacional hasta sistemas con microprocesador embebido, transmisión tipo Ethernet, transmisión de datos series a 3.5Gb/s, todo con el mismo dispositivo. Por ello los FPGAs tienen características diversas, pero se podría decir que las principales son las siguiente (Sánchez, 2010): . Gran cantidad de terminales de E/S. Desde 100 hasta unos 1400 terminales para E/S dedicados.. . Buffers de E/S programables con control de sesgo, control de corriente, configuración del estándar de E/S, pull-up y pull-down configurables. . Gran cantidad de biestables configurables en las unidades centrales y en las E/S. Los dispositivos más grandes tienen unos 40.000 FFs. . Gran cantidad de Tablas de Búsqueda, alrededor de 100.000 o un mayor número por dispositivo.. . Bloques de Memoria (BRAM) de doble puerto, puerto simple, de hasta 18Mbits, configurables como RAM, ROM, FIFO y otras configuraciones. . Bloques dedicados a la suma, acarreo y operaciones lógicas, dependiendo de la familia.. . Transceptores para transmisión serie de muy alta velocidad, entre 1.5 a10.0Gb/s.. . Controladores de reloj tipo DLLy PLLs de hasta 550 MHz. De 2 a 8 controladores por dispositivo.. . Control de impedancia programable por cada terminal de E/S.. 2.1.2 Arquitectura básica de los FPGA Cada FPGA está compuesto de un número finito de recursos predefinidos con interconexiones programables para implementar un circuito digital reconfigurable. La arquitectura de un FPGA como se muestra en la figura 2.1, consiste en arreglos de bloques.

(30) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 19. lógicos que se comunican entre sí, a través de canales de conexión vertical y horizontal. Los bloques lógicos configurable (CLB) constan básicamente de una parte combinacional que permite implementar funciones lógicas y una parte secuencial formada por flip-flops ,que permite sincronizar la salida con una señal de reloj externa, lo cual es útil para realizar circuitos secuenciales y la implementación de registros. La estructura de un bloque lógico varía de un fabricante a otro, sin embargo, la lógica combinacional se basa principalmente en las LUTs (Ciletti, 2006).. Figura 2.1. Estructura básica de un dispositivo FPGA(Ciletti, 2006).. Una LUT es un componente de memoria que almacena una tabla de verdad. Las direcciones de la memoria son las entradas de la función lógica a implementar, y en cada localidad de dicha memoria se almacena el resultado de la combinación correspondiente de las entradas. En una LUT de n x 1 es posible implementar cualquier función lógica de n entrada. Los bloques de entrada/salida (IOB) son otro de los componentes particulares que tienen los FPGAs. Estos controlan el flujo de datos entre los pines de entrada/salida y la lógica interna del dispositivo. En diferentes familias de FPGAs, se dividen las entradas/salidas del `integrado en bancos que se pueden configurar para tener una interfaz con lógica de diferentes estándares eléctricos de manera independiente. Los IOBs deben ser capaces de preveer una adecuada terminación en cuanto a impedancia se refiere, y de esta forma evitar reflexiones de las señales (Ciletti, 2006)..

(31) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 20. Para poder implementar circuitos lógicos, los elementos lógicos presentados anteriormente no solo deben configurarse adecuadamente sino que también deben conectarse entre sí. En general, las conexiones internas entre elementos de un FPGA pueden realizarse básicamente de tres formas (CÁRDENAS, 2009): •. Líneas directas: Tienen lugar entre bloques adyacentes.. •. Conexiones de propósito general: Se realizan a través de una matriz de interconexión cuando se desean conectar dos bloques no adyacentes. Su misión es conectar canales verticales y horizontales que permiten llegar al punto final de la conexión.. •. Líneas de largo recorrido: Suelen cubrir la pastilla a lo largo y ancho. Permiten conexiones con un retardo mucho menor que uniendo las anteriores.. 2.1.3 FPGA EP1K100QC208-I En la tabla 2.1 se muestra un resumen de los parámetros principales del FPGA EP1K100QC208-I perteneciente a la familia Cyclone I de Altera; puesto que este dispositivo es el empleado en las tarjetas programables T111 y T211. Tabla 2.1 Parámetros del FPGA EP1K100QC208-I(Altera, 2013).. Serie Número de elementos lógicos /Celdas Número de entrada /salidas Frecuencia Tecnología Voltaje de alimentación Temperatura de Operación Serie. ACK 1K 4992 147 80 MHz 90 nm 2.375-2.625 V 85°C ACK 1K. Pines. 208. 2.2 Facilidades para el análisis del funcionamiento con el Quartus II Anteriormente solo los ingenieros con un profundo entendimiento de diseño de hardware digital podían trabajar con la tecnología FPGA. Sin embargo, el aumento de herramientas de diseño de alto nivel está cambiando las reglas de programación de las FPGAs, con.

(32) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 21. nuevas tecnologías que convierten los diagramas a bloques gráficos, o hasta el código ANSI C a circuitos de hardware digital. Existen varias herramientas EDA de simulación y modelado de circuitos digitales con alto nivel de integración que permiten sintetizar los tiempos de ejecución e implementación de las aplicaciones. Disponen de funciones predefinidas en archivos propios del software para facilitar y agilizar la labor del diseñador, además cuenta con una librería con las características principales de los dispositivos existentes en el mercado para aproximarse todo lo posible al desempeño real de los módulos programados(AlteraInc, 2013a). Los principales fabricantes de chips proveen algunas de estas herramientas, como es el caso de ISE Suite de Xilinx y MaxPlusII o QuartusII de Altera. El Quartus II es una herramienta que permite la creación de un circuito digital a partir de su descripción gráfica o a partir de una descripción HDL, admitiendo llegar hasta la implementación física del diseño en un dispositivo comercial programable del fabricante Altera. El flujo básico de un proceso de este tipo, Figura 2.2, comienza con la creación de un nuevo proyecto basado en un modelo descriptivo como se mencionaba anteriormente, sobre el cual se realizan un grupo de asignaciones dependiendo de las características de la aplicación, luego el programa realiza una compilación, que permite un análisis posterior de los resultados, posibilitando que estos sean perfeccionados con la meta de optimizar el producto final. Su empleo ha sido de gran utilidad para analizar el código fuente del dispositivo Cyclone I EP1K100QC208-I, tarea que recoge el contenido principal de la investigación (Wassem, 2010).. Figura 2.2 Flujo de diseño básico del software Quartus II (Wassem, 2010)..

(33) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 22. 2.3 Lógica programable y lenguaje de descripción Como consecuencia de la creciente necesidad de integrar un mayor número de dispositivos en un solo circuito integrado, se desarrollaron nuevas herramientas de diseño que auxilian al ingeniero a integrar sistemas de mayor complejidad. Esto permitió que en la década de los cincuenta aparecieran los lenguajes de descripción en hardware (HDL) como una opción de diseño para el desarrollo de sistemas electrónicos elaborados.. Estos lenguajes. alcanzaron mayor desarrollo durante los años setenta, lapso en que se desarrollaron varios de ellos como TI-HDL de Texas Instruments, ZEUS de General Electric, etc., todos orientados al área industrial, así como los lenguajes en el ámbito universitario (AHPL, DDL, CDL, ISPS, etc.) (Güichal, 2005). Los primeros no estaban disponibles fuera de la empresa que los manejaba, mientras que los segundos carecían de soporte y mantenimiento adecuados que permitieran su utilización industrial. El desarrollo continuó y en la década de los ochenta surgieron lenguajes como VHDL, Verilog, ABEL. VHDL: El lenguaje VHDL es un lenguaje de descripción que especifica los circuitos electrónicos en un formato adecuado para ser interpretado tanto por máquinas como por personas. Se trata además de un lenguaje formal, es decir, no resulta ambiguo a la hora de expresar el comportamiento o representar la estructura de un circuito (Noriega, 2011). Verilog: Es un lenguaje de descripción de hardware usado para modelar sistemas electrónicos. El lenguaje, algunas veces llamado Verilog HDL, soporta el diseño, prueba e implementación de circuitos analógicos y digitales a diferentes niveles de abstracción. Un diseño en Verilog consiste en una jerarquía de módulos, los módulos son definidos como conjuntos de puertos de entrada/salida y bidireccionales. Internamente un módulo contiene una lista de cables y registros. Las sentencias concurrentes y secuenciales definen el comportamiento del módulo, describiendo las relaciones entre los puertos, cables y registros (Noriega, 2011). ABEL: El proceso de diseño de un módulo hardware sobre una FPGA se divide en tres fases: creación del modelo, síntesis e implementación. Al finalizar cada una de las fases puede comprobarse la validez del diseño mediante simulación, utilizándose distintos tipos de simulación en cada una de ellas (Noriega, 2011):.

(34) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 23. a. Simulación funcional RTL para validar el modelo VHDL creado. b. Simulación funcional post-síntesis a nivel de puertas para validar el modelo sintetizado. c. Simulación temporal post-implementación, para validar la implementación del modelo usando la tecnología e implantación en una FPGA concreta. 2.3.1 VHDL, lenguaje de descripción En la actualidad, el lenguaje de descripción en hardware más utilizado a nivel industrial es VHDL, que apareció en la década de los ochenta como un lenguaje estándar, capaz de soportar el proceso de diseño de sistemas electrónicos complejos, con propiedades para reducir el tiempo de diseño y los recursos tecnológicos requeridos. Este lenguaje se creó como parte del programa (VHSIC), por la necesidad de contar con un medio estándar de comunicación y la documentación para analizar la gran cantidad de datos asociados para el diseño de dispositivos de escala y complejidad deseados; es decir, VHSIC debe entenderse como la rapidez en el diseño de circuitos integrados (COMMITTEE, 2007). Después de varias versiones revisadas por las industrias, universidades y el IEEE se publicó en diciembre de 1987 el estándar IEEE std 1076-1987. Un año más tarde, surgió la necesidad de describir en VHDL todos los ASIC, por lo que en 1993 se adoptó el estándar adicional de VHDL IEEE1164. Hoy en día VHDL se considera como un estándar para la descripción, modelado y síntesis de circuitos digitales y sistemas complejos. Este lenguaje presenta diversas características que lo hacen uno de los HDL más utilizados en la actualidad. 2.3.2 Ventajas de emplear VHDL en el desarrollo de los circuitos integrados A continuación se exponen algunas de las ventajas que representan los circuitos integrados con VHDL (Maxinez and Jara, 2002): •. Notación formal. Los circuitos integrados VHDL cuentan con una notación que permite su uso en cualquier diseño electrónico..

(35) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. •. 24. Disponibilidad pública. VHDL es un estándar no sometido a patente o marca registrada alguna, por lo que cualquier empresa o institución puede utilizarla sin restricciones. Además, dado que el IEEE lo mantiene y documenta, existe la garantía de estabilidad y soporte.. •. Independencia tecnológica de diseño. VHDL se diseñó para soportar diversas tecnologías de diseño (PLD, FPGA, ASIC, etc.) con distinta funcionalidad (circuitos combinacionales, secuenciales, síncronos y asíncronos), a fin de satisfacer las distintas necesidades de diseño.. •. Independencia de la tecnología y proceso de fabricación. VHDL se creó para que fuera independiente de la tecnología y del proceso de fabricación del circuito o del sistema electrónico. El lenguaje funciona de igual manera en circuitos diseñados con tecnología MOS, bipolares, BICMOS, etc., sin necesidad de incluir en el diseño información.. 2.3.3 VHDL como lenguaje para describir, simular, validar y diseñar En un principio, la captura de esquemas fue la forma habitual de diseño CAD. Pero, hoy día, ha sido sustituida casi por completo por su descripción funcional en texto, programa que detalla el funcionamiento de las diversas partes del circuito y la conexión entre ellas, utilizando para ello un lenguaje de descripción de hardware (HDL). La forma textual presenta numerosas ventajas: suele requerir menor tiempo y esfuerzo para comprender lo que el circuito hace, en el caso de sistemas complejos es independiente de la implementación a bajo nivel (en puertas, bloques, biestables y registros); es directamente trasladable a los diversos dispositivos programables y a las diversas librerías de ASICs; y, sobre todo, resulta mucho más sencillo revisar e introducir modificaciones en el texto descriptor que en el esquema gráfico del mismo. Actualmente, son dos los lenguajes de descripción circuital que se han impuesto como estándares para el diseño digital: VHDL y Verilog; y, de entre ellos, en el contexto europeo predomina el VHDL. Este lenguaje de descripción de sistemas digitales nació como herramienta de documentación y de comunicación en relación con los circuitos integrados digitales..

(36) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 25. Un circuito integrado complejo, a lo largo del tiempo pasa por muchas manos, quien lo define y quien lo utiliza no suele ser el mismo que quien lo diseña; quien repara o quien modifica los sistemas en que participa el circuito no suele ser el propio diseñador; e incluso, quien lo ha diseñado, al volver a su circuito cuando ha transcurrido un cierto tiempo, difícilmente recordará los detalles de las diversas funciones y recursos con los que lo ha configurado. De ahí la necesidad de un lenguaje que ofrezca una descripción funcional precisa, carente de ambigüedades, estructurada y de fácil lectura e independiente de la implementación concreta a bajo nivel. Que quien lea esa descripción sea capaz de comprender, con poco esfuerzo y absoluta claridad, las funciones que hace el circuito y cómo las hace; sin tener que descender al nivel booleano de puertas y biestables que, por su mayor amplitud en componentes, resultaría más difícil de analizar (Rueda, 2008). Una misma descripción funcional puede configurarse circuitalmente de formas muy variadas y tal configuración dependerá de la librería de celdas estándar disponibles (para el diseño de un ASIC) o, en su caso, del dispositivo programable en que se inserte; en principio no es necesario conocer su configuración a nivel booleano para utilizar eficientemente un circuito digital. Lo que sí es necesario es disponer de una adecuada y detallada descripción funcional (Chu, 2008). La documentación es un requisito inexcusable para considerar que un diseño se ha completado y hecho efectivo y, cuando el diseño se refiere a un sistema complejo, requiere un lenguaje preciso y estructurado (estructurado tanto en su forma de expresar el diseño como en el sentido de que confiera estructura al propio diseño). Por otra parte, antes de construir un diseño complejo, con el coste económico y de tiempo que ello supone, conviene saber si el diseño es correcto; para ello es de gran ayuda efectuar una simulación virtual de su funcionamiento. Un lenguaje que describa con precisión el comportamiento de un sistema servirá, sin duda, para simular su comportamiento: bastará con una aplicación informática que ejecute la descripción del sistema en relación con el transcurso del tiempo (Chu, 2008). Aún más, un circuito integrado no tiene sentido funcional por sí mismo, sino que formará parte de un sistema más amplio; generalmente será una pieza de control de un sistema con partes eléctricas y mecánicas. El objetivo final no es que el circuito integrado funcione.

(37) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 26. (individualmente) bien, sino que el sistema global actúe correctamente: en definitiva, el objetivo que se persigue no es el funcionamiento del propio circuito integrado, sino el del sistema de qué forma parte. De manera que el propósito de un lenguaje eficiente se refiere a la capacidad de describir y simular, además de los circuitos integrados digitales, los mecanismos y sistemas controlados por ellos. Es decir, validar al circuito integrado en el entorno funcional para el que ha sido diseñado. Estamos, pues, planteando un objetivo cada vez más ambicioso: de la documentación se pasa a la simulación y se pretende, también, la validación de los circuitos integrados complejos (Chu, 2008). Con esa intencionalidad ha sido desarrollado el Very high speed integrated circuit Hardware Description Language, conocido como VHDL, siglas que se pueden referir mejor a Versátiles Hardware Description Language , pues la referencia a la alta velocidad de los circuitos es superflua; de igual forma puede ser utilizado para documentar, describir, simular y validar circuitos integrados lentos.Un lenguaje con capacidad para describir con precisión y simular con eficiencia puede ser fácilmente utilizado para diseñar: una vez descrito un sistema digital, basta compilar la descripción sobre una librería de recursos. Se entiende por compilación el paso de la descripción funcional a la configuración circuital del algoritmo al circuito, utilizando como componentes de dicho circuito los contenidos en una librería de recursos (Rueda, 2008): . En el caso de CPLDs dicha librería se refiere a las funciones booleanas en forma de suma de productos (configuración PAL) y biestables tipo D;. . Para las FPGAs los recursos son las funciones booleanas, con un limitado número de variables dividiendo, en su caso, las funciones más amplias, expresadas en forma de tabla de verdad configuración LUT y los biestables D;. . En el diseño de ASICs, la librería de celdas básicas prediseñadas, propia del diseño con librería estándar standard cell.. El compilador traslada la descripción funcional al circuito que la materializa, conformado por componentes disponibles en la librería de recursos sobre la que se compila. VHDL es una excelente herramienta de documentación, simulación, validación y diseño de sistemas.

(38) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 27. digitales, estandarizada y en permanente proceso de actualización bajo los auspicios de la IEEE (Rueda, 2008). 2.4 Principales características del código AHDL AHDL, al igual que otros HDL, utiliza ecuaciones lógicas, variables, constantes, funciones, operadores aritméticos, tablas de verdad y expresiones condicionales. Es un lenguaje modular y concurrente que utiliza el modo “behavioral” para describir la lógica que se desee implementar. Además, está especialmente orientado para definir máquinas de estado de gran complejidad y toda la descripción del comportamiento es resuelta en forma concurrente (AlteraCorporation, 1996). Se puede utilizar cualquier editor de texto para crear archivos de diseño de texto en AHDL. Las únicas restricciones que presentan estos ficheros deben guardarse con la extensión .tdf , y que las líneas no deben exceder los 255 caracteres. Asì mismo, AHDL no es case sensitive, o sea, no diferencia entre mayúsculas y minúsculas. 2.4.1 Estructura de un archivo texto en AHDL Un archivo texto en AHDL (.tdf) presenta una estructura determinada por once secciones o campos. De ellas solo dos son imprescindibles y el resto son opcionales (Betz, 2010). A continuación se mencionan las más usadas y se da una breve descripción de las mismas. Título: es opcional y no afecta a la descripción del hardware. Tributa a la documentación del diseño. Include: es opcional. Permite importar texto desde otros archivos escritos en AHDL (cuya extensión por defecto es .inc) al diseño en curso para su compilación. Usualmente es usado para incluir prototipos de funciones de menor nivel. Constant: es opcional. Permite definir un nombre simbólico y asociarlo a un valor constante. Gracias a esto, posteriores usos del nombre serán reemplazados por el valor constante durante la compilación. Subdesign: es necesario. Se utiliza para declarar tipo y nombre de los puertos de un diseño. El tipo básico de los puertos puede ser input, output o bidir. Se puede usar además machineinput y machineoutput para importar y exportar máquinas de estado..

(39) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 28. Variable: es opcional. Se declaran las variables usadas en la sección logic para definir la lógica interna, o sea, se declaran variables que representan y retienen información interna. Las variables pueden declararse como nodos ordinarios o triestado, primitivas, mega funciones, macrofunciones o máquinas de estado. También pueden generarse variables condicionalmente con la sentencia If Generate. Logic: es necesario. Define la operación lógica del programa y se encuadra entre las palabras clave begin y end. Esta lógica puede definirse mediante ecuaciones booleanas, lógica condicional o tablas de verdad. Puede incluir sentencias de tipo, como por ejemplo, Case y If. 2.4.2 Sentencias de control En todo tipo de programación de alto nivel se necesita el control de flujo, la descripción de hardware necesita también algún tipo de control en cuanto a orden de procesamiento se refiere. Para este fin se utilizan las sentencias siguientes. Case statement: Esta sentencia relaciona las alternativas que pueden tomarse de acuerdo al valor que adopte la variable de estudio. Su estructura es la siguiente: Case variable is When condición 1 => acción 1; When condición 2 => acción 2; When others => acción 3; End Case; If-Then statement: Esta sentencia relaciona las alternativas que pueden tomarse después de que cierta condición sea considerada como verdadera. Su estructura es la siguiente: If condición 1 verdadera then.

(40) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 29. acción 1; Elsif condición 2 verdadera then acción 2; Else acción por defecto; End If; If-Generate statement: Esta sentencia relaciona las alternativas que pueden tomarse después de que cierta condición sea considerada como verdadera. Su estructura es la siguiente: If condición verdadera generate acción 1; Else generate acción 2; End Generate; Tablas de verdad: Las tablas de verdad son utilizadas para especificar algún tipo de lógica o comportamiento de máquinas de estado. Cada entrada de la tabla contiene una combinación de entradas que produce valores de salida especificados anteriormente. Ejemplo: TABLE a0, f[4..1].q => f[4..1].d, control; 0, B"0000" => B"0001", 1; 0, B"0100" => B"0010", 0; 1, B"0XXX" => B"0100", 0; X, B"1111" => B"0101", 1; END TABLE;.

(41) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 30. Máquinas de estado: Se denomina máquina de estados a un modelo de comportamiento de un sistema con entradas y salidas, en donde las salidas dependen no sólo de las señales de entradas actuales sino también de las anteriores. Esto se implementa de forma muy elegante y simple en AHDL. 2.5 Interfaces RS-485 La interfaz RS-485 está definido como un sistema en bus de transmisión multipunto diferencial, es ideal para transmitir a altas velocidades sobre largas distancias (35 Mbit/s hasta 10 metros y 100 kbit/s en 1200 metros) y a través de canales ruidosos, ya que reduce los ruidos que aparecen en los voltajes producidos en la línea de transmisión. El medio físico de transmisión es un par entrelazado que admite hasta 32 estaciones en 1 solo hilo, con una longitud máxima de 1200 metros operando entre 300 y 19200 bit/s y la comunicación half-duplex (semiduplex). Soporta 32 transmisiones y 32 receptores. La transmisión diferencial permite múltiples drivers dando la posibilidad de una configuración multipunto. Al tratarse de un estándar bastante abierto permite muchas y muy diferentes configuraciones y utilizaciones en la tabla 2.2 se muestra la normativas de comunicación serie(Pierrat, 2014d) Las señales RS-485 se utilizan en una amplia gama de sistemas informáticos y de automatización. En un sistema informático, SCSI-2 y SCSI-3 podrán utilizar esta especificación para implementar la capa física para la transmisión de datos entre un controlador y una unidad de disco. RS-485 se utiliza para las comunicaciones de datos de baja velocidad en las cabinas de los aviones de autobuses de vehículos comerciales y requiere un mínimo de cableado.

(42) CAPÍTULO 2. FPGAs DE ALTERA . LENGUAJE DE DESCRIPCION CIRCUITAL VHDL. 31. Tabla 2.2 Normativa de la comunicación serie. 2.5.1 Formato de la trama Rs-485. Address: Campo de direcciones (8 bits, hasta 255 caracteres). Function: Campo de funciones (8 bits para un código que puede ser público, definido por el usuario o reservado). Data: Campo para los datos (8 bits). Checksum Campo para el chequeo de los errores (8 bits)..

(43) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 32. CAPÍTULO 3. RESULTADOS Y DISCUSIÓN En el presente capítulo se describen de forma general alguno de los bloques que contienen el diseño esquemático de la tarjeta T111. Se hace un análisis del proceso de conversión serie-paralelo que da lugar a la formación de la señal SB1 en una trama RS-485, a través de la realización de la ingeniería inversa del código fuente de las tarjetas T111 y T211. 3.1 Descripción general de algunos bloques esquemáticos de la tarjeta T111 Para que la tarjeta T111 pueda ejecutar todas sus funciones necesita señales de entrada (ver anexo II) que de acuerdo a su contenido, realizan una acción u otra en determinado bloque. También necesita diferentes señales de reloj que son empleadas para generar los sincronismos de los procesos. En la Figura 3.1 se muestra el bloque Sb1-rec, este es el bloque más importante de la tarjeta 111. Se encarga de la recepción de la señal Sb1 de la estación coheteril Pechora y es donde ocurre el proceso de conversión Serie-Paralelo que da lugar a la formación de esta señal en la trama RS-485. Las señales de entrada las recibe por el bus serie SB1, en este caso declarado sb1-in que recibe a través de pin 170 de la FPGA EP1K100QC208 las señales provenientes de la tarjeta 211. Entradas: (clk40m, sb1-in) Salidas: (out-4d6 , out-11d0, out-12d0, out-12d12, out-12d3, ou-12d15t, out-12d4, out-23d7, out-23d12, out23d13, out-12d5, out-11d9, out-11d10, out-1d15, out-2d0, out-2d3, out-2d4, out-8d0, out-8d1, out-3d15)..

(44) CAPÍTULO 3. RESULTADOS Y DISCUSIÓN. 33. Figura 3.1. Puertos de la entidad sb1-rec.. La salida out-4d6 Hunryon se comporta como un selector como se muestra en la tabla 2. Tabla 3.1. Estado de la salida out-4d6 Hunryon.. WR. Punto A. Punto B. Punto A. in-1. 0. Punto B. 0. In-1. Este bloque Sb1-rec en su interior cuenta con los bloques Rs, Clock-1ms, Rec-115 y R-16rbs1. El bloque Rs (Figura 3.2), su salida Rsba sube a uno por cada 60 pulso de la señal de entrada CK por lo tanto es un divisor por 60 de la señal de reloj.. Figura 3.2. Bloque RS..

Figure

Figura 1.1. Esquema funcional de la ECC Pechora (Pierrat, 2014a).
Figura 1.2. Imagen frontal de la tarjeta T101(Pierrat, 2013).
Figura 1.4. Imagen de la tarjeta T211 (Pierrat, 2013).
Figura 1.5. Conmutadores, botones e interruptores de la T111(Pierrat, 2014c).
+7

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)