Salve, ho sviluppato un device compliant con la classe USBTMC e posso accedervi da Labview usando VISA (open, close, write, read ecc)
uso BulkIn e BulkOut transfer.
Devo mandare al device una frame di 256 byte in un tempo predeterminato. In sintesi il device manda una frame di dati ad un DAC ad una velocità di 48 KByte/sec. La frame è di 256 Byte quindi il tempo complessivo per la sua emissione è di 256 * 1/48000 = 5.3333 msec
Ho un buffer sul device di 16 Frame per compensare eventuali problemi di jitter.
Il loop di labview deve inviare una frame ogni 5.333 msec ma rilevo che l'esecuzione del loop non è sempre costante. Ho provato ad usare un timed loop ma la Time Source minima è di 1 Khz in quanto sembra che Windows non supporti quella da 1 Mhz, ovviamente 1 Khz è inadeguato per generare un timing di 5.333 msec
Nella tramissione dal VI al device In pratica ho sempre problemi di overrun o underrun. Devo sincronizzare i due dispositivi. Qualche idea ?
Ciao a tutti, Fabio.