mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Seltsames Problem mit Reset Schaltung


Autor: Parteivorsitz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher weiss der Bootloader, wie lang der Reset-Knopf gedrückt wird?

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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... =)

Autor: Wolf (Gast)
Datum:

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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Wolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das muß so sein.

Autor: Daniel Duesentrieb (daniel1976d)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Parteivorsitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Schwurbl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.