Schnellste Moglichkeit Daten zusenden (FPGA <-> RT) - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Module (/Forum-LabVIEW-Module) +---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA) +---- Thema: Schnellste Moglichkeit Daten zusenden (FPGA <-> RT) (/Thread-Schnellste-Moglichkeit-Daten-zusenden-FPGA-RT) |
Schnellste Moglichkeit Daten zusenden (FPGA <-> RT) - JaG - 11.04.2008 09:43 Hi, ich hoffe, ich stelle diese Fragen nicht nochmal hier im Forum, aber gefunden habe ich dazu nichts. Ich habe folgende Situation. Auf einem PXI-System läuft eine RealTime-Applikation bei der auch 2 FPGA-Karten arbeiten. Über eine Netzwerkverbindung werden Daten und Befehle empfangen und müssen nun verarbeitet werden. Meine Frage: 1.) Welche ist die schnellste Möglichkeit Daten (Boolean, Numeric) von einer zeitkritischen Schleife (deterministic loop) zu einem FPGA zu senden und zu empfangen? Was sollte man da nehmen (FPGA-DMA-FIFOs oder Global Var. oder FPGA-Write/Read-Zugriff oder ...)? 2.) Welche ist die schnellste Möglichkeit Daten (Boolean, Numeric) von einer zeitunkritischen Schleife zu einer zeitkritischen Schleife (deterministic loop) zu senden und zu empfangen? Was sollte man da nehmen (RT-FIFOs oder Global Var. oder Notifier/Queue oder ...)? Es steht wirklich die Geschwindigkeit im Vordergrund und nicht Sachen wie Race Condition, ... . Alle Prozesse sollen im Bereich von 1-100µs ablaufen! Vielen Danke für Eure Hilfe im Voraus! JaG Schnellste Moglichkeit Daten zusenden (FPGA <-> RT) - Svente - 16.04.2008 13:37 ' schrieb:Hi, Hallo JaG, zu 1.: DMA FIFO ist am schnellsten allerdings musst du dann Deinen Datentyp in eine 32 Bit Integer Zahl konvertieren zu 2.: wenn Du innerhalb RT meinst kannst du eine Target scoped Fifo benutzen. da weiß ich aber nichts über ztl. Aspekte bzgl. der Übertragung der Daten. hängt das nicht unmittelbar mit deinem Schleifentakt zusammen?Wenn dem so ist, dann genügt ja auch eine lokale Variable.... Svente Schnellste Moglichkeit Daten zusenden (FPGA <-> RT) - thomas.sandrisser - 17.04.2008 01:36 grundsaetzlich gilt, dass bei einem 1m gate FPGA die registergroeße 16 und bei einem 3M gate fpga die registergroese 32bit betraegt. d.h. sendest du 1 bit, werden 31bit im register verbraten. besser ist es daher alles nach 32bit zu mappen. die folgenden werte gelten fuer PXI CPUs groeßer 8186 und beziehen sich auf die sicht des hosts (also nicht FPGA target) schreiben U32 wert register: 0.99 - 1.11 µs Lesen U32 Wert register: 1.55 - 1.89µs Amortisierung DMA U32 schreiben ab 9-10werten Amortisierung DMA U32 lesen ab 6-8werten Durchsatzrate thoeretisch pro R-serien DMA kanal 90-100MB Nachdem der bus theoretisch 132 hergibt und in der praxis max. 125-128 zu schaffen sind, ist die angabe recht fiktiv. 90MB sind aber zu schaffen bei crio 901x gelten nur die angaben der registerzugriffe... dma amortisierung liegt bei groeßer 90 werten Die max. Durchsatzrate bei DMA liegt bei rund 10MB, wobei idP 3-5MB erreicht werden koennen |