reingeniería de las interfaces entre · pdf filela selección del dispositivo fue...

38
REINGENIERÍA DE LAS INTERFACES ENTRE COMPUTADORAS DEL SISTEMA DE COMANDO Y CONTROL CHRISTIAN L. GALASSO (1,2,3) , GUILLERMO R. FRIEDRICH (2) , SERGIO O. BURGOS (3) , GUSTAVO J. DÍAZ (1,2) , ALEJANDRO A. ANTONINI (3) . (1) Escuela de Oficiales de la Armada, (2) Universidad Tecnológica Nacional Facultad Regional Bahía Blanca, (3) Armada Argentina Servicio de Análisis Operativo, Armas y Guerra Electrónica. Resumen Los sistemas automatizados de Comando y Control de los destructores y corbetas tipo Meko son de tecnología de los años 80 y cuentan con una arquitectura y un software asociado de características propietario. Todo el intercambio de información entre las computadoras que conforman el sistema se lleva a cabo a través de un dispositivo denominado Inter Computer Interface (ICI). Cada unidad naval cuenta con un determinado número de estas interfaces que se encargan de mantener interconectadas todas sus computadoras. En este trabajo se describen aspectos técnicos de la investigación realizada en el marco del PIDDEF (1) 26/10, que comprendió el diseño y desarrollo, a nivel de prototipo, de una interfaz equivalente a las actuales ICI, manteniendo la compatibilidad con el resto del equipamiento, conectores, cableado, etc., a fin de permitir su reemplazo directo conservando la integridad del sistema original. Palabras clave: Interfaz, prototipo, compatibilidad, sistema de comando y control. Abstract The automated systems of Command and Control for destroyers and corvettes Meko have a technology from the 80’s, with architecture and software type proprietary. All information exchange between the system's computers is accomplished through a device called Inter Computer Interface (ICI). Each naval unit has a specific number of these interfaces, which are responsible of interconnecting their computers. In this paper we describe the technical aspects of the research work carried out in the framework of the PIDDEF 26/10, which included the design and development (with characteristics of prototype) of an equivalent interface to the existent ICI, maintaining compatibility with the rest (1) PIDDEF: Programa de Investigación y Desarrollo para la Defensa.

Upload: doannga

Post on 06-Feb-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

REINGENIERÍA DE LAS INTERFACES ENTRE COMPUTADORAS DEL

SISTEMA DE COMANDO Y CONTROL

CHRISTIAN L. GALASSO(1,2,3)

, GUILLERMO R. FRIEDRICH(2)

, SERGIO O. BURGOS(3)

,

GUSTAVO J. DÍAZ(1,2)

, ALEJANDRO A. ANTONINI(3)

.

(1)

Escuela de Oficiales de la Armada, (2)

Universidad Tecnológica Nacional – Facultad Regional

Bahía Blanca, (3)

Armada Argentina – Servicio de Análisis Operativo, Armas y Guerra Electrónica.

Resumen

Los sistemas automatizados de Comando y Control de los destructores y corbetas tipo Meko

son de tecnología de los años 80 y cuentan con una arquitectura y un software asociado de

características propietario. Todo el intercambio de información entre las computadoras que

conforman el sistema se lleva a cabo a través de un dispositivo denominado Inter Computer

Interface (ICI). Cada unidad naval cuenta con un determinado número de estas interfaces que se

encargan de mantener interconectadas todas sus computadoras.

En este trabajo se describen aspectos técnicos de la investigación realizada en el marco del

PIDDEF(1)

26/10, que comprendió el diseño y desarrollo, a nivel de prototipo, de una interfaz

equivalente a las actuales ICI, manteniendo la compatibilidad con el resto del equipamiento,

conectores, cableado, etc., a fin de permitir su reemplazo directo conservando la integridad del

sistema original.

Palabras clave: Interfaz, prototipo, compatibilidad, sistema de comando y control.

Abstract

The automated systems of Command and Control for destroyers and corvettes Meko have a

technology from the 80’s, with architecture and software type proprietary. All information exchange

between the system's computers is accomplished through a device called Inter Computer Interface

(ICI). Each naval unit has a specific number of these interfaces, which are responsible of

interconnecting their computers.

In this paper we describe the technical aspects of the research work carried out in the

framework of the PIDDEF 26/10, which included the design and development (with characteristics

of prototype) of an equivalent interface to the existent ICI, maintaining compatibility with the rest

(1)

PIDDEF: Programa de Investigación y Desarrollo para la Defensa.

Page 2: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

of the system, connectors, wiring, etc., to allow direct replacement, assuring the original system

integrity.

Keywords: Interface, prototype, compatibility, systems of Command and Control.

Introducción

En el marco del PIDDEF 26/10 se realizó la reingeniería de la placa que permite la

comunicación entre computadoras del sistema de comando y control de corbetas y destructores del

tipo MEKO. Algunas de sus características principales son:

Diseño específico para aplicaciones en tiempo real en control de armamento o manejo de

datos.

Diseño modular.

Capacidad de trabajar eficazmente aún bajo condiciones extremas.

Posibilidad de trabajar de manera simple o apareada.

Retrocompatibilidad de software.

Adaptado para el uso de diversos periféricos.

Según muestra la Figura Nº 1, la Inter Computer Interface (ICI) se encarga del intercambio de

información entre dos computadoras, realizando una conversión paralelo–serie para la transmisión y

serie–paralelo para la recepción. La comunicación es full duplex y se realiza por medio de pares

trenzados. También se debe resaltar que es punto a punto entre ICI´s, no pudiendo conectarse un

tercer dispositivo.

La ICI tiene un bus paralelo para la conexión con la computadora de comando y control, el

cual puede conectarse a uno de los buses internos de la misma. Posee, además, dos “Dispositivos

Lógicos de Control” (DCL(2)

: Device Control Logic) que trabajan de manera independiente, y aún

sus direcciones (DA: Device Addres) son distintas; es decir, cada ICI posee 2 direcciones de

dispositivo. Una para la entrada de datos y otra para la salida de datos. Para las transmisiones utiliza

protocolos exclusivos del fabricante. Tiene un software de testeo, también provisto por el fabricante,

que prueba la placa haciendo un loop en su puerto serie.

(2)

DCL: Es la denominación que le da “Hollandse Signaalapparaten” a los periféricos de la computadora.

Page 3: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 1: Diagrama de interconexión entre dos computadoras por medio de sendas ICIs.

Para el desarrollo del proyecto se armó un banco de pruebas (Figura Nº 2) en el Departamento

Ingeniería del Servicio de Análisis Operativo, Armas y Guerra Electrónica (SIAG) de Puerto

Belgrano, donde pudiera hacerse la investigación del funcionamiento y el desarrollo de los

prototipos para luego pasar a las pruebas de campo (a bordo). Como se verá luego, del análisis se

determinó que la interfaz no realiza procesamiento de los datos, sólo hace un chequeo de errores por

hardware.

Figura Nº 2: Banco de pruebas armado en el SIAG para realizar las

capturas y posterior análisis del funcionamiento.

Page 4: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

El comportamiento de la ICI es eminentemente lógico y los tiempos de respuesta a los

comandos recibidos son muy bajos, del orden de s1ans250 . Estas características permitieron

determinar que el dispositivo más conveniente para basar el desarrollo es un Arreglo de Compuertas

Lógicas Programable en Campo (FPGA: Field-Programmable Gate Array).

Se comenzó trabajando con un kit basado en una FPGA de Actel con el que se desarrollaron y

ensayaron las primeras versiones de código VHDL(3)

, con la intención de pasar en una segunda

etapa al desarrollo de hardware del prototipo, incluyendo el diseño y fabricación del circuito

impreso, el montaje y la soldadura de los componentes (incluida la FPGA). En esta etapa se

presentaron serios inconvenientes con la provisión de FPGAs de Actel (utilizada en la primera

mitad del desarrollo), por lo que fue necesario investigar acerca de las características de dispositivos

de otros fabricantes que fueran adecuados para los requerimientos del proyecto. La elección recayó

en la Spartan 3AN de Xilinx, por poseer memoria de configuración interna, lo que mejora el

aprovechamiento del espacio, entre otros factores que se verán a continuación.

Además de cuestiones relacionadas con la lógica interna del dispositivo a desarrollar, hubo

que determinar cómo aplicar la solución en el ambiente donde finalmente operaría el prototipo.

Estándares que debían cumplir los componentes, la placa base del circuito impreso (PCB: Printed

Circuit Board) y la soldadura a utilizar (con o sin plomo), para soportar las temperaturas,

vibraciones y manipulación a la que estaría expuesto el prototipo.

También hubo que considerar la adaptación de los niveles de tensión y corriente, dado que la

FPGA puede manejar niveles de tensión del tipo Low Voltage Transistor–Transistor Logic (LVTTL)

y los buses de la computadora requieren los niveles de tensión de Transistor–Transistor Logic

(TTL), con lo que se necesitan integrados de adaptación para tal fin. Además los buses de datos

actuales operan con salidas en configuración Tres Estados (Z), mientras que el bus sobre el que se

conecta la ICI trabaja con salidas Colector Abierto.

Selección del dispositivo central del desarrollo

a) Descripción general

Rango de temperatura de los dispositivos

Debido a las características del ambiente en que se utiliza la interfaz, el punto de partida para

la selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido

de temperatura. No todos los dispositivos están disponibles con versiones de rango de temperatura

(3)

VHDL: Lenguaje de descripción de hardware utilizado para inferir diseños sobre FPGAs.

