Autor |
PIC16F877 - teildefekt - Wer kann helfen? |
|
|
|
|
BID = 461973
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
|
Hallo zusammen,
für einen Freund repariere ich einen amerikanischen Verstärker. In dem Amplifier ist der Microcontroller PIC 16F877 eingesetzt. Grundsätzlich funktioniert die Steuerung des Amps, aber 2 Ausgänge des uC sind defekt. Die Ausgänge sind immer auf Low-Potential. Alles andere macht einen absolut korrekten Eindruck.
Frage 1: kann man die Software des Programms aus dem Controller auslesen, um einen frischen (neuen) Controller damit zu programmieren?
Frage 2: falls man die SW auslesen kann, wer kann mir diese Arbeit und die Bereitstellung des ICs - natürlich gegen faire Bezahlung - ausführen?
Ich möchte mich nicht für diese einmalige Sache erst einlesen in die Sache und man braucht ja auch entsprechende Hardware.
Der Hersteller des Amps scheint keine Ersatzteile rauszurücken; daher diese Anfrage.
Viele Grüße
Rainer
|
|
BID = 461974
Benedikt Inventar
Beiträge: 6241
|
|
Zitat :
Heidegeist hat am 5 Okt 2007 11:22 geschrieben :
|
für einen Freund repariere ich einen amerikanischen Verstärker. In dem Amplifier ist der Microcontroller PIC 16F877 eingesetzt. Grundsätzlich funktioniert die Steuerung des Amps, aber 2 Ausgänge des uC sind defekt. Die Ausgänge sind immer auf Low-Potential. Alles andere macht einen absolut korrekten Eindruck.
|
Bist du sicher, dass der µC defekt ist, und nicht die Pins woanderst nach Low kurzgeschlossen sind ? Ohne Grund gehen die Pins nämlich nicht kaputt.
Eine weitere Fehlermöglichkeit wäre eine beschädigte Software im µC.
Zitat :
|
Frage 1: kann man die Software des Programms aus dem Controller auslesen, um einen frischen (neuen) Controller damit zu programmieren?
|
An sich ja, aber fast immer wird ein Bit gesetzt, um den µC vor dem Auslesen zu schützen. Sollte diese der Fall sein (wovon ich mal ausgehen würde) dann wird es schwer, denn dann muss die Software neu geschrieben werden. |
|
BID = 461977
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Hallo Benedikt,
danke für Deine schnelle Antwort!
Die beiden Ausgänge gehen nur an einige CMOS-IC (Analog-Multiplexer), um Widerstände zu schalten (Volume-Einstellung). Auch wenn ich die Leitung zwischen uC und den ICs unterbreche, bleibt der permamente Low-Zustand der beiden Ausgänge. Ein bzw. mehrere dieser Analog-Schalter waren defekt und wurden gewechselt. Bis auf die nun springende Lautstärke-Einstellung ist alles andere wieder im Lot.
Da sich alles andere, außer der Volume-Einstellung, absolut normal verhält, gehe ich sehr stark davon aus, daß er Controller Schaden genommen hat - vermutlich durch Rückwirkung von einem der defekten CMOS-ICs.
Die Sache mit der Auslese-Sperre wäre natürlich übelst. Ob das der Fall ist, kann man vermutlich nur auf einem Programmierplatz herausfinden, oder?
LG
Rainer
[ Diese Nachricht wurde geändert von: Heidegeist am 5 Okt 2007 11:44 ]
[ Diese Nachricht wurde geändert von: Heidegeist am 5 Okt 2007 11:46 ]
|
BID = 461987
Benedikt Inventar
Beiträge: 6241
|
Zitat :
Heidegeist hat am 5 Okt 2007 11:43 geschrieben :
|
Da sich alles andere, außer der Volume-Einstellung, absolut normal verhält, gehe ich sehr stark davon aus, daß er Controller Schaden genommen hat - vermutlich durch Rückwirkung von einem der defekten CMOS-ICs.
|
Das kann durchaus sein. Wenn die Pins des µC nur halb kaputt sind: Versuch es mal mit Pullups an den Pins, vielleicht funktioniert es ja (wenn nur die P Fets der Pins durchgebrannt sind).
Zitat :
|
Die Sache mit der Auslese-Sperre wäre natürlich übelst. Ob das der Fall ist, kann man vermutlich nur auf einem Programmierplatz herausfinden, oder?
|
Man benötigt dafür ein Programmiergerät. Entweder ein orginal ICD2 oder etwas ähnliches von Microchip, oder etwas selbstgebautes. Für das eine IC lohnt sich der Aufwand aber nicht. Jetzt bleibt halt nur die Frage, wie du jemanden in deiner Nähe findest, der solch ein Gerät hat.
|
BID = 461990
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Moin nochmal,
der Vorschlag mit den Pull-Ups ist gut; werde ich gleich mal ausprobieren! Ich hatte beim letzten Messen noch ein ganz leichtes Zucken (von der Null-Volt-Linie weg) festgestellt.
Also, das IC ist derzeit leider auf einer Platine eingelötet! Es war schon ein Akt, die 16-Beinigen CMOSse herauszukriegen...
Es gibt vermutlich keinen Adapter, sodaß man im eingebauten Zustand die Operationen vornehmen kann?
Ansonsten müßte der Helfer ja nicht in der Nähe wohnen, weil man kann das Ding ja auch leicht verschicken.
Wie gesagt, die Sache wird vergütet!
LG
Rainer
|
BID = 461992
Benedikt Inventar
Beiträge: 6241
|
Zitat :
Heidegeist hat am 5 Okt 2007 13:01 geschrieben :
|
Also, das IC ist derzeit leider auf einer Platine eingelötet! Es war schon ein Akt, die 16-Beinigen CMOSse herauszukriegen...
Es gibt vermutlich keinen Adapter, sodaß man im eingebauten Zustand die Operationen vornehmen kann?
|
Doch, das geht. Das ganze nennt sich ICSP (In Circuit Serial Programming). Dazu benötigt man nur 5 Drähte die man zur Not an die enstprechenden Pins löten kann.
|
BID = 461999
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Den Test mit den Pull Ups Widerständen habe ich gemacht, aber ich merkte schon bald, daß das doch sinnlos ist, weil die beiden Beinchen des uC sehr sehr niederohmig sind mit ca. 1,7 Ohm gegen 0 Volt. Habe es dennoch versucht und der Erfolg war, daß der H-Level sich auf ganze 22mV erhöht.
Tje, ich komme nicht drumherum und ich brauche jemanden, de so einen ICSP sein eigen nennt und der damit versucht, den Controller auszulesen. Sofern der auslesbar wäre, müßte natürlich der defekte Controller ausgelötet und ein neuer, programmierter eingebaut werden. Das Aus- und Einlöten könnte ich noch selbst übernehmen, aber nicht das Drumherum.
Gibt es jemanden hier in der Runde, der das übernehmen würde?
LG
Rainer
|
BID = 462012
Ltof Inventar
Beiträge: 9329 Wohnort: Hommingberg
|
Die Wahrscheinlichkeit, dass Dein Controller den Speicherinhalt herausrückt ist bei einem kommerziellen Gerät tendenziell Null!
Welche Pins sind denn kaputt? Wenn das zufällig die sind, die zum Programmieren gebraucht werden, ist sowieso Essig...
ICSP (In-Circuit-Serial-Programming) ist nicht zwangsläufig notwendig und funktioniert eh nur, wenn die Hardwareumgebung dazu passt. Ist das Ding ausgelötet, geht das mit "irgendeinem" der Programmiergeräte. Mein PICstart Plus müsste den unterstützen. Das wäre einfach, weil er dann in den Nullkraftsockel gepappt wird. Andererseits hätte ich keine Lust, einen kaputten Controller in den PICstart zu stecken. Also doch besser einen Programmieradapter für einen ICSP-Brenner basteln.
( http://www.sprut.de/electronic/pic/icsp/icsp.htm#dil40 )
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 462039
Unregistered Guest Stammposter
Beiträge: 345
|
|
BID = 462052
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Hallo zusammen,
defekt sind die Pins 28 und 29.
Mit "zutrauen" hat das eher weniger zu tun als vielmehr mit der wenigen Freizeit, die man als Außendienstler so hat. Und ich möchte mich für diesen einen Fall nicht unbedingt in diese Materie einarbeiten und Testadapter kaufen und bauen; da zahle ich lieber einem, der machen wollten einen obolus.
Also, wenn jemand den Ömmel mal checken könnte und mir im Glücksfall sogar einen neuen brennen könnte, dann bitte PM.
LG
Rainer
|
BID = 462053
Racingsascha Schreibmaschine
Beiträge: 2247 Wohnort: Gundelsheim
|
Blödes backup
Kuck mal ob Pin 36 fest auf low oder liegt oder er durch anderes mehr oder weniger nach high gezogen wird. Wenn ersteres der Fall ist, kannst du den Brenner den Unregistered Guest vorgeschlagen hat nicht bauen, da der PIC zum programmieren und auslesen 12V an seinem Reset-Eingang erwartet. dann brauchst zb den Brenner hier. Du kannst auch schonmal prüfen, ob sich die Schaltung für ICSP eignet. Vpp ist bei dir Pin 1, Vdd 32, Vss 31, Data 40 und Clock 39.
Pin 28 und 29 sind RD5 und RD6, das Port D kann man scheinbar auch als "Parallel Slave Port" initialisieren, was das ist weiß ich nicht, soweit hab ich nicht im Datenblatt gelesen.
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.
[ Diese Nachricht wurde geändert von: Racingsascha am 5 Okt 2007 17:17 ]
|
BID = 462073
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| weil die beiden Beinchen des uC sehr sehr niederohmig sind mit ca. 1,7 Ohm gegen 0 Volt. |
Hast du das im stromlosen Zustand oder bei anliegender Betriebsspannung gemessen ?
|
BID = 462075
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Zitat :
perl hat am 5 Okt 2007 18:40 geschrieben :
|
Zitat :
| weil die beiden Beinchen des uC sehr sehr niederohmig sind mit ca. 1,7 Ohm gegen 0 Volt. | Hast du das im stromlosen Zustand oder bei anliegender Betriebsspannung gemessen ?
|
Die Widerstandsmessung habe ich spannungsfrei gemessen. Die anderen Ausgänge waren allesamt hochohmiger. Aber auch unter Spannung mit dem Pull up Widerstand (R=10 KOhm) kommt der Pegel nicht hoch.
Die Messung an Pin 36, das Racingsascha vorschlägt, mache ich später...
|
BID = 462079
Heidegeist Gerade angekommen
Beiträge: 9 Wohnort: Neuenkirchen
|
Zitat :
Racingsascha hat am 5 Okt 2007 17:11 geschrieben :
|
Du kannst auch schonmal prüfen, ob sich die Schaltung für ICSP eignet. Vpp ist bei dir Pin 1, Vdd 32, Vss 31, Data 40 und Clock 39.
|
Hallo,
ich verstehe nicht ganz, was ich prüfen soll bzgl. Deiner obigen Frage bzw. welche Bedingung erfüllt sein muß?
Rainer
|
BID = 462082
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Die Widerstandsmessung habe ich spannungsfrei gemessen. |
Dann ist wohl wirklich der PIC hie - wenn du nicht gerade einen Kurzzschluss in einem anderen Bauteil oder auf der Platine hast.
Fragt sich, woran die Ausgangstransistoren des PIC gestorben sind. Einer mag ja von sich aus kaputtgehen, aber wenn es zwei erwischt hat, dann hat jemand wohl mal einen Kurzzschluss nach +5V fabriziert.
Mach dir keine grossen Hoffnungen, dass das Auslesen klappt. Besser du bemühst dich ein originales Ersatzteil zu bekommen.
P.S.:
Ich sehe gerade:
Zitat :
| Die beiden Ausgänge gehen nur an einige CMOS-IC (Analog-Multiplexer), um Widerstände zu schalten (Volume-Einstellung). ....Ein bzw. mehrere dieser Analog-Schalter waren defekt und wurden gewechselt. |
So etwas passiert nicht von allein!
Da hat bestimmt jemand durch das Anlegen einer negativen oder einer hohen positiven Spannung sowohl die Eingänge der Multiplexer, als auch die Ausgänge des PIC zerschossen.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
[ Diese Nachricht wurde geändert von: perl am 5 Okt 2007 19:34 ]
|