View
5
Download
0
Category
Preview:
Citation preview
Electrónica programable para óptica
Marcelo Luda*, Matías Risaro, Jorge CodniaLáseres moleculares - Citedef
* mluda@citedef.gob.ar
Tecnología e intrumentación
Tecnología
Desarrollo productivo
Herramientas
Instrumentación
Embebidos - ¿Industria 4.0?
"Era de la información"
Embebidos:
computadora+
electrónica específica
Arduino Raspberry PiRed Pitaya
Resumen del taller de electrónica programable
Charla:¿Que es SoC y FPGA?Aplicaciones en óptica e instrumentación
mini-claseIntroducción a la programación en VerilogFramework para FPGA en Red Pitaya
Actividad práctica: desarrollamos una herramientaProgramar la capa FPGA de una Red Pitaya para procesamiento de señales
Electrónica programable
"Field-Programmable Gate Array"
¿Que es Electrónica Programable?
¿Que es FPGA?
Electrónica programable
¿Que es Electrónica Programable?
Electrónica programable
¿Que es Electrónica Programable?
Electrónica programable
¿Que es Electrónica Programable?
• Cableado físico de componentes • Circuitos de lógica digital
Lógica digital
Circuito sumador
AND
NOT
OR
XOR
+ - +
¿Para que sirve?
Procesamiento de señales
Adquisición
Control
Instrumentación
Instrumentación con microelectrónica
Arduino Microcontrolador
RaspberryMicroprocesador
Nexys3FPGA "pura"
ZyboMicro+FPGA
Red PitayaMicro+FPGA
Orientada a procesamiento analógicoParte en software libre → Comunidad
Adquisición, procesamiento y control
Dispositivo
t
V
t
dADC
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
t
Dispositivo
t
VDAC
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
t
Análisis de datos en computadora o papel
Procesamiento en el Dispositivo
Instrumentación con microelectrónica
Arduino Microcontrolador
RaspberryMicroprocesador
Nexys3FPGA "pura"
ZyboMicro+FPGA
Red PitayaMicro+FPGA
Orientada a procesamiento analógicoParte en software libre → Comunidad
Microprocesadores
Microprocesador
0
1
0
1
0
1
1
1
1
1
0
1
CPU
Memoria
5
7
`+`
datos
instrucción
0
0
0
0
1
1
0
1
13 salida de datos
Conjunto de instrucciones:
MOV, PUCH, CALL, CMP, ADD, POP ...
Microprocesador
0
1
0
1
0
1
1
1
1
1
0
1
CPU
Memoria
5
7
`+`
datos
instrucción
0
0
0
0
1
1
0
1
13 salida de datos
Conjunto de instrucciones:
MOV, PUCH, CALL, CMP, ADD, POP ...
#include <stdio.h>int main(){
int i, j, rows;
printf("Enter number of rows: ");scanf("%d",&rows);
for(i=1; i<=rows; ++i){
for(j=1; j<=i; ++j){
printf("* ");}printf("\n");
}return 0;
}
Algoritmo
Microprocesador // FPGA
MICROPROCESADORES
Programanción procedimental
Una instrucción a la vez
Limitado por reloj
"No-determinista": interrupciones, SO, etc
Programación muy versátil y flexiblefloat, int, array, complex, etcSe puede auto-modificar
Instrumentación con microelectrónica
Arduino Microcontrolador
RaspberryMicroprocesador
Nexys3FPGA "pura"
ZyboMicro+FPGA
Red PitayaMicro+FPGA
Orientada a procesamiento analógicoParte en software libre → Comunidad
FPGA "pura"
FPGA
MUX
-in1
in2out2
CNT
start
rst
stopCMP
reg A
trigger
reg B
+reg C
out1
FPGA
MUX
-in1
in2out2
CNT
start
rst
stopCMP
reg A
trigger
reg B
+reg C
out1Tiempo Real
Reloj
Microprocesador // FPGA
MICROPROCESADORES FPGA
Programanción procedimental
Una instrucción a la vez
Limitado por reloj
"No-determinista": interrupciones, SO, etc
Programación muy versátil y flexiblefloat, int, array, complex, etcSe puede auto-modificar
Diseño de cableado: "flujo"
Todo en paralelo
Tiempo real (puede usar reloj)
Determinista
Diseño rígido y limitadoint, uintregistros → parametros
→ multiplexores
Instrumentación con microelectrónica
Arduino Microcontrolador
RaspberryMicroprocesador
Nexys3FPGA "pura"
ZyboMicro+FPGA
Red PitayaMicro+FPGA
Orientada a procesamiento analógicoParte en software libre → Comunidad
FPGA + Micro
Micro + FPGA
ZyboMicro+FPGARed Pitaya
Micro+FPGA
Capa de MicroprocesadorProgramación versatilSistema operativoManejo de mermoria
Capa FPGAAdquisición y procesamiento en tiepo realControl mediante registros
Hardware Red Pitaya
Hardware cerradoSoftware Libre
125 MS/s, 14 bits, ±1 V
Fast analog inputs125 MS/s, 14 bits, ±1 V
Fast analog outputs
16 I/O ch., 125 MS/s, 3.3 V
Digital extension~100 kS/s, ~12 bits, 0-1.8 V
4 SAR ADC ch., 4 PWM DAC ch.,
Analog extension
1 Gb/s
Ethernet
OTG
USBSO console
micro USBPower in 5 V, 2 A
micro USB
OS drive & FPGA design
microSD
Daisy chain
512 MB
DDR3 RAMDual core ARM-Cortex A9 Zync SoC
Microprocessor + FPGA
Osciloscopio
Generador de funciones
Filtros
Microcontrolador
FPGA para óptica
Fabriquemos nuestras propias herramientas
Instrumentación
para óptica
Ejemplo de FPGA para óptica
Adquisición y pre-procesamientoExperimento de teleportación cuántica*
*Knoll et al. , arxiv:1602.07196
Detector de coincidencias y
conteo
H
D1
D2
H
D1
D2
Ejemplo de FPGA para óptica
Adquisición y pre-procesamientoExperimento de teleportación cuántica*
*Knoll et al. , arxiv:1602.07196
CNT+1
CNT+1
reg A
reg B
H
D1
D2
Ejemplo de FPGA para óptica
Adquisición y pre-procesamientoCaracterización de fotomultiplicador
t
V
Para conteo de fotones
Ejemplo de FPGA para óptica
Adquisición y pre-procesamientoCaracterización de fotomultiplicador
t
V
Para conteo de fotones
Ejemplo de FPGA para óptica
Adquisición y pre-procesamientoCaracterización de fotomultiplicador
t
V
in1MIN
tick MEMwrite
outaddr
in1 +
Ejemplo de FPGA para óptica
Adquisición demoradaMedición de eventos muy separados en un TOF
t
VEvento disparador
Lo que quiero registrar
Ejemplo de FPGA para óptica
Adquisición demoradaMedición de eventos muy separados en un TOF
t
VEvento disparador
Lo que quiero registrar
MEMwrite
addr
in
in1DET
tick
CNTstart
CNTstart
CMP
reg A
FPGA+Micro para óptica
Ejemplos más sofisticados
Modulación + demodulación lock-in + PID
Múltimples instrumentos en uno
Generador de
funciones Amplificador
Lock-inOsciloscopio
+
Filtros PID
Estabilización de longitud de onda de láser
pump
probe
Fotodiodo
ECDL
QWP
Celda Rb Filtroneutro
Espejo
Sistemas de lockeo para estabilizar λ en láseres
Patrónmetrológico
500 1000 1500 2000 2500 3000
1500
500
1000
Po
ten
cia
l fo
tod
iod
o [
mV
]
Barrido en frecuencia [MHz]
Fe=3
Fe=2
Fe=1
Fe=3
Fe=2
Fe=4
87Rb Ff=2 85Rb Ff=387Rb 85Rb
D2 Rb: ~384 THz
Barrido enfrecuencia
Estabilización de longitud de onda de láser
pump
probe
Fotodiodo
ECDL
QWP
Celda Rb Filtroneutro
Espejo
Sistemas de lockeo para estabilizar λ en láseres
Patrónmetrológico
500 1000 1500 2000 2500 3000
1500
500
1000
Po
ten
cia
l fo
tod
iod
o [
mV
]
Barrido en frecuencia [MHz]
Fe=3
Fe=2
Fe=1
Fe=3
Fe=2
Fe=4
87Rb Ff=2 85Rb Ff=387Rb 85Rb
D2 Rb: ~384 THz
Barrido enfrecuencia
El experimento
ECDL
⨯β⨯γ
Rb
PBS
driverPZT
respuesta del sistema
⨯50 FP
GA
Wavemeter
Modulación
Control
drivercorriente
Modulación
Respuesta
ControlPID
Error
Fase (+)
Contrafase (-)
Referencia
Producto
Promedio (pasabajos)
Técnica de amplificación lock-in
Modulación
Respuesta
ControlPID
Error
Fase (+)
Contrafase (-)
Técnica de amplificación lock-in
Senoaddrclk n+1
faseΔt
A
⨯A
PID
ki kp kd rst⨯∫d
Sistema Operativo
señal
FPGA
error
regupd
Modulación
±1 V
Control
±1 VBarrido
on/off
Implementeación Lock-in FPGA
Senoaddrclk n+1
faseΔt
A
⨯A
PID
ki kp kd rst⨯∫d
Sistema Operativo
señal
FPGA
error
regupd
Modulación
±1 V
Control
±1 VBarrido
on/off
Implementeación Lock-in FPGA
Resultados
lock onseg
-2 0 2
Señal Error
4 6
Salida PID
Señal fotodiodo
Desviación de Allan
De
svia
ció
n d
e f
rec
ue
nc
ia f
rac
cio
na
ria
Libre
Estabilizado
mV
Lockeo de láserReferencia de frecuencia óptica
Comentarios finales
Aplicaciones a gran escala
Comentarios finales
Trampa de iones - Mainz
Au: 10-12µm
Comentarios finales
Trampa de iones - Mainz
Ca+
729
854
866
327
R1/CC
R2
R4
Comentarios finales
Trampa de iones - Mainz
Pound-Drever-Hallmodulación: ~30 MHz
colaboración con LIAF - FCEN-UBA
automatización
monitoreo
control remoto
integración
5 lásers para el experimento
Control de λ por PDHMódulos RP para: - Generación de RF - Demodulación Lock-in - Control PID
Muchas Gracias
¿Preguntas?
Recommended