rs485 und eigenartige Parity

OP #6450505
Lesenswert?

Hallo,

ich analysiere hier gerade eine RS485 Übertragung. Soweit kann ich 
schonmal sagen, dass ich 9600Baud mit 11 Bits habe. 1 Start Bit, 1 Stop 
Bit und entweder 9 Bit Daten, oder 8Bit (hoffe ich) und dann eine 
eigenartige Nutzung der Parity.

So wie es aussieht ist der Bit vor der Stop Bit immer dann High, wenn 
eine längere Pause statt fand, vermutlich kommt dann ein Befehl und dann 
die Parameter mit Space als Parity.

Kennt jemand ein Standard zu so eine Übertragung, oder hat man hier was 
eigenes gebastelt?
Angehängte Dateien:
OP #6450726
Lesenswert?

Danke für die Antworten.
Ja, mehr als zwei Teilnehmer, Adressierung wird aber anderes erfolgen, 
da es Verschiedene Baugruppen, mit bis zu 16 Adressen angeschlossen 
werden.
Das mit der Kommando erscheint, wie gesagt noch am plausibelsten.
Das Problem damit ist jedoch, dass die "normale" Libs keine direkte 
Manipulation des 9.Bits zulassen.

Darum meine Frage, ob es irgendwo eine Definition für sowas existiert, 
also ob das Kind einen Namen hat, nach der ich googlen kann.

Ich werde erstmal versuchen diesen Bit zu ignorieren und hoffe, dass die 
Slaves auch ohne agieren. Versuch macht schlau.
Gast #6450842
Lesenswert?

Namen hatte ich doch schon genannt. In dem Modus werden 9 Bit 
übertragen, das wäre hier ohne Parity. Mit dem 9. Bit werden Daten und 
Adressen unterschieden. Dabei gibt es je nach UART Variationen wie 
darauf reagiert wird, von daher kann man auch von hier aus suchen: 
welcher Controller oder UART ist hier verbaut?
OP #6455258
Lesenswert?

Danke nochmal,

@Johannes S. (jojos)
Ja, hast du. Es dauerte ein Moment, bis ich darüber brauchbare Infos 
gefunden habe.

@Pandur S. (jetztnicht)
es steht nicht fest, worüber ich was machen will.

Es ging insgesamt darum, für diese Technik mehr Verständnis zu erlangen.

Meine erste Versuche waren am PC mit einem einfachen RS485 USB Dongel 
und QSerialPort als LIB.
Die Daten konnte ich soweit sehen und Analysieren. Als erstes wird ein 
Befehl mit 9.Bit Mark gesendet. Danach ein Byte für die Adresse, dann 
weitere zwei Zahlen und ein XMODEM CRC16.

Da alleine schon die QT LIB an der stelle nur mit aufwendige Tricks es 
erlaubt den 9. Bit zu manipulieren, geht das auf diesen einfachen Weg 
nicht weiter.

Dennoch habe ich auch Befehle simulieren können. Raspberry wäre noch 
eine Möglichkeit, wenn ich dafür einen RS485 besorge, bzw. auf die von 
Pandur S. genannte setzte und dann ein passende LIB suche, oder 
eventuell scheibe.

Aber wie gesagt, es ging mir nur darum, zu verstehen, welche Hürden hier 
entstehen, und welche Möglichkeiten verfolgt werden können.

Das habe ich jetzt soweit erarbeitet und kann soweit den Aufwand 
einschätzen, wenn ich meine Neugierde weiter nachkommen wollte. Danke 
für die Hilfe.

PS: es geht um eine Alarmanlage, welche über RS485 BUS mit seine 
Komponenten kommuniziert.

EDIT:
Man findet Lustige Sachen im Netz hierzu, z.B. meinte hier jemand, das 
sei ein BUG, den 9.Bit nicht manipulieren zu können:
https://bugreports.qt.io/browse/QTBUG-70364
Hier wird auch ein Versuch beschrieben:
https://bohdan-danishevsky.blogspot.com/2016/10/9-bit-serial-communication-in-linux.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren