• No results found

En la comunicación serie entre las cinco tarjetas implementadas con electrónica programada los datos fluyen en una sola dirección, desde el transmisor hasta el receptor, de forma asíncrona pues los relojes utilizados pueden no estar perfectamente sincronizados, y así evitar la pérdida de información ante desajustes de sincronismos. Además, el bit de paridad insertado después del último bit de dato de una palabra permite al receptor detectar posibles fallos en la transmisión. El convenio de paridad usado es el par donde el número total de unos de toda la palabra, incluido el propio bit de paridad, sea par.

La manera de lograr la transmisión asíncrona en serie es introducir una transición artificial a un cero lógico en el nivel de tensión al comienzo de una nueva palabra; y forzar un nivel de señal para marcar el final, o sea, cuando el emisor no está enviando datos mantiene la señal en el nivel de uno lógico. El pulso inicial se denomina bit de inicio, aún cuando es claro que no se trata de un bit sino de una señal de control. El convenio para indicar el final de un grupo de bits de información se denomina bits de parada.

En la Figura 3.21 se muestra el esquema transmisor-receptor serie, el cual puede representarse por un selector (SBT256) y un multiplexor de datos (SBT256_01) en el transmisor y, en el extremo receptor, por un demultiplexor (SBR256_01) y un selector de datos (SBR256).

Figura 3.21Representación esquemática de la comunicación serie.

La señal SBTAB[7..0] es un contador ascendente que, según su valor, se selecciona la entrada de dato a ser transmitida por el bus serie, o sea el bit cero determina el tiempo empleado en transmitir un dato de dieciséis bits. Dicho contador se resetea cada 128 conteos (de cero a 127) por lo que esta es la frecuencia de muestreo y el número máximo de datos a ser transmitidos por el bus serie. La trama serie tiene una duración de 115.2 µs por lo que el tiempo de bit del dato que se quiere transmitir es de 14.7456 ms (115.2 µs x 128); puesto que la frecuencia de muestreo de los datos tiene que ser igual al tiempo de bit, pues se puede perder o reescribir información en caso de ser menor o mayor respectivamente.

En la Figura 3.22 se muestra el formato de la trama serie correspondiente al dato S, en la cual todos sus bits están a uno. Cada bit dentro de la trama serie tiene una duración de 3.6 µs, donde los últimos 0.8 µs siempre están en bajo y se utilizan para diferenciar una cadena de unos consecutivos con el nivel alto de no transmisión. La transmisión comienza por el bit menos significativo.

Figura 3.22Simulaciónde la trama serie durante la comunicación.

Inicialmente el dato asignado, en el bloque sbt256, al valor cero del contador SBTAB[7..0] es transmitido para establecer el sincronismo en el receptor. Sin embargo, este último no es capaz de interpretar la información recibida pues inicialmente no se introduce el inicio de trama en bajo y cuando el receptor espera este tiempo para muestrear la información, coincide con la parte en bajo de los bits y cada vez que se desplaza un tiempo de bit coincide siempre en muestrear un cero, siendo esta su salida para este dato. Una vez transmitido el dato cero se establece el sincronismo y el receptor es capaz de demultiplexar la información serie. Para no perder la información del dato cero (trama cero) utilizado inicialmente como sincronismo, es retransmitido exactamente un tiempo de trama antes de que finalice el tiempo de bit del dato a multiplexar. De esta manera, se conforma el ciclo de muestreo para la multiplicación de las señales en la comunicación serie. El número de trama transmitida, que corresponde con el valor del contador SBTAB[7..0] es enviado en la trama serie en el espacio de los bits de contador para que el receptor sea capaz de elegir, en su selector, para una salida una información determinada. La información en el receptor se retarda un tiempo igual a la multiplicación del número de trama por la duración de la misma. Cuando en el transmisor se agotan los datos a enviar por el bus serie comienza a rellenar con ceros el espacio de los datos en la trama, lo cual no merece atención pues el receptor no tendría salidas asignadas a esos números de tramas y las desecharía.

Para introducir información en un determinado bus serie basta con comprobar que tiene tramas no empleadas. De no ser así, implicaría realizar otra conexión física, duplicar los bloques de transmisión-recepción y comprobar que el FPGA tenga recursos disponibles. Sin embargo, de corroborarse la existencia de tramas sin utilizar, es suficiente el aumento de entradas del bloque SBT256 de la Figura 3.21, asignándole el número de trama a cada dato añadido en el código del selector. Asimismo, en el extremo receptor se haría coincidir el número de trama que contiene la nueva información introducida en la comunicación serie con las salidas agregadas.

En los Anexos A.V y A.VI se muestra el código del bloque selector de un transmisor y un receptor respectivamente, donde se le han introducido tres nuevos datos a la comunicación serie y se hacen coincidir con el número de trama 125 (7D, en hexadecimal), 126 (7E, en hexadecimal) y 127 (7F, en hexadecimal).

CONCLUSIONES Y RECOMENDACIONES

En el presente trabajo se explicó el funcionamiento de la tarjeta T139, a partir de la realización de ingeniería inversa al código fuente presente en el componente programable de dicha tarjeta, comprobándose los resultados obtenidos en la simulación mediante la herramienta Quartus II. Durante su realización se arribó a las siguientes conclusiones y recomendaciones:

CONCLUSIONES

• Los FPGA son dispositivos compuestos por un número finito de bloques lógicos, recursos de interconexión y bloques de entrada-salida. Se programan utilizando Lenguajes de Descripción de Hardware, los cuales permiten modelar hardware.

• La ingeniería inversa de software comienza por comprender los procesamientos representados por el código fuente. Además, permite la reestructuración del código que modifica el mismo preservando las características externas del sistema, así como la redocumentación que genera información desde un sistema existente.

• La Estación de Conducción de Cohetes Volga es una estación de vigilancia del espacio aéreo con una alta capacidad combativa. El control funcional de la estación y el entrenamiento de los operadores se realiza mediante el trabajo imitado implementado en el dispositivo programable de la tarjeta la tarjeta T139, el cual es un FPGA EP2C70F896C8 de la familia Cyclone II de Altera.

• Quartus II cuenta con un editor de formas de onda que permitió la asignación del formato a las señales de entrada para las simulaciones, a partir de las cuales se corroboraron los resultados del análisis efectuado al código fuente, evidenciándose su utilidad en la realización de la ingeniería inversa.

• La tarjeta T139 es capaz de imitar las señales de tres blancos y tres cohetes, así como las envolventes de video de los blancos, en las escalas de distancia de 75 y 150 Km tanto para el régimen de trabajo Rayo Ancho como para el régimen Rayo Estrecho. Además, se puede simular el enmascaramiento y alineaciones de blancos enemigos en los indicadores.

• Se detectó errores en la programación del régimen Empuje, y en la representación de los cohetes en los indicadores para la escala de 150 Km, para lo cual se propuso modificaciones que corrigen las deficiencias señaladas. Además, se hizo una propuesta para adicionar blancos imitados en los indicadores y así lograr un mayor rigor en el entrenamiento de los operadores.

RECOMENDACIONES

• Proponer la implementación de las modificaciones realizadas al código, en la programación del FPGA perteneciente a la tarjeta T139, para comprobar su correcto funcionamiento.

• Continuar profundizando en los demás bloques esquemáticos de la programación del dispositivo programable de la tarjeta T139, a través de la ingeniería inversa para conocer íntegramente su funcionamiento.

REFERENCIAS BIBLIOGRÁFICAS

Aguirre AB (2013) Ingenieria Inversa De Software: Caso de Estudio. [Online] Available at: http://migracionsistemas.blogspot.com/2012/03/ingenieria-inversa-de-software-caso-

de.html (accessed 21/02/13).

Air & Space Power (2013) Innovación Militar en Tiempos de Conflicto. [Online] Available at: http://www.airpower.au.af.mil/apjinternational/apj-s/2005/2tri05/mcnerney.html (accessed 07/02/13).

Altera Corporation (2010) Cyclone II Device Handbook. Available at: http://www.altera.com/. Altera Corporation (2013) FPGA CPLD and ASIC from Altera. [Online] Available at:

http://www.altera.com/ (accessed 10/05/13).

Altera Corporation (1996) MAX+PLUS II Programmable Logic Development System & Software. Altera Inc (2013) Introduction to the Quartus II Software Handbook.

Ameneyro AAL (2012) Reingeniería para la implementación de un Web Feature Service.

Benz F, Seffrin A and Huss SA (2012) Bil: A tool-chain for bitstream reverse-engineering. In: 735–738. Available at: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6339165 (accessed 10/06/13).

Betz R (2010) Hardware Description Languages.

Bozich EC (2005) Introducción a los Dispositivos FPGA. Análisis y ejemplos de diseño. La Plata: Centro de Investigaciones Ópticas.

Cano CE (2012) Diseño de una arquitectura de un filtro digital de sobre muestreo de imágenes, en factor 2, de acuerdo al formato H. 264/SVC sobre FPGA. Available at: http://tesis.pucp.edu.pe/repositorio/handle/123456789/1414 (accessed 10/06/13).

Castillo A, Vázquez J, Ortegón J and Rodríguez C (2008) Prácticas de laboratorio para estudiantes de ingeniería con FPGA. IEEE Latin Am Trans. 6, 130–136.

CHU, P. P. 2008. FPGA prototyping by VHDL example. John Wiley & Sons. CID3 (2008) INTRODUCCIÓN A LA MODERNIZACIÓN K.

Drimer S (2009) Security for volatile FPGAs. Rapport technique UCAM-CLTR-763, University of Cambridge, Computer Laboratory. Available at: http://www- test.cl.cam.ac.uk/techreports/UCAM-CL-TR-763.pdf (accessed 11/06/13).

González E (2006) Tarea Técnica para la modernización de los CCAA S75M3.

Güichal G (2005) Diseño digital utilizando lógicas programables. Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca

León A (2009) Diseño e implementación en hardware de un algoritmo bio-inspirado. Instituto Politécnico Nacional. Centro de Investigación en Computación. Available at: http://www.repositoriodigital.ipn.mx/handle/123456789/5690 (accessed 10/06/13).

Martínez HV (2012) Foro de Análisis de Investigación, Desarrollo y Gestión Tecnológica en ITESCA. Available at:

http://www.itesca.edu.mx/investigacion/foro/carp%20ponencias/41.pdf (accessed 10/06/13).

Maxfield C (2004) The design warrior’s guide to FPGAs. Academic Press, Inc. Available at: http://dl.acm.org/citation.cfm?id=993491 (accessed 10/05/13).

Medina M (2013) Herramientas para el Desarrollo de Sistemas de Información. [Online] Available at: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ (accessed 21/02/13).

Noriega S (2008) Familias Lógicas. Presentado en Introducción a los Sistemas Lógicos y Digitales.[En línea]

Pardo F (2006) VHDL. Lenguaje para síntesis y modelado de circuitos. Valencia Pierrat GG (2013a) Ayudas para la confección de la Tesis.

Pierrat GG (2013b) Ayudas para la confección de la Tesis. Pierrat GG (2010) El Trabajo del Dominio Volga.

Pierrat GG (2012) Tarea Técnica I Electrónica Programada.

Pressman RS (2003) Software Engineering: A Practitioner’s Approach with Bonus Chapter on Agile Development. McGraw-Hill Science/Engineering/Math Available at: http://dl.acm.org/citation.cfm?id=995775 (accessed 10/06/13).

Scalvinoni EB (2005) Estado del Arte de la Tecnología FPGA. In: Buenos Aires, Argentina. Wanderley E, Vaslin R, Crenne J, Cotret P, Gogniat G, Diguet J-P, Danger J-L, Maurine P, Fischer

V and Badrignans B (2011) Security FPGA Analysis. In: Security Trends for FPGAS. Springer. 7–46. Available at: http://link.springer.com/chapter/10.1007/978-94-007-1338- 3_2 (accessed 10/06/13).

ANEXOS

Related documents