Forum: Mikrocontroller und Digitale Elektronik Datenerfassung mit Hterm


von Simon B. (guapi)


Lesenswert?

Moin Leute,

ich sitze im Moment an einem Qualitätprojekt.
Ich soll an einem Bestehen Sensor Messen, ob er die angegebenen 
Ereignisse pro Sekunde wirklich erfassen kann.
Der Sensor soll 15 Ereignisse pro Sekunde mitbekommen, ich habe aber bei 
9 Ereignissen pro Sekunde schon ein versagen bei jedem 4. Ereignis.

Jetzt bin ich natürlich auf der Suche obs wirklich vom Sensor kommt. Ist 
ja schon etwas sehr auffällig.
Ich erfasse die Daten mit einem RS 232 Kabel, und gehe über einen USB 
Typ A Adapter direkt in den Laptop. Der Adatpter ist von Ugreen (etwas 
älter). Hier Lese ich die Daten mit Hterm aus. Die Baudrate Beträgt 
9600. Ein Ereignis sendet mir eine Zeichenkette von 69 Zeichen. Jetzt 
ist die Frage, kann das an meiner Datenerfassung liegen?
Ich hab mir das mal so errechnet:
Eine Zeichenkette hat 69 Zeichen, bei 9 Ereignissen pro Sekunde macht 
das 621 übermittelte Zeichen pro Sekunde. Ein Zeichen besteht aus 
1.Start Bit; 2.-9. Sind die Zeichenbits; 10. Check Bit; 11.Stopp Bit; 
12.Ruhe Bit.
Also 12 Bit pro Zeichen. In der Sekunde werden also 7452 Bits 
übertragen. Das passt ja mit der Baudrate zusammen?!
USB Conroller ist Intel(R) USB 3.1 eXtensible-Hostcontroller - 1.10 
(Microsoft)
Mainboard ist ein Lenovo 20THCTO1WW

Vielleich kann mir da einer helfen, vorab schonmal vielen Dank!

Grüße Simon

von Egon (Gast)


Lesenswert?

Die Baudrate hat nur so viel mit der tatsächlich auftretenden Bitrate zu 
tun, als daß die effektive Bitrate nicht größer werden kann als die 
Baudrate.

Kleiner aber kann sie werden, denn zwischen einzelnen Zeichen oder auch 
kompletten Telegrammen dürfen beliebig lange Pausen verstreichen.

> 1.Start Bit; 2.-9. Sind die Zeichenbits; 10. Check Bit; 11.Stopp Bit;
> 12.Ruhe Bit.

Es gibt kein "Ruhe Bit". Das wäre ein zweites Stopbit (mit den 
Übertragungsdaten 8E2/8O2 statt 8E1/8O1).


1 Byte pro Stunde oder Woche passt genausogut zu 9600 Baud wie 800 Byte 
pro Sekunde bei 8E1/8O1.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Simon B. schrieb:
> Hier Lese ich die Daten mit Hterm aus. Die Baudrate Beträgt 9600.
Damit kannst du üblicherweise (8n1) 960 ASCII Zeichen pro Sekunde 
übertragen.

> Ein Ereignis sendet mir eine Zeichenkette von 69 Zeichen.
Welchen Mindestabstand haben die "Ereignisse"? Denn 15x63 ergeben schon 
945 Zeichen und damit sind die erreichbaren 960 Zeichen ohne 
nennenswerte Resever ausgeschöpft.

Wenn jetzt die 15 Ereignisse nicht genau im Abstand von 1/15 Sekunde 
kommen, dann verstolpert sich die ganze Geschichte, weil der Bus 
schlicht überlastet ist.

Und wenn dann noch ein "Check Bit" mit dazukommt, kannst du bei 
9600bit/s nur noch 9600/11 = 872 Zeichen/s und damit nur 872/69 = 12,6 
"Ereignisse"/s übertragen. Aus die Maus mit 15...

: Bearbeitet durch Moderator
von Wolfgang (Gast)


Lesenswert?

Simon B. schrieb:
> Jetzt bin ich natürlich auf der Suche obs wirklich vom Sensor kommt.

Warum guckst du dann nicht, was wirklich vom Sensor kommt?
Zeichne die Daten von der RS232-Schnittstelle mit einem Logikanalysator 
auf und guck dir an, was der Sensor wirklich sendet.
Dann bist du frei von sämtlichen Unwägbarkeiten deines PCs, der 
RS232-USB Umsetzung, dem VCOM-Treiber und der Empfangssoftware.
KISS

von Wolfgang (Gast)


Lesenswert?

Egon schrieb:
> Die Baudrate hat nur so viel mit der tatsächlich auftretenden Bitrate zu
> tun, als daß die effektive Bitrate nicht größer werden kann als die
> Baudrate.
>
> Kleiner aber kann sie werden, denn zwischen einzelnen Zeichen oder auch
> kompletten Telegrammen dürfen beliebig lange Pausen verstreichen.

Nicht "kann", sondern "muss".
Um per UART bei 8n1 acht Bits zu übertragen, müssen 10 Bits (1 Start, 8 
Daten, 1 Stop) über die Schnittstelle laufen. Schon ohne irgendwelche 
Pausen beträgt dadurch die effektive Bitrate nur 80% der angegebenen 
Baudrate. Durch Pausen wird´s noch schlechter.

von Simon B. (guapi)


Lesenswert?

Danke für die Anregung, leider steht mir Ein Logikanalysator zur 
Verfügung.:/

von Simon B. (guapi)


Lesenswert?

Ein genauer Minedestabstand ist nicht definiert,
die Ereignisse treten mehr oder weniger unregelmäßig in einer Sekunde 9 
mal auf. Also ca. im Abstand von 111 ms.
Also meinst du, das ich einmal mit die Baudrate 9600 nicht ausreichend 
ist und die Daten schon zu schnell für den Bus gesendet werden?

von Wolfgang (Gast)


Lesenswert?

Simon B. schrieb:
> Danke für die Anregung, leider steht mir Ein Logikanalysator zur
> Verfügung.:/

Dann kauf dir einen.
Ein für diese Aufgaben (und noch viel mehr) ausreichender LA kostet 
keine 10€.
https://www.ebay.com/itm/334467775194 u.v.a.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.