Forum: Mikrocontroller und Digitale Elektronik RS485 schräge Baudrate


von Nico W. (nico_w)


Angehängte Dateien:

Lesenswert?

Moin,

ich habe hier einen Sensor den ich über Modbus auslesen können sollte. 
Nachdem ich recht lang gefrustet habe, hab ich mal mein Oszi rausgeholt 
und nun gemerkt, dass die Antworten zu langsam reinkommen.

Den 'Lese'-Befehl schicke ich mit 9600baud, 2 stopbits, none parity 
raus.

Zurück bekomme ich ein Signal ~10700baud.

Aber wodurch kann das entstehen?

Im Anhang das Bild vom Oszi. Oberes Decoding mit 9600, unteres Decoding 
10700.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Womit erzeugst Du Deine Sendebaudrate?

Daß ein Modbus-Device eine krumme Baudrate verwendet, klingt kaputt, 
denn dann lässt es sich nicht sinnvoll ansprechen, und schon gar nicht 
mit anderen Modbus-Devices am gleichen Bus verwenden.

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


Lesenswert?

Nico W. schrieb:
> dass die Antworten zu langsam reinkommen.
> Den 'Lese'-Befehl schicke ich mit 9600baud ...
> Zurück bekomme ich ein Signal ~10700baud.
Wie hast du das berechnet? an den geposteten Screenshots kann ich das 
nicht ablesen...
Für die Baudrate musst du ein Byte vermessen. Aber bitte nicht an dem, 
was das Oszi interpretiert, sondern an den Rohdaten mit Start- und 
Stopbit.

Rufus Τ. F. schrieb:
> Daß ein Modbus-Device eine krumme Baudrate verwendet, klingt kaputt
Und zumindest scheint zumindest die Software des Oszis das Signal 
interpretieren zu können...

: Bearbeitet durch Moderator
von Nico W. (nico_w)


Lesenswert?

Ich habe hier ein ICPCon i-7561
https://www.spectra.de/produkte/kommunikationstechnik/schnittstellenwandler/usb/i-7561-cr.html#aHR0cHM6Ly93d3cuc3BlY3RyYS5kZS9wcm9kdWt0ZS9rb21tdW5pa2F0aW9uc3RlY2huaWsvc2Nobml0dHN0ZWxsZW53YW5kbGVyL3VzYi8/ZmlsdGVyU2Nobml0dHN0ZWxsZT1SUy00ODVfX19VU0ImbmF2aWdhdGlvbj10cnVlJnNlYXJjaHBhcmFtPSUyQSZjbD1hbGlzdA==

Ich habe hier am picoscope solange mit der Baudrate gedreht, bis da was 
gescheites bei rumkam. Von Start bis Stopbit braucht das Signal 1.04ms. 
Wenn ich jetzt richtig rechne sind das 10550 baud.

Wenn ich allerdings mit 10550 sende bekomme ich keine Antwort.

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Nico W. schrieb:
> Wenn ich jetzt richtig rechne sind das 10550 baud.

Wenn du mit 2 Stoppbits rechnest: ja. Allerdings sehe ich nur ein 
Stoppbit, und damit ergeben sich 9600 baud...

von Dieter M. (Gast)


Lesenswert?

Beim ModBus im ASCII-Mode besteht ein Byte aus
1 start bit
7 data bit
1 parity bit
1 stop bit   - oder 2 stop bits, wenn kein parity

Summe: immer 10 bit

Im Screenshot hast Du ja schon einen Frame vermessen (sieht zumindest 
aus wie Startbit bis Stopbit) und der Zwischenraum sieht nach 10 bit 
aus.
Im weiteren Verlauf wiederholt sich das Start-/Stopbit immer im gleichen 
Intervall. (zumindet auf meine Bildschirm mit Lineal gemessen)
Bei 1,041ms pro 10 bit ergeben sich doch 9600 baud.

Natürlich solltest Du auch ein einzelnes Bit mal genau vermessen, aber 
ich wette, Du bekommst das gleiche Ergebnis.

von Nico W. (nico_w)


Lesenswert?

Oh man... Verlässt man sich einmal auf die Angaben im Datenblatt vom 
Hersteller.

1 stopbit eingestellt und es läuft.

Danke!

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.