Back

 

Questa applicazione è stata realizzata in Visual Basic 6.0 per testare il corretto funzionamento della scheda SEADDA-CF.

Tre segnali sono simultaneamente campionati (su 32 ingressi disponibili): un'onda sinusoidale, un rumore bianco, un dente di sega. La frequenza di campionamento di ogni canale è 43200/3 Hz, ed i campioni di ogni canale sono 1024.

Ovviamente, campionando, ad esempio, a 4000Hz un solo canale, avendo a disposizione 524288 campioni, posso acquisire per un tempo pari a: 524288/4000, cioè 131 secondi, poco più di 2 minuti, mantenendo una banda teorica di 2000Hz. (Vedi Utilità tecniche e teoriche )

Come si vede dai comandi, vari I/O digitali sono disponibili (Digital I/O).

Inoltre, quattro uscite analogiche, tra convenzionali e PWM, sono disponibili (DA0, DA1/Trigger, DA0-PWm, DA1-PWM).

Il trigger analogico, se usato, ha il livello definito dall'uscita DA1/Trigger.

La programmazione è molto semplice; nell'esempio seguente, il timer di Visual Basic gestisce il rinfresco delle onde acquisite, visualizzandole sullo schermo del PC, frame dopo frame, in modo simile ad un oscilloscopio.

Private Sub Timer1_Timer()
...
...
Call acq(N, M, Fs, start_ch, end_ch, analog_trg)
...
...
ricezione (N)
...
...
End Sub

La routine Acq(...) genera l'acquisizione, passando i parametri:
N =    numero di campioni da acquisire
M =   numero di campioni prima del trigger
Fs = frequenza di campionamento
start_ch = canale iniziale
end_ch = canale finale
analog_trg = valore di livello del trigger

La routine ricezione(N) recupera i campioni acquisiti.

Se il valore di trigger non è raggiunto dopo un tempo massimo, il campionamento parte comunque.