Forum: Mikrocontroller und Digitale Elektronik PIC 18F2550 Bootloader mit externer Spg.


von Hawk _. (hawk)


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 funktioniert somit einwandfrei!
ABER...
...Ich will den PIC vollkommen von der Vusb entkoppeln, d.h. ich will 
"EINFACH" eine Ext spg. (5V) anlegen und den PIC dann ohne Vusb 
beschreiben. Doch sobald ich die Vusb 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 Vusb über nen Widerstand angelegt!?
Das steht eigentlich so alles im oben genannten C Quellcode drin...?

Hat irgendjemand noch ne idee?




von holger (Gast)


Lesenswert?

@Hawk

Entscheide dich einfach mal.
Entweder Bus- oder Selfpowered.

#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO

von Hawk _. (hawk)


Lesenswert?

OK. Da hast du wohl recht...
Habe PICs immer in asm progr deswegen schau ich nicht so ganz genau bei 
fertigen C++ Bootloader Projekten hin.

Aber er erkennt dass Device immer noch als defekt.
Sprut hat mir gemailt dass ich RA1 über 5k auf Vusb legen soll.
Das stimmt nehm ich mal an..?

von holger (Gast)


Lesenswert?

Wenn Sprut dir das sagt dann wird das wohl auch stimmen.
Kann ich aber nicht beurteilen weil ich nicht weiss
wie SEIN Bootloader Code aussieht.

Ich habe den Bootloader von Microchip so
compiliert und erfolgreich benutzt:

//#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO


von Hawk _. (hawk)


Lesenswert?

Ja ich hab doch geschrieben dass er so wie du in hast auch bei mir 
einwandfrei funktioniert.
Doch hast du es mal mit ner rein ext. spg. versucht, also nicht 
USB_BUS_POWERED ?
Ich brauch es für ne Schaltung im Automotive Bereich.
D.h. Zündschlüssel an ==> Laptop ran ==> Software update ==> END
Da kann ich keine Spg. vom USB Port brauchen.

von holger (Gast)


Lesenswert?

@Hawk

Ganz fixer Nachtrag.

Verbinde den 5k nicht mit Vusb ;)
Verbinde ihn mit VCC vom PIC !

von Hawk _. (hawk)


Lesenswert?

Versteh dich nicht!?
Mit Vusb ist die 5V Leitung vom USB_Port gemeint.
Damit dass Device weiss wann es mit dem Host verbunden wird.

von Hawk _. (hawk)


Lesenswert?

Hat denn noch keiner nen USB_Bootloader mit ext. Spg. für die Schaltung 
gebaut? Also die 5V vom USB Port nicht IN der Schaltung verwendet?

von holger (Gast)


Lesenswert?

@Hawk

>Versteh dich nicht!?
>Mit Vusb ist die 5V Leitung vom USB_Port gemeint.
>Damit dass Device weiss wann es mit dem Host verbunden wird.

Vergiss meinen letzten Beitrag. Du hast mich überholt ;)
Vusb ist per Defintion der Ausgang des 3,3V Reglers vom PIC.
Was du meinst ist VBUS, die Spannung vom PC.

Ich habe PIC's noch nicht Selfpowered benutzt
wie du es gerne tun möchtest.

Also nochmal von vorne:

#define USE_SELF_POWER_SENSE_IO
Benutzt einen IO Pin um zu checken ob externe Spannungsversorgung
vorhanden ist.

#define USE_USB_BUS_SENSE_IO
Benutzt einen IO Pin um zu checken ob Spannung vom PC da ist.

Wenn der Bootloader von Sprut checkt ob Spannung vom PC da
ist, du die Spannung vom PC aber abknippst dann klappt es natürlich
nicht.

Ab dieser Stelle wäre ein Auszug aus deinem Schaltplan hilfreich !

Du kannst das ganze aber auch so programmieren das weder
der USE_SELF_POWER_SENSE_IO Pin noch der USE_USB_BUS_SENSE_IO
Pin benutzt werden.

Gruss
 Holger

von Hawk _. (hawk)


Lesenswert?

Dass habe ich auch schon probiert, aber er will immer vom Vbus die 
Spg.!?
Das gibt es doch nicht, dem kann doch sch... egal sein wo er die 5V her 
bekommt!?
Nur eins ist Fakt: Die Hardware bzw PC muss erkennen wann PC 
angeschlossen wird.
Naja werde heut nachmittag mal den Schaltplan und den Bootloader Posten
vielleicht weiss ja dann jemand bescheid.
Danke trotzdem.

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.