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 

Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!



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!

13.07.2010, 11:04
Beitrag #1

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo an alle!

Ich hoffe, dass mir jemand weiterhelfen kann - ich bin leider mit meinem Latein am Ende und brauche dringend Hilfe. Ich weiss, die gesamte Beschreibung ist ein wenig länglich nun, aber die notwendigen Details sind meines Erachtens sehr wichtig...

Themenbeschreibung und eingesetzte Werkzeuge:

Ich möchte einen Actel FPGA kommandieren (einfache Binärstrings, wie z.B. "00000000"), bzw. eine Kommunikation mit diesem herstellen.
Die Kommunikation läuft über die sog. "UART-Schnittstelle", basierend auf dem EIA-232 (RS 232) Interface, aber mit differentieller LVDS (EIA-644) Signalisierung.
Hierfür habe ich eine Applikation erstellt (LabVIEW 2009, SP 1, Deutsch) und für die Kommunikation gängige VISA-VIs aus der "Instrumenten-I/O- Funktionspalette" eingesetzt (VISA-Öffnen, seriellen Prot konfigurieren, VISA-Schreiben, VISA-Lesen und VISA-Schliessen).
Der serielle Port wurde mit LabVIEW folgendermaßen konfiguriert:
- Baudrate: 9600
- Datenbits: 8
- Parity: Odd
- Stopbits: 2
- Flusskontrolle: keine
Die UART-Schnittstelle verlangt folgende Konfiguration:
- Datenrate: 115200 bit/s
- Datenbits: 8
- Parity: Odd
- Startbits: 1
- Stopbits: 2
- Hardware Handshake: keinen
Als Verbindungskabel zwischen Rechner (LabVIEW-Software) und FPGA dient ein USB-Adapter (ExSys für RS-422/485). USB-Anschluss wird mit dem Rechner verbunden, das Ende ist ein Com-Stecker, der mit einem weiteren, selbstgebauten Adapter schlussendlich über RJ-45 mit dem FPGA verdunden ist.
Der FPGA selbst wird mit einem Logic-Analyser überprüft.

Problembeschreibung:

Nach erstmaligem Testen werden über die Schnittstelle zwar Daten an den FPGA übertragen, doch mit dem Logic-Analyser kann man erkennen, dass ein beliebiges Bitmuster übertragen wurde, nur nicht das eigentlich gewünschte Kommandowort angekommen ist. So übergebe ich z.B. dem VISA-Write-VI als Datenstring ein Byte ("00000000") und der Logic-Analyser zeigt an, der FPGA würde 9 Byte empfangen, bestehend aus beliebig zusammengestellten Nullen und Einsen.
Wird der FPGA testweise über die Kommandozeile angesprochen, empfängt er das gewünschte Byte, weswegen angenommen wird, das die Problematik seitens von LabVIEW zu suchen ist.

Fragestellung:

Kann mir jemand einen Tipp geben, in welcher Richtung ich nach der Problemlösung suchen muss?
Liegt es an der Konfiguration der seriellen Schnittstelle seitens LabVIEW oder ist es eher die Hardware, die Probleme bereitet?
Ein Kollege meinte, es würde an den Strings liegen, die das VISA-Write-VI überträgt. Ist dies möglich? Mir wäre nicht bekannt, dass man dem Write-VI einen anderen Datentyp als Datenpuffer übergeben kann, oder?
Gibt es neben Logic Analyser noch eine weitere Möglichkeit, die Daten, die TATSÄCHLICH über die serielle Schnittstelle übertragen werden, anzusehen oder zu verfolgen. Ich habe bereits den NI Spy eingesetzt, der bringt mich aber nicht viel weiter...

So, das ist viel Text, aber besser gings leider nicht.
Ich bedanke mich bereits im Voraus für Eure Geduld beim Lesen uns hoffe auf schnelle Antworten!
Danke!!!

Grüße, Lydia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.07.2010, 11:24
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo Lydia,

"Der serielle Port wurde mit LabVIEW folgendermaßen konfiguriert:
- Baudrate: 9600
...
Die UART-Schnittstelle verlangt folgende Konfiguration:
- Datenrate: 115200 bit/s"

???
Schon mal mit der richtigen Baudrate probiert?

"Ein Kollege meinte, es würde an den Strings liegen"
Eigentlich Quatsch. Aber hängt natürlich davon ab, was du so sendest.
Wenn du "0" als String sendest, kommen beim FPGA die Bits 0b00110000 an, da das Zeichen "0" als ASCII-Wert 0x30 gesendet wird...

"Mir wäre nicht bekannt, dass man dem Write-VI einen anderen Datentyp als Datenpuffer übergeben kann, oder?"
Du kannst alles versenden, musst es vorher nur in einen String umwandeln...Smile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 12:37
Beitrag #3

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo GerdW,

erst einmal Danke für die schnelle Antwort...

Ich versuche auch gerade meinen Kollegen davon zu überzeugen, dass Datenrate und Baudrate nicht das gleiche ist... aber er meint, das wäre es nicht.

Zu der anderen Sache: Ich möchte einfach nur einen Datensatz - wie auch immer - in Form eines Bitmusters über die serielle Schnittstelle senden -> im Endeffekt möchte ich im LabVIEW in eine Konstante "00000000" eingeben und an das Write-VI übergeben. Der Logic Analyser sollte dann einfach nur diesen Datensatz anzeigen. Ich steh total auf dem Schlauch: Wie kann ich das machen? Könntest Du mir bitte mit einem Blockschaltbild weiterhelfen??

Tausend Dank!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2010 12:49 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo Lydia,

bei einer seriellen Verbindung müssen sich beide Partner mit der gleichen Geschwindigkeit unterhalten...

Willst du sowas machen:
    ?

Beachte bitte den Datentyp und die Formatierung der Werte.
(Ich nehme mal an, du willst 8 FALSE-Bits übertragen und nicht etwa 8mal das Zeichen "0"? Den Unterschied hatte ich oben ja schon angesprochen, du bist aber nicht weiter druaf eingegangen...)

"Ich versuche auch gerade meinen Kollegen davon zu überzeugen, dass Datenrate und Baudrate nicht das gleiche ist... aber er meint, das wäre es nicht."
Baud = bit/s (landläufiger Konsens), siehe auch hier...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 12:48 (Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2010 12:54 von Lydia.)
Beitrag #5

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
ich versuch das grad malSmile...

ja, ich will acht false werte übertragen... in dem fall müsste dein vorschlag ja passen ....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 12:50
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo Lydia,

die Bilder sind Snippets, die man direkt in ein Blockdiagramm "reinziehen" kann!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 13:04
Beitrag #7

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Ne, also, Dein Vorschalg hat leider auch nicht funktioniert.... es sollen einfach nur acht false Werte übertragen werden... so hatte ich es zumindest verstanden... ansonsten müsste ich ja acht mal das Zeichen 0 in Form von ^@ übertragen ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 13:18
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Hallo Lydia,

"so hatte ich es zumindest verstanden"
Hmm, wie wurde es denn gesagt bzw. aufgeschrieben?

Musst du folgendes übertragen:
- 8 FALSE-Bits - dann reicht ein U8-Wert aus
- 8 Werte, die jeweils ein FALSE repräsentieren - dann halt 8mal ein U8 wie oben
- 8 mal das Zeichen "0" - dann gleich einen String mit "00000000" nehmen

Üblicherweise gibt es ein Handbuch oder ein feststehendes Protokoll, in dem die Kommunikations-Modalitäten beschrieben sind...

"das Zeichen 0 in Form von ^@"
???
Weiß nicht, was du da meinst...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 13:43 (Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2010 13:44 von Lydia.)
Beitrag #9

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
Ich habe beispielsweise ein Kommando, dass den FPGA initialisiert: das ist ein einfaches Byte, bestehend aus 8 FALSE-Bits. Dieses Byte soll an den FPGA übertragen werden und als solches so ausgewertet werden. Ich habe aus Verzweiflung all Deine Vorschläge umgesetzt... beim FPGA kommt jedoch jedes mal etwas anderes heraus. Wenn ich z.B. mit einer String-Konstante "00000000" sende, dann kommt bei jedem einzelnen Sendeversuch ein anderes Muster beim FPGA heraus. Es entspricht jedoch auch nie dem Wert 0x30...

Gibt es noch andere Einstellungen, die ich beachten müsste? Das Write-VI kann ich in dem Fall nicht anfassen. Es steht jedoch auf der Eigenschaft "synchron" ...

Ach, vergiss übrigens das "^@" ... das war 'ne reine Verzweiflungstat...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.07.2010, 14:20
Beitrag #10

Lydia Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jan 2010

LabView 2009
2010
de

88048
Deutschland
Datenübertraguns- und Auswertungsprobleme via RS232! Bitte um dringende Hilfe!
So - ich bin gerade eben zu einem Ergebnis gekommen. Mein Kollege, der eher die Hardware macht und dementsprechend auch den Logic Analyser viel besser interpretieren kann als ich, ist nur leider in einer Besprechung. Falls mein Ergebnis richtig war, melde ich mich, dann muss sich keiner mehr Gedanken machen! Dann beschreibe ich auch meine Lösung!

Falls nicht, werde ich mich nochmals melden - ich hoffe jedoch, dass es nciht notwendig ist.... Confused

An dieser Stelle nochmals vielen, vielen Dank!!!
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
  Problem mit VISA bitte hilfe Wofl 3 4.180 20.05.2008 06:40
Letzter Beitrag: Achimedes
  Hilfe Parallele Schnittstelle Hilfe Elli 2 4.514 12.04.2006 05:26
Letzter Beitrag: Fritz
  COM Ports ermitteln bitte! igor 6 9.488 25.11.2005 17:42
Letzter Beitrag: illuminus

Gehe zu: