Forum: FPGA, VHDL & Co. Lattice IPexpress FIR Generator 4.1 Frage


von Valko Z. (hydravliska)


Angehängte Dateien:

Lesenswert?

Hallo an alle,

ich kämpfe seit gewisse Zeit mit dem IPexpress FIR Generator 4.1 von 
Lattice.

Ich möchte ein FIR filter entwerfen. Die generierte IP Core habe ich 
simuliert und alles scheint OK zu sein.

Die Synthese lief auch komplett durch - keine Fehler bzw. Timing 
Probleme.

Das Problem ist aber, dass der negative Bereich von dem FIR Ausgang 
verauscht ist. Ich generiere mir im FPGA intern ein Sinuskurve die ich 
dann über DAC<->ADC überprüfe. Im Anhang findet man den Filter Eingang 
bzw. Ausgang sowie die Simulationsergebnis.

Ich kann mir einfach nicht erklären woher das Rauschen kommt und wieso 
im positiven Bereich alles wunderbar ist.

Deswegen wollte ich fragen ob jemand schon mal mit dem FIR Generator von 
Lattice gearbeitet hat.

FPGA: Lattice XP2-30
ispLever 7.2.00.41.49.08

Ich bedanke mich im voraus und wünsche euch ein schönes Wochenende.


Gruss,
Valentin

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Hallo,

u.U. funktioniert die Ansteuerung deines ADC nicht richtig. Hast du 
schon mal eine Rampe erzeugt und an den ADC gelegt?

Zeige mal den Beginn deiner Störung richtig groß.

Lässt den Filter überhaupt die Frequenz der Störung zu?

Tom

von Valko Z. (hydravliska)


Lesenswert?

Hi,

danke für den Antwort.

Wenn die ADC Ansteuerung nicht richtig funktionieren sollte, dann 
erwarte ich dass auch den Eingangssignal gestört wird, oder?

Der FIR wird mit eine Abtastfrequenz von 384 KHz betrieben. Die 
Grenzfrequenz liegt bei 96 KHz und davor ist auch ein analoge Filter mit 
dem gleichen Grenzfrequenz aktiv. Damit sollte nichts gefiltert werden.

Leider kann ich eine bessere Auflösung erst am Montag posten, da das 
ganze Aufbau an mein Arbeitsplatz liegt.

Trotzdem vielen dank.

Gruss,
Valentin

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Valko S. schrieb:
> Wenn die ADC Ansteuerung nicht richtig funktionieren sollte, dann
> erwarte ich dass auch den Eingangssignal gestört wird, oder?

Natürlich.
Ich meinte die Ansteuerung des DAC. Lege mal eine Rampe auf den DAC und 
sieh dir das analoge Signal an, dass er erzeugt.

Welche Frequenz hat die Störung? Das kann man in deinem Bild nicht 
sehen.

Tom

von Valko Z. (hydravliska)


Angehängte Dateien:

Lesenswert?

Hi,

erstmal vielen Dank für deine Bemühung.

Anbei einige Messungen die ich gerade durchgeführt habe.

Die Störung ist mit einem Frequenz von etwa 8KHz. Ich kann mir trotzdem 
nicht erklären wieso die Störung nur im negativen Bereich auftritt.

Ich habe auch eine Rampe am DAC von +- max ausgegeben und da konnte ich 
keine Abweichung sehen.

Ich habe auch dir PAR Ergebnisse untersucht, die angegebenen 
Multiplizierer werden auch instanziert und die Eingänge sind richtig. 
Ich kann mich auch schlecht vorstellen, dass der IPexpress von Lattice 
mist macht.

Gruss,
Valentin

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Wenn es Probleme beim PAR gibt, dann wird das Timing nicht erfüllt. Wenn 
man doch das Design rein lädt, gibt es nicht reproduzierbare Fehler. Das 
wird es nicht sein.

Die 8 kHz Störfrequenz lässt dein Filter durch, sogar auch noch das 
dreifache. Dann kann das Signal schon am Eingang des Filter gestört 
sein. Dann musst du die selbst erzeugte Rampe mal auf den Eingang deines 
Filter legen.

Tom

von Valko Z. (hydravliska)


Angehängte Dateien:

Lesenswert?

Hi,

also Timing Probleme sind nicht vorhanden.

Anbei die Rampe mit und ohne Filter. Man sieht, dass die Rampe gestört 
wird wenn der FIR aktiv ist. Die Störfrequenz ist die gleiche. Es gibt 
nichts zwischen den FIR und den DAC.

Mal sehen, ich suche weiter...

Danke trotzdem.

Gruss,
Valentin

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Bei deinem Filterausgang hätte ich jetzt erwartet, dass sich der Sprung 
von -FS auf +FS verschleift, dass sieht aber nicht so aus.

Tom

von Valko Z. (hydravliska)


Lesenswert?

Hi,

da hast du recht, aber im Hardware wird den Ausgang negiert, deswegen 
ist die Rampe auch invertiert.

Gruss,
Valentin

von Thomas R. (Firma: abaxor engineering) (abaxor)


Lesenswert?

Dein Filter hat eine Grenzfrequenz von 96 kHz, da kann er nicht so 
einfach einen Sprung durchlassen. Da muss etwas schwingen.

Tom

von Lattice User (Gast)


Lesenswert?

Eine Schwingung kann es nicht sein, da die Spikes nicht equidistant 
sind.

Da die Simulation funktioniert muss es ein Hardwareproblem sein. Ist 
denn die Setup und Hold Time des DAC eingehalten?

Übrigens ist ISPLever 7.2 schon etwas alt. Der XP2 wird von Diamond mit 
der kostenlosen Version unterstützt. Einziger Nachteil für dich: etwas 
Einarbeitungszeit da Aldec statt Modelsim als Simulator.

von Valko Z. (hydravliska)


Lesenswert?

Hi,

ich denke auch dass es ein Hardwareproblem ist. Die Simulation läuft 
einwandfrei. Ich hatte auch den Koeffizientensatz in Verdacht, dann 
würde aber die Simulation schon schief gehen.

Dass ispLever 7.2 verwendet wird hängt mit dem Projekt. Die versuchte 
Portierung hat erstmal nicht geklappt und deswegen wurde als 
Entwicklungsumgebung die 7.2 beibehalten.

Danke an alle für die Hilfe und die Vorschläge.

Gruss,
Valentin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.