Page 5: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

industrial, automotriz, militar o aeroespacial, sino que muchas veces sólo son de rango comercial.

Para el caso de la Spartan 3AN las opciones son:

C : Comercial (0° C a 85° C)

I : Industrial (– 40°C a 100°C)

Capacidad lógica

El siguiente paso consistió en verificar la capacidad lógica de la FPGA (Tabla Nº 1). A medida

que se avanzó en el análisis del dispositivo a replicar se pudieron hacer mejores estimaciones de la

capacidad lógica necesaria.

Dispositivo Compuertas

del sistema

Equivalente en

celdas lógicas CLBs Slices

XC3S50AN 50 K 1584 176 704

XC3S200AN 200 K 4032 448 1792

XC3S400AN 400 K 8064 896 3584

XC3S700AN 700 K 13248 1472 5888

XC3S1400AN 1400 K 25344 2816 11264

Tabla Nº 1: Capacidades lógicas de distintos dispositivos.

La situación ideal es tener el prototipo en VHDL armado y simulado, entonces el software de

síntesis (el ISE, para este caso) realiza el cálculo de la ocupación del dispositivo. Pero como esto no

siempre ocurre, porque los tiempos de desarrollo no siempre acompañan a los tiempos de ejecución

de los recursos de un proyecto, es necesario realizar alguna estimación que sea coherente. Como

una medida para la comparación algunos fabricantes suelen poner el número equivalente de

compuertas que se pueden inferir sobre el dispositivo. Para el prototipo en cuestión se estimó que

era suficiente el integrado de menor capacidad de la familia 3AN, el XC3S50AN, que posee el

equivalente a 50000 compuertas. Luego de completar el diseño en VHDL y realizar la síntesis se

comprobó que el mismo requiere sólo el 25% de la capacidad lógica de la FPGA.

b) Puertos de E/S

Entre los requerimientos impuestos al prototipo a desarrollar estaba la cantidad de pines de

entrada/salida (E/S), un total de 84, de los cuales 44 son entradas y 40 son salidas.

El número máximo de E/S disponibles para el usuario de la FPGA que se pretendía utilizar

(Spartan XC3S50AN) es 144, pero esta cantidad varía con el encapsulado. Se optó por el TQFP

(TQ144/TQG144), que dispone de 108 pines de E/S disponibles, con la salvedad de que 7 de ellos

Page 6: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

son “sólo entrada”. Además, si se utilizan niveles lógicos HSTL o SSTL, la cantidad se reduce

debido a los pines dedicados a tensiones de referencia.

Configuración de los niveles lógicos de los puertos de E/S

Los puertos de E/S de la Spartan 3AN se pueden configurar para operar con los niveles

lógicos de las familias: LVCMOS, LVTTL, HSTL y SSTL. Dado que el prototipo debía ser

conectado a un bus TTL, se sabía de antemano que iba a ser necesario utilizar dispositivos de

adaptación: buffers [1], level shifters [2] o bi-directional low voltage translator [3].

Tipo de Lógica CCOV REFV ILV IHV

Nom. (V)

Nom. (V)

Máx. (V) Mín. (V)

LVTTL 3.3 NO USADO 0.8 2.0

LVCMOS18 1.8 NO USADO 0.4 0.8

HSTL_III_18 1.8 1.1 1.0VREF 1.0VREF

SSTL3_II 3.3 1.5 2.0VREF 2.0VREF

Tabla Nº 2: Valores de tensión para la implementación de los distintos niveles

lógicos estándar de las E/S. Tabla resumen de la hoja de datos

original [4].

La configuración de los niveles lógicos a utilizar se realiza por software, mediante el

“PlanAhead” (funcionalidad asociada al ISE). También se debe tener en cuenta para el diseño del

esquemático las tensiones de alimentación y referencia para poder implementar los distintos niveles

lógicos. En la Tabla Nº 2 se indican, a modo de ejemplo, las tensiones nominal de alimentación de

los bancos de E/S ( CCOV ), nominal de referencia ( REFV ), máxima de entrada que se reconoce como

un ‘0’ lógico ( ILV : Input voltage that indicates a Low logic level) y mínima de entrada que se

reconoce como un ‘1’ lógico ( IHV : Input voltage that indicates a High logic level) para las distintas

lógicas.

[1] NXP SEMICONDUCTORS, 2011.

[2] TEXAS INSTRUMENTS, 2005.

[3] PHILIPS SEMICONDUCTORS, 2003.

[4] XILINX, 2011:17.

Page 7: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Configuración de corriente y velocidad de respuesta (slew rate)

Una vez seleccionados los niveles lógicos de tensión, se pueden elegir diferentes capacidades

de corriente como se muestra en la Tabla Nº 3 (con ciertas restricciones que se detallan más

adelante). En ella, OLI es la intensidad de corriente de salida para la cual la tensión de salida del

nivel lógico bajo (Low) se garantiza que será a lo sumo el valor indicado e OHI es la intensidad de

corriente de salida para la cual la tensión de salida del nivel lógico alto (High) se garantiza que será

como mínimo el valor indicado.

Capacidad

de

corriente

Condiciones de testeo Niveles lógicos

OLI OHI OLV OHV

(mA) (mA) (mA) Máx. (V) Mín. (V)

2 2 – 2

0.4 2.4

4 4 – 4

6 6 – 6

8 8 – 8

12 12 – 12

16 16 – 16

24 24 – 24

Tabla Nº 3: Lógica LVTTL, características de salida en continua

de los pines de E/S estándar.

En el caso de los buffers no es necesario preocuparse por la corriente, debido a que la misma

es provista por el mismo buffer. Si se utilizan level shifters o bi-directional low voltage translators

es necesario conocer la capacidad de manejo de corriente del dispositivo a adaptar (en este caso la

FPGA); dado que estos adaptan los niveles de tensión, pero la corriente requerida para escribir en el

bus de datos es provista por el integrado a adaptar.

Existen ciertas restricciones para la corriente que puede manejar la FPGA, expresadas en las

recomendaciones del fabricante para la cantidad máxima de salidas en conmutación simultánea

(Simultaneous Switching Outputs: SSOs [4]). En las mismas se detalla la forma de calcular, en

función de la corriente elegida, el número máximo de pines que pueden conmutar en el mismo

sentido de manera simultánea, a fin de mantener el ruido de conmutación en niveles seguros de

operación.

[4] XILINX, 2011:43.

Page 8: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Dispositivo Encapsulado

TQG144 FTG256 FGG400 FGG484 FGG676

XC3S50AN 2 3 – – –

XC3S200AN – 4 – – –

XC3S400AN – 4 5 – –

XC3S700AN – – – 5 –

XC3S1400AN – – – 6 9

Tabla Nº 4: Número de pares Vcco/GND por banco, se ha recuadrado el valor

que se usa en el ejemplo (ver texto).

Dicho ruido tiene efecto directo sobre los márgenes internos de la relación señal-ruido y, en

última instancia, sobre la calidad de la señal. La siguiente expresión permite calcular el número de

pines de E/S por banco, que pueden conmutar en la misma dirección de manera de mantener niveles

seguros de ruido de conmutación:

5NºTabla4NºTablaBankMÁXIO/SSO pinespares (1)

A modo de ejemplo, para XC3S50AN y encapsulado TQG144, de la Tabla Nº 4 se obtiene:

opares/banc24NºTABLA pares .

Por otra parte, si se elige una capacidad de corriente de 6 mA/pin, de la Tabla Nº 5 –para el

mismo encapsulado– se obtiene: spines/pare105NºTabla pines .

Por lo tanto aplicando (1) resulta:

banco

pines

pares

pines

banco

paresBankMÁX

20102IO/SSO

es decir, un máximo de 20 salidas que pueden conmutarse de manera segura.

En la Tabla Nº 5 se indica el número recomendado de pines que se le puede asignar a los

puertos de E/S para la lógica LVTTL configurada con velocidad de respuesta SLOW, de las dos

posibles: SLOW (lenta) o FAST (rápida). Se eligió SLOW por ser de 4 MHz la frecuencia de la

señal más rápida. Se debe tener en cuenta que el ruido debido a la conmutación es tanto mayor

cuanto mayor es la rapidez de la misma: flancos muy abruptos producen más ruido que flancos

suaves, ya que el efecto inductivo de las variaciones de intensidad aumenta con dtdi / [5]. Esto ha

sido tenido en cuenta por los fabricantes de dispositivos programables complejos y de circuitos

integrados de aplicación específica, y por ello es habitual que exista la posibilidad de optar entre

flancos más o menos abruptos. Es conveniente optar por flancos suaves para aquellas señales que no

[5] POLLÁN SANTAMARÍA, 2012.

Page 9: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

requieran de muy alta velocidad. En las FPGA suele poder configurarse cada puerto en forma

independiente, lo que permite agrupar todas las señales rápidas en uno o más puertos y las lentas en

otros, usando diferentes configuraciones de slew rate.

Capacidad

de corriente

Encapsulado

TQG144 FTG256, FGG400,

FGG484, FGG676

Top,

Bottom

Banks 0,2

Left,

Right

Banks 1,3

Top,

Bottom

Banks 0,2

Left,

Right

Banks 1,3

2 20 20 60 60

4 10 10 41 41

6 10 10 29 29

8 6 6 22 22

12 6 6 13 13

16 5 5 11 11

24 4 4 9 9

Tabla Nº 5: Lógica LVTTL configurada con slew rate en SLOW: número

recomendado de pines en conmutación simultánea por par

Vcco/GND, se han recuadrado los valores que se usan en el

ejemplo (ver texto).

Pines no utilizados

Los pines no utilizados de la FPGA, tanto los de configuración como las E/S o los “sólo

entrada” pueden dejarse al aire ya que, luego de la configuración, internamente no están conectados.

Además puede seleccionarse desde el ISE (4)

, en las propiedades de Generate Programming File, si

luego de la configuración dichos pines serán conectados a un Pull-Up, un Pull-Down, o bien

quedarán flotantes.

c) Alimentación

En lo que se refiere a la alimentación, la FPGA lleva dos tipos, una que corresponde al núcleo

de la misma y otra que corresponde a los puertos de E/S. Dentro de lo que es la alimentación del

núcleo está la alimentación de la lógica interna y en el caso particular de la Spartan 3AN (utilizada)

una alimentación auxiliar para la memoria interna de configuración. Para los puertos deben tenerse

(4)

ISE: Integrated Software Environment, es un software producido por Xilinx.

Page 10: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

en cuenta los niveles lógicos que se quieren manejar y dependiendo de los mismos serán los valores

de tensión a usar y si se usan o no los pines de referencia. Para el prototipo en cuestión se utilizó la

memoria interna de configuración y los niveles lógicos de los puertos fueron LVTTL, quedando

definidas las alimentaciones de la siguiente manera.

Alimentación del núcleo

CCINTV : Alimentación del núcleo interno de la lógica. El número de pines dedicados varía con

el encapsulado, siendo 4 para TQG144. Deben conectarse todos los pines a V2.1 .

CCAUXV : Alimentación auxiliar para la memoria flash interna (en el caso de la Spartan 3AN).

Deben conectarse todos los pines a V3.3 .

Alimentación de los puertos para LVTTL

CCOV : Alimentación de los bancos de E/S. Para algunos de los estándares de valores lógicos,

CCOV establece los valores de referencia. Todos los pines deben conectarse a la tensión

correspondiente. Para LVTTL deben ser conectados a V3.3 .

REFV : Pin de doble propósito. Para LVTTL se pueden utilizar como pines de “sólo entrada”.

Para las otras lógicas se usan como tensión de referencia de los niveles lógicos escogidos (por

ejemplo HSTL o SSTL). En estos casos, todos los pines deberán estar conectados a la tensión de

referencia y no podrán utilizarse como E/S.

d) Configuración

Configuración mediante la memoria FLASH interna

La Spartan 3AN tiene varios modos de configuración, entre los que figuran: Configuración

desde la memoria Flash interna, desde una memoria externa, por JTAG, etc. Además, cuando se

elige realizar la configuración mediante la memoria Flash interna, se tienen otras opciones, dado

que la misma tiene capacidad de almacenar dos configuraciones completas, de forma de establecer

un doble arranque.

Para este caso se fijó el uso de la memoria Flash interna para la configuración (Figura Nº 3) y

la descarga del archivo binario de configuración en la misma mediante JTAG. Para ello la FPGA

debe estar en modo Internal Master SPI mode [6]. De forma que a través de comandos enviados vía

[6] XILINX, 2009:217.

Page 11: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

JTAG, la FPGA se ponga en modo configuración y grabe la misma en la SPI PROM interna. En

cada arranque, se leen los pines M[2:0], y para que la FPGA se configure en base a lo almacenado

en la memoria interna debe estar en: M[2:0] = <0:1:1>, Internal Master SPI mode. Para este modo

de configuración se requiere que el pin CCAUXV esté alimentado con V3.3 .

Si se realiza la configuración con los pines de modo seteados en el modo “JTAG” [6], M[2:0]

= <1:0:1>, la FPGA esperará ser configurada por el puerto JTAG en cada arranque, dado que pierde

la configuración cuando se le quita la alimentación y no leerá la configuración de la memoria SPI

PROM interna.

Figura Nº 3: Conexionado de la Spartan-3AN para utilizar el modo de

configuración mediante la memoria flash interna (Internal

Master SPI Flash Mode).

Otros pines asociados a la configuración

Los pines que se describen a continuación están dedicados a la configuración del dispositivo y

no están disponibles como pines de E/S para el usuario. Ambos son alimentados por la tensión

CCAUXV .

[6] XILINX, 2009:199.

Page 12: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Pin DONE: La FPGA maneja activamente el Pin DONE, poniéndolo en estado “bajo” durante

la configuración. Cuando el proceso de configuración se completó satisfactoriamente, este pin se

pone en estado “alto” a través un una resistencia de Pull-Up interna o externa, dependiendo de lo

configurado por el usuario.

Pin Prog_B: Por medio del pin Prog_B se fuerza el inicio del proceso de configuración. La

FPGA también inicia el proceso de configuración ni bien es alimentada. Este pin es una entrada de

control asincrónica. Cuando está “bajo” resetea la FPGA, inicializando la memoria de

configuración. Una vez que este pin vuelve a estado “alto”, comienza el proceso de configuración.

Pin SUSPENDED: Este pin es de uso dedicado, no disponible para propósitos generales.

Permite suspender la FPGA, reduciendo el consumo de potencia del sistema. Está alimentado por

CCAUXV . Este pin se debe conectar a GND en el caso de no ser utilizado [7].

El puerto JTAG

En la diversa bibliografía y en los esquemáticos de los kits de distintos fabricantes hay

pequeñas diferencias en cuanto al conexionado. Se probaron varias configuraciones y la que

finalmente funcionó en la Spartan 3AN es la que se muestra en la Figura Nº 4.

Figura Nº 4: Conexión del puerto JTAG, para configurar

la Spartan 3AN.

Resumen

• Para que la FPGA se configure a partir de su memoria interna los pines de modo deben

estar, M(2): '0', M(1): '1' y M(0): '1'.

[7] XILINX, 2007.

Page 13: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

• CCAUXV debe ser de V3.3 .

• El pin INIT_B sirve para múltiples propósitos durante el proceso de configuración. Luego

está disponible como pin E/S.

• El pin DONE pasará a estado “alto” cuando la FPGA esté completamente configurada.

• Los pines que no estén involucrados en el proceso de configuración que se esté llevando a

cabo estarán en alta impedancia (los pines involucrados en el proceso de configuración

pueden variar de un modo a otro).

e) Reloj del sistema

Para la elección del reloj del sistema se debe tener en cuenta que cada elemento de la familia

Spartan 3AN ofrece ocho relojes globales de alta velocidad y bajo Skew [8], para mejorar la

performance. Estos son utilizados automáticamente por las herramientas de síntesis de Xilinx. Aún

si la frecuencia es baja, es importante usar los recursos de enrutamiento de reloj globales para

eliminar cualquier posibilidad de problemas en el temporizado del diseño. Es importante, por lo

tanto, entender cómo se definen y como se toma ventaja de los mismos.

Los ocho pines de entrada de reloj global se denominan GCLK0 a GCLK7. GCLK0 a GCLK3

se encuentran ubicados en la zona central inferior del encapsulado, más precisamente en los pines

57 a 60. GCLK4 a GCLK7 se encuentran ubicados en la zona central superior del encapsulado, más

precisamente en los pines 124 a 127. Cualquiera de los ocho pines puede conectarse indistintamente

a cualquier recurso o diseño dentro del chip. Estos no tienen restricciones por cuadrante y no tienen

diferenciación entre primario o secundario para simplificar la ubicación de la lógica sintetizada y de

las E/S. Además, en la familia de FPGA's Spartan 3AN ninguno de los pines de reloj comparte

funcionalidad con pines de configuración, solamente con pines de E/S.

El software de síntesis utiliza los buffers inferior y superior como primera opción para el

enrutamiento de las señales de reloj. Si existiesen más de ocho relojes en un diseño se pueden usar

los semi-buffers laterales. Floorplanning [9] se recomienda para diseños que requieran más de ocho

relojes, ya que las cargas sobre los buffers de la parte izquierda o derecha está restringidos a diseños

sintetizados sobre dichas partes o se limitan a un cuadrante dado (Figura Nº 5). Estas capacidades

de manejo de distintos dominios de reloj permiten un grado mayor de libertad en el diseño.

[8] XILINX, 2011:45.

[9] XILINX, 2010.

Page 14: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 5: Distribución interna de los dominios de reloj en la

Spartan-3E y 3A. Estructura basada en cuadrantes.

Condiciones de carrera

En el diseño existe una parte encargada de transmitir una palabra recibida en paralelo, de

manera serializada, por una línea en par diferencial. Esta palabra se transmite junto con un reloj de

1 MHz (señal s_osrcl en la Figura Nº 6 de la izquierda y Q en la derecha) obtenido de la división del

reloj del sistema. Ahora bien, por la lógica de funcionamiento, cuando se recibe cierta secuencia de

señales debe resetearse (reset = '0') el módulo de salida de datos y el reloj saliente de dicho módulo

debe quedar en estado alto.

Para ello se implementó en un primer momento el siguiente VHDL:

s_osrcl <= '1' when reset = '0' else

mc_1mhz;

La herramienta de síntesis generó el hardware que puede verse a la izquierda de la Figura Nº 6.

Page 15: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 6: Hardware de salida de reloj serie con problemas de condición de

carrera a la izquierda y resuelto a la derecha.

Un mensaje del sintetizador indicó que este hardware tenía problemas de condición de

carrera. Múltiples procesos están en condición de carrera si el resultado de los mismos depende del

orden en que se ejecute. En circuitos electrónicos se da una Condición de carrera cuando la salida

