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 

USB Datenübertragung aus Mikrocontrollerprojekt



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!

11.04.2007, 14:26
Beitrag #1

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.


Ich möchte gerne via USB-Schnittstelle Daten aus einem selbstentwickelten Mikrocontrollerprojekt auslesen. Beim Mikrocontroller handelt es sich um einem Atmel 90 USB 1287.
Alle 10ms sollten die Daten aus dem Mikrocontroller vom PC ausgelesen werden, erst dann beginnt wieder eine neue Messung. Die Datenübertragung findet über den Interrupt Transfer Modus statt.
Beim Projekt handelt es sich um ein Postionsbestimmungssystem, dessen Ausgabewerte mit Hilfe des LV-Programms in einem XY-Graphen dargestellt werden sollen.
Ich habe einen VISA-Treiber installiert und im wesentlichen ein Beispielprogramm von ni.com übernommen.

Nun ist es so, dass das Gerät, wenn es einfach am Windows Rechner angesteckt ist, also keine Datenauswertung über LabVIEW stattfindet, wie geplant alle 10ms eine Messung macht.
Soll nun die Auswertung über LV stattfinden, verringert sich die Messfrequenz gewaltig. Es werden nur noch etwa 2-4 Messungen in der Sekunde gemacht.
Kann es sein, dass LV zu lange braucht, um die Daten vom Mikrocontroller zu verarbeiten, weil dieser ja erst wieder eine Messung macht, wenn die Daten "abgeholt" sind ?

Wie schon erwähnt, erfolgt die Datenübertragung über den Interrupt Transfer Modus, mit dem drei 16 Bit Variable die benötigten Daten übertragen.

Danke schon mal im Vorraus

Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2007, 14:31
Beitrag #2

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
USB Datenübertragung aus Mikrocontrollerprojekt
HI Michael,

Zeig uns doch mal deine Programteile mit dem USB-Zugriff, ambesten als VI und als Screenshot.
Kann man per VISA überhaupt auf Low-Level-Ebene auf den USB zugreifen?

Benötigt man nicht typischer weise einen Treiber der a) Windows sagt welche USB-ID welches gerät hat und b) den USB-Zugriff an VISA weiterreicht?

Gruß, Rob

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2007, 15:23
Beitrag #3

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.

Ich geb in der Benutzeroberfläche einfach die Vendor und Produkt ID des Gerätes ein, welche ich bei der Installation des VISA-Treibers (VISA Treiber Development Wizard) vergeben habe.
Soweit funktioniert das alles auch schon, nur eben glaube ich, dass LabVIEW zu lange braucht um die Daten vom Mikrocontroller zu verarbeiten.
Der nimmt ja erst einen neuen Messwert auf, wenn der PC fertig ist mit der "Abholung" der Daten.
Wobei aber 10 ms auch ne lange Zeit ist, müsste man ja eigentlich glauben.
Ich weiß nicht, woran das sonst liegen könnte, dass das Gerät so langsam wird beim Aktivieren des LV-Programms.
Danke,

Michael


