Hallo Leute, ich habe folgendes Problem, welches ich nicht verstehe: Ich habe mir aus OP's einen Deltamodulator gebaut, welchen ich an zwei Pins des FPGA's angeschlossen habe. Modul deltamod hat also einen Eingang und einen Ausgang. Ist der Eing. 1, ist der Ausg. 0 und je nachdem wird im FPGA ein Zähler inkrementiert oder dekrementiert. Jetzt das Merkwürdige Verhalten: Gehe ich mit dem Deltamodulator-Takt zu hoch, habe ich Sprünge im Zähler wie im Bild "log_gnuplot_26kHz.png". Normal sollte es immer so wie bei "log_gnuplot_20kHz.png" aussehen. Hier habe ich keine größeren Sprünge als + oder - 1. (Die Konfiguration lässt ja eig. nichts anderes zu.) Woran könnte es liegen? Benutze den MAX10 10M16DCF484C8G und den Internen Oscil sowie RAM. Info zu vhdl-Dateien: measurement.vhd bindet deltamod.vhd ein. Der vhdl-Deltademodulator läuft ununterbrochen. In measurement wird der Startpunkt einer Messung gesetzt: -Werte des Deltamods in RAM speichern und anschließend über UART ausgeben. Info zu Osci-Bildern: blau: Deltamod FPGA-Ausgang pink: Deltamod FPGA-Eingang Grün: Analoger Integrator-Ausgang des Deltamods Gelb: Deltamod Signal-Eingang (mittlere Aussteuerung) Liebsten Dank. Weitere Infos kann ich liefern. Mir geht es aber um die Sache wie mein Zähler intern im FPGA so zittern kann und nicht darum, dass ein selbstbau Deltamod seine Grenzen hat.
nee hab ich nicht. Ich gucke einzig zur Steigenden den FPGA-Eing. und schalte dem entsprechend den Ausg. Ist mir erst mal egal ob er den Eingang richtig erkennt. Was ich nicht verstehe. Im Prog/Konfig ist das einzige, was ich mit dem 8-bit-Signal mache, das Inrementieren und das Dekrementieren. Es ist ein Überlaufen möglich aber doch keine Sprünge in Mitten des Wertebereichs.
OLEG schrieb: > Ist mir erst mal egal ob er den Eingang richtig erkennt. offensichtlich ist es das nicht, denn genau daher kommen die Sprünge in deinem Zähler. Beim Zählen müssen ja mehrere Stellen deines Zählers gleichzeitig ihren Wert ändern. Zu den Sprüngen kommt es, wenn einige Bits deines Zählers glauben, sie müssen nach oben zählen, während andere Bits glauben, sie müssten nach unten zählen. Das Problem vermeidest du, indem das externe Signal einsynchronisierst - dann zählen alle Bits deines Zählers in die selbe Richtung.
ist ja lustig... Tausend Dank es Funktioniert. Jetz kann ich weiter experimentieren. Werd jetz aber erstmal Lesen bis ich das Prob mit dem einsyncronisieren verstanden habe.
Eine gute Quelle was Info angeht wäre die Seite von Lothar http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren Gruss
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.