electrónica programable para ópticaresumen del taller de electrónica programable charla: ¿que es...

46
E l e c t r ó n i c a p r o g r a m a b l e p a r a ó p t i c a Marcelo Luda*, Matías Risaro, Jorge Codnia Láseres moleculares - Citedef * [email protected]

Upload: others

Post on 16-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Electrónica programable para óptica

Marcelo Luda*, Matías Risaro, Jorge CodniaLáseres moleculares - Citedef

* [email protected]

Page 2: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Tecnología e intrumentación

Tecnología

Desarrollo productivo

Herramientas

Instrumentación

Page 3: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Embebidos - ¿Industria 4.0?

"Era de la información"

Embebidos:

computadora+

electrónica específica

Arduino Raspberry PiRed Pitaya

Page 4: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 5: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Electrónica programable

"Field-Programmable Gate Array"

¿Que es Electrónica Programable?

¿Que es FPGA?

Page 6: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Electrónica programable

¿Que es Electrónica Programable?

Page 7: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Electrónica programable

¿Que es Electrónica Programable?

Page 8: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Electrónica programable

¿Que es Electrónica Programable?

• Cableado físico de componentes • Circuitos de lógica digital

Page 9: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Lógica digital

Circuito sumador

AND

NOT

OR

XOR

+ - +

Page 10: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

¿Para que sirve?

Procesamiento de señales

Adquisición

Control

Instrumentación

Page 11: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducció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

Page 12: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 13: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducció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

Microprocesadores

Page 14: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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 ...

Page 15: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 16: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 17: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducció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

FPGA "pura"

Page 18: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

FPGA

MUX

-in1

in2out2

CNT

start

rst

stopCMP

reg A

trigger

reg B

+reg C

out1

Page 19: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

FPGA

MUX

-in1

in2out2

CNT

start

rst

stopCMP

reg A

trigger

reg B

+reg C

out1Tiempo Real

Reloj

Page 20: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 21: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducció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

FPGA + Micro

Page 22: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 23: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 24: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

FPGA para óptica

Fabriquemos nuestras propias herramientas

Instrumentación

para óptica

Page 25: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 26: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 27: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Ejemplo de FPGA para óptica

Adquisición y pre-procesamientoCaracterización de fotomultiplicador

t

V

Para conteo de fotones

Page 28: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Ejemplo de FPGA para óptica

Adquisición y pre-procesamientoCaracterización de fotomultiplicador

t

V

Para conteo de fotones

Page 29: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Ejemplo de FPGA para óptica

Adquisición y pre-procesamientoCaracterización de fotomultiplicador

t

V

in1MIN

tick MEMwrite

outaddr

in1 +

Page 30: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Ejemplo de FPGA para óptica

Adquisición demoradaMedición de eventos muy separados en un TOF

t

VEvento disparador

Lo que quiero registrar

Page 31: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 32: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

FPGA+Micro para óptica

Ejemplos más sofisticados

Page 33: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Modulación + demodulación lock-in + PID

Múltimples instrumentos en uno

Generador de

funciones Amplificador

Lock-inOsciloscopio

+

Filtros PID

Page 34: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 35: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 36: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

El experimento

ECDL

⨯β⨯γ

Rb

PBS

driverPZT

respuesta del sistema

⨯50 FP

GA

Wavemeter

Modulación

Control

drivercorriente

Page 37: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Modulación

Respuesta

ControlPID

Error

Fase (+)

Contrafase (-)

Referencia

Producto

Promedio (pasabajos)

Técnica de amplificación lock-in

Page 38: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Modulación

Respuesta

ControlPID

Error

Fase (+)

Contrafase (-)

Técnica de amplificación lock-in

Page 39: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 40: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 41: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 42: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Comentarios finales

Aplicaciones a gran escala

Page 43: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Comentarios finales

Trampa de iones - Mainz

Au: 10-12µm

Page 44: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Comentarios finales

Trampa de iones - Mainz

Ca+

729

854

866

327

R1/CC

R2

R4

Page 45: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

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

Page 46: Electrónica programable para ópticaResumen del taller de electrónica programable Charla: ¿Que es SoC y FPGA? Aplicaciones en óptica e instrumentación mini-clase Introducción

Muchas Gracias

¿Preguntas?