Angehängte Datei(en)
Sonstige .zip  SAPS3.zip (Größe: 122,35 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2007, 19:11
Beitrag #4

Achimedes Offline
LVF-Freak
****


Beiträge: 544
Registriert seit: Aug 2005

2011
2001
DE

72461
Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo Michl,
nimm erstmal die Visa Open und Visa Close aus der Schleife raus,
sonst öffnet und schliesst LV die Schnittstelle in jedem Zyklus und das kostet zeit.

Wenn es dann noch zu langsam ist,veringere deine Wartezeit auf zB. 5

Ändere die Konstante die am schleifen abbruch Anschluß dran ist in nen Stopp Button. Du brichst dein VI immoment wohl über den oberen Abbrechenbutton ab.
Mit den Button würgst du LV ab. Da könnte dann irgendwas nich richtig geschlossen oder freigegeben werden.

Wenns dann immer noch zu langsam ist -> schau mal wieviel zeit die beiden ExpressVis brauchen.

Grüße
Achimedes

Wer Rechtschreibfehler findet .... darf sie behalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2007, 14:51
Beitrag #5

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.

Vielen Dank erstmal.
Ich hab nun die VISA Open und VISA Close raus, und nun läufts erstmal periodisch mit 10 ms.
Verwunderlich ist nur, dass manchmal das Signal quasi in Echtzeit übertragen wird, und nach einem Neustart
eine ordentliche Verzögerung eintritt. Das kann ich mir nicht erklären.

Und warum brauche ich die Schleife überhaupt ?
Unten rechts müsste ich doch mit einem "false" die while Schleife abbrechen, und somit die Signalauswertung
beenden können, bei Schalter umlegen springt aber nur der Iterationszähler auf Null zurück, und das Programm
läuft munter weiter.
Tut mir Leid, wenn ich euch mit solchen Anfängerfehler behellige.

Michael


Angehängte Datei(en)
Sonstige .vi  SAPS4.vi (Größe: 438,27 KB / Downloads: 213)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2007, 19:20
Beitrag #6

Achimedes Offline
LVF-Freak
****


Beiträge: 544
Registriert seit: Aug 2005

2011
2001
DE

72461
Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Du startest dein vi warscheinlich mit der Schaltfläche "Wiederholt ausführen"
dabei wird dein Vi nach beenden gleich wieder gestartet.
Du solltest es mit der Schaltfäche "Ausführen" (nur ein Pfeil) starten. Dann stoppt dein Vi nach beenden mit dem Stopbutton.

Die verzögerung nach dem Neustart kommt wahrscheinlich vom initialisieren vom USB, wenn der initiallisiert ist beginnt die Schleife zu laufen und nach dem beenden der Schleife wird die Schnittstelle wieder freigegeben.

Jedes Programm in jeder Sprache sollte oder ist so aufgebaut.
(Initialisieren)--> (Ablauf Whileschleife) --> (Resurcen freigeben, Rücksetzten)

Wer Rechtschreibfehler findet .... darf sie behalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.04.2007, 11:24
Beitrag #7

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.

Jetzt hab ich's kapiert mit der Schleife. Also mit den Stoppbutton das vi beenden.
Aber das mit der Verzögerung ist trotzdem noch nicht behoben. Diese Verzögerung tritt
auch mehr zufällig auf; manchmal geht's in Echtzeit und manchmal kommt alles erst mit der
halben Sekunde Verzügerung am xy-Graphen an.
Am Programm kanns ja nicht mehr liegen, oder ?
oder ist das Projekt einfach zu schnell für LV ?
Vorher wurden die Werte nämlich unter nen Linux Rechner dargestellt und da liefs ohne weiteres.
Und ich sollte eben ne Darstellung auf Windows Oberfläche kreieren.

Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2007, 11:41
Beitrag #8

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
USB Datenübertragung aus Mikrocontrollerprojekt
' schrieb:Hallo.

Jetzt hab ich's kapiert mit der Schleife. Also mit den Stoppbutton das vi beenden.
Aber das mit der Verzögerung ist trotzdem noch nicht behoben. Diese Verzögerung tritt
auch mehr zufällig auf; manchmal geht's in Echtzeit und manchmal kommt alles erst mit der
halben Sekunde Verzügerung am xy-Graphen an.
Am Programm kanns ja nicht mehr liegen, oder ?
oder ist das Projekt einfach zu schnell für LV ?
Vorher wurden die Werte nämlich unter nen Linux Rechner dargestellt und da liefs ohne weiteres.
Und ich sollte eben ne Darstellung auf Windows Oberfläche kreieren.

Michael
Hängen noch andere Geräte am USB?
Oder macht Windows abundzu nen USB-Scan um nach neuen Geräten zu suchen?

Gruß, Rob

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.04.2007, 13:00
Beitrag #9

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.

Ich weiß nicht wie Windows USB bezüglich arbeitet.
An USB Geräten hängt eigentlich nur die USB Maus dran. Aber daran kanns doch auc h nicht liegen.
Es ist halt komisch, dass es manchmal funktioniert und manchmal nicht.

Gruß, Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.05.2007, 09:31
Beitrag #10

Michl Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Apr 2007

7.1
2007
kA


Deutschland
USB Datenübertragung aus Mikrocontrollerprojekt
Hallo.

Liegt wohl an meinem langsamen Rechner das das Signal so verspätet angezeigt wird.

schöne Grüße
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Kabellose Datenübertragung mit Xbee Funkmodul (Arduino) mit Visa über USB Eingang für MAC und WIN Marlon 17 14.127 15.01.2015 23:14
Letzter Beitrag: Marlon
  Datenübertragung Arduino Mega zu Labview biede1987 8 10.222 15.04.2014 11:41
Letzter Beitrag: biede1987
  RS232 datenübertragung grem113 7 6.246 04.03.2008 20:24
Letzter Beitrag: jg
  Datenübertragung per RS232 in ASCII Eva 2 5.173 20.11.2007 17:07
Letzter Beitrag: Eva
  RS232 Datenübertragung Synchron Asynchron?? joeb78 5 15.045 16.10.2007 12:02
Letzter Beitrag: joeb78

Gehe zu: