INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

FPGA-Projekt: Experimentsteuerung, Probleme mit der Zeitauflösung Einstellungen Thema abonnieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

23.02.2007, 08:30
Beitrag #1

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
FPGA-Projekt: Experimentsteuerung, Probleme mit der Zeitauflösung Einstellungen Thema abonnieren
Hallo LV-Gemeinde!

Ich sitze leider immer noch an meinem kleinen Projekt, die NI-7811R für eine Experimentsteuerung zu programmieren. Das Grundgerüst steht und funktioniert auch ganz gut. Leider hab ich ein Problem, an dem ich nicht weiterkomme und hoffe, dass mir hier vielleicht jemand weiterhelfen kann.

Zunächst aber erst einmal die Grundidee:

Wie ich schon angedeutet habe, möchten wir die FPGA-Karte für das Timing unseres Experimentes nutzen. Von den 160 digitalen Ausgängen sollen 64 für die Pulserzeugung verwendet werden, die dann quasi Trigger für externe Geräte darstellen. Desweiteren sind seitens mir 8 Kanäle als Triggereingänge vorgesehen. Das bedeutet, die Pulsabfolge kann durch eine Warte-Funktion unterbrochen werden, die nur dann die Abarbeitung weiterlaufen lässt, wenn ein bestimmter Triggerzustand anliegt.
Eine dritte Funktion soll das Abarbeiten intern von Schleifen sein, um einzelne Sequenzen wiederholt laufen zu lassen. Das wäre dann lediglich eine interne Verarbeitung.

Soweit so gut und ich hoffe ihr konntet bis dahin folgen.

Die bisherige Umsetzung (ich werde das eine oder andere Bild am Ende noch mit ranhängen):

Ich sagte ja bereits, dass die Karte intern mit 4 Befehlen umgehen muss:

Stop - beendet die Ausführung der Karte
Jump - springt intern zu einem Befehl vor oder zurück
Wait - wartet auf einen definierten Zustand an den 8 Triggereingängen
Time - setzte die digitalen Ausgänge wie gewünscht und wartet eine bestimmte Zeit

Hier ein einfaches Beispiel für eine Befehlsabfolge:

0) Time 10us DO 1 = low, DO 2 = high,...
1) Time 05us DO 1 = high, DO 2 =low,...
2) Time 50us DO 1 = low, DO 2 = low,...
3) Jump zu Befehlsdefinition 0, mache das 2x und mache dann weiter
4) Time 01us DO 1 = high, DO 2 = high,...
5) Time 25us DO 1 = high, DO2 = low,...
6) Wait DI 1 = low, DI = low, DI =high, ....
6) Time 30us DO 1 = low, DO 2 = low,....
7) Stop

Ok, alle Informationen die für die Auswertung benötigt werden verstecke ich in 4 verschiedene vorzeichenlose 32-bit Zahlen (eine Control Information, eine für den Zustand von 4 Ports auf einem Connector, das gleiche nochmal für einen 2 Connector...). Weiterhin enthalten bestimmte Bits einer Zahl dann bestimmte Informationen. Beispielweise b[01:00] bestimmt welche Funktion ausgeführt werden soll usw.

Prinzipiell funktioniert auch alles recht super, bis auf eine Kleinigkeit mit grosser Bedeutung. Und zwar die Zeitauflösung. Gewünscht ist, dass die kleinste Zeiteinheit und somit der kleinste Puls 1us ist. Kleiner wollen wir gar nicht haben, allerdings scheiter ich da dran. Egal wie ich es drehe, wenn ich ein Puls von 1us erzeugen will ist dieser stets um die 300 bis 500ns länger. So wie ich das sehen konnte und zwar konstant bei allen Zeitdefinitionen.
Ich habe auch nun schon eine 2 Variante der Umsetzung des Konzepts versucht, wo ich dachte, dass könnte vielleicht bisschen was rausholen. Aber auch das war ohne Erfolg. Deshalb werde ich diese erst einmal zurückhalten und meine erste Version nur vorstellen.

Ich würde mich freuen, wenn mir jemand vielleicht den einen oder anderen Tipp geben könnte, wo der Haken liegt oder was ich prinzipiell falsch gemacht habe. Freue mich auf eine rege Diskussion.

Schöne Grüße
Falk

PS: Ich hab mal das gesamte Projekt mit drangehangen. Ich denke das macht die ganze Sache sicherlich einfacher.

Sonstige .zip  001FPGA_v1.zip (Größe: 890,72 KB / Downloads: 443)

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2007, 08:31
Beitrag #2

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
FPGA-Projekt: Experimentsteuerung, Probleme mit der Zeitauflösung Einstellungen Thema abonnieren
Hallo!

Mir wurde gesagt, dass die Timings bei zeitkritischen und deterministischen Aufgabenstellungen am genauesten mit "Ticks" auszuführen sind...bei Dir stehen wohl µs.
Jitter entsteht aber auch bei der Verwendung von shared ressources.

So, mehr kann ich leider auch nicht sagen, weil mir diese Tipps auch nur geasgt wurden und ich noch kein FPGA-Typ bin .

Gruß und ich hoffe das hilft dir schonmal weiter!

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.02.2007, 08:35 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2009 14:55 von Dennis.Moser.)
Beitrag #3

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
FPGA-Projekt: Experimentsteuerung, Probleme mit der Zeitauflösung Einstellungen Thema abonnieren
' schrieb:Hallo!

Mir wurde gesagt, dass die Timings bei zeitkritischen und deterministischen Aufgabenstellungen am genauesten mit "Ticks" auszuführen sind...bei Dir stehen wohl µs.
Jitter entsteht aber auch bei der Verwendung von shared ressources.

So, mehr kann ich leider auch nicht sagen, weil mir diese Tipps auch nur geasgt wurden und ich noch kein FPGA-Typ bin .

Gruß und ich hoffe das hilft dir schonmal weiter!

Moin Mr.T!

<strike><sup>Erst einmal verwundert es mich, wie Du plötzlich Autor des Beitrages wurdest</sup></strike>Big Grin
Aber egal. Danke für Deine Tipps, ich werde mal schauen was sich da machen lässt.

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2 FPGA Chassis in einem Projekt serge_franke 0 3.318 09.11.2018 09:43
Letzter Beitrag: serge_franke
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.575 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 12.189 17.03.2015 16:58
Letzter Beitrag: LauraP.
  Problem mit FIFO Einstellungen e.meu 6 8.225 26.01.2011 16:59
Letzter Beitrag: BNT
  Labview FPGA Probleme mit Timing chefweb 8 9.863 20.10.2010 15:59
Letzter Beitrag: Matze
  Probleme beim Compilieren im FPGA PhilipDehm 3 5.931 04.11.2009 16:16
Letzter Beitrag: chrissyPu

Gehe zu: