Semidefekter 89c51

OP #2536919
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
OP #2537707
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
Gast #2537735
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.
Gast #2537777
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.
#2579384
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren