Datum: 28.07.2004 11:18
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
Datum: 28.07.2004 11:49
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
Datum: 28.07.2004 12:18
Ich bevorzuge Dallas DS1812, TO 92, ich glaube keine 50 Cent. Michael
Datum: 28.07.2004 12:25
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
Datum: 28.07.2004 13:41
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
Datum: 28.07.2004 13:49
@ 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
Datum: 28.07.2004 13:51
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.
Datum: 28.07.2004 15:58
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
Datum: 29.07.2004 09:22
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
Datum: 29.07.2004 10:12
@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.
Datum: 29.07.2004 11:52
@ 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
Datum: 29.07.2004 12:55
@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
Datum: 29.07.2004 13:26
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...
Datum: 29.07.2004 22:59
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
Datum: 30.07.2004 07:24
@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
Datum: 20.04.2008 16:16
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
Datum: 20.04.2008 18:20
>auch wenn dieses Thema aus grauer Vorzeit stammt, eine Frage:
Die RC-Lösung ist schwarze Vorzeit.
Aktuell ist: Reset-Controller und fertig!
Datum: 20.04.2008 20:04
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
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel