Ich habe eine teures Gerät dessen Inhalt aus zwei Platinen besteht. Auf der Platine1 ist die Stromversorgung, diverse Module und eine automatische temperatur gesteuerte Einschalt-Elektronik untergebracht. Auf der Platine2 ist eine teils ähnliche Elektronik untergebracht ,ein Bildschirm ist auch daran befestigt, und es gibt eine per Ein/Aus Taster gesteuerte Einschalt-Elektronik. Beide Einschalt-Elektronik Einheiten werden scheinbar von je einem Atmel Microcontroller AT90S8535 (mit programmierbarem Flash, und EEPROM) im Zentrum gesteuert. Hier seine Beschreibung: www.atmel.com/Images/doc1041.pdf Diese Microcontroller steuern alle größeren Spannungregler die die Platinen versorgen. Die beiden Platinen sind über ein 24 poliges Kabel miteinander verbunden über das Strom, Daten, usw. geleitet werden. Als sich dieses Kabel mal gelockert hat, flackerte Bilschirm kurz und das Gerät ging aus. Seitdem lässt sich das Gerät nicht mehr einschalten und es sind kaum mehr wo auf den Platinen Spannungen messbar. Die 5V Versorgungspannung der Microcontroller liegt aber normal an. Auch der Platine1 Microcontroller1 hängt mit mindestens einem Pin direkt an diesem Kabel! Vielleicht hat er beim Kabel-Wackelkontakt ja auch eine Beschädigung erlitten?! Alle großen Spannungregler sind jedenfalls aus. Die Platine2 mit dem Bildschirm hingegen funktioniert in einem anderen Gerät noch normal. Wie ich nun einen Microcontroller1 mit unbekannten, programmierten Inhalt testen soll, weiß ich nicht und einfach austauschen kann ich ihn wegen der Programmierung ja auch nicht? Oder kann man die Programmierung irgendwie auslesen und auf einen Nachfolger überspielen?
David Muster schrieb: > Oder kann man die Programmierung irgendwie auslesen und auf einen > Nachfolger überspielen? Könnte man eventuell wenn der Hersteller diese Möglichkeit nicht unterbunden hat. Aber sieh es doch mal so: Wenn du das Programm auslesen könntest wäre der Controller noch heile und du bräuchtest keinen neuen. Sollte der Defekt wirklich am Controller liegen hast du ziemlich die Arschkarte gezogen. Gibt es den Hersteller deines Gerätes noch?
Gibt es bei den Controllern nur die Zustände komplett defekt und funktionstüchtig? Oder könnten z.B auch nur Teile wie einzelne I/O-Ports defekt sein und der Chip sich trotzdem auslesen lassen? Und kann man den Controller nicht doch irgendwie testen? Ich habe mittlerweile eine Großteil der Ein- und Ausgangs-Leitungen gefunden. Z.B. den Eingang identifizieren der von der Temperatursteuerung kommt und ihn einfach mal auf High oder Low schalten und schauen ob sich was an den als Ausgängen dienenden Ports tut? Oder ist das zu gefährlich? Der Zulieferer der das Gerät für den Hersteller fertig, haut alle paar Jahre eine neue Modellgeneration raus und bietet für Nicht-Großkunden und alte Geräte wohl keinerlei Support.
David Muster schrieb: > Gibt es bei den Controllern nur die Zustände komplett defekt und > funktionstüchtig? Oder könnten z.B auch nur Teile wie einzelne I/O-Ports > defekt sein und der Chip sich trotzdem auslesen lassen? Ja, es kann sein, das nur ein einzelnes Portbeinchen hops geht, der Controller an sich aber noch funktioniert. Pech ist es allerdings, wenn dieser Port zum Programmieren und Auslesen benutzt wird, dann ists nicht mehr möglich, da was zu lesen. Bei externem Quarz würde ich als erstes mal den Oszillator checken. Wenn der noch läuft, hat der MC zumindest Takt. Mit dem Komponententester meines Oszis würde ich dann im abgeschalteten Zustand der Platine reihum die Portpins des MC auf Schlüsse gegen Masse oder Vcc prüfen. Wenn der MC gesockelt ist, probiere ich dann, ihn auszulesen. David Muster schrieb: > Z.B. den Eingang identifizieren der von der Temperatursteuerung kommt > und ihn einfach mal auf High oder Low schalten und schauen ob sich was > an den als Ausgängen dienenden Ports tut? Oder ist das zu gefährlich? Das ist nicht gefährlich, wenn das Gerät sowieso von der Heizung abgetrennt ist, und du mit der Netzspannung vorsichtig bist. Wenn da auf der Platine auch das Netzteil ist, solltest du es so abdecken, das du nirgends ans Netz rankommst.
Das "gefährlich" beim Testen bezieht sich nicht auf mich, sondern die Schaltung. Also das der Controller selbst durch undefinierte Zustände im Inneren Schaden nimmt.Oder das durch undefiniertes oder nur tweilweises ansteuern, der an den Ausgängen hängenden Power-MOSFETS z.B. die Spannungsregler dahinter Schaden nehmen? Auf dem Board gibt es außerdem sowieso keine Netzspannung, sondern es wird gleich eine niedrige Gleichspannung rein geliefert. Und wie kann ich die Oszillatoren checken? Geht das nur mit nem Oszilloskop oder auch anders?
David Muster schrieb: > Also das der Controller selbst durch undefinierte Zustände im Inneren > Schaden nimmt.Oder das durch undefiniertes oder nur tweilweises > ansteuern, der an den Ausgängen hängenden Power-MOSFETS z.B. die > Spannungsregler dahinter Schaden nehmen? Wenn du dich mit den Pegeln innerhalb der Betriebsspannungsgrenzen des MC bewegst, kann da eigentlich nichts passieren. Du solltest vermutlich vermeiden, gleichzeitg zwei widersprechende Signale zu generieren, wie z.B. 'Ventil fährt auf' und 'Ventil fährt zu', sonst kann da aber nichts passieren. David Muster schrieb: > Und wie kann ich die Oszillatoren checken? Geht das nur mit nem > Oszilloskop oder auch anders? Hmm, ich bin es so gewohnt, den Oszi zu benutzen, das ich erstmal überlegen musste - aber es sollte klappen, mittels eines z.B. 470p-2n2 Koppelkondensators und einem Multimeter auf Wechselspannung geschaltet, am Quarz eine Spannung nachzuweisen (gegen Masse gemessen). Das Datenblatt hast du dir ja vermutlich besorgt, du solltest also an XTAL1 und/oder XTAL2 was messen können. David Muster schrieb: > Auf dem Board gibt es außerdem sowieso keine Netzspannung, sondern es > wird gleich eine niedrige Gleichspannung rein geliefert. Prüfe diese natürlich als erstes. Sollten ziemlich genau 5 Volt an Vcc des Controllers sein.
Frage: Kann man bei diesem Controller ein I/O Pin mit einem dran gehaltenen Widerstand auf High- oder Low-Pegel ziehen probieren ohne das er Schaden nimmt? Also einen IC Pin mit High-Pegel auf Low ziehen und ein Pin mit Low-Pegel auf High ziehen. Und welche Widerstandsgröße sollte ich bei 5V Pegeln nehmen so 50K?
>Also einen IC Pin mit High-Pegel auf Low ziehen und ein Pin mit >Low-Pegel auf High ziehen. Bei Ausgängen würde ich das sein lassen. Da machst du noch mehr kaputt. Gib dich damit ab das dein Gerät im Eimer ist. Mehr kann man dazu nicht sagen.
Um was für ein Gerät handelt es sich?
Was kann ich bei einem Ausgang denn sonst probieren, wenn ich den daran befestigten MOSFET Gate schalten will? Bleibt mir nur den SMD MOSFET Pin los löten und in der Luft hängen lassen?
>Was kann ich bei einem Ausgang denn sonst probieren, wenn ich den daran >befestigten MOSFET Gate schalten will? Leitung durchschneiden und den gewünschten Pegel anlegen?
Da war ich mit dem Editieren wohl zu langsam. Und kann man einen als Ausgang genutzen I/O Pin nicht einfach trotzdem mit High Low beschalten, er ist schließlich nur darauf programmiert? Hier mal ein Auszug aus dem Datenblatt: >Port D is an 8-bit bi-directional I/O port with internal pull-up resistors. >The Port D output buffers can sink 20 mA. >As inputs, Port D pins that are externally pulled low will source >current if the pull-up resistors are activated.
>Und kann man einen als Ausgang genutzen I/O Pin nicht einfach trotzdem >mit High Low beschalten, er ist schließlich nur darauf programmiert? Nimm mal eine Autobatterie an. Die ist mit 12V High. Jetzt legst du die durch Kurzschluss auf Low. Denkst du die mag das? Ein Chip der am Ausgang high liefert kann kaputt gehen wenn du seinen Ausgang auf low zwingst.
Hallo, ein µController ist so komplex, dass die einzig vernünftige Methode ihn zu testen darin besteht, ihn gegen ein bekanntermassen funktionierendes (=neues) Exemplar auszutauschen. Wenn das wegen fehlender Firmware nicht machbar ist, lohnen sich weitere Versuche nicht, ohne die Firmware ist ja sowieso keine Reparatur möglich. Das maximal Sinnvolle wäre den Chip auszubauen und einen Leseversuch zu machen, und zu prüfen ob sich ganz grob ein sinnvoller Programmablauf daraus entnehmen lässt. Wenn ja, einen neuen Chip entsprechend programmieren und einbauen. Eine Prüfung aller Funktionen eines ausgebauten Chips lohnt sich niemals. Gruss Reinhard
Ich habe jetzt im Wiki gelesen das die Atmel AVR 8-Bit-Mikrocontroller-Familie wegen ihrer leichten Programmierbarkeit und umfrangreichen Möglichkeiten bis hin zu Hobby-Anwendern weit verbreitet ist. Verfügen diese Mikrocontroller nun auch über eine (versteckte) Möglichkeit die ganze Programmierung auszulesen ? Darauf ist bisher noch keiner genauer eingegangen.
David Muster schrieb: > Verfügen diese Mikrocontroller nun auch über eine (versteckte) > Möglichkeit die ganze Programmierung auszulesen ? Ein MC der AVR Klasse ist nur dann auslesbar, wenn die Verriegelungs(Lock-) Fuses nicht gesetzt sind. Ansonsten ist es nur per Chip löschen möglich, den MC praktisch in den 'Auslieferungszustand' zu versetzen, dabei geht das Programm verloren und die Lockfuses werden zurückgesetzt. Das möchtest du aber nicht. Ich würde dir als erstes empfehlen, den MC zu sockeln. Dann kannst du einzelne Pins hochlegen und den Rest der Schaltung prüfen. Mach mal ein Foto des Controllerboards.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.