scieee AI-readable full text Open interactive document viewer

Adquisición de datos digitales con protocolo VME sobre FPGA

Quero Reboul, José Manuel; Chávez Orzaez, Jorge Jesús; García Franquelo, Leopoldo; Pinilla, J.; Corral, A.; Serrano, J.

Abstract

En este artículo se presenta la realización sobre FPGA de un circuito con 16 filtros digitales. Un cambio en la entrada es validado cada vez que tres muestras consecutivas toman el mismo valor. El dato muestreado es accesible mediante protocolo VME estándar, incluyendo daisy-cbain para la gestión de interrupciones. El circuito de acceso VME se ha descrito en lenguaje de comportamiento VERILOG-XL, y sintetizado usando SYNERGY. El resto del circuito ha sido capturado y simulado empleando el entorno de diseño Framework II de Cadence. El circuito ha sido programado en una FPGA 1020A de Texas Instrument. Como resultado se ha obtenido una tarjeta de adquisición de datos con una densidad de componentes muy baja, y que está siendo actualmente empleada en sistemas de control industriales.

Full text

Adquisición de Datos Digitales con protocolo VME sobre FPGA J.M.Quero, J.Chávez y L.G .Franquelo Dpto. de Ingeniería de Sistemas y Automática Escuela Superior de Ingenieros de Sevilla A vda. Reina Mercedes s/n 41012 Sevilla SPAIN FAX: 34-5-4629205 E-mail: [email protected] J. Pinilla, A. Corral y J. Serrano Sainco Jiménez Aranda 6 Sevilla Resumen En este artículo se presenta la realización sobre FPGA de un circuito con 16 filtros digitales. Un cambio en la entrada es validado cada vez que tres muestras conse-- cutivas toman el mismo valor. El dato muestreado es accesible mediante protocolo VME estándar, incluyendo daisy - cbain para la gestión de interrupciones . El circuito de acceso VME se ha descrito en lenguaje de comportamiento VERILOG-XL, y sintetizado usando SYNERGY. El resto del circuito ha sido capturado y simulado empleando el entorno de diseño Framework II de Cadence. El circuito ha sido programado en una FPGA 1020A de Texas Instrument.. Como resultado se ha obtenido una tarjeta de adquisición de datos con una densidad de componentes muy baja, y que está siendo actualmente empleada en sistemas de control industriales. 1 Introd ucción El empleo de circuitos programables FPGAs en diseño electrónico reduce significativamente el número de circuitos necesarios. Este es el caso de la aplicación presentada, donde un único cir~ cuito sustituye un elevado número de circuitos integrados MSI y LSI. En la figura 1 se describe el diagrama de bloques funcionales de conjunto FPGA . - 400- Las 16 entradas digitales son filtradas y almacenadas independientemente. Un cambio en la señal de eDtrada es validado cada vez que tres muestras consecutivas toman el mismo valor. La frecuencia de muestreo puede ser configurada en· tre 250Khz y 8 Mhz mediante la programación de un registro interno. Los datos obtenidos son accesibles a través de UD bus VME estándar, que incluye la gestión de interrupciones, con Oaisy·chain, vector y nivel de interrupción programables, ... COD objeto de minimizar el número de localizaciones de memoria requeridas para acceder a los registros del integrado, se ha empleado un registro índice. En funcionamiento normal dicho registro habilita directamente la lectura de los campos filtrados y su propia escritura. Mediante la apropiada escritura de éste se pueden acceder a los registros de control internos. Como resulta· do se pueden agrupar distintos circuitos FPGA empleando direcciones correlativas, facilitando la adquisición de un elevado número de señales di· gitales. 2 Realización El módulo de control del bus VME ha sido descrito en lenguaje de comportamiento VERILOGXL, y sintetizado empleando SYNERGY, mientras que el resto del circuito ha sido capturado empleando DESIGN FRAMEWORK II de Cadence. Las simulaciones pre y post-layou t han sido realizadas empleando VERILOG. 16 enlradas ~-------------------------------~~--------~ I '-'" I I I FCLOCKI DIVISOR RELOJ Reloj Muestreo FU..lRO DIGITAL I I I SYSCLK I , SYSRES&l" CS' AS' oso' REGISlRO DIVISOR 11 cambio 00-3 I I MASCARA ANULACJON I MASCARA INVERSION I ti 00-15 lACK· , os,' GESTOR INlERRUPCIONES OlAC K' • lACIO N' , I I IACKO UT' I NlYELINT. VECfORINT . I , I IRQ1-7 I , L----------------~f------~f---------------· '-'" A01-3 00-'5 Figura 1: Diagrama de Bloques Funcionales del Circuito La programación del circuito se ha realizado con ayuda del sistema Action Logic de ACTEL (ALS). EL resultado de la síntesis ha sido un aprovechamiento del 100% de las macroceldas disponibles, con una elección arbitraria de la dis· posición de las 67 señales en el encapsulado. En la figura [Fig 2] se muestra la captura esquemática del nivel superior del circuito, donde se pueden diferenciar los siguientes bloques: • Máquina de estado: se encarga del cumplimiento del protocolo VME. Realizada empleando el lenguaje de comportamiento Verilog-XL así como el sintetizador Synergy. • Banco de filtros: su misión es la aceptación del cambio de una señal cuando la duración del mismo sea superior a una cantidad previamente programada. • Banco de registros: contiene los registros internos de programación del circuito, teniendo también como misión la colocación (gobernada por la máquina de estado) de la información en el bus de datos. • Divisor del Reloj : establece el periodo de muestreo de la señal, siendo programable. Debido a la elevada densidad que se preveía (100% de ocupación como ya se ha comentado), -401 - parte de los bloques (los registros y la multiplexación del bus de 16 bits por ejemplo) se han realizado con captura esquemática empleando macroceldas adecuadas. Desarrollándose la parte más delicada y secuencial (i.e. la máquina de estados) en lenguaje de comportamiento. De esta forma el tiempo necesario para el desarrollo así como los recursos computacionales consumidos han sido reducidos de una forma drástica. En la figura [Fig 3] se muestra el coronograma filtrado de una señal A. Supongamos que se valida el cambio de una señal cuando durante tres pulsos de reloj se mantiene a dicho valor. En la figura se observa que el primer cambio ha tenido una duración de sólo 2 pulsos, luego no es validada . En el segundo caso (así como en el tercero) al ser la duración del cambio superior a tres pulsos, se valida y produce una señal de cambio Cambio con duración un pulso de reloj. El circuito ha sido implementado en una FPGA 1020A de Texas Instruments. Se ha diseñado una tarjeta impresa para la aplicación en forma- to VME, y el conjunto se ha validado a una frecuencia de trabajo de 8 Mhz , cumpliendo todas las especificaciones de diseño, si bien no se ha alcanzado la frecuencia de trabajo de 16Mhz deseada. El motivo ha sido que la optimización del autómata. de control del bus VME ha debido ser Divisor Relo) Banco FIHroa Banco Regletoo Figura 2: Captura esquemática del nivel superior del circuito CLK JDDDDDDDDDDDDDDD~I A ] '-------11 11 AF'ILTRAOA --------------~--~----~--~------------ Cambio Figura 3: Cron ograma del filtrado de una señal - 402- realizada primando el espacio ocupado frente a los retardos máximos, por haberse alcanzado el máximo de ocupación de la FPGA. Del presente trabajo es de destacar la flexibilidad de diseño que permite el entorno CADENCE empleado, combinando descripciones de comportamiento con captura de esquemas. Otro resultado interesante ha sido el elevado rendimiento que presenta la arquitectura interna desarrollada por ACTEL en sus FPGAs, permitiendo el uso de todas sus ma<:roceldas sin problemas de conexión de éstas, hecho que no ocurre en otros dispositivos FPGAs, como es el caso de ALTERA. El resultado ha sido una realización de una tarjeta de adquisición de datos de muy bajo coste, con una baja densidad de componentes, disminuyendo la tasa de fallo en la fabricación de la misma. El sistema está siendo empleado en la actualidad para el control digital de plantas industriales. Referencias [1] Action Logic System User's Guide. Actel Corp. 1993. [2) FPGA Application Specific Products. Texas Instruments. 1993. - 403-