Forum: Mikrocontroller und Digitale Elektronik Semidefekter 89c51


von Torsten S. (torstensc)


Lesenswert?

Servus,

ich habe hier einen DMX-Strobo-Controller mit einem Atmel 89c51 zur
Reparatur. Der einzige Hinweis war, es handelt sich um einen Über-
spannungsschaden. Die Stromversorgung, andere Logik-ICs, Komparatoren
habe ich überprüft, alle in Ordnung. Also kann es nur noch der
Controller sein. Allerdings kann ich am 16MHz Quarz messen, es
schwingt. Am ALE-Pin messe ich auch den ordnungsgemäß runtergeteilten
Takt. Wenn ich einen Reset auslöse scheinen die Pins hochohmig zu
werden, danach setzt er einige auf Low, und einige auf High. Das
war's aber auch schon. Er scheint einfach nicht richtig loszulaufen.
So ganz defekt scheint er also nicht zu sein. Hat noch jemand eine
Idee, oder hat der Prozessor wirklich eine Hacke? Da ich bekennenter
PICer bin stehe ich etwas auf dem Schlauch.

Torsten

von Thomas T. (knibbel)


Lesenswert?

DMX => RS485

Hast du mal den RS485-Treiber gecheckt? Kommt das DMX-Signal bis zum 
Controller, so dass er auch eine Chance hat, darauf zu reagieren.

Vielleicht wartet der Strobo-Controller ja einfach nur auf ein 
Eingangssignal...

Gruß,
Thomas

von Torsten S. (torstensc)


Lesenswert?

Er soll ja was senden. Aber er reagiert nicht auf auf irgendwelche
Tastendrücke oder Potieinstellungen.

Torsten

von 1234 (Gast)


Lesenswert?

Torsten Schwalm schrieb:
> Er soll ja was senden. Aber er reagiert nicht auf auf irgendwelche
> Tastendrücke oder Potieinstellungen.

Vielleicht hat er sein Programm vergessen?

von Torsten S. (torstensc)


Lesenswert?

Deswegen meine Frage nach einer Idee. Ob diesen Effekt jemand kennt,
ob ich das irgendwie Prüfen kann...

von Peter D. (peda)


Lesenswert?

Torsten Schwalm schrieb:
> ob ich das irgendwie Prüfen kann...

Was willst Du da prüfen?
Du brauchst nen programmierten AT89C51 und wenn der es tut, ist der alte 
kaputt. Wenn nicht, ist noch mehr kaputt.


Peter

von digitaler fritz (Gast)


Lesenswert?

--- So ganz defekt scheint er also nicht zu sein ---

1 Defekt = 1/2 Defekt = 1/4 Defekt

Wie gross war die Ueberspannung ?

10V 100V 1000V 10000V ? ac , dc ?

von Torsten S. (torstensc)


Lesenswert?

Wie groß, und ob es überhaupt Überspannung war kann ich nicht sagen,
ich habe das Teil nur mit dieser Bemerkung auf den Tisch bekommen.
Für mich ist Überspannung eher unplausibel, da alle anderen Teile
wie Linearregler, Treiber, Logik-ICs perfekt funktionieren. Ich
kenne bei Mikrocontrollern nur kaputt oder nicht. Wenn er aber
noch den Takt generiert, an einem Pin ordnungsgemäß runtergeteilt
ausgibt, auf Reset reagiert usw. ist er für mich nicht sofort als
kaputt einzustufen. Mal schnell einen Neuen zu besorgen zum Testen
ist nicht so einfach.
Es hätte ja sein können, das einer sagt:" das kenne ich, da ist die
und die Fuse gekippt, schnell gemacht, läuft wieder"

Torsten

von digitaler fritz (Gast)


Lesenswert?

auf den Tisch bekommen....

...lasse dir auch einen Schaltplan dazu servieren.

von Osche R. (Gast)


Lesenswert?

Torsten Schwalm schrieb:

> (...) Über-
> spannungsschaden.

> (...) Allerdings kann ich am 16MHz Quarz messen, es
> schwingt. Am ALE-Pin messe ich auch den ordnungsgemäß runtergeteilten
> Takt. Wenn ich einen Reset auslöse scheinen die Pins hochohmig zu
> werden, danach setzt er einige auf Low, und einige auf High. Das
> war's aber auch schon. Er scheint einfach nicht richtig loszulaufen.

Programmier das Flash neu. Eventuell musst Du mehrmals löschen und 
beschreiben, je nachdem, was da durcheinandergekommen ist.

von Sebastian (Gast)


Lesenswert?

Es kann eine einzelne Portleitung defekt sein, das kommt vor. Dann kann 
man den Chip vielleicht noch auslesen und kopieren, wenn er nicht 
geschützt ist. Oder der Speicherinhalt ist futsch, das kann durch 
Überspannungsspitzen vorkommen. Dann wird's schwer, wenn man die 
Firmware dazu nicht hat.

von Bernhard S. (b_spitzer)


Lesenswert?

Hallo,

Torsten Schwalm schrieb:
> Am ALE-Pin messe ich auch den ordnungsgemäß runtergeteilten
> Takt.
Das heißt, dass das System ein externes EPROM als Programmspeicher 
nutzt? Oder wurde nur vergessen, den ALE abzuschalten? Wenn EPROM, dann 
mal den Controller austauschen (wenn 40-Pin DIL, dann gehen auch viele 
andere 80C51-Derivate).
Wenn das Programm im internen Flash liegt, dann entweder per SPI oder 
serieller Schnittstelle mit FLIP auslesen (genauer Controllertyp ist 
hier entscheidend). Eventuell ist ja auf der Platine ein ISP-Anschluß 
drauf.
Ansonsten ab ins Programmiergerät und auslesen - falls die Fuses das 
nicht verhindern. Bei den Atmels gibt es verschiedene Security-Level, so 
dass man den Baustein bei bestimmten Einstellungen nicht auslesen kann. 
Bei den Devices mit internem Flash gibt es noch das Boot-Loader-Jump-Bit 
(in FLIP als BLJB abgekürzt). Wenn das gekippt ist startet der 
Controller eventuell nicht korrekt.

Alle bisherigen Messungen scheinen aber auf ein funktionierendes 
Programm und eine funktionierende CPU schließen zu lassen. Eventuell ist 
doch ein einzelner Portpin hinüber (meist Ausgänge).

unn tschuess
Bernhard

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.