Forum: Mikrocontroller und Digitale Elektronik Protokollanalyse - Diehl IR Bedienpaneel


von michi099 (Gast)



Lesenswert?

Schönen Abend,

Es gibt wieder mal ein Projekt zum Thema Kochtopf und 
Temperaturregelung. Dazu habe ich mir einen Induktionsherd besorgt und 
würde als ersten Schritt gerne die Leistung per Mikrocontroller steuern 
können, was sich nun als schwieriger als gedacht herausgestellt hat.

Um welches Gerät gehts:
  * CPSN-3000

dieses enthält zwei solcher Leistungsteile:
  * 
https://www.ymarveelectronica.com/tienda/vitroceramica/placas-control-electronicas/cpsn-3000-d-2954034100-teka/

und das Bedienpaneel, welches mit beiden Leistungsteilen kommuniziert 
(siehe Bilder).

Von den 5 Drähten sind nur 4 auf der Leiterplatte kontaktiert, und zwar:
* +10.5V (Vin)
* GND
* +5V (Vout)
* data

Kommuniziert würd über einen Bus (die Datenleitungen beider 
Leistungsteile sind auf der Platine verbunden). Alle 
Oszilloskopaufnahmen zeigen den Bus, gesendet wird von TxD6 (NEC 
D78F0534), die Signale werden am Weg zum Bus invertiert (was auf 
Wired-And schließen lässt).

Der verwendete UART würde zwar LIN 'unterstützen', die Pulse sehen aber 
nicht danach aus:
Den langen 1-Pulse würde ich als SOF (start of frame) werten, ist aber 
für LIN vermutlich zu lange (ca. 4.5ms, minimale Pulselänge: 100µs - das 
entspräche 45 Takten, das UART-Modul unterstützt bis zu 20). Außerdem 
fehlt das LIN-Sync danach (0x55 nach dem SOF).

Ausgehend vom angenommenen SOF und der mininmalen Pulselänge von 100µs 
habe ich danach die Punkte vom Oszilloskop ausgelesen/mit einem 
Mikrocontroller gesampled und über ein Skript in Pulse umgewandelt. 
Mittels division durch die kleinste Pulselänge hab ich dann auf die 
Anzahl der Bits je Puls geschlossen. Weiters habe ich dann Pulselängen 
mehrerer Frames verglichen und zu Gruppen zusammengefasst. Siehe dazu 
die angehängten Textdateien.

Was mich vor allem stutzig macht ist, dass es einige Pulse gibt, die 
kein vielfaches der kleinsten Pulslänge sind (das führt auf ein absurdes 
Ergebnis von z.B.: 3.5 Bits...).

Falls jemand eine Idee hat, was das für ein Protokoll sein könnte, 
welche Modulierung es sonst noch sein könnte oder sowas ähnliches schon 
gesehen hat, ich bin über jegliche Informationen dankbar!

lg michael

von Achim M. (minifloat)


Lesenswert?

michi099 schrieb:
> das führt auf ein absurdes Ergebnis von z.B.: 3.5 Bits...

Ist das ein High- oder Low-pegel mit 1,5bits? Wenn Low(logisch 1, da 
invertierter UART) könnte es ein 1,5-Stopbit-Format sein.
mfg mf

: Bearbeitet durch User
von Michael .. (michi099)


Lesenswert?

Waren tendentiell eher Low (am Bus), d.h. High am TxD-Pin. Es gibt aber 
auch 'krumme' längen wie 1.3, 1.8 usw. (siehe 
frame_analysation_with_bitcount.txt im Ausgangspost).

Was für mich gegen UART spricht ist, dass sowohl lange Low als auch 
High-Pulse vorkommen:
  * Sei Low der Ruhepegel: viel zu lange High-Pulse (~44 und 9 Bit)
  * Sei High der Ruhepegel: zumindest ein zu langer Low-Puls (36.5 Bit)

Danke jedenfalls für die Idee, werd mir das nochmal durch den Kopf gehen 
lassen.
Plan B wäre Sequenzen zu Samplen, wenn möglich einzelne Frames zu 
Isolieren (das hat einigermaßen funktioniert, mit Luft nach oben) und 
entsprechend abzuspielen.

lg michael

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.