Hallo alle zusammen! Folgendes Problem.Ich möchte mittels Labview mir Daten vom Spartan 3E ausgeben lassen.Es wird eine Spannung an den Eingang des ADC gelegt und mit Labview kann ich mir das Signal angucken.Das klappt soweit ganz gut und es werden mir die richtigen Werte angezeigt bei Gleichspannung bei minimalem Rauschen.Wenn ich aber einen Sinus anlege,dann sieht der Sinus nur für sehr geringe Frequenzen nach einem Sinus aus(bis 500mHZ).Bei höheren Frequenzen wirkt der Sinus abgehakt und sehr spitz,als wenn er mit dem sampeln nicht hinterherkommt.Die Frage ist,woran liegt das:Das Spartan 3 E ist über ein USB-Kabel mit dem PC verbunden.Wenn ich Daten Einles und Anzeigen lasse,geht der REchner manchmal leicht in die Knie(50%Rechnerauslastung).Jetzt habe ich im Netz gelesen,das die USB-Schnittstelle nicht DMA-fähig ist.Könnte das die Ursache sein?Ist eine ande Schnitstelle DMA-fähig?RS232?Netzwerk?JTAG? Wenn das die Ursache sein sollte,wie kann man das Problem am besten Umgehen mit der Laufzeit?Gibt es eine Labviewlösung(Buffer,FIFO,etc.)? Was mich auch interessieren würde,ob es nicht am besten ist ds Board "stand alone" zubetreiben.Das man sich die VI`s auf den Flash downloaded und eine Spannung an den ADC angelegt wird und die Daten im Flashspeicher gespeichert werden.Kann man die gespeicherten Daten einfach wieder auslesen mittels USB,wenn man den REchenr weider anschließt oder muss dies über eine andere Schnittstelle geschehen(RS232)?Würde mich freuen,wenn mir einer helfen könnte. Mit freundlichen Grüßen Peter
Peter schrieb: > Wenn ich Daten Einles und Anzeigen lasse,geht der REchner manchmal > leicht in die Knie(50%Rechnerauslastung). Und wer zwingt den in die Knie? > Jetzt habe ich im Netz gelesen,das die > USB-Schnittstelle nicht DMA-fähig ist. Was man nicht so alles liest... > Könnte das die Ursache sein? Nein, das mit dem DMA ist nicht dein Problem.
Wow.... wer soll denn daraus schlau werden ? ADC ? DMA-fähig?RS232?Netzwerk?JTAG? ??????? Willst Du die einfache Antwort ? Sie lautet: Äheemmm - wat is ?
Du meinst wohl das spartan 3e board von national instruments, das sich mit labview für fpga programmieren lässt. Da kocht national instruments sein eigenes süppchen und will Geld verdienen. Also am besten gleich an deren support wenden.
Genau,ich meine das Spartan 3 Starter Kit. @ Lothar Miller Der Computer ist leistungsfähig.Aber,wenn ich den ADC(Analog-Digital-Converter) auslese und mir graphisch darstellen lassen will auf dem Rechner,dann verschwimmt der Sinus teilweise,wenn der REchner nicht hinterherkommt.Es bricht teilweise eine Halbwelle weg. Hatte jemand schon ein ähnliches Problem?
Peter schrieb: > Hatte jemand schon ein ähnliches Problem? Das Problem heißt wohl Labview und Windows. Denn der Rechner ist garantiert schnell genug für die paar Bytes.
Wäre es sinnvoll,sich die daten in einen Ringbuffer einlesen zu lassen und alle in einem Aray schalgartig weider ausgeben zu lassen?Wurde das die Verzögerung neutralsieren?Ich meine online können wir die WErte eh nicht einsehen,aber vllt kann man nachhaltig ordentich Messreihen aufnehmen und abspeichern!
Peter schrieb: > Wäre es sinnvoll,sich die daten in einen Ringbuffer einlesen zu lassen > und alle in einem Aray schalgartig weider ausgeben zu lassen? Es wäre sicher sinnvoll, Windows nicht dauernd das Fenster neu malen zu lassen. Aber ein Stück Software wie Labview sollte das eigentlich berücksichtigen... :-/
Wie wird denn jetzt abgetatstet? Etwa software-gesteuert auf Kommando hin? Das kann nicht gut gehn. Die normale und sichere Vorgehensweise wäre, auf Kommando hin die Messung zu starten, das Abtasten und Speichern der Werte in einen FIFO übernimmt das FPGA. Dann können die Daten in alle Ruhe auf der anderen Seite des FIFOs zum PC übertragen werden. Wenn du alle Daten hast, startest du eine neue Messung. Für echtes Streaming brauchst du auch einen Speicher und deine Übertragung und Verarbeitung muss auch unter worst-case Bedingungen schneller sein als die Abtastung, sonst verliert der wieder Daten bzw. der FIFO läuft voll.
Ja,es wird Softwaregesteuert abgetastet.Wie würde so eine FIFO-GEsichte ungefähr aussehen?
Das ist natürlich Murks. Dann bekommst du nie eine äquidistante Abtastung hin. Im einfachsten Fall ein FIFO aus dem Core Generator, den du mit den ADC Daten beschreibst und auf der Lese-Seite deine PC-Interface Logik dran hast. Wenn das ganze rund werden soll, dann ein Sample-Zähler, der per Kommando gestartet wird, und eine bestimmte Anzahl Samples in den FIFO schreibt, die du dann ausliest. Mehr kann man ohne Kenntnis deines Designs nicht sagen.
was würdest du denn zum dEsign wissen wollen?Liest man den FIFO auf dem Board aus(Flash) oder lässt man quasi den Speicher(Computer) voll laufen und liesst dann aus?
Welcher Flash? Hast du überhaupt irgendwelche Vorbildung im FPGA-Bereich? Deinen Fragen nach zu urteilen weißt du weder viel über Signalverarbeitung noch über FPGAs. Da wirds extrem schwierig....
Das Problem ist, dass NI die Leute glauben machen will, dass jeder die Stärken der FPGAs ohne Vorkenntnisse nutzen kann. Ich wäre auch beinahe auf sowas reingefallen, habe damals aber zum Glück mit VHDL angefangen. Das Problem ist, dass Du bei FPGAs mit Labview weder genau weißt, was der FPGA macht, noch was die übrige HW auf dem Board macht, noch was Labview nachher mit den Daten macht. Die Leute die hier mit FPGAs arbeiten wissen dagegen meistens genau, was mit jedem Baustein auf dem Board und mit jedem Bit im FPGA passiert. Fragen wie deine haben leider nix mit FPGAs als solches zu tun, sondern sind sehr speziell auf das NI-Board bezogen. Wenn du Labview und das Board gekauft hast, hast du sicher auch Support. Ob dir der Support in solchen Fällen helfen kann ist eine andere Frage. Es gibt z.B. FPGA-Entwickler, die z.B. mehre MB große FIFOs nutzen, um eine Übertragung der Daten zum PC zu gewährleisten. Macht NI sowas? Ist überhaupt Zweck des Boards sowas zu gewährleisten? Oder ist das eh nur ein Experimentierboard (soweit ich weiß ist es so). Für was richtiges bräuchte man dann ein Virtex-Board für mehrere tausend Euro. Das sind fragen, die Dir der NI Support sicher beantworten kann, vielleicht wissen die inzwischen, dass es Labview f. FPGAs gibt, vor einiger Zeit war das nicht der Fall... Ansonsten kannst Du erstmal schauen, ob dir Labview die Daten auf dem PC in eine Datei ohne Verlust schreiben kann, ohne sie aufm Monitor auszugeben. Danach kannst Du sie Dir anschauen. Das Problem bei dir ist vermutlich genau diese Ausgabe, die bei vielen Daten nicht mitkommt. Bei graphischer Ausgabe ist Labview langsam, ausserdem ist das ganze auch sehr stark von deinem Programmierstil abhängig. Für effiziente Labview-Programmierung gibt es wieder mehrere Labview Bücher. Apropos Labview - das Programm ist eigentlich gar nicht mal so schlecht, wenn man mal auf die Schnelle was graphisch ansprechendes hinbekommen will und wenn man von mehreren nicht durchdachten Sachen absieht. Hab heute z.B. einen ganzen Tag damit verbracht, ein bestehendes Labview-Projekt in ein neues Verzeichnis zu duplizieren. Sowas alltägliches ist anscheinend nicht vorgesehen. Anruf beim Support hat wieder mal nix gebracht... Ich musste eigentlich dem netten Spezialisten erklären, wie Labview funktioniert.
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.