de un sistema o subsistema depende del orden en que se hayan activado o desactivado sus

componentes. La Figura Nº 7 ejemplifica la situación.

Figura Nº 7: Ejemplo de circuito lógico

con condición de carrera.

Puede observarse que durante un tiempo 2t tendremos a la salida un estado no deseado o

incorrecto, dado por el retardo en la propagación del valor lógico a través del inversor. Se reescribió

entonces, el código de la siguiente manera:

Page 16: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

proc_hab_deshab_BS: Process (reset, mc2d, mc_1mhz)

begin

if reset = '0' then

s_osrcl <= '1';

elsif mc2d' event and mc2d = '1' then

if mc_1mhz = '1' then

s_osrcl <= '1';

else

s_osrcl <= '0';

end if;

end if;

end process;

La herramienta de síntesis generó el hardware que puede verse a la derecha de la Figura Nº 6.

Se infirió un FlipFlop (derecha de la Figura Nº 6) y se solucionó el problema. El reset está

conectado a la entrada PRE, la señal de reloj de 1MHz (mc_1mhz) a la entrada D, el clock C es

“mc2d” y la señal de reloj saliente “s_osrcl” es Q.

Problemas de sincronizado

Durante las pruebas del primer prototipo se detectaron varios cortes abruptos en las

transmisiones de datos. Se realizaron simulaciones del evento, dado que en las capturas del

analizador lógico no se veían anomalías. Se armó un banco de prueba en VHDL donde se

reprodujeron las señalizaciones y se describió con dos relojes que se pudieran desplazar

temporalmente, de forma de reproducir el fenómeno lo más preciso posible. En un primer momento,

no se registraron los cortes que aparecían en las capturas, sin embargo se pudo observar un

comportamiento errático y la pérdida de algunos datos dentro de la palabra recibida.

Figura Nº 8: Diagrama superior, ejemplo de sistema con una entrada

asincrónica. Diagrama inferior, el mismo sistema con

la entrada sincronizada mediante un Flip Flop.

Page 17: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Como en el banco de prueba se puede ver el estado de los diferentes Flip Flops, de cada uno

de los módulos del diseño, en un ciclo de reloj dado; se pudo analizar el hardware interviniente en

la recepción de las palabras, en los momentos donde se producía la falla. Se encontró que los

desplazamientos producían la pérdida esporádica de un pulso interno necesario para identificar los

bits de las palabras y las mismas llegaban con errores. Se buscó entonces, sincronizar los relojes

dentro del prototipo. Se utilizó el primer método (Figura Nº 8) propuesto por Pong P. Chu en su

libro [10]. Se sincronizó el reloj entrante al módulo de ingreso de palabras del puerto serie por

medio de un Flip Flop implementado en VHDL, el cual entrega una nueva señal de reloj en fase con

la señal de reloj del sistema. La solución resultó acertada y no se registraron más cortes en la

comunicación, llegando a funcionar, en ocasiones, más de 72 horas continuas.

Diseño de la placa de circuito impreso

La placa de circuito impreso (PCB: Printed Circuit Board) del prototipo se realizó en seis

capas. Para su diseño se tuvieron en cuenta ciertas reglas prácticas, a fin de evitar problemas. Si

bien la frecuencia máxima del circuito es de 4 MHz, se aplicaron algunas recomendaciones [11],

[12] para circuitos de alta frecuencia (mayores que 50 MHz), que se detallan a continuación:

• El ruteo debe comenzar por los pines de mayor frecuencia y terminar por los de menor. De

este modo, las primeras tendrán los caminos más directos.

• El plano de masa debe ser lo más continuo posible, debiéndose evitar que existan lazos de

masa.

• Las señales ruidosas deben colocarse junto con otras ruidosas, las sensibles con otras

sensibles, lejos unas de las otras y sin compartir el camino de retorno (return path) para la

corriente.

• Las señales diferenciales deben ir juntas.

• En cuanto al footprint (5)

[13] de los circuitos integrados, además de tener en cuenta las

recomendaciones del fabricante, cabe recordar que el área del pad (6)

[14] es proporcional

a su capacidad de disipación de calor.

[10] CHU, P., 2006:617.

[11] MRK INDUSTRIES. Disponible en http://www.mrkindustries.com.ar/

[12] OPEN CIRCUITS. Disponible en http://www.opencircuits.com/Printed_Circuit_Boards (5)

FOOTPRINT: Es el nombre que se le da a la silueta o huella sobre el PCB del componente electrónico.

[13] CIRCUITO IMPRESO. Disponible en http://es.wikipedia.org/wiki/Circuito_impreso (6)

PAD: Un pad es una superficie de cobre en un circuito impreso que permite soldar o fijar el componente a la placa.

Existen dos tipos de pads; los thru-hole y los smd (montaje de superficie).

Page 18: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Selección de las interfaces de adaptación

Luego de un exhaustivo análisis de las posibilidades de adaptación existentes, para los

primeros prototipos se optó por el GTL2000, que es un “22-bit bi-directional low voltage

translator”. La forma en que realiza la traslación se tuvo en cuenta a la hora de escribir la

configuración de los puertos.

Cambios en la configuración de los puertos de salida por la adaptación mediante GTL2000

Durante las primeras pruebas del prototipo, no funcionó la placa en desarrollo y mientras

estaba conectada no permitía que la computadora de comando y control funcione, impidiendo la

carga del sistema operativo. Se realizaron capturas sobre el bus durante la carga del sistema

operativo, para observar lo que estaba ocurriendo. Para tener un punto de referencia se hicieron

mediciones del bus con la placa original. La señalización obtenida de las capturas del prototipo era

errática y sin lógica alguna, totalmente distinta a la observada con la placa original, donde había una

secuencia de diálogo entre dispositivos, bien definida y ordenada.

Entre las distintas pruebas que se realizaron se volvía a sintetizar el VHDL sobre la FPGA. En

una oportunidad se intentó realizar la carga del sistema operativo mientras se configuraba la FPGA.

En esta circunstancia, la carga del sistema operativo se completó sin problemas. Revisando la hoja

de datos de la FPGA, se encontró que durante el proceso de configuración la FPGA coloca todas sus

E/S en alta impedancia. En el diseño, cuando la configuración terminaba, la lógica indicaba poner

todas las salidas a '1', dado que el bus al cual estaba conectada la placa es colector abierto, con lo

que el estado de reposo es “alto”.

Se realizaron modificaciones en el VHDL para que, mientras la placa no tiene que dialogar

con el bus, el estado lógico de la salida sea 'Z' en vez de '1'. Esta modificación permitió que se

realice la carga del sistema operativo con normalidad y que el prototipo empezara a dialogar con el

procesador. El motivo de que haya sido necesario efectuar esta modificación es la manera en que

trabaja el dispositivo de adaptación de niveles de tensión GTL2000 utilizado, ver Figura Nº 9.

[14] ELECTROSOFT INGENIERÍA. Disponible en http://www.pcb.electrosoft.cl/04-articulos-circuitos-impresos-desarrollo-

sistemas/01-conceptos-circuitos-impresos/conceptos-circuitos-impresos-pcb.html

Page 19: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 9: Conexionado GTL20xx o NVT20xx, dispositivo de adaptación de niveles

de tensión con salida tipo “drenador abierto”.

Como puede observarse en la Figura Nº 9, si se coloca un '0' lógico en el dispositivo del lado

'A' del GTL2000, se forzará el mismo estado del lado 'B', siempre y cuando el transistor del puerto

de la FPGA pueda absorber la corriente provista por la (B)Rpu y la (A)Rpu . Esto es correcto y

deseable; el inconveniente surge si se coloca un '1' lógico del lado 'A', el dispositivo que se

encuentre del lado 'B', al querer poner un '0' se encontrará con que tiene que absorber la corriente

provista por la (B)Rpu (para lo cual está calculado) más la corriente entregada por (A)Rpu , lo cual

no tiene que haberse tenido en cuenta. Si a esto se le suma que puede haber varias de estas placas

conectadas al bus, el problema aumenta (a (B)Rpu se le agregan tantas (A)Rpu como placas

compartan el bus).

Page 20: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

En el caso que el puerto de la FPGA esté configurado como “salida tres estados” (7)

, como

había sido configurado, en vez de drenador abierto con resistencia de Pull-Up, cuando el transistor

superior se sature para entregar un '1' lógico, conectará la fuente de alimentación de 3.3 V al pin de

salida. Entonces es prácticamente imposible que algún dispositivo del lado 'B' (como el de carga del

sistema operativo en este caso) pueda mandar a '0' alguna de las líneas del bus, impidiendo de esta

forma el diálogo a través del mismo.

A continuación se muestra el código VHDL de la solución. Se habilitan las salidas cuando se

quiere escribir en el bus y se las coloca en ´Z´ cuando no se dialoga con el mismo. Se utilizó para tal

fin la señal “S_EN” provista por una placa que hace las veces de controlador de interrupciones y

que envía un '0' cuando la placa en cuestión puede escribir en el bus.

---------SALIDAS PUERTO PARALELO---------

with S_EN select

i24xdata <= S_DATOS_I when '0',

"ZZZZZZZZZZZZZZZZZZZZZZZZ" when others;

with S_EN select

idrp <= S_IDR when '0',

'Z' when others;

with S_EN select

eip <= S_EI when '0',

'Z' when others;

with S_EN select

o6xda <= S_DA_O when '0',

"ZZZZZZ" when others;

with S_EN select

