Sine wave su FPGA
Moderatore: ILVG mod
-
- Advertisement
9 messaggi
• Pagina 1 di 1
Sine wave su FPGA
Buongiorno a tutti,
sto cercando di creare una sinusoide su cRIO passando per FPGA (cRIO 9045 e AO 9264), ma ottengo un onda quadra, probabilmente mi perdo qualcosa nella conversione dei tipi verso il modulo AO (FXP con Word lenght 20 bits a Integer word lenght di 5, range da -16 a +15,99)
Sono partito dall'esempio che ho trovato in LV2018: Hardware In and Out -> ComactRIO-> Signal Gen and Processing->Analog->Gen->Sine wave.
Il VI "sine wave generator" per fpga genera un dato I16 che devo adattare al modulo AO. Nell'allegato mostro il cast che ho eseguito. I VI e progetto sono troppo grandi per essere allegato, spero che quando scritto sia sufficiente per avere qualche spunto.
sto cercando di creare una sinusoide su cRIO passando per FPGA (cRIO 9045 e AO 9264), ma ottengo un onda quadra, probabilmente mi perdo qualcosa nella conversione dei tipi verso il modulo AO (FXP con Word lenght 20 bits a Integer word lenght di 5, range da -16 a +15,99)
Sono partito dall'esempio che ho trovato in LV2018: Hardware In and Out -> ComactRIO-> Signal Gen and Processing->Analog->Gen->Sine wave.
Il VI "sine wave generator" per fpga genera un dato I16 che devo adattare al modulo AO. Nell'allegato mostro il cast che ho eseguito. I VI e progetto sono troppo grandi per essere allegato, spero che quando scritto sia sufficiente per avere qualche spunto.
- Allegati
-
Modulo FPGA.JPG
- fpga
- (10.79 KiB) Mai scaricato
- ratataplam
- Nuovo Utente
- Messaggi: 21
- Iscritto il: gio dic 12, 2013 12:46 pm
Advertisement
Re: Sine wave su FPGA
Mi fa strano che possa essere un cast a modificare un onda sinusoidale in una quadra, a meno che la tua onda non abbia tutti valori molto superiori ai 5 bit e quindi tolto lo 0 tutti gli altri valori vengono limitati al 16 o qualcosa del genere.Trovo piu' facile che sia un errore nel blocchetto di generazione dell'onda.
Puoi estrapolare quella parte e postarla? o magari ancche uno screenshot.
Puoi estrapolare quella parte e postarla? o magari ancche uno screenshot.
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2149
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Sine wave su FPGA
Ciao,
provo ad allegare lo sreenshot. Grazie per la veloce risposta.
provo ad allegare lo sreenshot. Grazie per la veloce risposta.
- ratataplam
- Nuovo Utente
- Messaggi: 21
- Iscritto il: gio dic 12, 2013 12:46 pm
Re: Sine wave su FPGA
Niente, ssenza avere i valori che compongono la sinewave è difficile replicare il tutto
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2149
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Sine wave su FPGA
Ho fatto un po' di simulazioni e secondo me sono i valori che inserisci a far saltare tutto.
Non mi è molto chiaro con che criteri questa onda venga generata, ma di sicuro è simmetrica rispetto allo zero, quindi devi dare l'offset corretto per avere valori solo positivi accettati dal tuo valore a 5bit idem per il range di valori.
Non mi è molto chiaro con che criteri questa onda venga generata, ma di sicuro è simmetrica rispetto allo zero, quindi devi dare l'offset corretto per avere valori solo positivi accettati dal tuo valore a 5bit idem per il range di valori.
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2149
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Sine wave su FPGA
Ciao, da oscilloscopio vedo che frequenza e ampiezza sono corretti, ma esce un onda quadra. temo che il problema sia la AO che accetta FXP, mentre il VI genera un I16.Forse mi perdo qualcosa li dentro.
Sfortunatamente il progetto, anche se *.zip, e' treppo grande per essere postato (1,5 MB)
Sfortunatamente il progetto, anche se *.zip, e' treppo grande per essere postato (1,5 MB)
- ratataplam
- Nuovo Utente
- Messaggi: 21
- Iscritto il: gio dic 12, 2013 12:46 pm
Re: Sine wave su FPGA
Mi dai i valori del controllo sinewave1.
Hai provato a collegare un waveform graph all'uscita e visualizzare quello che stai generando?
Hai provato a collegare un waveform graph all'uscita e visualizzare quello che stai generando?
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2149
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Sine wave su FPGA
Ciao, ti allego i parametri, ho ripreso l'esempio presente in LV e in parte UI ho usato gli stessi VI per generare questi valori, la freq. di FPGA e' la stessa.
No ho ancora messo un graph per vedere cosa genero, ma l'esempio LV che citavo e' stato importato sulla mia cRIO e genero sempre un onda quadra (da oscilloscopio) ma vedo una sinusoide sul graph in UI. Nell'esempio c'e' un loopback di quanto generato verso UI.
Grazie per il tempo dedicato.
No ho ancora messo un graph per vedere cosa genero, ma l'esempio LV che citavo e' stato importato sulla mia cRIO e genero sempre un onda quadra (da oscilloscopio) ma vedo una sinusoide sul graph in UI. Nell'esempio c'e' un loopback di quanto generato verso UI.
Grazie per il tempo dedicato.
- Allegati
-
SinewaveParameters.JPG
- parametri
- (15.43 KiB) Mai scaricato
- ratataplam
- Nuovo Utente
- Messaggi: 21
- Iscritto il: gio dic 12, 2013 12:46 pm
Re: Sine wave su FPGA
Non mi torna quel valore 4 nello scale factor.
I valori ammessi vanno da -1 a 0,999969.
In piu' quel valore di frequenza, sembra generare un digitale che digitale non è.
Nel senso che è talmente bassa la frequenza che a grafico si vedono solo dei gradini ma è la discretizzazione dell'onda che si sta formando.
Inoltre come dicevo, con questi valori, ipotizzando che lo scale factor venga approssimato al valore massimo, ogni gradino discretizzato vale 200 quindi portando il tutto a un FXP di 5 bit praticamente segheresti tutti i valori.
Ti allego un estrapolazione della generazione dell'onda per vedere se confermi quanto ti ho detto.
I valori ammessi vanno da -1 a 0,999969.
In piu' quel valore di frequenza, sembra generare un digitale che digitale non è.
Nel senso che è talmente bassa la frequenza che a grafico si vedono solo dei gradini ma è la discretizzazione dell'onda che si sta formando.
Inoltre come dicevo, con questi valori, ipotizzando che lo scale factor venga approssimato al valore massimo, ogni gradino discretizzato vale 200 quindi portando il tutto a un FXP di 5 bit praticamente segheresti tutti i valori.
Ti allego un estrapolazione della generazione dell'onda per vedere se confermi quanto ti ho detto.
- Allegati
-
cRIOsinewave.vi
- (42.27 KiB) Scaricato 152 volte
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2149
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
9 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti