Hallo 8051er Profis, habe im Moment ein kleines Projekt mit einem 89C2051 in Arbeit. Hierbei zeigt sich, dass der Prozessor manchmal nicht sauber anläuft. Habe hier im Forum schon gesucht und dabei festgestellt, dass andere das Problem auch schon hatten. Die wirkliche Ursache für das Verhalten wurde aber bei keinem Beitrag deutlich. Ich betreibe den Prozessor mit einem 3,686MHz Quarz und daran jeweils 33pF. Der Reset ist mit 10µF (nach Vcc) und 10 kOhm nach GND beschaltet (Parallel zum Widerstand noch eine Diode). Versorgungsspannung beträgt 5 V stabilisiert und ich denke, dass sie sauber abgeblockt ist. Schwingt der Quarz zu langsam an und der Reset ist längst vorbei (Grösserer Kondensator brachte keine wirkliche verbesserung) oder ist der Prozessor "Layoutkitisch" (habe einen Aufbau auf einer Lochrasterplatine, aber eigentlich einen sauberen Aufbau)? Gruss Simon
Versuch mal einen Reset-Baustein. Durch das Aufladen des Kondensators wandert der Reset-Eingang langsam dahin. Durch einen Reset-Baustein erhält der Reset-Eingang klare Signale. Ich empfehle den TLC7705IP Tschüss Martin
Der TL7705 hat dafuer den Vorteil sowohl RES als auch /RES zur Verfuegung zu stellen. Ausserdem gibt's noch einen Reset-Eingang und die Dauer ist einstellbar. Lohnt sich dann aber eher fuer Projekte mit viel Peripherie. Wenn's nur ein Controller ist, reicht der DS1812 vollkommen aus. Eddi
Zu Hause nehme ich auch oft diese 10µF+10k ohne Probleme. Auf Arbeit nehme ich den MAX813L, damits idiotensicher ist. Solche Fehler können aber durchaus auf nicht initialisierte Variablen hindeuten. Fülle mal nach dem Reset den kompletten RAM mit 00. Peter
@ Martin, dann heißt er DS 1813. Die Extension stellt die Triggerspannung dar. Ich nehme für die AVR's den DS 1813-10. @ Eddi, du hast recht. Evtl ist deine Wahl die bessere, da lt. deiner Beschreibung ja ein Watchdog mit drin sein muß. Die alten 89CX51 haben keinen internen Watchdog. Michael
Was hast du denn für eine Betriebsspannung ? Ich verwende so ziemlich alles für den Reset was gerade rumliegt, oft auch ohne Pulldown Widerstand, der ja eingebaut ist. Mit 100nF-1uF hatte ich noch keine Probleme. 33pF für den Quarz ist auch mein Standartwert -> Bisher Null Probleme. Das einzige problem das ich mal hatte war eine Propeller Clock. Hier bekommt dern uC seine Spannung über eine Spule. Das ganze ist leider sehr hochohmig, weshalb ich a) sehr große Elkos verwendet habe (um den hohen Strombedarf der LEDs zu decken), was aber dazu führt, das es einige s dauert bis die Spannung von 5V am uC anliegt -> Reset muss auf 5s eingestellt sein) b) im Leerlauf etwa 25V Betriebsspannung habe.
Danke für Eure Antworten. Werde am Reset noch mal optimieren. Hatte bisher eigentlich (zwar andere Prozessoren) auch noch nie so richtig ein Problem mit dem Reset. @Peter Werde mir die Software noch mal genau vornehmen. Probiere es auch noch mit einem Einfachstprogramm um festzustellen ob damit die Probleme auch noch bestehen. Gruss Simon
Ich hatte beim 89C2051 auch schon oft Probleme mit sauberem Anlaufen gehabt, und ich denke schon, daß es am Reset und nicht an fehlender Variableninitialisierung liegt. Denn nach Einbau eines Resetcontrollers lief es hervorragend. Es lag an der Versorgungsspannung. Wenn diese zu langsam hochfährt, ist der µC mit seinem Reset fertig, bevor eine sichere Betriebsspannung erreicht ist. Habe dann einen MAX811 (oder war es 812, jedenfalls der mit dem highaktiven RESET) verwendet. Der ist allerdings - verglichen mit dem 89C2051 - schweineteuer. Auch die oben erwähnte Variante für 50cent ist im Vergleich zum µC immer noch sehr viel. Warum kriegt ATMEL das nicht mal geregelt, einen 8051 zu bauen, der sauber anläuft?!? Gruß, Markus_8051
@Markus_8051 Dann musst du das RC Glied entsprechend groß auslegen. Mit einem 10uF Elko und keinem Pulldown kommt man auf ein paar Sekunden Resetdauer. Das funktioniert dann auch bei der hochohmigsten Spannungsquelle nich Problemlos.
@ Wilhelm, jetzt, wo Dallas von Maxim gekauft worden ist, bekommst du ihn bei Spezial Elektronik. Preis bei 100 Stück Bei RS ist der Einzelpreis 1,91. Michael
@Benedikt: Da das Netzteil nicht fest zur Schaltung dazugehört, ist die nötige Anlaufzeit nicht zu bestimmen. Natürlich kann man den Elko größer auslegen (beim 89S8252 gibt es dann Probleme mit dem ISP), aber wirklich sicher kann man sich da nur mit einem Resetcontroller sein, derhalt die Spannung überwacht. Markus_8051
Die Probleme mit ISP und zu großen Resetkondensatoren kenne ich. Daher habe ich mir ein eigenes Programmiergerät gebaut, da es keine Seriell Port Software für ISP von AT89S51/52 gibt ! In dem Programmiergerät arbeitet ein AT89C2051. Das Ding programmiert AT89S51/52, AT90Sxxxx. AT89S8252/53 werden noch nicht unterstützt, da ich dafür keinen Bedarf habe und diese komplett andere Befehle und Routinen haben. Der Reset Ausgang läuft über eine Transistorendstufe, da sind auch ein paar uF kein Problem. Außerdem ist das Gerät etwa 10x schneller als Ponyprog. Wenn man 1uF für den Reset nimmt, und es dann nicht läuft sollte man sich wirklich Gedanken machen, ob man nicht ein anderes Netzteil nimmt...
Hallo zusammen, es sind hier ja einige Anregungen zur Resetschaltung für einen 89C2051 zusammengekommen. Zwischenzeitlich kann ich berichten, dass die einfache RC-Schaltung wie ich sie eingesetzt habe und glaubte sie mache mir Probleme nicht so schlecht ist wie ihr Ruf. Will damit sagen, ich hab die Ursache für mein Problem gefunden. Es war nicht der Reset, sondern ein Softwarefehler (Stacküberlauf - ja Asche auf mein Haupt). Danke für Eure Hilfe Gruss Simon
@Simon: Macht doch nix, immerhin lässt sich feststellen, dass es doch besser und sicherer wäre, einen Resetcontroller zu verwenden. Auch wenn es bei einigen mit RC-Glied wunderbar läuft und nie Probleme gibt. Gruß Ralf
Hallo, auch wenn dieses Thema aus grauer Vorzeit stammt, eine Frage: Ich hatte nun auch das Probleme mit dem Reset/sauberen Anlauf. Benutze auch die Variante Kondensator 10µF nach 5V+ (vom Spannungsregler), Diode nach minus sowie 10k nach minus. Jetzt habe ich einfach mal die Diode weg gelassen, läuft!! Super! Aber welche funktion hat die Diode? Freilauf für den Kondensator? kann ich die einfach weg lassen ohne Schäden befürchten zu müssen? MfG Basti
>auch wenn dieses Thema aus grauer Vorzeit stammt, eine Frage:
Die RC-Lösung ist schwarze Vorzeit.
Aktuell ist: Reset-Controller und fertig!
Hallo Nagut, was gibt es denn da, er sollte wenn genau wie der 89c2051 verwendet werden können, (Progammierung, Pinbelegung) Aber das war jetzt auch keine Antwort auf meine Frage! Basti
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.