Forum: Analoge Elektronik und Schaltungstechnik Seltsames Problem mit Reset Schaltung


von Parteivorsitz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein Problem mit meinem Reset-Knopf an dem ich langsam wirklich 
verzweifel.

Ich habe 2 unterschiedliche Platinen auf denen u.a ein PIC18F4550 sitzt. 
Um einen Reset am Controller ausführen zu können habe ich logischerweise 
auf beiden Platinen einen Resetknopf. Auf den Mikrocontroller habe ich 
zum Programmieren des PICs eine Bootloadfunktion gebrannt, die 
aufgerufen wird, wenn der Resetknopf eine paar Sekunden gedrückt wird.
Nun habe ich das Problem, dass auf einer Platine diese 
Reset-"Sonderfunktion" funkioniert und auf der anderen nicht. Das 
Problem liegt nicht am Controller, denn wenn ich die vertausche ist das 
Problem das selbe. Auch die Reset-Beschaltung ist identisch, bis auf das 
die Leiterbahnen anders verlegt sind.

Auf der "defekten" Leiterplatte funktioniert der kurzzeitige Reset 
selbst schon, nur der Reset "rastet" eben nicht ein um in die 
Bootloadfunktion zu gelangen.
Ich dachte zuerst das der Resetknopf selbst kaputt ist und ev. stark 
prellt, aber auch nach einem Austausch des Bauteils bestand das Problem 
weiterhin.

Im Anhang ist der Schaltplan zu meiner Resetschaltung die auf beiden 
Platinen gleich ist. Die Schaltung ist ja eigentlich realtiv 
unspektakulär, daher weiß ich nicht wo da der Fehler liegen könnte.

Ich hoffe jemand kann mir einen Tipp geben wo ich suchen muss!

Vielen Dank im Voraus!!!

von Andreas K. (a-k)


Lesenswert?

Woher weiss der Bootloader, wie lang der Reset-Knopf gedrückt wird?

von Magnus Müller (Gast)


Lesenswert?

Parteivorsitz wrote:
> Problem das selbe. Auch die Reset-Beschaltung ist identisch, bis auf das
> die Leiterbahnen anders verlegt sind.

Wenn die Bauteilwerte die Selben sind, bleibt nur noch ein 
Verdrahtungsfehler übrig.

@Andreas:

...das hab ich mich eigentlich auch schon gefragt... =)

von Wolf (Gast)


Lesenswert?

Er wird wohl oft auf LOW abgefragt und gezählt bis Überlauf, geht das?

von Andreas K. (a-k)


Lesenswert?

Läuft ein PIC denn schon los während Reset/MCLR noch auf 0 liegt? Dem 
Datasheet nach tut er das erst wenn wieder Ruhe eingekehrt ist. Daher ja 
meine Frage.

von Wolf (Gast)


Lesenswert?

Das muß so sein.

von Daniel D. (daniel1976d)


Lesenswert?

... habe ich zum Programmieren des PICs eine Bootloadfunktion gebrannt, 
die
aufgerufen wird, wenn der Resetknopf eine paar Sekunden gedrückt wird...

Wie geht das? Meine uPs sind nicht faehig irgendetwas zu tun wenn ich 
die RESETte... Hast du noch irgendetwas an der RESET Leitung 
angeschlossen? Mit macht das funktionierende Board mehr Kopfzerbrechen 
als das nicht funktionierende ... hehe :)

Gruesse

von Parteivorsitz (Gast)


Lesenswert?

Der Bootloader ist beim Microchip Firmware Framework dabei. Zu meiner 
Schande muss ich leider sagen, dass ich mich darum gekümmert habe, wie 
das Ding genau funktioniert.

Hier wird ein bißchen was dazu erzählt (betrifft zwar anderen Bootloader 
aber das Prinzip ist ähnlich):

http://www.sprut.de/electronic/soft/usboot/usboot.htm#aktiv
http://www.sprut.de/electronic/pic/bootloader/bootloader.htm

Ich hab aber noch ein bisschen gegoogelt und folgende Homepage gefunden:
http://www.holger-klabunde.de/usb/18f2550.htm

Bei diesem Experimentierboard wird ebenfalls der Microchip Bootloader 
verwendet. Doch zu meiner Überraschung wird dort ein zweiten Taster 
verwendet. Meine 1. Platine funktionierte ja super mit nur einem 
Taster....
Auf seinen Schaltplan sieht man, dass er mit dem Bootloadtaster den Pin 
RC2 des PICs auf Masse zieht. Ich habe das mit meinen eigenen Platinen 
verglichen.
Die 1. funktionierende Platine ist nicht von mir - der Pin RC2 wird dort 
abgegriffen, führt jedoch ins nichts. Auf meiner eigenen 2. Platine habe 
ich den Pin gar nicht belegt.
Meine Vermutung ist jetzt, das die 1. Platine ursprünglich gar für das 
Bootloaden ausgelegt war und nur zufällig am Pin RC2 der richtige 
Spannungspegel anliegt, der dann als GND interpretiert wird.
Bei der 2. Platine habe an anscheinend dieses Glück nicht. Vielleicht 
sollte ich einfach einen Draht von RC2 an GND löten, was meint ihr? Oder 
ist meine Vermutung unsinn?

Von einem Verdrahtungsfehler gehe ich nicht aus, weil der nomale Reset 
ja funktioniert und ich das Ding schon ein paar Mal untersucht habe. 
Aber das für das Bootloaden noch ein zweiter Taster benötigt wird, 
klingt irgendwie schon logisch...

von Schwurbl (Gast)


Lesenswert?

Pfiffig ist die Lösung ja schon:
Im Register PCON wird wohl das POR-Bit gesetzt, wenn der PIC durch 
Einschalten der Versorgung hochgefahren ist.
Bei einem Reset durch MCLR bleibt das Bit inaktiv, daher voila, eine 
bemerkenswerte Art zum Starten des Bootloader.
Sind die Fuses korrekt gesetzt? Ich würde den 100nF mal ganz weglassen, 
weil sonst der POR nicht mehr greifen kann: VCC schon lange da und MCLR 
immer noch low.

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.