Hallo! Ich habe soeben einen AT89C51RD2 von Atmel (der aus unbekanntem Grund zwischen Versorgung und Masse nur mehr 5 Ohm augbieten konnte und somit den vorgeschalteten Stab.-IC schon nach sehr kurzer Zeit zum thermal overload brachte) durch einne neuen, exakt den selben uC ersetzt und kann jetzt nicht mehr via RS232 auf ihn zugreifen. Ich habe daher überprüft ob er überhaupt etwas macht, habe daher die Port-Spannungen beim Reset gemessen (müssten 5V sein). Diese Ports befinden sich jedoch permanent auf einem Potential von 5V. Der Reset hat jedoch darauf keinen Einfluss. Darum meine Frage: Gibt es irgendetwas was man tun muss, wenn man einen neuen uC kauft (denn ich habe irgendwie das Gefühl der uC arbeitet gar nicht) ???
Normalerweise sollte er in einer funktionierenden Umgebung arbeiten. Hast Du ein Schaltbild? Gruß Jobst
Du hast hoffentlich nach dem Ausbau des defekten Controllers und vor dem Einbau des neuen Controllers untersucht, warum der defekte Controller defekt war? Kann ja sein, dass es mal kurzzeitig Überspannung gab, was noch andere Schaltungsteile ins Nirvana geschickt hat, die wiederum für's korrekte Funktionieren wichtig sind? Als erste Kontrolle fallen mir da abgesehen von der Versorgungsspannung der Reset ein (hast du wohl schon geprüft) sowie die Prüfung, ob der Quarz quarzt. Ralf
@Jobst M.: Schaltplan + Bild der Platine ist angehängt! @Ralf: Wie überprüft man denn ob der Quarz richtig funtkioniert? Ich habe leider kein Oszillsokop, nur ein Multimeter. Somit kann ich auch den Reset nicht richtig überprüfen, da mein Reset-Taster nur einen kurzen Impuls von ca. 5V und einer dauer von 50ms an den uC sendet und das Multimeter diesen einfach nicht wirklich erfassen kann
> Wie überprüft man denn ob der Quarz richtig funtkioniert? Ich > habe leider kein Oszillsokop, nur ein Multimeter. Ein schwingender Quarz sollte dir einen Spannungswert von etwa VCC/2 anzeigen... > Somit kann ich auch den Reset nicht richtig überprüfen, da mein Reset- > Taster nur einen kurzen Impuls von ca. 5V und einer dauer von 50ms an den > uC sendet und das Multimeter diesen einfach nicht wirklich erfassen kann Ähm... du könntest ja auch einfach mitm Finger draufbleiben, oder? :) Ralf
Meinst du den uC? Ich habe ihn im Elektronikfachhandel gekauft. Muss man ihn den vorher irgendwo anders programmieren lassen um ihn selber via RS232 zu programmieren?
Hallo, da muß noch die Firmware drauf. Solange ist der wie tot. Jogibär
@Ralf: Danke für die Infos. Habe beides Überprüft: Quarz und Reset müssten funktionieren ... @Jogibär: Das könnte das alles erklären. Wie und wo bekommt man eine solche firmware bzw. wie kann ich diese dann auf den uC bringen?
Hallo, irgendwie vom Hersteller der Karte. Oder von einer mitgelieferten CD. Wenn es dumm läuft, mußt Du den programmierten Chip vom Hersteller kaufen. Das lassen die sich normalerweise fürstlich bezahlen. Jogibär
Der Hersteller der Karte bin ich mehr oder weniger selber ... und eine CD habe ich auch nicht ... Aber wie könnte ich die firmware denn auf den uC bringen? Ich habe ja keine Connection zum uC.
Ich habe jetzt mal ein bisschen gegoogelt und leider überhaupt nichts passendes in richtung firmware gefunden ... weiß irgendwer wo man so was im web findet?
Bernhard Uhl schrieb: > Der Hersteller der Karte bin ich mehr oder weniger selber ... und eine > CD habe ich auch nicht ... > > Aber wie könnte ich die firmware denn auf den uC bringen? Ich habe ja > keine Connection zum uC. sehr kurios...
wo hast du denn den ersten µC her bzw wie hast du den programmiert?
AT89C51RD2 hat einen internen, werksseitigen UART-Bootloader drauf. Um den zu nutzen nimmt man am besten "FLIP", findest Du zum Download auf den Atmel-Seiten. Damit kannst Du Dein eigenes Programm in den Flash laden. Die 2 Taster auf den Board starten bei Bedarf den Bootloader. Wie, das genau geht, findest Du hier im Forum mehrfach beschrieben. Im Prinzip: PSEN mus auf Low liegen, dazu nun kurz RESET drücken, dann erst dann PSEN wieder auf HIGH.
@Bernhard Uhl Atmel liefert die Teile mit einem Bootloader aus. Dem Datenblatt entnehme ich folgende Bedingung für einen direkten Sprung in den Atmel-Bootloader nach dem Reset: PSEN = 0 EA = 1 ALE = 1 or Not Connected http://www.atmel.com/dyn/resources/prod_documents/doc4235.pdf (S. 101) Ist diese Bedingung bei einem Reset erfüllt?
@rhamirez: Den ersten uC und die gesamte Peripherie habe ich vor ca. 1,5 Jahren in der Schule zusammengelötet. Damals musste ich keine Firmware laden ... @Matthias K.: Das habe ich schon mehrfach gemacht und habe ich schon gewusst (trotzdem danke). Ich habe ja den uC schon 1,5 Jahre problemlos betrieben. Nur jz ist, warum auch immer, auf einmal permanent der Stab.-IC überhitzt da (wie bereits geschrieben) der uC zwischen +5V und Masse nur mehr 5 Ohm hatte, darum habe ich beschlossen einmal diesen auszutauschen. Als ich dann den uC wieder über flip programmieren wollte konnte ich keine Vernindung zu diesem aufbauen ...
@Skript Kiddy: JA diese Bedingungen sind erfüllt (habe sie gerade überprüft). Weißt du an was es sonst liegen könnte?
Bernhard Uhl schrieb: > Weißt du an was es sonst liegen könnte? Hat es vielleicht der Max232 auch nicht überlebt? Einfach mal die Pins 11 und 12 am Max232 kurzschließen. Dann mit einem beliebigen Terminalprogramm schauen ob du ein Echo bekommst. Wenn du ein Echo bekommst, sollte der Max232 noch leben. Achja ich weiß nicht, ob der µC diesen Test irgendwie beeinflusst. Deshalb würde ich ihn vorher aus dem Sockel nehmen.
@Skript Kiddy: Hab deinen Test ausgeführt. Habe mit Docklight connected und die Pins 11 und 12 kurzgeschlossen. Ich bekomme lauter so eigenartige Echos wie ein "y" mit 2 Punkten darüber oder andere komische buchstaben. Ist das so richtig?
Mit echo meinte ich, dass du das auf dem Terminal siehst, was du sendest. Hast du den µC entfernt? Ich kenne dein Terminalprogramm auch überhaupt nicht. Sowas wird bei mir mit Hyperteminal oder Putty getestet.
Nein, ich bekomme keine Echo. Das was ich vorher geschrieben hatte war wohl etwas zufälliges als ich die Pins 10 & 11 unabsichtlich kurzschloss. Also das heißt der max232 ist kaputt? Leider habe ich kein Hyperterminal (gibt es in Vista nicht), daher benütze ich die Freeware-Programme "HTerm" oder "Docklight".
Bernhard Uhl schrieb: > Nein, ich bekomme keine Echo. Das was ich vorher geschrieben hatte war > wohl etwas zufälliges als ich die Pins 10 & 11 unabsichtlich > kurzschloss. Also das heißt der max232 ist kaputt? Bin mir nicht sicher ob du das selbe unter Echo verstehst wie ich. Also wenn du in dem Terminal-Fenster eine Taste drückst, sollte die darin auch erscheinen (so ist es jedenfalls bei Buchstaben und Ziffern). Vorrausetzt du hast die beiden Pins am MAX232 gebrückt und die Betriebsspannung liegt an. Wenn du dabei wirklich kein Echo bekommst, dann ist der MAX232 wahrscheinlich defekt. Einfach mal nen neuen in den Sockel stecken. Die Dinger kosten ja nicht die Welt. Bernhard Uhl schrieb: > Leider habe ich kein Hyperterminal (gibt es in Vista nicht) Stimmt, aber es funktioniert trotzdem unter Vista und Windows 7. Hier sind alle benötigten Dateien: http://rapidshare.com/files/413478504/Hyperterminal.zip.html
Danke für das Programm!! Ich werde nun den max232 mal ersetzen und falls ich dann noch immer keine Connection habe, dann melde ich mich wieder. Danke soweit.
Bernhard Uhl schrieb: > Ich werde nun den max232 mal ersetzen und falls ich dann noch immer > keine Connection habe, dann melde ich mich wieder. Wann kann man mit einer Antwort deinerseits rechnen? Musst du den MAX232 noch besorgen oder hast du ihn griffbereit? Außerdem wäre es nett, wenn du dich auch melden würdest, falls es mit dem neuen MAX232 funktioniert. :-) Grüße Das Skriptende Kind.
Kauf gleich mehrere :-) Der Schaltplan gehört nicht zu der abgebildeten Platine oder ist nicht komplett. Folgende Liste abarbeiten - wenn etwas nicht zutrifft, NICHT weiter machen und hier melden: 1. Alle ICs entfernen. 2. einschalten. 3. 5V Nachmessen. Sollte nicht mehr als 5,5V sein. 4. Board mit PC verbinden (wenn nicht schon passiert). 5. Mit dem Terminal-Programm eine Verbindung herstellen: 9600 Baud 8 Datenbits Keine Parität 2 Stopbits Keine Flusskontrolle (Anmerkung: noch ist dies egal, aber hinterher umzustellen ist blöd. Soll lt. Datenblatt bei einem 12MHz Quarz mit 2400, 4800, 9600 19200 und 38400 Bd funktionieren) 6. Prüfen, ob die im Terminal eingegebenen Zeichen NICHT zurück kommen. 7. Im IC-Sockel des MAX 232 die Pins 13 und 14 miteinander verbinden. 8. Prüfen, ob die eingegebenen Zeichen nun zurück kommen. 9. Alle Kabel und die Brücke zwischen Pins 13 und 14 entfernen. 10. MAX 232 richtig herum einsetzen. 11. Serielle Verbindung und Stromversorgung wieder herstellen. 12. Prüfen, ob die im Terminal eingegebenen Zeichen NICHT zurück kommen. 13. Am IC MAX 232 die Pins 11 und 12 miteinander verbinden. (z.B. kleinen Schraubendreher dazwischen halten, dabei nicht die Pins 12 und 13 erwischen ...) 14. Prüfen, ob die eingegebenen Zeichen nun zurück kommen. 15. Alle Kabel und die Brücke entfernen. 16. Den Controller korrekt einsetzen. 17. Serielle Verbindung und Stromversorgung wieder herstellen. 18. Reset- und Programm-Taster gleichzeitig drücken, zuerst Reset und DANN Programm loslassen. 19. 'U' (groß!) Auf dem Terminal eingeben. 20. U kommt zurück - Herzlichen Glückwunsch, Du hast erfolgreich den Bootloader gestartet. Das Board funktioniert und Du kannst mit FLIP (oder auch von Hand mit dem Terminal) Programme auf den Controller laden. Reset verlässt den Bootloader wieder und startet Deine Software. Gruß Jobst
Danke für die tolle Anleitung!! Leider komme ich nur bis zum Punkt 14 in deiner Anleitung. Denn die eingegebenen Zeichen kommen NICHT zurück. Es wird nur ab und zu ein hexadezimales "FF" gesendet, gleich nachdem ich die Pins 11 und 12 verbinde.
Bernhard Uhl schrieb: > Leider komme ich nur bis zum Punkt 14 in deiner Anleitung. Allem Anschein nach ist der MAX232 im Eimer. Hast ja sicher schon welche bestellt. ;) Gruß skriptkiddy
Sollte mit einem frischen MAX232 das selbe Problem bestehen, mal die Spannungen prüfen: Pin 2 zwischen 8V und 9V gegen Masse Pin 6 zwischen -8V und -9V gegen Masse (ja, negativ!) Sollte das nicht passen, ist einer der Elkos defekt oder verkehrt herum. Was mich etwas verblüfft ist, daß der Elko an Pin 2 mit Minus an +5V hängt. Das halte ich nicht für so eine gute Idee, denn bei Belastung der +Vs (8V) kann es passieren, daß diese unter 5V sinkt und damit der Elko verkehrt herum geladen wird. Oder durch einen defekten MAX232. Elkos mögen Verpolung überhaupt nicht! Gruß Jobst
@Jobst M.: Danke für den Tipp! Die Spg am Pin 2 betrug 9,3V und die an Pin 6 -8,9 V! Also alles in Ordnung! @Skript Kiddy: Nachdem ich den MAX232 ausgetauscht hatte funktionierte wieder alles einwandfrei!! Nochmal Danke für die tolle step-by-step Anleitung zum austesten! Auch an alle anderen die dazu beigetagen hatten das Problem zu lösen ein Herzliches Dankeschön, echt tolles Forum!! Ich weiß zwar nicht was nun wirklich den uC und den MAX232 zerstört hatt, aber es funktioniert wieder alles !! Am Ende möchte ich noch einen kleinen Irrtum aus der Welt räumen: Man benötigt beim AT89C51RD2 KEINE extra Firmware die man sich vom Hersteller irgendwie auf den uC spielen lassen muss ...
> Man benötigt beim AT89C51RD2 KEINE extra Firmware die man sich vom > Hersteller irgendwie auf den uC spielen lassen muss ... Korrekt. Ein Blick ins Datenblatt verrät nämlich, dass der Hersteller den Bootloader (logischerweise) schon in der Fab draufpappt... Ist ne nette Sache, so'n Bootloader :) Ralf
Ralf schrieb: > @Skript Kiddy: Nachdem ich den MAX232 ausgetauscht hatte funktionierte > wieder alles einwandfrei!! Freut mich, dass ich dir helfen konnte. >Nochmal Danke für die tolle step-by-step >Anleitung zum austesten! Die Step-By-Step-Anleitung stammt aber nicht von mir, sondern von Jobst M. Dem gebührt also der Dank. ;) Grüße skriptkiddy
@Skript Kiddy: >> _Ralf_ schrieb: >> @Skript Kiddy: Nachdem ich den MAX232 ausgetauscht hatte funktionierte >> wieder alles einwandfrei!! > Freut mich, dass ich dir helfen konnte. Ich hab das nicht geschrieben :) Ralf
Oh tut mir leid ... natürlich hat Jobst M. das verfasst ...
Ralf schrieb: > @Skript Kiddy: >>> Ralf schrieb: >>> @Skript Kiddy: Nachdem ich den MAX232 ausgetauscht hatte funktionierte >>> wieder alles einwandfrei!! >> Freut mich, dass ich dir helfen konnte. > Ich hab das nicht geschrieben :) > > Ralf Sorry irgendwie vertan. Wahrscheinlich an der falschen Stelle die Zitierfunktion aufgerufen. skriptkiddy
Macht ja nix, wollte nur keine Lorbeeren, die nicht mir gehören =) Ralf
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.