Forum: Analoge Elektronik und Schaltungstechnik PIC 18F2550 Bootloader mit externer Spannung


von Hawk _. (hawk)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin neu hier im Forum und hoffe auf ein bisschen hilfe.
Ich habe folgendes Problem:
Habe einen PIC18F2550 und will den über USB programmieren.
Den Bootloader übernahm ich von Sprut, habe diesen auf einen ext 20Mhz
Quarz angepasst. Das programmieren (auch mit Bootloader) funktioniert 
somit einwandfrei!
ABER...
...Ich will den PIC vollkommen von der Vbus entkoppeln, d.h. ich will
"EINFACH" eine Ext spg. (5V) anlegen und den PIC dann ohne Vbus
beschreiben. Doch sobald ich die Vbus von meiner allgemeinen V+ nehm
erkennt Windows nur noch ein defektes Device!?

Jetzt hab ich schon alles mögliche gelesen und versucht, aber ich komme
nicht weiter.

Habe folgenden Zeilen wieder ins C_Projekt eingebunden:
#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO

vorher:
//#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO

Dann an Pin 3 ( RA1 ) die Vbus über nen Widerstand angelegt!?
Das steht eigentlich so alles im oben genannten C Quellcode drin...?

Hat irgendjemand noch ne idee?
Achja anbei mal der Schaltplan...

von willivonbienemaya (Gast)


Lesenswert?

Laut dem Schaltplan hast du VBus nicht an RA1 angelegt.

Was stimmt also?

von holger (Gast)


Lesenswert?

Im Original Bootloader Code von Mchip
habe ich das hier gefunden.

/*
 * Both I/O sense pins below are not used in this application.
 * This helps to decrease the size of the firmware code.
 */
//#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO

Werden also beide nicht benutzt.
Der Bootloader wird bei Mchip (so wie ich es auch mache)
mit einem Taster gestartet der bei einem Reset
gedrückt gehalten werden muss.

Wie zum Teufel sieht der Code von Sprut denn aus ?

von Hawk _. (hawk)


Angehängte Dateien:

Lesenswert?

@holger

anbei der Bootloader von Sprut.
Ist doch der gleiche, nur dass er dass mit den LED´s entfernt hat.

und wie du schon richtig interpretiert hast:
 * Both I/O sense pins below are not used in this application.
 * This helps to decrease the size of the firmware code.

Das machen sie nur um code zu sparen dar der Bootblock nur bis 07FF 
geht!
Ich brauch aber die self_power.

@ willivonbienemaya

Vbus hatte ich schon überall probiert anzuschließen deswegen hab ich ihn 
im Schaltplan offen gelassen. Prinzipiell gehört er über 5k nach RA1.


von Hawk _. (hawk)


Lesenswert?

Kaum zu glauben dass es hier niemanden im Forum gibt der dass schon mal 
aufgebaut hat, oder ähnliche Probleme hatte.

von holger (Gast)


Lesenswert?

Na endlich. Also der Bootloader wird gestartet wenn RE3==0.

Wie stellst du dir DEINE USB Connection vor ?

1. Dein Gerät läuft Selfpowered, dann kommt der PC und stöpselt
sich an den USB Port ? Haben DEINE Routinen eigene USB
Routinen ? Wenn nicht findet Win auch kein USB Device.

2. Dein Gerät läuft und du stöpselst den PC an.
Dann drückst du den Bootloader Knopf. Der Bootloader
startet !???? Geht aber leider nicht.

Erzähl doch mal wie die Vorgehensweise sein soll !!

von Hawk _. (hawk)


Lesenswert?

OK. Also von vorne:

1. Pic wird beim einschalten und gleichzeitiges anlegen der Masse an RE3 
also gesetzten Jumper 3 (JP3) in den Bootloader gesetzt. Vdd und Vss wie 
gesagt extern!

2.Jetzt kann der PC über USB verbindung mit dem PIC herstellen.

3.==> Gerät wird erkannt... ( WUNSCH!!! )

Wie gesagt sobald die Vbus am V+ meiner Platine liegt geht alles...
aber ich will dass ganze ohne Vbus!

von holger (Gast)


Lesenswert?

Ok die nächsten Fragen:

Wie sieht dein Start aus ?
Jumper an RE3 wird gesetzt.
PC ist angeschlossen und läuft.
PIC bekommt Power ?

von Hawk _. (hawk)


Lesenswert?

Das hab ich doch schon gepostet!

1. JP3 stecken! ==> RE3 == 0

2. Versorgungsspg wird angelegt.

3. Jetzt geht der PIC in den Bootloader.

4. PC läuft. USB wird verbunden.

von holger (Gast)


Lesenswert?

Entschuldige das ich dich etwas nerve.
Evtl. ist die Reihenfolge wichtig.

Mein Tip: Mache RE3 wieder zum Reset Pin.
Nimm einen anderen Pin um den Bootloader zu aktivieren.

Bei meinen Bus powered Schaltungen komme ich so in den
Bootloader:

PC läuft. Schaltung ist angeschlossen. Wird sofort
mit Spannung versorgt. Der Bootloader wird nicht gestartet
weil ich die Taste nicht gedrückt habe. Also Reset drücken
und festhalten. Bootloader Taste drücken und festhalten.
Reset loslassen. Bootloader Taste loslassen. PC verbindet.

So klappt das bei mir immer, und dann sollte es egal sein
woher der PIC Saft bekommt.

von Hawk _. (hawk)


Lesenswert?

Dass ist das gleiche wie ich es auch schon probiert habe.
Dass ist keine Lösung.
Was ich nicht verstehe, dass es hier tausende Leute gibt, und keiner 
einen PIC 18F2550 mit USB UND Externer Spg programmiert hat! Das gibt es 
doch gar nicht!

Hat noch nie jemand Erweiterungsplatinen z.B. für automotive entwickelt?
Oder andere Geräte angezapft!?
Cool dass ich der erste bin.
Werde wohl einiges an Stunden investieren müssen um dass Problem zu 
finden!
Aber es muss zu lösen sein!

von holger (Gast)


Lesenswert?

@Hawk

Entschuldige das ich deinen Höhenflug unterbreche ;)
Habs grad mal ausprobiert.

Mit meinem PIC18F2550 Board. VBUS an USB Buchse durchtrennt.
Spannung aus 5V Netzteil drauf gegeben. Schaltung läuft jetzt
ohne USB Verbindung. Ein paar LEDs gehen an.

PC hochfahren. Laufende PIC Schaltung an den USB Port anschliessen.
Kleiner Sound von XP. Schaltung im Gerätemanager
korrekt angemeldet und funktioniert.

Was sagt man dazu ? Ein Wunder ist geschehen.



von Hawk _. (hawk)


Lesenswert?

Ja schieß los!!!
Poste mir mal dein Schaltplan und dein Bootloader!

oder zumindest mal nur den Bootloader.

Dann müsste dir ja was an meinem Plan aufgefallen sein, oder?

von holger (Gast)


Lesenswert?

Alter Fiesling ;)
Du wusstest das das passiert !

Nach abziehen des USB Steckers während der PIC noch
Selfpowered ist verabschiedet er sich für immer von USB.

Der interne 3,3V Regler scheint im Arsch zu sein.
Kommt nix mehr raus.

Also wofür ist JP4 ?

von Hawk _. (hawk)


Lesenswert?

HHHHeeeeeeeeeeeeeeeeeeeeeee.............????????????

Was ist los?

1. JP4 ist nur zu Testzwecken für dass weitere Programm(was aber noch 
nicht existiert!)

2. Wieso funzt der PIC dann mit der Vbus Spg wenn er im Arsch ist???

3. Schick mir halt mal dein Bootloader oder ist es der gleiche???

4. Schaltplan hast du wohl auch keinen?

5. Du kannst mir nur helfen wenn du Schaltplan und Bootloader Postest!

6. Hast du alles genauso wie ich aufgebaut oder wie?

Also so kommen wir nie zu ner Lösung.

von Hawk _. (hawk)


Lesenswert?

Hab gerade nochmal Vbus angelötet.
==> XP Klingeln ==> korrekte Anmeldung ==> Programmierbar über USBoot.

Dann Vbus weg, 5V extern hin, dass gleiche von vorne
==> nichts passiert!!!!!?????

Bin echt am verzweifeln hock jetzt seit ca 40h da dran!

von holger (Gast)


Lesenswert?

Mein letzter Post war kein Witz !

Der PIC ist hin. Hab ihn schon neu
programmiert. Das klappte. Aber er rührt sich
nicht mehr. Hab VBUS wieder angeschlossen.
PIC will nicht mehr. Quarzosci schwingt aber.
Der interne 3,3V Regler gibt nichts mehr raus. 0V !

Neuen PIC in die Schaltung: Funktioniert.

von Hawk _. (hawk)


Lesenswert?

Es geht jetzt!!!!! :-) :-) :-) :-) :-) :-) :-) :-)


Voll der Anfänger fehler!
100n an 5V Pins vom PIC  hats behoben!!!

Danke dir trotzdem

von holger (Gast)


Lesenswert?

Na wenigstens für einen ein Happy End.

Mein PIC ist Schrott.

Das mit dem abziehen des USB Steckers bei Selfpowered probier
ich auf jeden Fall noch mal aus. Muss aber erst mal für Nachschub
sorgen.

Man sieht sich ;)

von Med H. (hammamigat)


Lesenswert?

(je parle en fracais )j'ai besoin d'un code pour utiliser un pic 18F4550

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.