odrp <= S_ODR when '0',

'Z' when others;

El principal problema del GTL2000 es que no aumenta la capacidad de corriente del

dispositivo que tiene detrás, es más, puede que el dispositivo que adapte maneje corrientes

nominales mayores a 16 mA (la FPGA que se utilizó, Spartan 3AN, puede manejar, con ciertas

limitaciones [15], hasta 24 mA por pin), pero el GTL2000 sólo garantiza un '0' lógico cuando la

corriente que drena el mismo es inferior a este valor. Para el caso en estudio, las resistencias de

Pull-Up del puerto paralelo de salida son de 270 , con lo que la corriente nominal es de 18.5 mA

aproximadamente. Se pensó entonces, en otra solución a la adaptación de niveles de la salida (ya

que para la entrada no había inconveniente con el GTL2000), para ello debieron tenerse en cuenta

ciertas consideraciones eléctricas.

(7)

En la Figura Nº 10 puede verse la configuración de los transistores del puerto de salida cuando la FPGA se

configura en salida tres estados.

[15] XILINX, 2011:43.

Page 21: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Soluciones de traslación de niveles existentes [16]

Dadas las limitaciones de manejo de corriente del GTL2000, la necesidad de adaptación de

niveles de E/S y la configuración colector abierto del bus, se decidió continuar con la búsqueda de

integrados de adaptación. Un resumen de lo existente a la fecha en el mercado se ve a continuación:

Dispositivos de doble fuente: es la mejor elección para la mayoría de las aplicaciones de

traslación de niveles. Estos dispositivos pueden operar de manera bidireccional en una gran

variedad de niveles de voltaje. Ofrecen bajo consumo de potencia y pequeños retardos de

propagación.

Dispositivos drenador abierto: pueden utilizarse para subir o bajar los niveles de voltaje, por

medio del uso de un resistor de Pull-Up externo. Esta solución es muy flexible, pero no es tan

eficiente dado que consumen mayor potencia.

Dispositivos con entradas que soportan sobrevoltajes: proveen una muy sencilla opción para

bajar niveles de tensión. Si la señal de entrada tiene flancos ascendentes y descendentes lentos el

ciclo de trabajo de la señal de salida puede verse afectado.

Dispositivos CB3T: son switches FET, ideales para traslaciones de 5 V a 2.5 V, 5 V a 3.3 V y

3.3 V a 2.5 V. No proveen amplificación de corriente, debiendo utilizarse una salida con buffer en

caso de ser necesario.

Dispositivos CBT/CBTD: son utilizados para traslaciones de 5 V a 3.3 V. Ofrecen tiempos de

propagación reducidos y bajos consumos de potencia. No proveen amplificación de corriente,

debiendo utilizarse una salida con buffer en caso de ser necesario.

Dispositivos TVC: permiten una traslación de niveles bidireccional sin la necesidad de una

señal de control de dirección. Esta solución requiere el uso de resistores externos de Pull-Up. El

consumo dependerá del valor de dicha resistencia. Un dispositivo CBT puede ser configurado para

trabajar como un TVC.

Dispositivos con entradas compatibles con TTL: los dispositivos de las familias HCT, AHCT,

ACT, ABT y FCT pueden ser utilizados para realizar la traslación 3.3 V a 5 V (traslación ascendente

únicamente). Esta solución provoca un exceso en el consumo de energía y se debe evitar en

aplicaciones donde el consumo es un factor importante.

Consideraciones eléctricas de la adaptación

Cuando se dialoga con un bus colector abierto es conveniente usar dispositivos de salida del

tipo drenador abierto, para una mejor compatibilidad eléctrica. Es por ello que en un primer

[16] TEXAS INSTRUMENTS, 2004.

Page 22: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

momento se eligió el GTL2000. Otro motivo fue la gran cantidad de pines de adaptación que posee

(hasta 22 E/S por circuito integrado).

Figura Nº 10: Conexionado de una salida 'Z' alimentada por 3.3V a un bus colector abierto

alimentado por 5V.

Se hizo un análisis de las posibilidades de usar dispositivos con salida tres estados pero según

una nota de aplicación [16] de Texas Instruments (TI), para lograr una traducción de niveles de

tensión en los dispositivos con salida CMOS push-pull, que es la salida típica de los dispositivos

con salida 3 estados, no se debe usar una resistencia de Pull-Up. Esta técnica tiene varios defectos y

debe ser evitada. El primer problema es el incremento de consumo de energía cuando la salida pasa

al estado “bajo”. Otro problema se produce cuando la salida del driver CMOS está en estado “alto”:

el transistor inferior de canal N está en corte y el superior de canal P está en saturación. Hay un

flujo de retorno de corriente desde la fuente de alta hacia la fuente de baja a través de la resistencia

R y la parte superior del transistor de canal P. Este flujo de corriente en la fuente de baja podría

causar efectos indeseables (Figura Nº 10). Se decidió reemplazar los GTL2000 que adaptaban la

salida por el buffer 74LVC07A [17]. Su salida es tipo “drenador abierto” y tiene un dispositivo de

su familia con rango de temperatura extendido (deseable para la aplicación final). Además, puede

manejar '0' lógicos bien definidos drenando corrientes de hasta 24 mA.

Cambios en la configuración de los puertos de salida por la adaptación mediante buffers 74LVC07A

Las primeras pruebas con el nuevo prototipo, construido con los pines de salida adaptados

mediante el buffer 74LVC07A (cuya configuración de salida puede verse en la Figura Nº 11) en

reemplazo del GTL2000, fallaron. En esta ocasión, no podía dejarse en la línea de entrada del buffer

[16] TEXAS INSTRUMENTS, 2004.

[17] TEXAS INSTRUMENTS, 2004:1164.

Page 23: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

un estado indefinido como se hacía cuando la adaptación de las salidas era mediante los GTL2000,

sino que debía colocarse un '0' o un '1' lógico según correspondiese. Se cambió en el VHDL del

diseño la asignación de 'Z' a la salida por '1', con lo cual el funcionamiento fue correcto.

Figura Nº 11: Conexionado de una salida 'Z' alimentada por 3.3V

a un bus colector abierto alimentado por 5V.

Según la guía de selección de lógica de Texas Instruments [18], cuando se utiliza como

entrada desde un bus TTL, el 74LVC07A debe alimentarse con V5VCC para que interprete

dichos niveles lógicos en su entrada, mientras que, de ser necesario, a la salida puede ponerse un

Pull-Up a valores de tensión tan bajos como 1.8V (3.3V para este caso). A la hora de ser colocados

a la salida del prototipo debió conectarse la alimentación del mismo a 3.3V con sus salidas

conectadas mediante un Pull-Up a 5V.

Lógica del dispositivo a replicar

Diagramas temporales

Existen dos caminos para replicar el funcionamiento de un dispositivo. El primero es,

conociendo el diagrama esquemático y todos los componentes (o sus reemplazos, dado que la placa

en cuestión tiene más de 30 años), construir un circuito igual. El segundo consiste en interpretar la

lógica de funcionamiento y replicar el comportamiento, este último fue el camino escogido. Para

entender la lógica de funcionamiento de un dispositivo electrónico es de suma utilidad contar con

los diagramas temporales completos. Mediante ellos se pueden conocer las diferentes respuestas del

sistema frente a las distintas entradas (su protocolo).

Inicialmente, provistos por el fabricante, se contaba con dos diagramas muy elementales que

no cubren todo el abanico de operaciones de la interfaz, como así tampoco todas las señales

[18] TEXAS INSTRUMENTS, 2000:30.

Page 24: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

involucradas. En la Figura Nº 12 se muestra uno de ellos, que representa el paso de la placa del

estado “desarmada” a “armada” y viceversa.

Figura Nº 12: Parte de uno de los diagramas temporales de la placa a

replicar.

Capturas

Debido a que la descripción que se tenía era insuficiente para poder explicar el

funcionamiento de la placa, de forma tal de poder reproducirlo, se armó un banco de pruebas que

permite ejecutar y verificar todas las funcionalidades de la misma y realizar capturas mediante un

analizador lógico Tektronik TLA5202B (Figura Nº 13, derecha).

Para ello se construyeron placas de extensión (Figura Nº 13, izquierda) que permiten

identificar, de manera inequívoca, cada uno de los 77 pines (dato + control) de la placa. Dado que el

número de pines de la placa es superior a la cantidad de canales del analizador (68 canales), se

buscaron aquellos que transportan información correspondiente al protocolo. Se tomaron todas las

señales de control, todos los pines del puerto serie y la parte superior del puerto paralelo de entrada

y de salida.

El test completo dura alrededor de tres minutos, pero el analizador lógico sólo puede

almacenar un máximo de 500 milisegundos. Esta limitación hizo necesaria una identificación de las

diferentes subrutinas del test y de las señales más convenientes para disparar cada captura. De esta

forma se obtuvieron las capturas individuales de cada una de las partes del test.

Page 25: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 13: A la izquierda, una de las placas de extensión diseñadas para poder conectar el

analizador de manera inequívoca. A la derecha, el analizador lógico -en primer

plano- conectado al banco de pruebas armado en el SIAG.

Con los datos obtenidos se elaboraron dos nuevos diagramas temporales completos, mediante

los cuales se comenzó a dilucidar el comportamiento lógico de la placa. Cabe aclarar que, si bien

podría haberse utilizado algún software que tomara los datos del analizador (dado que el mismo

provee los datos de las capturas tanto en formato propio como en formato texto) e ir reconstruyendo

el diagrama temporal completo de forma digitalizada, se consideró más productivo hacerlo

manualmente, a fin de poder ir verificando cada una de las capturas, para luego volcar las partes

donde podía apreciarse la interacción placa-procesador.

El trabajo de confección de los diagramas permitió entender gran parte de la lógica interna de

la placa. Se pusieron también al descubierto los cortos tiempos de reacción ante las instrucciones

recibidas ( s1ans250 ). Esta fue una de las razones que motivó el desarrollo del prototipo sobre

una FPGA en vez de un microcontrolador, dado que para ejecutar subrutinas en este último hubiera

requerido una excesiva capacidad de cálculo.

Descripción en VHDL

Escribiendo y describiendo

Finalizados los diagramas, se comenzó con la descripción en VHDL. Inicialmente se tomó

como base la división modular del fabricante (dado que se poseía un diagrama en bloques de la

placa) que, salvo ciertas diferencias, fue seguida hasta el final. No se realizó una réplica exacta;

algunos módulos fueron suprimidos y/o absorbidos por otros, y se agregaron otros nuevos para

añadirle mejoras en cuanto a la detección de fallas y dejar abierta la puerta para agregar otra interfaz

de comunicación (que permita la comunicación con otras computadoras modernas).

Page 26: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Los módulos se fueron escribiendo y probando mediante TESTBENCH (8)

en VHDL. Sólo se

dejaron sin testear tres módulos, que por su complejidad y gran cantidad de E/S, resultaba más

sencillo y rápido hacerlo con el conjunto completo en lugar de hacerlo individualmente. Se hizo un

diseño con un reset asincrónico y con un sólo reloj global, el de más alta frecuencia (4 MHz). Si

bien la FPGA utilizada tiene la capacidad de manejar ocho dominios de reloj, la segunda señal de

reloj (1 MHz) proveniente del puerto serie se utilizó como clock enable.

El registro de desplazamiento de salida, encargado de transmitir las palabras por el puerto

serie a razón de 1 Mb/s, quedó descripto de la siguiente manera:

proc_registro_desplazamiento: Process (reset, mc2d, s_load, fmc_1mhz, datos_u24, sp,

s_registro26bit)

begin

if reset = '0' then

s_registro26bit <= (others => '1');

dato_serie <= '1';

elsif mc2d' event and mc2d = '1' then

if s_load = '0' then

s_registro26bit (1) <= sp;--Last Bit

s_registro26bit (25 downto 2)<= not (datos_u24);--datos

s_registro26bit (26) <= '0';--bit de start

elsif fmc_1mhz='1' then

s_registro26bit <= s_registro26bit (25 downto 1) & '1';

dato_serie <= s_registro26bit (26);

end if;

end if;

end process;

Obteniéndose de la síntesis del mismo, la lógica que se ve en la Figura Nº 14.

Figura Nº 14: Flip Flop que maneja la salida serie de los datos

almacenados en el registro de desplazamiento.

(8)

TESTBENCH: Banco de prueba de diseños realizados en VHDL, el cual también está escrito en VHDL y se puede

simular mediante herramientas de software como ISIM [19,20].

Page 27: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

La señal “fmc_1mhz” es un pulso de 250 ns que se pone en '1' cuando se detecta el flanco

ascendente del reloj proveniente del puerto serie; al describir el VHDL de esta forma, la misma

quedó como un clock enable de la lógica.

Como se observa en la Fig. Nº 14, el bit 26 del registro está conectado al pin “D”,

“fmc_1mhz” al “CE” y “mc2d” al reloj “Clock” del Flip Flop (FF), dado que es el reloj global del

sistema. La salida del dato serie se obtiene de “Q” y el reset asincrónico va al pin “Reset”.

TESTBENCH y depuración

La mayoría de los módulos se probaron antes de armar la estructura que los contuviera a

todos. Esto se hizo mediante bancos de pruebas individuales, diseñados en función del

comportamiento que podía inferirse de los diagramas de señales y en algunas descripciones del

fabricante. Luego de completar el primer prototipo en VHDL, se comenzó por replicar en los

TESTBENCH las secuencias completas de cada una de las subrutinas del programa de prueba. Para

ello se analizaron una a una las capturas y sus respectivos temporizados, para generar la misma

señalización que produce el procesador cuando dialoga con la placa.

Se reprodujeron siete de las diez subrutinas que componen el test. Desde la primera (que era

simplemente un reset por software de la placa, de 100 ms de duración) se encontraron errores, como

la falta de generación de señales o señales en un estado incorrecto. Una gran ventaja de los bancos

de prueba en VHDL radica en la posibilidad de conocer no sólo el estado de las entradas y salidas

(como ocurre cuando se conecta un analizador lógico a la placa), sino el de cada uno de los flip-

flops que conforman la lógica interna del diseño, en cada instante de tiempo. Esto fue tan

complicado como útil, dado que, cuando se encontraba un comportamiento incorrecto (una señal

ausente o presente en un momento incorrecto) se revisaba la señalización, desde el módulo que

genera la señal con error hacia atrás, verificando las señales que ingresaban al mismo y pudiendo

revisar aún las señales internas y externas de los módulos con los que interactúa el módulo en

cuestión. De esta forma resultó factible discriminar si el módulo estaba mal diagramado, o bien no

le estaban llegando las señales necesarias para pasar al estado correcto.

El primer prototipo fue simplemente una placa adaptadora de los puertos paralelos y serie,

conectada al kit de desarrollo que se estaba utilizando. Al llegar a la séptima subrutina del test, se

completó el armado del mismo y se prosiguió con la síntesis del VHDL sobre el kit. Se continuó

montando el prototipo en la computadora y capturando el resultado de la ejecución del test con el

analizador lógico.

Page 28: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Análisis, captura y simulación

En esta nueva etapa de prueba se realizó una interacción analizador-simulador (Figuras Nº 15

y 16). Durante la ejecución del test se identificaba la rutina donde el prototipo fallaba. Luego,

mediante el analizador se capturaron dichas situaciones y finalmente se replicaron las

señalizaciones en un TESTBENCH. En la Figura Nº 15 se ve la imagen de una captura con el

analizador lógico. En la Figura Nº 16 la simulación mediante ISIM. Este procedimiento tuvo un

elevado índice de aciertos. Prácticamente todos los errores capturados con el analizador pudieron,

luego, ser reproducidos en la simulación. Así fue posible identificar de manera inequívoca el o los

módulos internos que presentaban errores en su lógica, corregir el VHDL y obtener finalmente el

comportamiento deseado del conjunto.

Figura Nº 15: Captura de pantalla del analizador lógico.

Page 29: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 16: Captura de pantalla de la simulación mediante ISIM [19][20] que reproduce la

señalización vista en la captura del analizador de la Figura Nº 15.

Desarrollo de los prototipos

Primeras aproximaciones

En el desarrollo de los diferentes prototipos, se comenzó por probar los integrados que se

utilizarían para la adaptación de señales, tanto del bus paralelo como del bus serie y se

implementaron dos plaquetas de prueba (Figura Nº 17); una contenía los integrados de adaptación

del puerto serie y la otra los de adaptación del puerto paralelo y las fuentes DC-DC que se

utilizarían en el diseño.

Estas placas fueron pensadas para que las pruebas pudieran realizarse en el banco de pruebas

armado en el SIAG, sobre una ICI original. En esta etapa fue necesario realizar una capacitación en

soldadura de componentes de montaje superficial (SMD: Surface Mount Device) en la empresa

Emtech [21]. Ambas placas se probaron de la misma forma, se hacía correr el test de prueba

intercalándolas en el puerto serie y paralelo respectivamente y se corroboraba si el test presentaba

algún error. La prueba de las fuentes de alimentación DC-DC fue importante dado que operan a 1.7

MHz y su correcto funcionamiento depende directamente de utilizar los componentes que el

fabricante propone y hacer la PCB según recomendación del fabricante, dejando un estrecho

margen de modificaciones.

[19] XILINX. Disponible en http://www.xilinx.com/tools/isim.htm

[20] XILINX, 2012. [21] EMTECH. Disponible en http://www.emtech.com.ar/

Page 30: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Figura Nº 17: Izquierda, placa de prueba de los integrados de adaptación del puerto serie.

Derecha, prueba integrados de adaptación del puerto paralelo y fuentes DC-

DC.

Primer prototipo

El primer prototipo se diseñó aprovechando los conocimientos adquiridos en las pruebas de

los integrados de adaptación y las fuentes DC-DC y teniendo en cuenta el Kit 3PA1 [22] adquirido

para el desarrollo. El mismo fue una placa adaptadora de todos los pines de E/S del kit con el

agregado de las fuentes de alimentación, para no se necesitara alimentación externa sino que

funcionara con la alimentación que provee el bus a la placa original.

Figura Nº 18: Primer prototipo completo de la ICI. La placa roja contiene todos los integrados de

adaptación más las fuentes de alimentación del kit (placa amarilla).

[22] EMTECH. Disponible en

http://www.emtech.com.ar/index.php?option=com_content&view=article&id=15&Itemid=11&lang=es

Page 31: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Las diferentes versiones del VHDL del diseño se volcaban al kit y se ejecutaba el test de

prueba de la ICI, haciendo en simultáneo las capturas de los mismos para poder realizar las

correcciones pertinentes. Este prototipo recibió el nombre de AR-ICI (V4) y se depuró en el banco

de prueba del SIAG hasta que se obtuvo el mismo comportamiento que la placa original.

Obtenido esto, se empezó con las primeras pruebas a bordo de un Destructor, en ellas se

detectaron fallas. Si bien el test de prueba se ejecutaba sin inconveniente, tanto a bordo como en el

banco de pruebas del SIAG, se produjeron errores cuando se trataba de comprobar la comunicación

entre consolas tácticas. Realizando más capturas con el Analizador Lógico utilizado para nuevas

depuraciones, no se observó un comportamiento errático al que se pudiera atribuir la falla.

Cuando se comparaban las capturas hechas sobre una placa original con una hecha sobre el

prototipo se veían iguales hasta un determinado momento en que la transmisión se cortaba

abruptamente. Otra diferencia que se podía apreciar entre las capturas realizadas en el banco de

pruebas y las realizadas a bordo, era un pequeño desfasaje entre el reloj serie saliente y el entrante.

Por ello se simuló esta situación mediante un TESTBENCH con dos AR-ICI comunicándose entre

ellas y con la posibilidad de variar el desfasaje de los relojes para poder emular las capturas.

De esta manera se observó que para un determinado desfasaje, una de las señales internas se

volvía demasiado corta (1 a 4 nanosegundos) para ser detectada por la lógica de la FPGA (la

frecuencia máxima de la Spartan 3AN, es 200 MHz con lo que el pulso mínimo tiene que ser mayor

a 5 nanosegundos para ser detectado). La pérdida de dicho pulso conlleva la pérdida de algunos de

los bits de la palabra que se estaba recibiendo y por ende la falla de la comunicación. Fue entonces

que se aplicó el primer método (Figura Nº 8) que propone Pong P. Chu [10] para sincronización de

señales entrantes y que se describió en la sección “Problemas de sincronizado”.

A partir de estas modificaciones se consiguió un funcionamiento estable, salvo que, por

períodos de aproximadamente una hora de uso, la computadora perdía algunas de las tramas de

datos. Se adjudicó el problema a la parte eléctrica, más precisamente al hecho de que la conexión

del prototipo al bus es mediante cables planos. En las más de 600 capturas que se realizaron y

revisaron, no se encontró una anomalía a la que se pudiera atribuir esta falla, la cual se producía

aleatoriamente. Fruto de la interacción con los Suboficiales que realizan el mantenimiento de los

sistemas a bordo surgió la inquietud de agregar al prototipo una serie de leds indicadores que

mediante indicaciones luminosas permitieran la detección de diferentes situaciones anómalas. Estos

leds y el VHDL necesario para su funcionamiento se agregaron para el diseño del nuevo prototipo.

[10]

CHU, P., 2006:617.

Page 32: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Segundo prototipo

En base a los resultados de las pruebas con la AR-ICI (V4) se decidió diseñar un prototipo del

tamaño y forma de la ICI original que pudiera conectarse directamente al bus de la computadora. Se

realizó íntegramente con elementos de montaje superficial que fue necesario importar.

Esta Aproximación se la denominó AR-ICI (V5), que se muestra en la Fig. Nº 19 en

comparación con la ICI original. Se la diseño de forma tal de poder armarla tanto con una FPGA de

ACTEL, ProASIC3L-A3P600L (9)

, como con una de XILINX (Spartan-3AN – XC3S50AN), por un

inconveniente en la provisión de la primera. Durante el primer semestre de 2012 se realizó la

compra de ACTEL por parte de MICROSEMI, con lo que la provisión de la FPGA se vio

restringida, no tenían en stock ni siquiera los proveedores internacionales. Cuando se restableció el

stock, la compra se complicó debido a restricciones aplicadas al número de componentes que se

podían comprar, además de que el precio de la misma se había elevado más del 50%.

Todo esto motivó al equipo de trabajo a realizar el cambio del dispositivo central del

desarrollo. Teniendo que adquirir los conocimientos necesarios para migrar un diseño de una FPGA

que ya se había probado en el kit y del cual, mediante los esquemáticos del mismo, se sabían todos

los detalles a tener en cuenta a la hora de soldar la FPGA fuera del mismo; a una nueva FPGA en la

que el grupo nunca había trabajado.

El kit más cercano con el que se había tenido contacto no usaba la Spartan-3AN, sino la 3A

que no posee memoria flash de configuración interna. Todo esto implicó más de un mes dedicado a

leer los ocho manuales y hojas de datos del fabricante (DS099-3, DS557, DS706, ug112, ug331,

ug332, ug333, ug334), para realizar un correcto diseño de la PCB.

Figura Nº 19: A la izquierda la ICI original, a la derecha el prototipo AR-ICI (V5).

(9)

El Kit 3PA1 sobre el que se comenzó el desarrollo posee ésta FPGA y se pretendía seguir trabajando sobre la misma

hasta que un problema en la provisión de las FPGAs de ACTEL hizo que se pensara en migrar el diseño a una FPGA

de Xilinx, la Spartan 3AN.

Page 33: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Se logró hacer una PCB, que fuera compatible con ambas FPGAs, y se realizó el armado de

las mismas mediante el sistema de estaño en pasta y horno en Mrkindustries. No hubo dificultad

para configurar el prototipo armado con la FPGA de ACTEL; no así con la FPGA de XILINX, dado

que hubo que aprender cómo realizar la configuración para que quede almacenada en la memoria

Flash interna. Una vez que el prototipo fue probado y se comprobó su correcto funcionamiento en el

banco de pruebas del SIAG, se comenzó con las pruebas a bordo.

Figura Nº 20: Pruebas de la AR-ICI V5 en el Destructor. Se hicieron gran cantidad de capturas con

el analizador (Izquierda) y con el DPO de la UTN (Derecha), dado que el MSO

pedido llegó demorado.

Se comenzaron las pruebas en un Destructor, ver Fig. Nº 20; en particular, a la derecha se

aprecia el Osciloscopio de Fósforo Digital (DPO: Digital Phosphor Oscilloscopes) de la UTN.

Luego de comprobar que el funcionamiento era óptimo por períodos de tiempo de

aproximadamente 4 a 6 horas, se decidió continuar con los ensayos en otras unidades,

particularmente en aquellas que tenían navegaciones planificadas para poder realizar pruebas por

períodos mayores.

Se realizaron pruebas a bordo de dos Destructores y tres Corbetas. Se registró un correcto

funcionamiento, con la salvedad que en computadoras donde el prototipo compartía el bus con más

de 5 placas (lo que ocurre en una computadora en particular de todo el sistema), la computadora de

comando y control acusaba pérdidas de datos de manera aleatoria (cabe señalar que ésta pérdida se

registró en dos de los 5 buques).

Además, cuando se usaba el prototipo colocado en la EXTENDED CARD, en ocasiones se

detectó una pérdida de comunicación entre las computadoras. Se realizaron alrededor de 1000

capturas con el analizador lógico, de las cuales, cerca de 400 fueron analizadas en busca de errores

o fallas. A estas se le agregaron las capturas realizadas con el DPO de la UTN, en reemplazo del

Page 34: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

TEKTRONIX MSO 2024 (MSO: Mixed Signal Oscilloscope) (pedido oportunamente pero con

reiteradas demoras en su recepción).

Las capturas de ambos dispositivos se complementan, ya que uno muestra exclusivamente

niveles lógicos (1 y 0) pero el DPO y el MSO muestran la forma de onda completa como un

osciloscopio común; pudiéndose ver, por ejemplo cuando está en “0”, qué tan marcado está el nivel

lógico o si la forma de onda tiene los flancos correctos.

Fue así que durante las mediciones del puerto serie se detectó que había ciertas diferencias

entre la forma de onda de las placas originales y de los prototipos, ver Fig. Nº 21. Problema que fue

resuelto modificando las impedancias de terminación de línea, con ello se obtuvo la misma forma

de onda tanto para el prototipo como para la ICI original.

Figura Nº 21: Capturas del DPO de la UTN donde puede apreciarse “abajo” que

los flancos de la ICI original son mucho más marcados que los del

prototipo “arriba”. Esto requirió nuevas modificaciones en el

prototipo.

Tercer prototipo

El tercero y último prototipo que se armó, AR-ICI (V6), es la segunda versión de forma y

tamaño de la ICI original. En base a los resultados de las pruebas con la AR-ICI (V5), en su paso

por los Destructores y Corbetas, se decidió diseñar este nuevo prototipo basado en la FPGA de

Page 35: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

XILINX (Spartan-3AN – XC3S50AN), dado que ya se había comprobado el correcto

funcionamiento de la misma, se conocía su funcionamiento, es menos costosa y no tiene

restricciones en cuanto a su provisión por parte del fabricante.

Para implementar el AR-ICI (V6), que se muestra en la Fig. Nº 22, se cambiaron los

integrados del bus paralelo de salida por otros con mayor capacidad de corriente. También se

cambiaron los de los puertos serie, tanto entrante como saliente, por otros de la misma familia pero

que son de bajo voltaje (LVTTL: 3.3V) y toleran niveles lógicos de tensión de TTL (5V). Además

se cambió la disposición de las fuentes DC-DC para poder soldar sobre las mismas un encapsulado

metálico que aísle la radiación electromagnética de las mismas.

Figura Nº 22: AR-ICI (V6), última versión probada del prototipo. Incluye el

footprint para colocar un blindaje para las fuentes DC-DC

(Derecha-abajo) y para colocar un módulo Bluetooth (Derecha-

arriba).

Conclusiones

Durante el proceso de diseño de los prototipos fue necesario migrar de la FPGA de Actel a

otra de Xilinx. Pero no fue necesario modificar el VHDL del diseño pues se trabajó con VHDL

estándar, sin adoptar primitivas específicas de ningún fabricante. Sin embargo, los distintos tipos de

adaptación de niveles lógicos que se utilizaron obligaron a efectuar modificaciones en el código

VHDL que define la configuración de los puertos de salida.

Una cuestión que no se había considerado inicialmente es la configuración del slew rate para

señales de frecuencia menor a 50 MHz. No obstante, luego de analizarlo se determinó que lo más

conveniente es usar “SLOW” en lugar de “FAST”. Tanto las altas como las bajas frecuencias tienen

requerimientos particulares que deben contemplarse, si se quiere lograr un diseño funcional, robusto

y confiable.

Page 36: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

El número de pines en conmutación simultánea en la misma dirección, también es un factor a

considerar cuando se tienen buses grandes (24 líneas en el prototipo en cuestión). No sólo interesa

la capacidad de manejo de corriente del dispositivo, sino que también deben tenerse en cuenta estas

limitaciones.

Los mensajes de advertencia de la herramienta de síntesis (ISE) resultaron muy útiles para

detectar problemas en tiempo de diseño, antes de realizar la implementación. Esto es importante,

dado que un error en la PCB, dependiendo de su magnitud, puede tener un gran costo en tiempo y

dinero.

Asimismo, cuando se diseña para aplicaciones industriales, que operan a temperaturas

promedio superiores a los 60 °C, es importante tener en cuenta la capacidad de disipación que

pueden brindar diferentes tamaños de pad.

El hecho de contar con las simulaciones permitió aprovechar los tiempos ociosos que siempre

aparecen cuando se diseña hardware: la compra de materiales (dos a tres semanas) y la fabricación

de las PCBs (ídem). Además, reproducir los errores capturados en las simulaciones es un camino

óptimo para la resolución de problemas en la lógica.

La realización de diagramas de señales y de estados (en el caso de las máquinas de estado)

permitió encontrar los errores con relativa facilidad. El prototipo en cuestión tenía varias partes que

realizaban acciones simultáneas y los planos permitieron ver fotografías de los estados de las partes

constitutivas en los distintos momentos.

El dispositivo de traslación de niveles que se elija dependerá principalmente del tipo de bus al

que se va a conectar, pero también de otras cuestiones, como niveles de tensión a adaptar, corriente

y velocidad a manejar, si debe ser unidireccional o bidireccional y el rango de temperatura de los

dispositivos de la familia. Además, el tipo de dispositivo tendrá directa inferencia en la

configuración de los puertos de la FPGA.

Referencias bibliográficas

- CIRCUITO IMPRESO. Disponible http://es.wikipedia.org/wiki/Circuito_impreso

- ELECTROSOFT INGENIERÍA. Disponible en http://www.pcb.electrosoft.cl/04-articulos-

circuitos-impresos-desarrollo-sistemas/01-conceptos-circuitos-impresos/conceptos-circuitos-

impresos-pcb.html

- EMTECH. Disponible en http://www.emtech.com.ar/

- EMTECH. Disponible en:

http://www.emtech.com.ar/index.php?option=com_content&view=article&id=15&Itemid=11&lang=es

- MRK INDUSTRIES. Disponible en http://www.mrkindustries.com.ar/

Page 37: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

- NXP SEMICONDUCTORS: 74LVC07A. Hex buffer with open-drain outputs, 2011.

- OPEN CIRCUITS. Disponible en http://www.opencircuits.com/Printed_Circuit_Boards.

- PHILIPS SEMICONDUCTORS, 2003: GTL2000. 22-bit bi-directional low voltage translator.

- POLLÁN SANTAMARÍA, 2012 http://diec.cps.unizar.es/~tpollan/libro/Apuntes/digT3.pdf

- PONG P. CHU. RTL hardware design using VHDL, pp. 617, 2006.

- TEXAS INSTRUMENTS. SCED0006-Logic Selection Guide, pp. 30, 2000.

- TEXAS INSTRUMENTS. Signal Switch including digital-analog-bilateral switches and voltage

clamps (scdd003a.pdf), pp. 1164, January, 2004.

- TEXAS INSTRUMENTS. Application Report SCEA035A, Selecting the Right Level-Translation

Solution, June, 2004.

- TEXAS INSTRUMENTS. SN74ALVC164245, 16-BIT 2.5-V TO 3.3-V/3.3-V TO 5-V Level-

shifting transceiver with 3-state outputs, 2005.

- XILINX. Disponible en http://www.xilinx.com/tools/isim.htm

- XILINX. XAPP480 (v1.0). Using Suspend Mode in Spartan-3 Generation FPGAs. Application

Note: Spartan-3A, Spartan-3AN, Spartan-3A DS. May 2, 2007.

- XILINX. UG332 (v1.6). Spartan-3 Generation Configuration User Guide, pp. 199 y 217, October

26, 2009.

- XILINX. UG633 (v 12.1). Floorplanning Methodology Guide. May 3, 2010.

- XILINX. DS557 (v4.1). Spartan-3 – Spartan-3AN FPGA Family Data Sheet - Product

Specification, pp. 17 y 43, April 1, 2011.

- XILINX. DS557 (v4.1). Spartan-3 – Spartan-3AN FPGA Family Data Sheet - Product

Specification. “Simultaneously Switching Output Guidelines”, pp. 43, April 1, 2011.

- XILINX. UG331 (v1.8). Spartan-3 Generation FPGA User Guide. Chapter 2 “Using Global

Clock Resources”, pp 45, June 13, 2011.

- XILINX. UG660 (v14.1) – ISim User Guide, April 24, 2012.

***

Christian L. Galasso. Ingeniero Electrónico, egresado de la Universidad Tecnológica Nacional

(UTN), Facultad Regional de Bahía Blanca (FRBB). Reconocimiento a la actividad de Extensión e

Investigación sobresalientes año 2009 por Resolución del Consejo Directivo de la F.R.B.B de la

U.T.N N° 324/10. Reconocimiento por haber sido galardonado en la categoría “Desarrollo

Científico o tecnológico” con el premio TOYP 2011 (The Oustanding Young Persons). JCI Bahía

Blanca. Beca de investigación para alumnos. Grupo de Bio-Ingeniería. Departamento de Ingeniería

Electrónica, UTN FRBB, abril de 2007 a abril de 2009. Beca de investigación y pos-grado: Grupo

SITIC – Proyecto PIDDEF, junio de 2010 a junio 2012.

Page 38: REINGENIERÍA DE LAS INTERFACES ENTRE · PDF filela selección del dispositivo fue la existencia, dentro de su familia, de versiones con rango extendido de temperatura. No todos los

Guillermo R. Friedrich. Profesor Asociado en la Universidad Tecnológica Nacional, Facultad

Regional Bahía Blanca (UTN-FRBB). Obtuvo sus títulos de Magíster en Ciencias de la

Computación en 2001 y de Ingeniero Electricista en 1986, en la Universidad Nacional del Sur

(UNS). Director del Departamento de Ingeniería Electrónica de la UTN-FRBB desde 12/2009.

Integrante del Grupo de I+D en Sistemas y Tecnologías de la Información y las Comunicaciones de

la UTN-FRBB. Anteriormente integró el LiSiDi (Laboratorio de Sistemas Distribuidos) de la UNS.

Sus áreas de interés son redes para aplicaciones industriales y de tiempo real, redes de sensores y

arquitecturas para procesamiento digital de señales.

Sergio O. Burgos. Especialista en Gestión de la Tecnología e Innovación (UNS). Ingeniero

Electrónico ITBA – 1986. Posgrado en Dirección de Organizaciones (INUN-ESOA). Ha dictado

diferentes cursos en la Armada Argentina, en las áreas de Comunicaciones, Guerra Electrónica,

Comunicaciones Satelitales, etc. Profesor Adjunto de “Sistemas y Servicios de

Telecomunicaciones” en la UNS, cargo por concurso.

Gustavo J. Díaz. Ingeniero Electrónico UTN FRBB. Reconocimiento a los mejores promedios

otorgado por el Concejo Deliberante de Bahía Blanca, año 2011; Integrante del Grupo SITIC –

Proyecto PIDDEF. Beca de investigación y posgrado: Proyecto FS TICS 01 “TEAC 2010:

Plataforma para la producción de tecnología electrónica de alta complejidad”, Agencia Nacional de

Promoción Científica y Tecnológica (ANPCyT). Desde julio de 2013 hasta julio 2015. Profesor

Adjunto de la cátedra “Electrónica Naval”, Jefe de Trabajos Prácticos de las asignaturas del área III

e Investigador del grupo de investigación Soluciones Embebidas Aplicadas a la Defensa -SEAD-,

de la Escuela de Oficiales de la Armada - Instituto Universitario Naval.

Alejandro A. Antonini. Ingeniero Electrónico UNS. Reconocimiento de INNOVAR 2013 al

proyecto “Seguimiento de Bombero”. Investigador en la ESOA – ARA en “Soluciones embebidas

aplicadas a la defensa” desde 2012. Socio Gerente de SOLINTEC Ingeniería desde 2011.

Investigación y desarrollo en el Dpto. de Ingeniería del SIAG - ARA desde 2006. Reconocimiento

al desempeño por desarrollo, diseño y puesta en servicio de “Secuenciador de señales MAE”

Polígono de Guerra Electrónica – ARA 2012 “Muestreo de los Traces de radar en PC” Logístico

Hércules – ARA 2009.