mikrocontroller.net

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


Autor: Hawk __ (hawk)
Datum:

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




Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hawk

Entscheide dich einfach mal.
Entweder Bus- oder Selfpowered.

#define USE_SELF_POWER_SENSE_IO
//#define USE_USB_BUS_SENSE_IO

Autor: Hawk __ (hawk)
Datum:

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

Autor: holger (Gast)
Datum:

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


Autor: Hawk __ (hawk)
Datum:

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hawk

Ganz fixer Nachtrag.

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

Autor: Hawk __ (hawk)
Datum:

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

Autor: Hawk __ (hawk)
Datum:

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

Autor: holger (Gast)
Datum:

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

Autor: Hawk __ (hawk)
Datum:

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

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.