2. Esquema de tiempos de una
adquisición
No proporcional – sólo esquemático
Digitalización e integración se realizan en
paralelo
3. Pruebas de escalabilidad
Tiempo de captura en función de número de tarjetas Bytes tranferidos en función de tiempo de adquisición
1,80E-02 90000
f(x) = 4,12E-03x + 6,49E-04 f(x) = 4,97E+006x + 1,76E+000
R² = 1,00E+00 R² = 1,00E+000
80000
1,60E-02
70000
1,40E-02
60000
Tiempo de captura
bytes tranferidos
1,20E-02 50000
40000
1,00E-02
30000
8,00E-03
20000
6,00E-03
10000
4,00E-03 0
0,5 1 1,5 2 2,5 3 3,5 4 4,5 0,00E+00 5,00E-03 1,00E-02 1,50E-02 2,00E-02
Número de Tarjetas Matacq Tiempo de adqusición (s)
4. Pruebas de escalabilidad
Frecuencia de adquisición muy por debajo de lo
ofrecido por el fabricante (550Hz máximo frente
a 1KHz)
Tiempo de captura lineal con el número de matacqs
Pendiente = Tasa de transferencia ~ 5MB/s
4 Matacqs: 58 Hz, tiempo muerto 17 ms
Solución → lectura en modo FIFO
5. Pruebas en modo FIFO
Número de Matacqs vs. tiempo adquisición Bytes transferidos en función del tiempo de adquisición
7,00E-03
f(x) = 1,47E-03x + 6,97E-04 90000
R² = 1,00E+00 f(x) = 1,40E+07x + 4,15E+00
6,50E-03 R² = 1,00E+00
f(x) = 1,47E-03x + 7,20E-04 80000
R² = 1,00E+00
6,00E-03
70000
5,50E-03
60000
tiempo adquisición (s)
5,00E-03
bytes transferidos
50000
4,50E-03
40000
4,00E-03
3,50E-03 30000
Poll
Regresión lineal
3,00E-03 para Poll 20000
Interrupciones
Regresión lineal
2,50E-03 para 10000
Interrupciones
2,00E-03 0
0,5 1 1,5 2 2,5 3 3,5 4 4,5 0,00E+00 2,00E-03 4,00E-03 6,00E-03 8,00E-03
Número de Matacqs Tiempo de adquisición (s)
6. Pruebas en modo FIFO
Frecuencia de adquisición cercana a la del manual
(900Hz máximo frente a 1KHz)
El tiempo de captura sigue lineal con el número de
matacqs
Pendiente = Tasa de transferencia ~ 14 MB/s
4 Matacqs: ~150 Hz, tiempo muerto 6 ms (casi
tres veces menor)
7. Pruebas en modo FIFO
Latencia de adquisición por interrupciones un poco
superior a la del 'polling' (~20 µs más de media)
El polling introduce ruido en los pulsos
Es necesario probar a bajas frecuencias de captura
midiendo el tiempo vivo
Es necesario hacer un análisis fino de los pulsos
para tomar una decisión (ver si el ruido 'molesta')
8. Pruebas sin pulsos
Tiempo adquisición en función del número de canales
3,000E-04
f(x) = 1,10E-05x + 6,73E-05
2,500E-04
R² = 1,00E+00
2,000E-04
tiempo adquisición (s)
1,500E-04
1,000E-04
5,000E-05
0,000E+00
0 2 4 6 8 10 12 14 16 18
Canales QDC
9. Pruebas sin pulsos
La frecuencia máxima de adquisición con 1 canal
es 12KHz . Con 16 canales 4.1KHz
Periodos respectivos de 78 y 243 µs
Se aligera mucho la adquisición
No se aprovecha (aún?) los buffers de hardware
y se puede mejorar el modo de lectura.
El fabricante da tiempos ~ 4 µs deadtime
11. Guardar datos de modo
asíncrono
Un thread (proceso) se encarga de guardar los
datos a disco para permitir que el reseteo de la
adquisición sea antes.
Guardar los datos en paralelo disminuye el tiempo
de adquisición ~ 17%
12. Pendientes
Almacenamiento condicional
Guardar sólo baja energía, coincidencias, ...
Almacenamiento de la configuración
Relojes de tiempo vivo: PCI 1735, 1780
Análisis de datos, transición
Usar buffers hardware
¿Prioridades?