Re(6): Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern
Geizhals » Forum » Programmierung » Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern (13 Beiträge, 633 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern
06.02.2017, 21:50:08
Ich habe 5 Geräte an einem offensichtlich proprietären 2-Draht-Bus.

Die für mich relevanten Botschaften/Telegramme habe ich bereits entschlüsselt.

Ich möchte zumindest eine der Botschaften von einem der Geräte abhängig von ihrem Inhalt verändern, d.h. die "richtige" Botschaft entfallen lassen und durch eine veränderte Botschaft ersetzen.
(Konkret, aber vereinfacht: Wenn 1 von 3 bestimmten Bits gesetzt ist, möchte ich abhängig von der Uhrzeit zusätzlich ein weiteres der beiden nicht gesetzten Bits setzen.)

Ich habe mir überlegt, die Busleitung aufzutrennen und ein selbst programmiertes Gateway dazwischenzuhängen. Das Gateway kopiert die Botschaften der 4 unveränderten Geräte auf den anderen Bus bzw. es liest die Botschaften von dem 1 Gerät, dessen Inhalt ich manchmal verändern will, ein und schreibt die veränderten Botschaften auf den Bus der 4 unveränderten Geräte.

Hier noch einige Infos, die ich über die Geräte/Botschaften habe und für relevant erachte:

Alle 5 Geräte senden permanent in immer der gleichen Reihenfolge am Bus eine "Standard"-Botschaft (enthält als Daten vmtl. irgendeine Seriennummer/Typ o.ä.). Danach kommt noch irgendeine weitere "Abschluss-Botschaft". Wer die sendet weiss ich nicht.
Wenn ein Gerät Daten übertragen will, sendet es anstatt der "Standard"-Botschaft seine "Daten"-Botschaft. Diese "Daten"-Botschaft wird nur 1x versendet, wenn sich der Inhalt ggü. der zuletzt gesendeten "Daten"-Botschaft ändert.
Beim Hochfahren des Bus findet offenbar irgendeine Initialisierung statt, bei der die IDs der Geräte (in meinem Fall 0x00-0x04 bzw. 0xF0 für den Abschluss) vergeben werden. Dabei scheint es keine Priorität zu geben, die IDs scheinen "zufällig". Wird ein Gerät abgeklemmt und wieder angeklemmt, hat es u.U. eine andere ID als vorher. Trotzdem funktioniert der Gesamtverbund problemlos.

Wie gehe ich das am Besten an?

Mein Hauptproblem scheint das richtige Timing zu sein. Wie schaffe ich es, immer die gleiche Reihenfolge einzuhalten?

Bisher habe ich nur mit HTerm "mitgelauscht" und dann die Botschaften entschlüsselt.
Ein Sendeversucht mit HTerm hat keine Reaktion verursacht, sie ist nichtmal bei den "gesendeten Botschaften" aufgeschienen.

BMW 320d E90: Spritmonitor.de
Yamaha FZ6-S Fazer: Spritmonitor.de
Antworten PM Alle Chronologisch
 
Melden nicht möglich
......
Re(6): Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern
08.02.2017, 08:39:23
RS485/RS422 sind differentielle/symmetrische Schnittstellen, AFAIK brauchen
die sogar 4 Drähte - sowas können die meisten Controller inkl. dem MSP430 ohne
extra Treiberchips gar nicht ausspucken.

Jein. RS485 braucht nur 2 Drähte für halbduplex.

Mit welchen Baudraten und hast du in hterm den experimentiert?

Alle durch, 4800 scheint die richtige Einstellung zu sein & hat sich wie gesagt auch rechnerisch ergeben, nachdem ich die Leitungen an einem "Behelfs-Oszi" angeschaut habe.

Internetrecherche

Fehlanzeige. Gibt ein paar Leute, die auch schon danach gefragt haben, aber verfolgt bzw. eine Lösung scheint niemand zu haben.
Anfrage beim Hersteller nach Offenlegung des Protokolls wurde leider auch abgelehnt.

Mit welchen Pegeln arbeitet das Drahtpaar?

Zwischen den Drähten liegt ~5V oder +0V an. Bisher habe ich aber wie gesagt kein richtiges Oszi zur Hand, um das zuverlässig anzuschauen.

Ich glaube, daß du ein Detail auf der elektrischen Seite übersehen hast, das
dein Adapter nicht mitbekommt.

Das will ich nicht ausschliessen.
Umgekehrt, warum sehen meine entschlüsselten Botschaften dann so plausibel und sinnvoll aus?
Habe gestern Abend noch ein bisschen weiter analysiert & mittlerweile die Botschaften von 2 Geräten vollständig entschlüsselt.

Nach wie vor würde es mich wundern, wenn da angesichts der inzwischen üblichen
bereits von den Controllern mitgelieferten Protokolle was eigenes erfunden
worden wäre.

Ich habe nur eines der 5 Geräte geöffnet; dort ist eben der genannte Chip im Einsatz. Die anderen 4 sind aber von der Funktionalität sehr viel einfacher, möglicherweise ist dort was anderes drin. Diese Teile sind aber auf einer Hutschiene montiert und mittels Schraubklemmen verdrahtet. Scheue mich davor, da was auszubauen und auch noch aufzumachen.

Habe gestern Abend dann auch noch im Datenblatt nachgeschaut, welche Leitungen von dem genannten TI-Chip relevant sind. Bin dann aber nicht weitergekommen, jetzt habe ich die relevanten Seiten ausgedruckt und werde genauer draufschauen. Am Bildschirm bin ich vor lauter Scrollen durcheinander gekommen.

Aber wie gesagt ... bin kein Elektronik-Crack, nur ein paar Beobachtungen,
Erfahrungswerte und was man sich so
anliest.

Bin für jeden Tipp dankbar.

BMW 320d E90: Spritmonitor.de
Yamaha FZ6-S Fazer: Spritmonitor.de
Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung