Forum: Mikrocontroller und Digitale Elektronik Bootloader und XCK


von Oliver D. (oliverd)


Lesenswert?

Hallo liebe MC-Freunde,

Kurzfassung: habe Heizungsthermostate mit einem Atmega169 und einer 
externen Schnittstelle auf der u.A. RxD, Txd, Reset und XCK liegen. Ist 
es sehr wahrscheinlich, dass der Hersteller einen seriellen Bootloader 
auf den MC gemacht hat ?

Langfassung: ich habe diverse Heizungsthermostate vom selben 
Typ/Hersteller. Da die Dinger recht umständlich einzustellen sind (jeder 
Tag muss einzeln mit Anfangs-/Endzeiten und Temperaturen versehen 
werden, schönes Feature aber bedeutet 10 Minuten Arbeit bei jeweils 4 
Heizkörpern, was mich iwie nervt...) , habe ich mal eins aufgemacht, um 
zu sehen, ob man da vielleicht was hacken kann. Es steckt ein Atmega169 
drin (scheint im Wes. ein 168 mit zusätzlichem konfigurierbarem 
LCD-Treiber zu sein), was für mich eine glückliche Überraschung ist, da 
ich schon ein paar Sachen mit AVR gemacht habe (bin ansonsten Hobbyist, 
und muss mit dem Vorlieb nehmen, was ich nach Feierabend zu Stande 
bringe).

Die angeschlossene Aktorik und Sensorik konnte ich auf der Platine zu 
den Pins des MC nachverfolgen (und habe ich denke ich verstanden; ein 
T-Sensor am ADC, ein Motor an einer diskreten H-Brücke, drei Buttons, 
das LC-Display und noch ein Drehgeber mit wie es aussieht 
Reflexlichtschranke). Neues Programm schreiben sollte also dank meiner 
ausgiebigen C-Erfahrung kein Prob sein (Maschinencode Auslesen geht 
leider nicht, Lockbits sind laut SPI-Kommunikation mit AVRDude gesetzt).

Nun möchte ich aber natürlich nach Möglichkeit den MC neu programmieren, 
ohne an jeden der 4 Thermostate Kabel an die SPI-Leitungen zu löten 
(schon allein wegen meiner schlechten, für SMD wenig geeigneten Augen 
:-). Die Dinger haben aber ein externes Interface mit 10-pins durchs 
Gehäuse, das ich auch bereits reversed habe. Folgende Leitungen sind 
rausgeführt:

TMS
TDO
TDI
TCK
RxD
TxD
XCK
Reset
GND
VCC (das ist die Eingangsspannung vor dem geräteeigenen Spannungsregler 
=> Batterie)

Gut die ersten vier sind offensichtlich JTAG (womit ich mich ansonsten 
nicht so doll auskenne und gerne vermeiden würde, da ich kein JTAG-Box 
habe und die Kosten scheue).

Nun dachte ich mir, dass die Tatsache, dass RxD und TxD herausgeführt 
sind, vielleicht bedeuten könnte, dass der MC auf dem Thermostat über 
einen Bootloader verfügt. Also habe ich RxD und TxD an mein 
FTDI-Breakoutboard (Watterott 2.0) angeschlossen, sowie Reset an DTR. 
Wenn ich aber mal dumm alle Bootloader, die in AVRDude zur Verfügung 
stehen, durchprobiere, tut sich nix (Meldung sinngemäß: "...antwortet 
nicht...").

Kann es sein, dass die externe Clock hier noch beschaltet werden muss ? 
Wozu sollte sie sonst herausgeführt sein ? Aber ist synchrone 
Kommunikation bei der MC-Programmierung nicht eher unüblich ? Oder bin 
ich etwa komplett auf dem Holzweg mit der Annahme, dass auf den Dingern 
ein Bootloader drauf ist ? Würde ein Hersteller wirklich einen 
Bootloader draufmachen ?

Grüße und danke im voraus an alle, die sich den Kopf über meine Hobbies 
zerbrechen...

Oliver

von Oliver D. (oliverd)


Lesenswert?

Ich Dussel sehe gerade (nach 2 Wochen eigener Nachforschungen), dass das 
alles schon lange gemacht wurde. Und auch noch hier... Jetzt habe ich 
wenigstens erst mal Lesestoff. :-)

Für evtl. Interessierte:

Beitrag "Honeywell Rondostat HR20E per AVR steuern und konfigurieren"
http://embdev.net/topic/118781
http://www.mikrocontroller.net/articles/Heizungssteuerung_mit_Honeywell_HR20

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.