From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

sincronizzazione trasmissione e ricezione

sto lavorando su un ADSP-BF537 analog devices ho fatto un apiccola applicazione che fa l'acquisizione di un segnale analogico e di tale segnale faccio la FFT tale FFT viene passata alla porta UART e viene quindi trasmrssa tramitte porta seriale. I dati trasmessi vengono poi ricevuti del PC letti attraverso la serial VISA il problema è che i dati ricevuti non sono equivalenti ai dati trasmessi vengono visualizzati una serie di dati che non so a cosa sono dovuti....se voglio leggere tramite VISA 2400 campioni di byte, ne vengono letti solo una parte e l'impulso si visualizza solo dopo due tre plottaggi di dati, ciò può essere dovuto alla sincronizzazione della porta seriale dato che la trasmissione viene fatta da una macchina e la ricezione da un'altra con diverse caratteristiche fonddamentali????
o il problema è dovuto al formato dei dati trasmessi??? e alla sua trasformazione in stringa dato che si tratta del passaggio da arrey di reali a stringa

allego il progetto per consualtazioni...
0 Kudos
Messaggio 1 di 6
4.143Visualizzazioni
Ciao,
   purtroppo non ho tale hardware sotto mano, quindi le mie considerazioni sono un po' speculative....

   Innanzi tutto, per testare se i parametri VISA di comunicazione sono corretti, ti consiglio di creare una semplicissima applicazione che trasmette dati dal blackfin al PC, magari un ciclo che ad ogni iterazione invia un Byte in più.  Tieni dei tempi larghi tra l'invio di un frame e l'altro (un paccheto al secondo...), ed invia un pattern ben preciso, (che ne so... 0x55, 0x18, 0x55, etc...).  Ti dico questo perché sospetto ci sia un problema di buffer UART da una delle due parti, e sul datasheet del bleckfin, che ho scorso un po' rapidamente, non ho trovato una chiara informazione sul buffer seriale, ho solo letto che la trasmissione seriale è bufferizzata (...e questo, diciamo, lo si supponeva anche Smiley Lingua ).

   Un consiglio che va oltre queste prove, è di fare in modo che la trasmissione dei dati dell'FFT sia basata su un minimo di protocollo, a pacchetti, con dei CRC, insomma, devi essere in grado di discriminare i frame che arrivano, anche perché una desincronizzazione potrebbe portare a risultati clamorosamente errati!
 
   Buona giornata, e buon lavoro!

graziano
0 Kudos
Messaggio 2 di 6
4.136Visualizzazioni
Ciao graziano e grazie della risposta


prova un po a guardare questo video che ti allego questo è il risultato............ogni tanto compaiono spezzoni di onda sinusoidale esatti in ampiezza 1Vpp e in periodo  dt=0.001s dopo e prima picchi inspiegabili.......
0 Kudos
Messaggio 3 di 6
4.132Visualizzazioni
Ciao!
   non so bene il motivo, ma il tuo video è completamente grigio, non vedo nulla.  Non vorrei fosse un problema di rendering del mio lettore...

   Ti domando: se la forma d'onda doveva essere una FFT, non è troppo normale che sia una sinusoide, giusto? O il tuo segnale di ingresso è tale per cui la sua FFT è sinusoidale... ma questo sarebbe un pochino innaturale (dovresti avere dei picchi, se ricordo bene...).

graziano
0 Kudos
Messaggio 4 di 6
4.128Visualizzazioni
il video d me si vede anche dopo che l'ho estratto prova con un'altro lettore...

prima ho inviatto l'FFT ma dato che non riuscivo a distinguere i picchi "veri" da quelli "finti" ho inviato il segnale sinusoidale e il risultato è quello mostrato nel video....visualizzalo con WMP si deve vedere....
provo a riallegarlo
0 Kudos
Messaggio 5 di 6
4.126Visualizzazioni
Okay, ora va.

torno ad essere del mio avviso: crea un'applicaizone semplice per trasmettere i dati seriali, perché altrimenti non si riesce a capire dov'è il problema.  Potrebbe essere sia un errore dovuto al buffer limitato, o anche a dei parametri non corretti.   Il fatto comunque che riesca a vedere la formad'onda fa ben sperare, magari prova a fargli mandare un pezzetto di forma d'onda ogni tanto, in modo da non sovraccaricare il buffer.  Se non funziona, potrebbe essere un errore di livello fisico della seriale (anche se dovrebbe essere rilevato dal VISA del PC, dovresti ricevere un framing error, o roba simile...

graziano
0 Kudos
Messaggio 6 di 6
4.124Visualizzazioni