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 

serielle Kommunikation mit DSP zickt



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!

07.10.2007, 00:01
Beitrag #1

pumpkin Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Feb 2007

8.2 pro deutsch
-
kA


Deutschland
serielle Kommunikation mit DSP zickt
Hallo Forum,

ich habe ein für mich unerklärbares Problem beim Verbinden von DSP und
PC.

Also zum Problem:

Ich nutze LabVIEW um mir die Daten anzuschauen, als Basis habe ich ein
Beispielprogramm von NI.com genutzt (Advanced Serial Write and Read.vi).
Nur leider steigt die Anwendung immer wieder mit der Meldung

VISA: (Hex 0xBFFF006C) Während der Übertragung ist ein Überlauffehler
aufgetreten. Ein Zeichen wurde von der Hardware nicht gelesen, bevor das
nächste Zeichen ankam.


aus. Je größer der Eingangspuffer desto schneller. Das Verwirrende an
der Sache ist im angehängten screenshot zu sehen (2): Bevor die
Fehlermeldung das Progamm abbrechen lässt, ist wildes Gezappel 'auf der
Leitung' zu sehen. Wie im screenshot (1) zu sehen ist, sollte eine Rampe
von 0...255 zu sehen sein (das Fenster entspricht ~20s in der Breite).
Die Einstellungen von COM1 entsprechen denen im screenshot (1).

Meiner Meinung nach ist ein Fehler des DSP's und/oder seines Programmes
ausgeschlossen, wenn LabVIEW neu angestoßen wird läuft plötzlich wieder
die saubere Rampe (3) und HTerm läuft ohne Probleme (manchmal ist es bei
LabVIEW auch nötig den DSP kurz anzuhalten). Die Fehlermeldung und die
Tatsache, dass HTerm sauber läuft deutet ja auf eine Unzulänglichkeit
von LabVIEW hin.

Was vermutet ihr?

pumpkin


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.10.2007, 09:11
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
serielle Kommunikation mit DSP zickt
' schrieb:Was vermutet ihr?
Keine Programmoptimierung.

115kBaud ist ja nicht gerade langsam. Ich gehe mal davon aus, der Datenstrom ist kontinuierlich ohne Pause zwischen den einzelnen Zeichen.

Poste zuerst mal (zumindest) den Codeteil, der die Serielle Schnittstelle bedient.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2007, 10:01 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 14:59 von jg.)
Beitrag #3

pumpkin Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Feb 2007

8.2 pro deutsch
-
kA


Deutschland
serielle Kommunikation mit DSP zickt
Den Rat von Helen Keller habe ich mit zu Herzen genommen und jetzt klappt es.Wink In der Tat waren es vergrisgnaddelte Einstellungen im VISA-Server und ein ungünstiges timing. Trotzdem Danke!

-----------------

Edit:

Mmmmh, zu früh gefreut. Die Applikation läuft jetzt um einiges stabiler, aber wenn nebenbei der MediaPlayer läuft und Tracks über das Netzwerk streamt tritt wieder der besagte Fehler auf (vor allem am Anfang eines Tracks wenn der Player den buffer füllt).

Im Anhang mal das VI. Kleine Erklärung: LV sendet eine 0x30 ('0'Wink an den DSP und der sendet daraufhin eine Rampe von 0..255 im Interruptmodus. Danach schaltet der DSP auf 'idle' bis die nächste 0x30 kommt. Nichts aufregendes also.

(VI LV 8.2)


Angehängte Datei(en)
Sonstige .vi  serial_read.vi (Größe: 57,34 KB / Downloads: 172)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2007, 11:24
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
serielle Kommunikation mit DSP zickt
' schrieb:LV sendet eine 0x30 ('0'Wink an den DSP und der sendet daraufhin eine Rampe von 0..255 im Interruptmodus. Danach schaltet der DSP auf 'idle' bis die nächste 0x30 kommt.
Öhm, wieso programmierst du es dann nicht genau so?

'0' senden, warten bis 256 Zeichen da sind oder maximal 30ms, dann auslesen und anzeigen. So bekommst du eine Synchronisation auf Anwenderebene hin. Anderes besteht die Möglichkeit, dass du zwei '0' hintereinander sendest, ohne dazischen ein eiziges Zeichen zu empfangen.

Auf wie viele Bytes hast du denn den Eingangspuffer stehen? 4096 ist genug.

Ich gehe davon aus, dass der VISA-Treiber die Zeichen vom SIO-Controller auch ausließt, wenn der Rechner ausgelastet ist. Eigentlich müsste dann der Puffer zu klein sein respektive die auslesende Applikation zu langsam (weil der Rechner eben ausgelastet ist).

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
  Arduino Mega 2560 Serielle Kommunikation RX/TX 1-3 NISI 0 6.355 05.05.2014 14:56
Letzter Beitrag: NISI
  Serielle Kommunikation joachim3 4 4.491 24.01.2014 08:42
Letzter Beitrag: Y-P
  Serielle Kommunikation NuDAM USB->RS485-DAQ trestann 8 8.774 22.11.2013 10:45
Letzter Beitrag: jg
  Serielle Kommunikation Labviewnoob2000 13 10.156 10.09.2013 15:10
Letzter Beitrag: jg
  serielle Kommunikation mit NI-VISA Peitsche 3 5.967 02.08.2013 11:39
Letzter Beitrag: GerdW
  Pyrometer Serielle Kommunikation squavel 4 6.006 12.01.2013 17:23
Letzter Beitrag: squavel

Gehe zu: