Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
Optimizaci
´
on del hardware para medici
´
on de
radiaci
´
on utilizando sensores de imagen CMOS
Hardware optimization for radiation measurement using CMOS image sensors
Gaspar Dom
´
e
, M. C. Cebedio
1
, M. Antonelli
2
, J. Casti
˜
neira Moreira
3
, L. De Micco
4
Instituto de Investigaciones Cient
´
ıficas y Tecnol
´
ogicas en Electr
´
onica (ICYTE)
Facultad de Ingenier
´
ıa, Universidad Nacional de Mar del Plata (FI–UNMdP)
Consejo Nacional de Investigaciones Cient
´
ıficas y T
´
ecnicas (CONICET)
Argentina
{
1
celestecebedio,
2
maxanto,
3
casti,
4
ldemicco}@fi.mdp.edu.ar
Received: 2025-12-13; Accepted: 2026-04-09
Resumen—Este art
´
ıculo presenta el dise
˜
no, implementaci
´
on
y optimizaci
´
on en hardware de un sistema de detecci
´
on
de radiaci
´
on basado en un transductor optoelectr
´
onico
de imagen CMOS comercial y una FPGA de ultra bajo
consumo, orientado a aplicaciones espaciales con recursos
computacionales y energ
´
eticos limitados. El trabajo aborda
la implementaci
´
on eficiente de un algoritmo de detecci
´
on de
eventos, previamente validado en software, en una FPGA
Lattice iCE40HX4K. Para ello, se dise
˜
n
´
o la arquitectura
del sistema mediante un enfoque centrado en memoria,
sustituyendo los m
´
etodos basados en registros, lo que permiti
´
o
integrar funcionalidades como detecci
´
on de eventos, filtrado
de p
´
ıxeles defectuosos, conteo y generaci
´
on de histogramas,
operando a una tasa de un cuadro por segundo. La validaci
´
on
experimental se realiz
´
o empleando secuencias reales de
im
´
agenes irradiadas, adquiridas previamente con el mismo
transductor optoelectr
´
onico. Los histogramas generados por
la FPGA presentan una desviaci
´
on inferior al 3 % respecto a
un modelo de referencia implementado en MATLAB. Como
resultado, la arquitectura optimizada logra una reducci
´
on
superior al 90 % en el uso de recursos l
´
ogicos, manteniendo la
funcionalidad original.
Palabras clave: radiaci
´
on ionizante; FPGA, transductor
optoelectr
´
onico; algoritmo de detecci
´
on; sat
´
elite.
Abstract—This article presents the design, implementation,
and hardware optimization of a radiation detection system
based on a commercial CMOS optoelectronic imaging trans-
ducer and an ultra-low-power FPGA, geared towards space
applications with limited computational and energy resources.
The work addresses the efficient implementation of an event
detection algorithm, previously validated in software, on a
Lattice iCE40HX4K FPGA. To achieve this, the system architec-
ture was designed using a memory-centric approach, replacing
register-based methods. This allowed for the integration of
functionalities such as event detection, defective pixel filtering,
counting, and histogram generation, operating at a rate of one
frame per second. Experimental validation was performed using
real sequences of irradiated images, previously acquired with
the same optoelectronic transducer. The histograms generated
by the FPGA show a deviation of less than 3 % compared
to a reference model implemented in MATLAB. As a result,
the optimized architecture achieves a reduction of over 90 %
in the use of logical resources, while maintaining the original
functionality.
Keywords: ionizing radiation; FPGA; CMOS sensor; detection
algorithm; satellite.
I. INTRODUCCI
´
ON
La detecci
´
on de radiaci
´
on ionizante en entornos espacia-
les es un desaf
´
ıo para la protecci
´
on de los componentes
electr
´
onicos de sat
´
elites y otros dispositivos. Los compo-
nentes electr
´
onicos en el espacio son altamente susceptibles
a la radiaci
´
on ionizante debido a la reducci
´
on dr
´
astica de
la atenuaci
´
on que provee la atm
´
osfera a medida que se
incrementa la distancia a la superficie de la Tierra.
Los efectos de la radiaci
´
on provocan la degradaci
´
on de las
propiedades el
´
ectricas de los dispositivos semiconductores,
cambios en el rendimiento del sistema, errores suaves (soft
errors) y latch-up [1], que alteran el comportamiento de
los circuitos, provocando fallos funcionales y reduciendo
la vida
´
util del hardware. Existen diversas tecnolog
´
ıas de
detecci
´
on, como detectores de semiconductores, contadores
Geiger y c
´
amaras de ionizaci
´
on, pero presentan limitaciones
en t
´
erminos de costo, tama
˜
no, peso, consumo de energ
´
ıa y
durabilidad [2].
Los efectos de la radiaci
´
on sobre dispositivos CMOS
pueden clasificarse en dos categor
´
ıas principales: efectos
puntuales, como los Single Event Upsets (SEUs), y la de-
gradaci
´
on acumulativa, como la dosis total ionizante (Total
Ionizing Dose o TID). Los SEUs alteran transitoriamente el
estado l
´
ogico de los circuitos, y suelen mitigarse mediante
t
´
ecnicas de redundancia o correcci
´
on de errores. En cambio,
la degradaci
´
on acumulativa representa un riesgo mayor, ya
que puede provocar cambios permanentes en las caracter
´
ısti-
cas el
´
ectricas de los transistores. Por ejemplo, la acumulaci
´
on
de carga en las capas de
´
oxido puede generar un aumento en
la corriente de fuga o una p
´
erdida de control en la compuerta,
lo que afecta la funcionalidad del dispositivo. A largo plazo,
estas alteraciones pueden causar fallos irreversibles [3].
En este contexto, contar con un sistema de detecci
´
on que,
ISSN 2525-0159
https://elektron.fi.uba.ar
25
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
no solo registre eventos ionizantes, sino que tambi
´
en permita
caracterizarlos y analizar su impacto, se vuelve fundamental.
Este tipo de herramienta puede ser
´
util tanto en tareas de
validaci
´
on en tierra como en aplicaciones en
´
orbita, donde
se requieren soluciones confiables, de bajo consumo y bajo
costo, integrables en plataformas de escala reducida u otros
dispositivos cient
´
ıficos.
En [4] se estudia la viabilidad de utilizar el transductor
optoelectr
´
onico
´
optico CMOS que utilizamos en este trabajo
para la detecci
´
on de radiaci
´
on ionizante. Una propuesta de un
algoritmo capaz de detectar y clasificar eventos se presenta en
[5], all
´
ı el consumo de recursos de hardware es muy elevado y
depende significativamente de la s
´
ıntesis de alto nivel (HLS).
El presente trabajo aborda la optimizaci
´
on del procesamiento
y el dise
˜
no de un sistema m
´
as eficiente, implementado sobre
una FPGA de bajo costo. El objetivo principal es desarrollar
un sistema de detecci
´
on de que optimice el uso de recursos
disponibles sin comprometer la calidad de la medici
´
on. A
diferencia de otros enfoques, que recurren a componentes
especializados [6], este dise
˜
no aprovecha transductor opto-
electr
´
onico CMOS de producci
´
on masiva [7] y las ventajas de
las FPGA de Lattice, ampliamente empleadas en aplicaciones
aeroespaciales [8].
II. DESCRIPCI
´
ON DEL SISTEMA
El principio de funcionamiento se basa en la interacci
´
on
de la radiaci
´
on con el transductor optoelectr
´
onico: cuando
una part
´
ıcula cargada impacta sobre la superficie del CMOS,
deposita una carga que se manifiesta como una regi
´
on con
mayor brillo respecto a los p
´
ıxeles circundantes.
La soluci
´
on propuesta basa su arquitectura en un transduc-
tor optoelectr
´
onico
´
optico CMOS MT9M001C12STM y una
FPGA iCE40HX4K. La FPGA cumple un doble rol: realiza
las tareas de control y procesamiento de datos, y gestiona la
comunicaci
´
on con la plataforma satelital.
II-A. Dimensionamiento de la fuente de alimentaci
´
on y
estimaci
´
on de potencia
El dimensionamiento de la fuente de alimentaci
´
on se
realiz
´
o a partir del an
´
alisis de las hojas de datos del FPGA
iCE40 LP/HX [9] y del sensor de imagen MT9M001 [10]. El
sensor presenta un consumo t
´
ıpico de 363mW a 3.3V, corres-
pondiente a la suma de sus alimentaciones digital, anal
´
ogica y
de p
´
ıxeles (24mA, 85mA y 10mA respectivamente). Para una
fuente de 1W se garantiza un margen adecuado que cubre los
picos de corriente durante el arranque y la operaci
´
on normal.
La contribuci
´
on del FPGA se estim
´
o considerando los 20
pines de E/S que conforman la interfaz con el sensor, los
cuales operan a 48MHz. La potencia din
´
amica disipada por
cada pin de salida se calcula como:
P
pin
=
1
2
C
L
V
2
f
donde C
L
es la capacitancia de carga, V es la tensi
´
on de
alimentaci
´
on del banco de E/S y f es la frecuencia de
conmutaci
´
on. Asumiendo una carga total de 15pF por pin
(capacitancia de entrada del sensor m
´
as parasitismos de la
placa) y operaci
´
on con LVCMOS 2.5V (V
CCIO
= 2.62V
m
´
aximo), la potencia din
´
amica por pin resulta:
P
pin
= 0,5 × 15 pF × (2,62 V)
2
× 48 MHz 2,47 mW
Para 20 pines activos, la potencia din
´
amica total de E/S
es de aproximadamente 49.4 mW. Sumando la potencia del
n
´
ucleo del FPGA, estimada entre 40 mW y 80 mW seg
´
un
la actividad l
´
ogica, el consumo total del FPGA se sit
´
ua en
el rango de 90 a 130 mW. De esta forma, la potencia total
del sistema, incluyendo el sensor, se estima entre 450 mW
y 500 mW, lo que valida la selecci
´
on de una fuente de 1 W
con holgura suficiente.
Para reducir el consumo energ
´
etico del sistema, se pro-
ponen dos estrategias principales. La primera consiste en
reemplazar la FPGA de la familia HX por un dispositivo de la
familia LP (ultra low power), que reduce la corriente est
´
atica
del n
´
ucleo de 1140µA a 250µA, manteniendo la capacidad
de operar a 48MHz requerida por el sensor. La segunda
estrategia implementa un modo de captura intermitente, en el
cual el sensor MT9M001 se mantiene en standby o con sus
alimentaciones completamente desconectadas entre frames,
activ
´
andose
´
unicamente durante los intervalos necesarios para
la adquisici
´
on de im
´
agenes. En operaci
´
on continua, el sistema
presenta un consumo estimado de 493m W (130mW para la
FPGA y 363mW para el sensor). Con las estrategias propues-
tas, este valor se reduce a aproximadamente 60mW (30mW
para cada subsistema), lo que representa una disminuci
´
on
del 88 % y habilita su uso en aplicaciones alimentadas por
bater
´
ıa.
II-B. Configuraci
´
on del transductor optoelectr
´
onico
El sistema cuenta con un bloque inicial encargado de con-
figurar los registros del transductor optoelectr
´
onico CMOS
mediante una interfaz de comunicaci
´
on serie similar a I
2
C,
adaptada a un enlace punto a punto. Dado que
´
unicamente
se requiere escribir registros durante esta etapa, no se im-
plementa la funcionalidad de lectura. La simplificaci
´
on del
protocolo hace que la inclusi
´
on de un ID de dispositivo
sea innecesaria, ya que la primera informaci
´
on transmitida
corresponde directamente a una instrucci
´
on de lectura o
escritura. La l
´
ogica de escritura de registros del transductor
optoelectr
´
onico se resume de la siguiente manera:
Enviar un byte espec
´
ıfico de escritura (xBA).
Enviar el byte correspondiente al registro que se desea
escribir.
Enviar uno o dos bytes seg
´
un el tama
˜
no de dato reque-
rido por el registro.
Si se desea escribir un registro contiguo al anterior, se
pueden enviar directamente los bytes de datos adicio-
nales, ya que el transductor optoelectr
´
onico incrementa
internamente la direcci
´
on del registro.
Para escribir un registro no contiguo, se env
´
ıa una se
˜
nal
de stop y se inicia nuevamente el proceso de escritura.
II-C. Bloque de adquisici
´
on
El Bloque de Adquisici
´
on es responsable de recibir los
datos provenientes del transductor optoelectr
´
onico CMOS y
ISSN 2525-0159
https://elektron.fi.uba.ar
26
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
prepararlos para el procesamiento en la FPGA. El transduc-
tor optoelectr
´
onico entrega las im
´
agenes a trav
´
es de varias
se
˜
nales:
Frame Valid: Se
˜
nala que la imagen no se encuentra en
zonas de blanqueo vertical.
Line Valid: Se
˜
nala que la l
´
ınea est
´
a activa.
PixCLK: Reloj que sincroniza los datos.
Trigger: Se
˜
nal de inicio de adquisici
´
on.
d9–d2: Bus de datos de 8 bits por pixel indicando el
brillo.
La salida digital del transductor optoelectr
´
onico posee 10
bits de resoluci
´
on, los datos se truncan a 8 bits descartando
los dos bits menos significativos, para simplificar el dise
˜
no,
reducir el uso de memoria y realizar un filtrado previo.
Luego, para el manejo de estos datos en la FPGA:
La FPGA recibe un reloj externo de 12 MHz que se
lleva a 50.5 MHz mediante un PLL, lo que permite
disponer de m
´
as ciclos de reloj para procesar los datos
en tiempo real.
Se genera un reloj de 2 MHz para el transductor
optoelectr
´
onico.
Para gestionar el cruce de dominios de reloj entre el
pixel clock del transductor optoelectr
´
onico (2 MHz) y
el reloj de procesamiento de la FPGA (50.5 MHz), se
implement
´
o un esquema de sincronizaci
´
on basado en re-
gistros y se
˜
nales de validaci
´
on para prevenir problemas
de metastabilidad.
II-D. Algoritmo y optimizaci
´
on de memoria
Se optimiz
´
o el algoritmo propuesto en [5] para detectar
eventos de inter
´
es y descartar el fondo de la imagen (Fig. 1).
Fig. 1: Ejemplo de detecci
´
on de eventos de radiaci
´
on (traza de part
´
ıculas) sobre la
imagen capturada [5].
El procesamiento se centra en la identificaci
´
on de eventos
(motas o puntos) compuestos por grupos de p
´
ıxeles. Para
cada evento, se suma la intensidad de todos los p
´
ıxeles que
lo constituyen, y con estos valores se genera un histograma.
Dado que existe una correlaci
´
on entre la carga depositada por
una part
´
ıcula ionizante y la respuesta del transductor [4], [7],
dicha suma de intensidades est
´
a relacionada con la energ
´
ıa
de cada evento.
Al concluir la detecci
´
on, el sistema asigna la intensidad
de cada evento al bin correspondiente. Para evitar falsos
positivos generados por ruido t
´
ermico o p
´
ıxeles defectuosos,
se descartan autom
´
aticamente los eventos de un solo p
´
ıxel,
obteniendo as
´
ı una representaci
´
on precisa de la distribuci
´
on
energ
´
etica de la radiaci
´
on incidente.
II-E. Optimizaci
´
on de arquitectura y an
´
alisis de casos l
´
ımi-
te
El sistema desarrollado originalmente en [5] emple
´
o s
´
ınte-
sis de alto nivel (HLS) sin restricciones estrictas de hardware,
resultando en un uso ineficiente de las unidades l
´
ogicas.
Aproximadamente el 80 % de los recursos se destinaron a
registros (Flip-Flops) para implementar memorias internas.
Esta arquitectura permit
´
ıa modificar simult
´
aneamente m
´
ulti-
ples valores del vector de entrada en un
´
unico ciclo de reloj,
facilitando una re-etiquetaci
´
on global de p
´
ıxeles cuando se
detectaba la convergencia de dos eventos.
Al identificar estas limitaciones, en este trabajo se propone
un enfoque centrado en bloques de memoria BRAM para re-
ducir el uso intensivo de registros. Sin embargo, las memorias
BRAM poseen restricciones de tiempo de acceso que impi-
den actualizar m
´
ultiples posiciones de memoria dentro del
breve intervalo entre la llegada de p
´
ıxeles consecutivos. Esta
limitaci
´
on f
´
ısica hace impracticable la re-etiquetaci
´
on global
en tiempo real bajo las mismas condiciones de operaci
´
on.
El principal desaf
´
ıo de este cambio arquitect
´
onico surge
ante eventos con geometr
´
ıas complejas (e.g., formas en “U”
o “V” invertida). En estos casos, un
´
unico impacto f
´
ısico
es detectado inicialmente como dos eventos independientes
que convergen en una l
´
ınea posterior. Mientras que el di-
se
˜
no previo resolv
´
ıa este conflicto unificando las etiquetas
modificando los registros en pocos ciclos de reloj, el sistema
optimizado no permite la re-etiquetaci
´
on global debido a los
tiempos de acceso de la BRAM.
Para evaluar el impacto de esta simplificaci
´
on, se utiliza-
ron “im
´
agenes de tortura” dise
˜
nadas para maximizar estos
conflictos de convergencia. En estos escenarios l
´
ımite, el al-
goritmo presenta fragmentaci
´
on de eventos (un
´
unico impacto
se contabiliza como m
´
ultiples eventos de menor intensidad),
incrementando el error respecto al dise
˜
no original.
Sin embargo, las pruebas con datos reales de radiaci
´
on
demuestran que la ocurrencia de estas geometr
´
ıas es despre-
ciable en condiciones de operaci
´
on normales. Por lo tanto, la
reducci
´
on del 92 % en recursos l
´
ogicos compensa la p
´
erdida
de precisi
´
on en casos l
´
ımite.
II-F. Mapeo de memoria
Una vez se demuestra la posibilidad de implementar el
algoritmo en la EDU-CIAA-FPGA utilizando menos unida-
des l
´
ogicas de las disponibles, se eval
´
ua si la memoria de la
plataforma es suficiente para el funcionamiento del sistema.
Se propone el uso de tres bloques de memoria BRAM
para el procesamiento de datos en tiempo real. El primero
ISSN 2525-0159
https://elektron.fi.uba.ar
27
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
consiste en una memoria circular de entrada que act
´
ua como
un buffer de l
´
ınea (line buffer); esta almacena los
´
ındices
de los eventos detectados en la linea de p
´
ıxeles que est
´
a
siendo barrida actualmente por el transductor. Dado que el
transductor optoelectr
´
onico entrega la informaci
´
on de manera
secuencial (linea por linea), esta estructura permite al algo-
ritmo comparar los p
´
ıxeles de la l
´
ınea actual con los de la
anterior para determinar la conectividad del evento. Las otras
dos memorias se utilizan para registrar, de forma acumulativa,
la intensidad total y la cantidad de p
´
ıxeles asociados a cada
´
ındice de evento identificado.
Para dimensionar las memorias, se procesaron secuencias
de video de irradiaci
´
on real suministradas por el Laboratorio
de Bajas Temperaturas del Instituto Balseiro. Mediante la
caracterizaci
´
on estad
´
ıstica de estos fotogramas, se extrajeron
tres par
´
ametros m
´
aximos: el tama
˜
no del evento (cantidad de
p
´
ıxeles), la intensidad acumulada por evento y la cantidad de
eventos detectados simult
´
aneamente.
Con estos par
´
ametros,se defini
´
o la profundidad (cantidad
de direcciones) y su ancho de palabra (cantidad de bits) de
los tres bloques de memoria BRAM:
Memoria circular de entrada (Line Buffer): Alma-
cena los
´
ındices de los eventos de la l
´
ınea actual. Su
profundidad es igual al ancho en p
´
ıxeles del transduc-
tor optoelectr
´
onico con tres pixeles adicionales por el
funcionamiento del algoritmo, mientras que su ancho
de palabra est
´
a definido por la cantidad de bits nece-
sarios para direccionar el n
´
umero m
´
aximo de eventos
simult
´
aneos.
Memoria de cantidad de p
´
ıxeles: Su profundidad co-
rresponde a la cantidad m
´
axima de eventos simult
´
aneos
(una direcci
´
on por evento). Su ancho de palabra se
calcula en funci
´
on de los bits requeridos para almacenar
el tama
˜
no m
´
aximo de p
´
ıxeles registrados para un evento,
extra
´
ıdo del an
´
alisis estad
´
ıstico.
Memoria de intensidad de eventos: Su profundidad
tambi
´
en corresponde a la cantidad m
´
axima de eventos
simult
´
aneos. Su ancho de palabra est
´
a definido por
los bits necesarios para representar la intensidad total
m
´
axima acumulada por un evento, extra
´
ıdo del an
´
alisis
estad
´
ıstico.
Para garantizar la robustez del sistema frente a escenarios
fuera del promedio, se a
˜
nadi
´
o un bit adicional tanto al bus
de direcciones como al bus de datos de cada memoria,
previniendo as
´
ı errores por desbordamiento.
II-G. Histograma
En esta etapa se define el histograma considerando los re-
querimientos del sistema y las caracter
´
ısticas del transductor
optoelectr
´
onico CMOS. Se utiliza un histograma de 32 bines
de ancho variable, calculado seg
´
un la resoluci
´
on de intensidad
presentada en (1).
Ancho del bin =
2
N
32
(1)
Cada p
´
ıxel tiene una resoluci
´
on de 10 bits, recortada a 8
bits durante la adquisici
´
on. Dado que la suma de las inten-
sidades de los p
´
ıxeles que componen un evento no supera
los 2
14
bits —seg
´
un se verific
´
o con los datos procesados—,
se define N = 14 bits para abarcar el rango din
´
amico de la
intensidad acumulada por evento. De esta manera, el ancho
m
´
aximo de cada bin resulta:
Ancho de bin m
´
aximo =
2
14
32
= 512 (2)
El histograma se genera a partir de los eventos detectados
por el algoritmo dise
˜
nado en la etapa anterior y
´
unicamente se
procesan aquellos que contienen m
´
as de un p
´
ıxel, descartando
p
´
ıxeles aislados que corresponden a ruido o p
´
ıxeles muertos.
El valor de intensidad total de cada evento se asigna al bin
correspondiente, y el resto de la memoria BRAM se utiliza
para almacenar los histogramas de manera circular, esperando
la solicitud del sat
´
elite para la descarga de datos. Para obtener
un histograma representativo, se combinan 60 im
´
agenes cap-
turadas durante un minuto en un solo histograma, que luego
se guarda en memoria.
II-H. Controlador
Con todos los bloques: capturador, algoritmo, banco de
memoria y generador de histogramas se dise
˜
na un controlador
que coordine todas las m
´
aquinas de estado y maneje la
comunicaci
´
on con el sat
´
elite,esperando un comando para
reiniciar si fuese necesario y otro para descargar toda la
informaci
´
on.
III. RESULTADOS
En esta secci
´
on se presentan los resultados obtenidos
del funcionamiento general del sistema y luego, aquellos
relevantes a cada secci
´
on.
III-A. Configuraci
´
on del transductor optoelectr
´
onico
La Figura 2 muestra el protocolo de comunicaci
´
on fun-
cionando en un osciloscopio. La se
˜
nal en rojo es el clock
del sistema con un frame de inicio, y la se
˜
nal en amarillo
muestra la se
˜
nal de configuraci
´
on del CMOS.
Fig. 2: Se
˜
nales del protocolo de configuraci
´
on del transductor optoelectr
´
onico CMOS
observadas en el osciloscopio.
ISSN 2525-0159
https://elektron.fi.uba.ar
28
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
III-B. Bloque capturador
Para probar el correcto funcionamiento del bloque captu-
rador se reciben los datos sin procesar en una PC y luego
se reconstruyen. El transductor optoelectr
´
onico genera 8 bits
en cada ciclo de reloj que se transmite a trav
´
es de un bus
paralelo de 8 bits, por lo que la tasa de datos resulta como
se indica en 3:
bps = 8 · f = 8 · 2 MHz = 16 Mbps (3)
Como el sistema utiliza un enlace de comunicaci
´
on serie
entre la FPGA y la PC, la tasa de datos generada resulta de-
masiado alta para ser transmitida directamente. Para resolver
este problema, se emplea la placa de desarrollo DE2-115,
que incorpora una memoria SRAM de 2 MB. Esta memoria
permite almacenar temporalmente los p
´
ıxeles a la velocidad
necesaria durante la adquisici
´
on, y luego enviarlos a la PC a
una tasa reducida, compatible con la interfaz serie.
III-C. Optimizaci
´
on del algoritmo
En esta etapa se registran los resultados obtenidos con la
alternativa de eliminar los casos problem
´
aticos y se analizan
sus efectos sobre los resultados. Para evaluar el desempe
˜
no
del algoritmo simplificado frente al dise
˜
no original, se utiliz
´
o
un conjunto de im
´
agenes de tortura: im
´
agenes sint
´
eticas
generadas espec
´
ıficamente para probar casos l
´
ımite en la
etapa de etiquetado, donde se incluyen configuraciones de
p
´
ıxeles mucho m
´
as complejas que las que se presentan en
mediciones reales.
El algoritmo va recibiendo los p
´
ıxeles y asigna a cada
uno una etiqueta num
´
erica seg
´
un el evento al que pertenece.
As
´
ı, todos los p
´
ıxeles del primer evento reciben la etiqueta
”1”, los del segundo la etiqueta ”2”, y as
´
ı sucesivamente.
Para comparar visualmente la exactitud del algoritmo ori-
ginal frente al simplificado, se asigna un color diferente a
cada etiqueta. De esta forma, en una imagen correctamente
procesada, idealmente cada grupo de p
´
ıxeles (evento) deber
´
ıa
tener un
´
unico color.
La Fig. 3 muestra los resultados obtenidos al aplicar ambos
algoritmos sobre las mismas im
´
agenes de tortura. En ella
se eval
´
ua c
´
omo se ver
´
ıan las im
´
agenes cuando el algoritmo
considera todos los casos (dise
˜
no original) frente al algoritmo
simplificado. Puede observarse que, en las im
´
agenes de
tortura, el nuevo algoritmo presenta una mayor cantidad de
fallas en comparaci
´
on con el dise
˜
no previo.
(a) Algoritmo original. (b) Algoritmo optimizado.
Fig. 3: Comparaci
´
on de algoritmos sobre im
´
agenes sint
´
eticas “de tortura”. Cada color
se corresponde con una etiqueta asignada por el algoritmo.
Sin embargo, bajo condiciones reales, los eventos a pro-
cesar son mucho m
´
as simples que las im
´
agenes sint
´
eticas
de tortura. Utilizando im
´
agenes obtenidas a partir de fuentes
reales de radiaci
´
on, no se observan diferencias significativas
en el rendimiento. Por lo tanto, se considera que el nue-
vo algoritmo es v
´
alido para aplicaciones pr
´
acticas. Como
ejemplo, se presenta en la Fig. 4, el resultado de aplicar el
algoritmo optimizado sobre datos reales, en esta imagen, cada
evento tiene forma circular o ligeramente ovalada, entonces el
algoritmo realiza el etiquetado correctamente y no aparecen
eventos con m
´
as de un color. Por otro lado, algo esencial y
Fig. 4: Resultado del algoritmo optimizado aplicado a datos reales de radiaci
´
on.
Los eventos reales son simples de procesar, por lo que el algoritmo los etiqueta
correctamente, resultando en un color uniforme para cada uno de ellos.
parte del objetivo del trabajo es reducir el hardware asociado
a la implementaci
´
on del algoritmo. En el Cuadro I, se
observan los recursos utilizados en la implementaci
´
on de los
dos algortimos y la reducci
´
on que genera el nuevo enfoque.
Componente Sistema previo Sistema actual Reducci
´
on %
Unidades L
´
ogicas (LU) 24,792 1,945 92.16
Flip-Flops (FF) 27,043 1,024 96.22
Cuadro I: Comparaci
´
on del uso de recursos l
´
ogicos entre el sistema previo y el sistema
optimizado.
III-D. Mapeo de memoria
El resultado de dimensionar las memorias se observa en
el Cuadro II. La memoria total requerida
´
unicamente para
el algoritmo es de aproximadamente 8 kilobytes, lo que se
encuentra por debajo de los 10 kilobytes disponibles en la
FPGA iCE40HX4K.
Memoria Tama
˜
no
Entrada 2048 × 12 bits 3 kB
Intensidad 2048 × 14 bits 3 kB
Cantidad 2048 × 6 bits 2 kB
Total 8 kB
Cuadro II: Dimensionamiento de las memorias utilizadas por el algoritmo de procesa-
miento de eventos.
III-E. Histograma
La etapa de validaci
´
on del histograma, representa una
validaci
´
on del sistema completo, debido a que todos los
bloques deben contribuir en la realizaci
´
on del mismo. Para
ISSN 2525-0159
https://elektron.fi.uba.ar
29
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
verificar el correcto funcionamiento del sistema, se dise
˜
na un
banco de pruebas, presentado en la figura 5.
Este banco de pruebas incorpora una memoria donde se
almacena la imagen sin procesar capturada por el sensor.
Su funci
´
on es permitir la transferencia a la computadora
tanto del histograma generado por la FPGA a partir de
los datos, como de la imagen sin procesar. Una vez en la
computadora, se genera un segundo histograma a partir de
esa imagen sin procesar y se compara con el recibido desde
la FPGA. La validaci
´
on se basa en la coincidencia entre
ambos histogramas, adem
´
as, la PC genera una imagen con los
eventos coloreados seg
´
un el n
´
umero de etiqueta del evento al
cual pertenecen, como una forma de validar que la imagen
capturada por el sensor es correcta.
En esta etapa se utiliza la plataforma de desarrollo DE2-
115, principalmente debido a que cuenta con suficiente
capacidad de memoria para almacenar una imagen completa
capturada por el transductor optoelectr
´
onico. Lo cual es
fundamental, ya que permite garantizar que los datos envia-
dos a la computadora para su procesamiento corresponden
exactamente a la misma imagen procesada en la FPGA,
condici
´
on necesaria para que la comparaci
´
on de histogramas
tenga validez.
Se desarrollaron bloques espec
´
ıficos para el manejo de la
memoria, tambi
´
en se implement
´
o un bloque de coordinaci
´
on
que sincroniza el almacenamiento de la imagen y su posterior
transmisi
´
on a la computadora.
Adicionalmente, se implementa un programa en MATLAB
encargado de recibir los datos provenientes de la FPGA,
reconstruir la imagen, aplicar el mismo algoritmo utilizado en
la FPGA respetando las limitaciones de resoluci
´
on en bits del
hardware, y generar el histograma de referencia. Todo este
proceso asegura una comparaci
´
on v
´
alida entre el histograma
generado por la FPGA y el histograma de referencia obtenido
en la computadora.
El histograma se construye mediante el barrido secuencial
de las memorias de intensidad y de cantidad de p
´
ıxeles,
las cuales poseen una correspondencia biun
´
ıvoca entre sus
direcciones. Cada evento es clasificado en bines de ancho
fijo seg
´
un la Ec. (1), donde el eje de las abscisas representa
el nivel de “intensidad acumulada” y el eje de las ordenadas
la frecuencia de ocurrencia. Por ejemplo, para un ancho de
512 (2
14
/32), el primer bin contabiliza los eventos con in-
tensidades en el rango [0, 512) , el segundo entre [512, 1024)
y as
´
ı sucesivamente.
IV. DISE
˜
NO PCB
Se dise
˜
na una placa basada en las recomendaciones del
grupo LabOSat, siguiendo buenas pr
´
acticas de dise
˜
no [11]
y adaptada a los requisitos del sistema. Si bien se toman
detalles de desacople, selecci
´
on de componentes perif
´
ericos
y criterios de ruteo de la EDU-CIAA-FPGA desarrollada en
la UTN de Haedo, el dise
˜
no no replica dicha placa, sino
que se realiza un desarrollo nuevo ajustado a las necesidades
espec
´
ıficas del proyecto. En particular, se elimina el pro-
gramador reemplaz
´
andolo con un PCB externo que cumple
la misma funci
´
on, se quitan las borneras de prototipado y
se modifica por completo el sistema de alimentaci
´
on para
adaptarlo a las tensiones disponibles en el sat
´
elite.
IV-A. Transductor optoelectr
´
onico
Los elementos adicionales requeridos para el funciona-
miento del transductor optoelectr
´
onico se determinan a partir
de las especificaciones del datasheet [9] y del trabajo realiza-
do en [5]. El dise
˜
no incorpora el transductor optoelectr
´
onico,
resistencias de pull-up necesarias para la interfaz de comu-
nicaci
´
on serie, y capacitores de desacople para garantizar la
estabilidad de la alimentaci
´
on.
IV-B. FPGA
Para el correcto funcionamiento de la FPGA, se consideran
recomendaciones provistas en notas de aplicaci
´
on de Lattice
[10] y en el desarrollo de la EDU-CIAA-FPGA [12]. Se toma
como referencia la selecci
´
on de componentes perif
´
ericos,
pero el dise
˜
no se adapta a las necesidades del sistema, sin
replicar la placa original.
Se decide separar el programador de la placa final, desa-
rrollando un m
´
odulo independiente que pueda ser reutilizado.
Adem
´
as, se eliminan las borneras de prototipado, dado que
no son necesarias para el funcionamiento del sistema a bordo.
IV-C. Alimentaci
´
on
Se estima que el sat
´
elite entrega una tensi
´
on entre 9 y 12
volts, mientras que el sistema requiere tensiones de 3.3 V y
1.2 V. De acuerdo a los datos provistos en los datasheets y las
estimaciones realizadas, el consumo m
´
aximo esperado es de
aproximadamente 300 mA a 3.3V. Este valor es consistente
con la estimaci
´
on detallada presentada en la Secci
´
on II-
A, donde se considera el consumo conjunto del transductor
optoelectr
´
onico, la FPGA y las p
´
erdidas de conversi
´
on de la
fuente de alimentaci
´
on.
Para mejorar la eficiencia, se descartan reguladores lineales
directos y se opta por una fuente switching DC-DC para
generar 3.3V, seguida de un regulador lineal que produce
1.2V. Adem
´
as, se incorporan protecciones contra inversi
´
on
de polaridad, fusibles de sobrecorriente y protecci
´
on contra
sobretensi
´
on.
La alimentaci
´
on se organiza en tres etapas: primero, un
regulador switching LM2576 genera 3.3V; segundo, un cir-
cuito de protecci
´
on contra sobrevoltaje basado en un diodo
Zener y dos transistores; y finalmente, un regulador lineal
LDL1117S12R produce los 1.2V necesarios para el sistema.
IV-D. PCB terminada
En las Fig. 6 se presenta el PCB del sensor que incorpora
la FPGA, el transductor optoelectr
´
onico y la fuente de
alimentaci
´
on, sus medidas son 10cm por 6cm. En la Fig. 7
se presenta el PCB del programador, que incluye un conector
USB tipo C, un conversor USB-SPI y la bornera de conexi
´
on
compatible con el sensor, sus medidas son 6cm por 2cm.
ISSN 2525-0159
https://elektron.fi.uba.ar
30
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
Fig. 5: Banco de pruebas utilizado para la validaci
´
on del histograma generado por la FPGA.
Fig. 6: Vistas frontal y posterior del PCB final que integra el transductor optoelectr
´
onico
CMOS, la FPGA y la etapa de alimentaci
´
on.
Fig. 7: PCB del programador externo utilizado para la configuraci
´
on de la FPGA.
V. RESULTADOS
En esta secci
´
on se eval
´
ua el desempe
˜
no del sistema opti-
mizado en t
´
erminos de ocupaci
´
on de recursos de hardware,
consumo y fidelidad en la clasificaci
´
on de eventos.
V-A. Eficiencia en el uso de recursos
El redise
˜
no del algoritmo utilizando el lenguaje VHDL y
priorizando el uso de bloques de memoria BRAM, en lugar de
una arquitectura basada puramente en registros, permiti
´
o una
reducci
´
on dr
´
astica en la ocupaci
´
on de la FPGA. En el Cuadro
I se detalla que se logr
´
o una disminuci
´
on del 92.16 % en
unidades l
´
ogicas (LUTs) y del 96.22 % en Flip-Flops (FFs).
Estos resultados permiten que el sistema completo utilice
menos del 60 % de la capacidad de la FPGA iCE40HX4K,
posibilitando la futura integraci
´
on de m
´
odulos adicionales.
V-B. Validaci
´
on funcional
El sistema se valid
´
o mediante la comparaci
´
on de los
resultados procesados en la FPGA frente a un modelo de
referencia desarrollado en MATLAB. Para esta evaluaci
´
on
se utilizaron “im
´
agenes de tortura” que contienen eventos
con geometr
´
ıas complejas, dise
˜
nadas espec
´
ıficamente para
estresar la l
´
ogica de clasificaci
´
on y analizar los l
´
ımites del
algoritmo.
Si bien el algoritmo optimizado presenta variaciones en la
segmentaci
´
on de estos casos l
´
ımite de geometr
´
ıa no natural,
su desempe
˜
no en im
´
agenes con trazas de radiaci
´
on real es
consistente con el modelo de referencia. El hardware procesa
los datos a una tasa de un cuadro por segundo.
Bajo condiciones normales de operaci
´
on, utilizando im
´
age-
nes obtenidas a partir de fuentes reales de radiaci
´
on, no se
observan diferencias significativas en el rendimiento respecto
al modelo de referencia. En la Fig. 4 se presenta el resultado
de aplicar el algoritmo optimizado sobre estos datos. Cada
grupo de p
´
ıxeles coloreados representa la traza dejada por la
deposici
´
on de energ
´
ıa de una part
´
ıcula ionizante individual
sobre el sensor CMOS MT9M001. La visualizaci
´
on confirma
la capacidad de la arquitectura propuesta para aislar eventos
de radiaci
´
on del ruido de fondo y clasificarlos correctamente
en tiempo real.
ISSN 2525-0159
https://elektron.fi.uba.ar
31
Revista Elektron, Vol. 10, No. 1, pp. 25–32 (2026)
https://doi.org/10.37537/rev.elektron.10.1.225.2026
Original Article
VI. CONCLUSIONES
Se desarroll
´
o e implement
´
o un sistema de detecci
´
on de
radiaci
´
on ionizante utilizando una FPGA de bajo consumo
y reducidas unidades l
´
ogicas junto a un transductor opto-
electr
´
onico de imagen. La optimizaci
´
on permiti
´
o una reduc-
ci
´
on superior al 90 % en el uso de recursos l
´
ogicos respecto
a implementaciones previas, manteniendo la capacidad de
generar histogramas de intensidad de eventos.
La validaci
´
on mediante modelos confirma que el sistema
es capaz de caracterizar eventos de radiaci
´
on en tiempo real.
Este dise
˜
no ofrece una soluci
´
on de bajo costo y reducida
utilizaci
´
on de
´
area, adecuada para la monitorizaci
´
on de dosis
en sat
´
elites de peque
˜
na escala. Como trabajo futuro, se planea
la fabricaci
´
on de la versi
´
on final del PCB y la realizaci
´
on
de pruebas de funcionamiento en vuelo para evaluar el
desempe
˜
no del sistema en condiciones orbitales.
DECLARACI
´
ON DE DISPONIBILIDAD DE DATOS
Los datos que respaldan los resultados de este estudio
est
´
an disponibles a partir del autor de correspondencia previa
solicitud razonable.
CREDIT DECLARACI
´
ON DE CONTRIBUCI
´
ON DE AUTOR
´
IA
Gaspar Dom
´
e: Software; investigaci
´
on; Validaci
´
on. M.
Celeste Cebedio: redacci
´
on borrador original. Maximi-
liano Antonelli: investigaci
´
on; Software; visualizaci
´
on; re-
dacci
´
on. Jorge Casti
˜
neira Moreira: supervisi
´
on. Luciana
De Micco: investigaci
´
on; visualizaci
´
on; Software; redacci
´
on.
Ra
´
ul E. Lopresti: supervisi
´
on.
REFERENCIAS
[1] R. D. Schrimpf and D. M. Fleetwood, Radiation Effects and Soft Errors
in Integrated Circuits and Electronic Devices. Singapore; New Jersey:
World Scientific, 2004, doi: 10.1142/5607.
[2] G. F. Knoll, Radiation Detection and Measurement, 3rd ed. Hoboken,
NJ: John Wiley & Sons, 1999, chapter 5, 7, 11, 12 y 13.
[3] A. H. Johnston, “Radiation damage of electronic and optoelectronic
devices in space, 4th International Workshop on Radiation Effects on
Semiconductor Devices for Space Application, 2000, accedido: abril
2025. [Online]. Available: https://nepp.nasa.gov/docuploads/D41D389
D-04D4-4710-BBCFF24F4529B3B3/Dmg Space-00.pdf
[4] M. P
´
erez, J. Lipovetzky, M. Sofo Haro, I. Sidelnik, J. J. Blostein,
F. Alcalde Bessia, and M. G
´
omez Berisso, “Particle detection and
classification using commercial off the shelf cmos image sensors,
Nuclear Instruments and Methods in Physics Research Section A:
Accelerators, Spectrometers, Detectors and Associated Equipment, vol.
827, pp. 171–180, 2016, doi: 10.1016/j.nima.2016.04.072.
[5] M. Rol
´
on and M. S. Garc
´
ıa, “Detector de radiaci
´
on ionizante para
aplicaciones satelitales, Tesis de grado, Universidad Nacional de Mar
del Plata (UNMDP), Mar del Plata, Buenos Aires, Argentina, 2021.
[6] T. Berger, D. Matthi
¨
a, S. Burmeister, C. Zeitlin, R. Rios, N. Stoffle,
N. A. Schwadron, H. E. Spence, D. M. Hassler, B. Ehresmann et al.,
“Long term variations of galactic cosmic radiation on board the
international space station, on the moon and on the surface of mars,
Journal of Space Weather and Space Climate, vol. 10, p. 34, 2020,
doi: 10.1051/swsc/2020028.
[7] J. Lipovetzky et al., “Evaluation of commercial off-the-shelf cmos
image sensors for total ionizing dose radiation detection, Ra-
diation Physics and Chemistry, vol. 177, p. 109156, 2020, doi:
10.1016/j.radphyschem.2020.109062.
[8] M. Wirthlin, “High-reliability fpga-based systems: Space, defect tole-
rance, and fault injection, Proceedings of the IEEE, vol. 103, no. 3,
pp. 379–392, 2015.
[9] Micron, “1/2-inch megapixel cmos digital image sensor, Datasheet,
2006. [Online]. Available: https://github.com/Fresita-codificadora/Pr
oyecto Final DOME/blob/main/datasheet/HOJA DE DATOS IMA
GER mt9m001 USADO CON FPGA.pdf
[10] Lattice Semiconductor Corporation, iCE40 LP/HX Family Handbook,
2017, accedido el 13 de abril de 2025. [Online]. Available:
https://www.latticesemi.com/
/media/latticesemi/documents/handbook
s/ice40familyhandbook.pdf
[11] Texas Instruments, “Pcb design guidelines for reduced emi, 2016.
[Online]. Available: https://www.ti.com/lit/an/szza009/szza009.pdf
[12] CIAA - Computadora Industrial Abierta Argentina, “Edu-ciaa-fpga -
computadora industrial abierta argentina, accedido el 13 de abril de
2025. [Online]. Available: https://www.proyecto-ciaa.com.ar/devwiki
/doku.php?id=edu-ciaa:fpga:start
ISSN 2525-0159
https://elektron.fi.uba.ar
32