DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS DESIGN OF A MULTICHANNEL ANALYZER WITH DIGITAL PULSE SHAPING AND PROCESSING Alberto Rodríguez Fernández1, Maikel Díaz Castro2, Doris Rivero Ramírez3 1 Instituto Superior de Tecnologías y Ciencias Aplicadas, Cuba, albertorf@instec.cu, Ave Salvador Allende, esquina Luaces, Habana, Cuba, Código Postal 10400 2 Instituto Superior de Tecnologías y Ciencias Aplicadas, Cuba, maikel@instec.cu 3 Instituto Superior de Tecnologías y Ciencias Aplicadas, Cuba, doris@instec.cu RESUMEN: Un analizador multicanal (MCA) con procesamiento y conformación digital de pulsos fue diseñado. Se utilizó un Arreglo de Compuertas Lógicas Programables (FPGA) funcionando a una frecuencia de 50MHz para controlar todos los procesos. Para la conformación de los pulsos fue empleado un filtro trapezoidal con respuesta de impulso finita (FIR), mejorando significativamente el rendimiento altas tasas de conteo, reduciendo el apilonamiento y los cambios en la línea base. El sistema se comunica con una computadora mediante el puerto serie con el objetivo de visualizar los datos y realizar los análisis de forma similar a un MCA convencional. Todas las funciones del MCA diseñado fueron comprobadas mediante la realización de múltiples simulaciones, obteniéndose en cada caso los resultados esperados. Palabras Clave: Multicanal, MCA, FPGA, filtros digitales. ABSTRACT: In the present work a Multichannel Analyzer (MCA) that employs digital pulse processing was designed. A Field Programmable Gate Array (FPGA) working at 50MHz was used to control all the process. A trapezoidal filter with Finite Impulse Response (FIR) was programmed and used for pulse shaping purposes. The system communicates with a personal computer (PC) for data analysis and visualization, and the serial port was used to implement this communication. All the functions of the designed MCA were tested with a simulated signal and the results obtained were satisfactory. KeyWords: Multichannel, MCA, FPGA, digital filters. 1. INTRODUCCIÓN El origen de la física nuclear es asociado a menudo al descubrimiento de la radioactividad en 1896 por Becquerel. A partir de ese momento se han realizado múltiples esfuerzos para lograr entender las propiedades de los núcleos y las estructuras responsables de las mismas. En especial el desarrollo de los detectores y otros instrumentos ha permitido medir la energía de las radiaciones y obtener así abundante información acerca de su origen. “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” Durante el siglo pasado las cadenas convencionales de medición utilizadas para análisis espectrométricos[1] incluían los siguientes elementos: Detector de radiaciones. Preamplificador. Amplificador lineal. ADC. Analizador multicanal (MCA). Computadora personal. El analizador multicanal es el instrumento espectrométrico por excelencia. Este se encarga de procesar el pulso proveniente del detector y de conformar el espectro de altura de pulsos [1], el cual nos brinda información sobre la naturaleza de la radiación incidente. En los últimos años sistemas con procesamiento digital de señales han comenzado a reemplazar a los sistemas convencionales analógicos para mejorar el rendimiento y obtener mayor flexibilidad. Es posible digitalizar directamente la señal a la salida del preamplificador [2] y posteriormente realizar el filtrado y la conformación de los pulsos. Una cadena de medición para obtener el espectro de altura de pulsos digitalizando la salida del preamplificador, excluye la necesidad del uso de un amplificador lineal y reduce la cantidad de componentes analógicos del sistema y por tanto disminuye la presencia de ruido debido a estos. En nuestro país tipo de instrumentación es escasa y atendiendo a esto el Objetivo General del presente trabajo es diseñar un Analizador Multicanal con conformación y procesamiento digital de pulsos. Para darle cumplimiento a lo anterior nos trazamos los siguientes objetivos específicos: Programar en lenguaje VHDL un filtro de conformación trapezoidal. Programar las funciones básicas de un MCA en lenguaje VHDL. Implementar un sistema de prueba en una FPGA para la adquisición del espectro de altura de pulsos y su envío a la computadora. 2.1 Materiales 2.1.1 Para la construcción de un MCA que use el método digital es necesario implementar de alguna forma los filtros digitales que serán usados. Además se requiere el diseño de un conjunto de estructuras o módulos que realicen las tareas básicas comunes a cualquier MCA como el manejo de memoria y la comunicación con la computadora. Todo lo anterior debe ser realizado de forma tal que se obtenga un sistema flexible y que funcione a una velocidad que mantenga el tiempo muerto lo más pequeño posible. Con el objetivo de comprobar el funcionamiento de los filtros digitales e implementar el núcleo de un MCA que emplee el método digital utilizamos una placa NEXYS2. Este kit de desarrollo está basado en la FPGA Xilinx Spartan 3E XC3S500E e incluye además: Oscilador de 50MHz y capacidad para un segundo oscilador. Varios dispositivos de entrada y salida como botones, leds, switches, etc. Puerto serie basado en un convertidor de voltaje ST3232. Memoria RAM externa M45W8MW16 organizada en 8Mbytes x 16bits. Varios conectores de expansión para ampliar las funcionalidades. Usando uno de los conectores de expansión fue posible agregar un módulo ADC/DAC que contiene un ADC MCP3201 y un DAC MCP4921. La utilización de un DAC permite generar valores que simulen el comportamiento de un preamplificador conectado a un detector. Estos valores son los que convierte el ADC y se envían a la FPGA para su procesamiento. 2.1.2 2. CONTENIDO Para el diseño y la comprobación del analizador multicanal propuesto se utilizaron los siguientes materiales. La NEXYS2 Ecuaciones para la conformación de los pulsos. Para realizar la conformación de los pulsos se emplearon las ecuaciones siguientes: 𝑠(𝑛) = 𝑠(𝑛 − 1) + 𝑝´(𝑛) + 𝑑 𝑘,𝑙 (𝑛)𝑀 𝑝´(𝑛) = 𝑝´(𝑛 − 1) + 𝑑 𝑘,𝑙 (𝑛) 𝑑 𝑘,𝑙 (𝑗) (1) (2) = 𝑣(𝑗) − 𝑣(𝑗 − 𝑘) − 𝑣(𝑗 − 𝑙) + 𝑣(𝑗 − 𝑘 − 𝑙) (3) “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” Estas ecuaciones [3],[4] definen un algoritmo recursivo que permite generar una forma trapezoidal simétrica a partir del muestreo de una señal exponencial. En ellas s(n) representa la salida del filtro mientras que los v(k) representan la señal inicial muestreada “k” ciclos antes. El coeficiente M regula la ganancia del filtro. facilitar su análisis y visualización. Con el objetivo de comprobar el correcto funcionamiento del MCA diseñado en este trabajo se utilizó el software Acquisition System for MultiScaling Measurement[5] para visualizar los espectros obtenidos. 2.1.3 Al concluir la programación de todos los módulos del MCA se realizaron diferentes simulaciones con el objetivo de comprobar el correcto funcionamiento del sistema creado. Estas estuvieron encaminadas a verificar las siguientes tareas: Xilinx ISE Project Navigator Todas las funciones básicas del MCA y los filtros digitales fueron implementados en lenguaje VHDL (Very high-speed integrated circuit Hardware Description Language). Las instrucciones en VHDL describen el comportamiento de un circuito lógico en lugar de escribir las tradicionales ecuaciones lógicas booleanas. El proceso que se realiza para convertir un diseño realizado en VHDL a instrucciones que puedan ser utilizadas directamente por el hardware es llamado síntesis. En el presente trabajo se utilizó la suite de diseño ISE en su versión 13.4, en especial el Xilinx ISE Project Navigator para el desarrollo y la síntesis de todos los programas. 2.1.4 Programa para la prueba de filtros La conformación o filtrado digital de los pulsos es un componente fundamental para el diseño del MCA propuesto. Como consecuencia se hace necesario tener una herramienta que nos permita conocer cómo va a responder un determinado filtro cuando varía la señal de entrada o los parámetros de conformación. En nuestro caso empleamos un programa escrito en VHDL diseñado originalmente para usarse en la XI ICFA School on Instrumentation in Elementary Particle Physics. El objetivo principal del mismo era implementar un filtro que cancelase las colas de los pulsos para evitar el apilonamiento. Los resultados de este proceso de filtrado así como los pulsos originales eran enviados a la computadora vía USB y se utilizaba el software Gnuplot para visualizarlos. Sustituyendo el filtro de cancelación de colas por los filtros diseñados en este trabajo fue posible verificar el correcto funcionamiento de los mismos. 2.1.5 Acquisition System for MultiScaling Measurement En un Analizador Multicanal la información referente a la cantidad de pulsos detectados con una energía determinada es almacenada en una dirección específica de la memoria. Usualmente esta información es enviada hacia la computadora para 2.2 Resultados y Discusión Filtrado o conformación. Comunicación. Detección de los picos y aumento en los canales. Tratamiento de los pulsos apilonados. A continuación se muestran los resultados obtenidos. 2.2.1 Filtrado o conformación Utilizando un DAC es posible generar señales que tengan un comportamiento similar a aquellas provenientes de un preamplificador. De esta forma al conectar la salida del DAC a la entrada del ADC podemos elegir los tipos de pulsos que se procesarán y sus características. En las simulaciones realizadas se utilizaron siempre señales de paso de voltaje variando la altura del pulso y los tiempos de llegada. Para analizar si la etapa de conformación funciona de la manera esperada se utilizó el programa mencionado en 2.1.4. En todas las gráficas obtenidas con el gnuplot se utilizaron los siguientes colores. Rojo: valores utilizados por el DAC para la conversión. Verde: valores convertidos por el ADC. Azul: valores obtenidos del filtro trapezoidal. En la Figura 1 se observa el resultado de una conformación trapezoidal con parámetros k = 5 y l = 10. Como se esperaba todas las cimas de los trapecios coinciden en tamaño independientemente del tiempo transcurrido entre la llegada de un pulso y la llegada del siguiente. Se observa un retraso de un ciclo entre la llegada de un pulso y el comienzo de los trapecios debido a que este es el tiempo necesario para filtrar cada uno de los valores. Para obtener el valor real de la altura de cada uno de los pulsos convertidos por el ADC y mostrados en la Figura 1 en color verde, basta con restarle a la altura de cada pulso la altura del anterior. Estos “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” valores junto a las alturas de cada uno de los trapecios correspondientes se reflejan en la Tabla I. En la tercera fila se muestra la división entre las alturas de los pulsos trapezoidales y los pulsos de paso de voltaje provenientes del ADC. De esta forma se puede apreciar la proporcionalidad existente. Estos valores son el resultado de promediar los distintos valores de los puntos presentes en la cima del trapecio. Los valores de la tabla están referidos a números de canales. Pulso 5 63 251 3.984 Pulso 6 111 444.7 4.006 Pulso 7 82 328.2 4.002 Pulso 8 32 128.2 4.006 Una vez conectada la tarjeta a la computadora se ejecutó el software antes mencionado y se procedió a la ejecución de los principales comandos. Se estableció una configuración que permitió almacenar en cada posición de memoria el valor de su propia dirección de memoria, logrando así generar una rampa. La respuesta por parte de la FPGA fue satisfactoria en todos los casos obteniéndose el espectro esperado. 2.2.3 Figura 1. Conformación trapezoidal k = 5 y l = 10 Podemos concluir que el proceso de conformación funciona correctamente y que es posible utilizar los valores filtrados para comprobar los restantes elementos del sistema. 2.2.2 Comunicación Para comprobar la comunicación entre el NEXYS2 y la computadora se empleó el programa Acquisition System for MultiScaling Measuremen antes mencionado. En las comunicaciones se estableció un baud rate igual a 57600 garantizando una velocidad de transmisión de los datos adecuada a nuestras necesidades. Tabla I: Alturas de los pulsos convertidos por el ADC y de los trapecios correspondientes. Altura (Pulsos ADC) Altura (Pulsos trapezoidales) Pulso 1 256 1023.5 3.998 Pulso 2 96 384 4.000 Pulso 3 63 251 3.984 Pulso 4 175 699.2 3.995 División Detección de los picos y aumento en los canales. Después de comprobar el correcto funcionamiento de los filtros y de la comunicación, fue posible analizar la etapa de detección de los picos. El aumento en los canales se verificó al mismo tiempo, debido a la relación entre ambos procesos. En la Tabla I la altura de los trapecios se obtiene al promediar los distintos valores de los puntos presentes en la cima. La parte entera de este valor corresponde al canal en que se produce el aumento cuando se detecta el pico. De esta manera, si al generar las señales con el DAC utilizamos el mismo fichero que el empleado cuando se obtuvieron los datos de la tabla I, en el espectro de altura de pulsos deberíamos observar conteos en canales cercanos a los vistos en la mencionada tabla. Pueden aparecer pequeñas variaciones debido al ruido electrónico que se introduce en las etapas de conversión tanto del DAC como del ADC. Los valores de cada uno de los canales obtenidos se muestran en la Tabla II ordenados de forma que correspondan a los de la Tabla I. Tabla II:Canales correspondientes a los pulsos de la Tabla I. No. del canal Pulso 1 1024 Pulso 2 384 Pulso 3 252 Pulso 4 699 Pulso 5 252 Pulso 6 446 Pulso 7 329 Pulso 8 126 “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” 2.2.4 Tratamiento de los pulsos apilonados. Una vez comprobada de forma sencilla la detección de los picos, podemos analizar los casos donde exista apilonamiento. Para esta tarea modificamos el fichero utilizado en el apartado anterior de forma tal que aparecieran picos apilonados. La Figura 2 corresponde a una conformación con apilonamiento detectable para los pulsos 3 y 4 observados de izquierda a derecha. En la Figura 3 se muestran los pulsos detectados en este caso. Como se puede apreciar los pulsos apilonados correspondientes a los canales 252 y 699 fueron detectados. En la Figura 4 se observa una conformación con apilonamiento no detectable para los pulsos 3 y 4 observados de izquierda a derecha. En la Figura 5 es posible verificar que no aparecen conteos en los canales 252 y 699 correspondientes a los pulsos apilonados. Figura 4: Conformación con apilonamiento no detectable. Figura 2: Conformación con apilonamiento detectable. Figura 3: Espectro de altura de pulsos correspondiente a la señal de la Figura 2. “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” Figura 5: Espectro de altura de pulsos correspondiente a la señal de la Figura 4 3 CONCLUSIONES Al finalizar el presente trabajo podemos concluir lo siguiente: 4 Un filtro de conformación trapezoidal fue programado en lenguaje VHDL y se comprobó su correcto funcionamiento. Las funciones básicas de un MCA, incluyendo la detección de los picos, el aumento en los canales y la comunicación; fueron programadas en lenguaje VHDL y su correcto funcionamiento fue comprobado. Un sistema de prueba fue implementado en la FPGA Spartan 3E y posteriormente se utilizó para la adquisición de un espectro de altura de pulsos y el envío de los datos hacia una computadora. REFERENCIAS BIBLIOGRÁFICAS 1. Knoll G.F. Radiation Detection and Measurement. John Wiley & Sons, Inc, New York, 2000. 2. Herman P. Lima, Jr., Germano P. Guedes, Ademarlaudo F. Barbosa, and Jose M. Seixas: “AFast Multichannel-Analyzer for Radiation Detection Applications”. IEEE TRANSACTIONS ONINSTRUMENTATION AND MEASUREMENT, VOL. 53, NO. 2. 2004. 3. Valentin T. Jordanov , Glenn F. Knoll: “Digi- tal synthesis of pulse shapes in real time forhigh resolution radiation spectroscopy”. Nuclear Instruments and Methods in Physics ResearchA345:337345. 1994. 4. Valentin T. Jordanov, Glenn F. Knoll, Alan C. Huber, John A. Pantazis:“Digital techniquesfor real-time pulse shaping in radiation measurements”. Nuclear Instruments and Methods inPhysics Research A353:261-264.1994. 5. Baños, U.:" Desarrollo de un Analizador Multicanal con Interfaz USB”, Tesis de licenciatura. Instituto Superior de Tecnologías y Ciencias Aplicadas, La Habana, 2011. 5 SÍNTESIS CURRICULARES DE LOS AUTORES Alberto Rodríguez Fernández. Graduado de Licenciatura en Física Nuclear en el Instituto Superior de Tecnologías y Ciencias Aplicadas (INSTEC) en 2014 con notas sobresalientes (Diploma de oro). Ganador de medallas en los concursos nacionales de física durante los años de preuniversitario. Durante sus años de estudiante en la mencionada universidad participa en múltiples ocasiones en eventos nacionales e internacionales de programación competitiva. En el año 2013 obtiene segundo lugar en el Fórum de Ciencia y Técnica a nivel de base en la comisión de Física Nuclear Experimental. En septiembre de 2014 se incorpora al departamento de Física Nuclear del INSTEC donde todavía se mantiene trabajando. Actualmente continúa participando en investigaciones relacionadas con la Instrumentación Nuclear y la Electrónica Nuclear. “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.” Rodríguez, A.; Díaz, M.; Rivero, D. | “DISEÑO DE UN ANALIZADOR MULTICANAL CON CONFORMACIÓN Y PROCESAMIENTO DIGITAL DE PULSOS” Maikel Díaz Castro. Graduado de Licenciado en Física Nuclear por el Instituto Superior de Ciencias y Tecnologías Nucleares (2003). Completó la Maestría en Física Nuclear en el Instituto Superior de Tecnologías y Ciencias Aplicadas (2005) y el Doctorado en Física en el Instituto de Física de la Universidad Federal Fluminense, Brasil (2015). Actualmente es profesor asistente del Departamento de Física Nuclear en el Instituto Superior de Tecnologías y Ciencias Aplicadas. Tiene experiencia en el área de Física, con énfasis en Física Nuclear, actuando principalmente en los siguientes temas: desarrollo de instrumentación nuclear y espectrometría de masa con aceleradores (AMS) y sus aplicaciones. Doris Rivero Ramírez. Graduada de Ingeniería en Técnica Electrónica y Master en Ciencia en Ingeniería en 1984 en el Instituto Politécnico de Lvov, Ucrania, antigua Unión Soviética, con notas sobresalientes (Diploma Rojo). Es Profesora Auxiliar del Departamento de Física Nuclear desde 2003. Ha impartido las asignaturas de la Disciplina Electrónica de la carrera de Física nuclear, así como en las asignaturas de Electrónica e instrumentación Nuclear de las tres carreras nucleares, es miembro de la comisión de carrera de Física Nuclear e Ingeniería en Tecnologías Energéticas y Nucleares. Ha trabajado dirigido más de 10 estudiantes de la licenciatura en Física Nuclear y de Ingeniería Física de la Facultad de Física de la Universidad de la Habana en tesis de grado. Es miembro del claustro de la Maestría en Física Nuclear. Ha participado en más de 55 eventos nacionales e internacionales, ha publicado más de 40 trabajos en revistas y memorias de eventos. Ha sido experta de los programas ramales nucleares y/o no asociados a programas y actualmente del programa de ciencia e innovación tecnológica relacionado con las ciencias nucleares, ópticas y ultrasónicas. Ha obtenido 12 Premios a resultados científicos del centro (ISCTN o InSTEC) 1 del INRE y 2 UH y 4 premios del Fórum de base, 3 del municipio plaza y 2 del provincial. “V Simposio Internacional de Electrónica: Diseño, Aplicaciones, Técnicas Avanzadas y Retos Actuales.”