Forum: Mikrocontroller und Digitale Elektronik serielles Sensor-Protokoll erkennen?


von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Wir haben hier ein Messgerät, dass der Messung von Baufeuchte mit Hilfe 
eines 2.4-GHz-Radarsensors dient. Dem Sensor ist eine externe Elektronik 
vorgeschaltet, die der Kommuniktion mit einer Anzeigeeinheit dient. Es 
wird nur eine Data-Leitung bidirektional verwendet.

Kann hier jemand erkennen, ob der Verlauf irgend einem bekannten 
Protokoll entspricht? Simples RS232 wird es wohl eher nicht sein.

Um den genauen Inhalt kümmern wir uns später, ich hätte nur gerne mal 
eine erste Einordnung. Das "Aktivierungs-Paket" von der Leseeinheit 
sieht (bis auf Details) genau so aus. Klassisches OneWire ist es doch 
nicht, oder?

Mich irritiert vor Allem die Absenkung kurz vor den Daten ...

Danke für Tips.

@Admin: Beim ersten Bild hab ich wohl suboptimal skaliert. Ich dachte, 
wenn ich den Beitrag nochmal bearbeite, wird es ersetzt. Langer Rede 
kurzer Sinn, das erste kann weg. Sorry.

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Was soll man mit so einem Screenshot anfangen? Kannst du nicht gleich 
was zum Timing dazuschreiben? Und die Absenkung des Pegels wird daher 
kommen, dass jemand aktiv den Pegel einstellt, bevor die Aussendung 
beginnt. Die nächste Salamischeibe wäre nun, um welches Gerät von Trotec 
es sich handelt (SDI 1?). Warum muss man allen Fragenden immer jede 
Information aus der Nase ziehen?

p.s.: es wäre auch interessant, was das Gerät bei dieser Bitfolge 
anzeigt.

: Bearbeitet durch User
von N. M. (mani)


Lesenswert?

Frank E. schrieb:
> Wir haben hier ein Messgerät

Welches genau? Laut Bildname irgendwas Trotex SDI mäßiges:
https://de.trotec.com/produkte-services/messgeraete/multifunktion/t3000/sdi-sensoren/
1
Am 5-Pol-Anschluss des T3000 lassen sich verschiedenste SDI-Sensoren mit integrierter Messelektronik anschließen...Durch die intelligente Technik erkennt das T3000 beim Wechseln der SDI-Sensoren selbsttätig, welcher Sensor gerade angeschlossen ist.

Frank E. schrieb:
> Kann hier jemand erkennen, ob der Verlauf irgend einem bekannten
> Protokoll entspricht?

Auf dem Bild kann man fast nichts erkennen. Aber soweit bist du noch 
nicht. Erst mal muss es um den Physical Layer gehen bevor es ums 
Protokoll geht.

Frank E. schrieb:
> Simples RS232 wird es wohl eher nicht sein.

Wenn ich die Pegel grob abschätze, vllt. schon.

Frank E. schrieb:
> Mich irritiert vor Allem die Absenkung kurz vor den Daten ...

Sieht für mich nach irgendwas differentiellem gegen Common gemessenes 
aus.
Vermutlich schaltet da gerade der Sender von Tristate auf senden oder 
so.

von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Das Bild hat jemand mit dem Handy gemacht, der nicht weiss, dass der 
Oszi auch Bilder direkt speichern kann, ich bin z.Zt. nicht vor Ort. Mit 
etwas Nachbearbeitung kann man nun das Divgrid ahnen. Horzontal 800 
Mikrosekunden, vertikal 2V pro Div.

Es ist die Kommunikation eines älteren Trotec T2000 mit dem 
"Mikrowellen"-Feuchtesensor, genau genommen die Antwort des Sensors. An 
dem "SDI"-Anschluss wird nur eine von 5 Leitungen für Daten benutzt, 
zwei für Spannung, die anderen beiden sind auf der Platine nichtmal 
angelötet.

Auf der Platine sieht man links den SDI-Anschluss, rechts die drei Kabel 
zum "Radarsensor", Typenschild: "Innosent GmbH IPS-149", wobei der 
Sensor tatsächlich von der Firma LUFFT stammt, steht auch auf der 
Platine ...

Ich lass morgen nochmal bessere Oszi-Bilder machen.

: Bearbeitet durch User
von Wolfgang S. (wolfgang_s278)


Lesenswert?

Hänge einfach den Logic Analyser dran.
Logic Analyzer 8 CH RUIZHI
dann die Software von https://www.saleae.com/de/pages/downloads 
herunterladen.

Der Analyser dekodiert alle seriellen Signale.

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

Wolfgang S. schrieb:
> Der Analyser dekodiert alle seriellen Signale.

Hat aber so seine Probleme mit negativen Spannungen.
Da ist alles 0 ... Low ...

Aber es ist ein serielles Signal 8n1 -> Bild

Nachtrag: Die ersten beiden Bytes wiederholen sich 1x.
Hmmm ... sind das 9600Bd?

Gruß
Jobst

: Bearbeitet durch User
von Björn W. (bwieck)


Lesenswert?

Es ist sogar ein Baudratenquarz verbaut

Beitrag #7928589 wurde vom Autor gelöscht.
Beitrag #7928592 wurde vom Autor gelöscht.
von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Hab sogar ein Datenblatt für den Sensor hier im Forum gefunden:

https://www.mikrocontroller.net/attachment/125732/146_IPS-146_rev_2_V1_0.pdf

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Jobst M. schrieb:
> Wolfgang S. schrieb:
>> Der Analyser dekodiert alle seriellen Signale.
>
> Hat aber so seine Probleme mit negativen Spannungen.
> Da ist alles 0 ... Low ...
>
> Aber es ist ein serielles Signal 8n1 -> Bild
>
> Nachtrag: Die ersten beiden Bytes wiederholen sich 1x.
> Hmmm ... sind das 9600Bd?
>
> Gruß
> Jobst

Danke für deine Hilfe. Werde den Pegel anpassen und dann es mit einem 
Arduino o.ä. prüfen lassen.

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> 2.4-GHz-Radarsensors

Wie kommst du auf die Frequenz?
Das Datenblatt sagt etwas anderes.

von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Rainer W. schrieb:
> Frank E. schrieb:
>> 2.4-GHz-Radarsensors
>
> Wie kommst du auf die Frequenz?
> Das Datenblatt sagt etwas anderes.

Ja, das sagt etwas anderes. Zuvor fand ich dies hier (s. Bild). Hab es 
aber nur noch als Screenshot. Ist wahrscheinlich ein Tippfehler oder 
Missverständnis meinerseits. Auf der Platine im Griffstück taucht der 
Namen "Lufft" auch auf.

Jetzt fällt mir aber noch ein Unterschied auf: Im Screenshot geht es um 
IPS149, beim Trotec um IPS-146. Naja, war ein langer Tag ... sorry.

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Jobst M. schrieb:
> Aber es ist ein serielles Signal 8n1 -> Bild
>
> Nachtrag: Die ersten beiden Bytes wiederholen sich 1x.
> Hmmm ... sind das 9600Bd?

Ich lese 02 00 02 00 55 90 B0 03.

LG, Sebastian

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Sebastian W. schrieb:
> Jobst M. schrieb:
>> Aber es ist ein serielles Signal 8n1 -> Bild
>>
>> Nachtrag: Die ersten beiden Bytes wiederholen sich 1x.
>> Hmmm ... sind das 9600Bd?
>
> Ich lese 02 00 02 00 55 90 B0 03.
>
> LG, Sebastian

Wenn wir das seriel sauber lesen können, lass ich Testreihen machen, mit 
unterschiedlich feuchten Medien vor dem Sensor. Dann sollten Bytes 
gleich bleiben (Sensor-Kennung?) und andere sich verändern (Messwerte, 
evtl. "raw") ...

von Rainer W. (rawi)


Lesenswert?

Laut den FCC Zulassungsunterlagen des IPS-149 von Luffe arbeitet der 
Sensor wohl wirklich mit 2.4 GHz.
https://fcc.report/FCC-ID/UF9IPS149

Das Dokument External photos entspricht deinem Bild trotec_sdi_5.jpg
Im Manual wird einiges zum Übertragungsprotokoll beschrieben.

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rainer W. schrieb:
> Laut den FCC Zulassungsunterlagen des IPS-149 von Luffe arbeitet
> der
> Sensor wohl wirklich mit 2.4 GHz.
> https://fcc.report/FCC-ID/UF9IPS149
>
> Das Dokument External photos entspricht deinem Bild trotec_sdi_5.jpg
> Im Manual wird einiges zum Übertragungsprotokoll beschrieben.

Ja, aber ich habe da etwas verwechselt! Im Trotec-Messfühler steckt ein 
IPS-146, nicht der 149er. Tut mir leid.

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> Im Trotec-Messfühler steckt ein IPS-146, nicht der 149er.

Was zeigt dann dieses Photo?

Frank E. schrieb:
> trotec_sdi_5.jpg

Ist das nicht von dir?
(leider ohne Quellen, daher war ich davon ausgegangen, dass es sich um 
deinen Sensor handelt)

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Rainer W. schrieb:
> Frank E. schrieb:
>> Im Trotec-Messfühler steckt ein IPS-146, nicht der 149er.
>
> Was zeigt dann dieses Photo?
>
> Frank E. schrieb:
>> trotec_sdi_5.jpg
>
> Ist das nicht von dir?
> (leider ohne Quellen, daher war ich davon ausgegangen, dass es sich um
> deinen Sensor handelt)

Ich sollte für heute Schluss machen. Verwechslung verwechselt. 
Urlaubsreif. Ja, du hast recht. Ja, das Foto ist von mir.

Also "amtlich": Im Trotec-Sensor sitzt ein IPS-149 ...

von Dieter S. (ds1)


Lesenswert?

Das in den FCC Dokumenten ("User Manual 2.4 GHz Radar Sensor IPS-149") 
beschriebenen Protokoll ("Binary protocol (Chapter 10.2)") passt zu dem 
obigen Beispiel, die CRC stimmt ebenfalls:

1
02   00   02   00  55    90      B0      03
2
 
3
STX  ID   CNT CMD  D0   CRC_L  CRC_H     ETX

Siehe auch  "9.2.3.1 Request of data from IRS21 to host"

von Rainer W. (rawi)


Lesenswert?

Dieter S. schrieb:
> Siehe auch  "9.2.3.1 Request of data from IRS21 to host"

Damit ist es also Zufall, dass sowohl das 1. und 3., als auch das 2. und 
4. Byte gleich sind, d.h. es handelt sich nicht um eine Wiederholung im 
Sinne des Protokolls ;-)

Jobst M. schrieb:
> Nachtrag: Die ersten beiden Bytes wiederholen sich 1x.

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Könnte es sein, dass Trotec gar keine Lust hatte, extra ein eigenes 
Protokoll zu erfinden? Im Umfeld der Firma Lufft taucht immer wieder die 
Bezeichnung "SDI-12" auf ...

https://www.sdi-12.org/current_specification/SDI-12_version-1_4-Jan-10-2019.pdf

Ich lass das heute prüfen, sobald es uns gelungen ist, die Daten in 
einen seriellen Monitor zu leiten und in Hex und ASCII darzustellen.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Es ist doch eigentlich ziemlich offensichtlich was das passiert: Der NEC 
78K auf der Platine setzt das Protokoll des 2.4 GHz Radarsensor in das 
SDI Protokoll zum Trotec T2000 Messgerät um.

Das Protokoll des 2.4 GHz Radarsensor ist in den Dokumenten von der FCC 
beschrieben, mehr zum SDI Protokoll weiß man sobald man davon einen 
Mitschnitt hat (und ob es tatsächlich SDI-12 ist).

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

So wie es aussieht, ist das SDI-12-Protokoll selbst in der Arduino-Welt 
schon längst ein "alter Hut" für kommerzielle Umwelt- und 
Wetter-Sensoren aller Art! Entsprechende Libs und Projekte gibt es 
zuhauf. Falls das wirklich passt ... wundervoll!

Auch die Hardware wird immer verständlicher: asychrones serielles 
Protokoll auf EINER Leitung (bei Arduino auf Basis SoftSerial).

Das Umschalten des jeweiligen Pin zwischen Input und Output erklärt dann 
auch die leichte Pegelverschiebung im Oszillogramm, vermutlich durch 
Zuschalten eines Pullup beim Lesen ...

Beispiel: 
https://sdiserial-arduino-sdi-12.readthedocs.io/en/latest/README/

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Frank E. schrieb:
> So wie es aussieht, ist das SDI-12-Protokoll selbst in der Arduino-Welt
> schon längst ein "alter Hut" für kommerzielle Umwelt- und
> Wetter-Sensoren aller Art!

Liegt vielleicht daran dass es SDI-12 seit 1988 gibt...

https://en.wikipedia.org/wiki/SDI-12

von Rainer W. (rawi)


Lesenswert?

SDI-12 mit 1200 Bd und 7,e,1 scheint eher nicht auf die oben gezeigten 
Daten zuzutreffen.

von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

verbesserter Screenshot, direkt aus dem Oszi

von J. S. (engineer) Benutzerseite


Lesenswert?

Auch der ist leider untauglich.
Das muss in hoher auflösung mit Trigger abgefahren werden und gfs 
hintereinander kopiert werden.
Dann nimmt man sich die Zeitauflösung und schätzt den Takt
Dann nimmt man die Nullen und Einsen auseinander und schreibt sie hier 
hin.

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> verbesserter Screenshot, direkt aus dem Oszi

Jetzt invertiert - welches ist die wahre Polarität und wo ist die 
Null-Linie?

Das Oszi kann sicher auch PNG, oder?

Wichtige Regeln - erst lesen, dann posten!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Frank E. schrieb:
> verbesserter Screenshot, direkt aus dem Oszi

Was soll das bringen? Das Protokoll des Lufft IPS-149 ist doch bereits 
geklärt. Wenn man da noch mehr mitschneiden will hängt man am 
einfachsten einen UART auf USB Adapter dran (nach geeigneter 
Pegelanpassung).

von Rainer W. (rawi)


Lesenswert?

Dieter S. schrieb:
> Wenn man da noch mehr mitschneiden will hängt man am einfachsten einen
> UART auf USB Adapter dran

... oder einen Logikanalysator.

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.