www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F2550 Probleme mit Usb-connection


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mir folgendes board gebastelt (siehe anhang) und wollte nun 
eine verbindung über usb zum pc aufnehmen. Dazu hab ich die CDC 
-Firmware von Microchip MCHPFSUSB 1.3 auf meinen Pic18F2550 angepasst 
und auf den PIC gebrannt. Sobald ich ihn dann anschließe kommt folgende 
meldung: "USB-Gerät wurde nicht erkannt..."
Die vendor-id des usb-ports welche der pc ausgibt ist 0000, obwohl sie 
im programm 0x04D8 ist. deshalb erkennt der treiber das gerät auch 
nicht.
meine frage:
hat jemand schon erfahrung mit dem pic18F2550 und den fehler die dabei 
entstehen können?
und ist mein schaltplan soweit richtig?
vielen dank für jede antwort

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es fehlt ein 100nF Abblockkondensator an den Versorgungspins.
Die Resetbeschaltung ist recht seltsam.
An Vusb hätte ich einen 220nF verbaut.

Und das Dateiformat ist falsch: Bildformate oder "Wichtige Regeln - 
erst lesen dann posten" beachten.

Autor: spider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also erst mal danke,

der ablockkondensator ist drin, ist nur etwas komisch gezeichnet von 
mir, da ich nicht soviel zeit hatte. Tut mir leid für die zeichnung und 
dass ich die forenregeln nicht beachtet hab.
Ich werde dann mal kondensator austauschen, aber ich glaube dass meine 
probleme eher an der software liegen. Mal sehen ob es dann geht...

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe schon einiges gemacht mit den PICs und USB. Die VID/PID 0000 
deutet auf ein Problem mit der Enumeration. Genauer gesagt hat die 
Enumeration nicht statt gefunden. Das ein Gerät gefunden wurde lag 
wahrscheinlich nur am Hochziehwiederstand bei D-.

Schreib mal wie deine Taktkonfiguration aussieht.
VUSB ist eingeschaltet?

Autor: spider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab die configuration eigentlich direkt von der firmware übernommen, da 
ich auch 20Mhz hab. Hab nur das "Brownout" auf off gesetzt.

/** C O N F I G U R A T I O N 
************************************************/
// Note: For a complete list of the available config pragmas and their 
values,
// see the compiler documentation, and/or click "Help --> Topics..." and 
then
// select "PIC18 Config Settings" in the Language Tools section.
    #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS 
USB board)
        #pragma config CPUDIV   = OSC1_PLL2
        #pragma config USBDIV   = 2         // Clock source from 96MHz 
PLL/2
        #pragma config FOSC     = HSPLL_HS
        #pragma config FCMEN    = OFF
        #pragma config IESO     = OFF
        #pragma config PWRT     = OFF
        #pragma config BOR      = OFF
        #pragma config BORV     = 3
        #pragma config VREGEN   = ON    //USB Voltage Regulator
        #pragma config WDT      = OFF
        #pragma config WDTPS    = 32768
        #pragma config MCLRE    = ON
        #pragma config LPT1OSC  = OFF
        #pragma config PBADEN   = OFF
      #pragma config CCP2MX   = ON
        #pragma config STVREN   = ON
        #pragma config LVP      = OFF
//      #pragma config ICPRT    = OFF       // Dedicated In-Circuit 
Debug/Programming
        #pragma config XINST    = OFF       // Extended Instruction Set
        #pragma config CP0      = OFF
        #pragma config CP1      = OFF
      #pragma config CP2      = OFF
      #pragma config CP3      = OFF
        #pragma config CPB      = OFF
      #pragma config CPD      = OFF
        #pragma config WRT0     = OFF
        #pragma config WRT1     = OFF
      #pragma config WRT2     = OFF
      #pragma config WRT3     = OFF
        #pragma config WRTB     = ON       // Boot Block Write 
Protection
        #pragma config WRTC     = OFF
      #pragma config WRTD     = OFF
        #pragma config EBTR0    = OFF
        #pragma config EBTR1    = OFF
      #pragma config EBTR2    = OFF
      #pragma config EBTR3    = OFF
        #pragma config EBTRB    = OFF

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es sein das die Firmware für das Laden mit einem Bootloader ist? 
Schau mal ob die Inerrupts auf  0x800 umgebogen werden...

Autor: spider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann schon sein, ich habe keinen Bootloader. Wo kann ich das 
nachschauen? Ist leider mein erstes usb projekt...
Trotzdem schonmal danke für die infos.

Autor: spider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die interrupts sind auf 0x0800 gebogen. Wie kann ich meine firmware 
anpassen ohne bootloader?

Autor: Ein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zitat:
An Vusb hätte ich einen 220nF verbaut.


Muß min. 200 nF haben. Der Kondensator ist ganz wichtig!

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal in den Readme Dateien in dem Verzeichnis in dem die Beispiele 
stehen. Da steht irgendwo extra ne Beschreibung was man machen muß. Auf 
jeden fall brauchst du Link-script das nicht umgebogen ist.

Autor: spider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zur vollständigkeit:
Hab jetzt vor Vusb nen 220nF Kondensator eingesetzt und den Bootloader 
draufgeladen. Verbindung funktioniert jetzt einwandfrei und mit dem 
Bootloader ist es auch etwas praktischer das Programm zu laden. Nochmal 
danke an alle!

Autor: Gereon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn das Problem noch ansteht: kann das sein, dass an dem USB-Anschluss 
die D- und die D+ Leitungen vertauscht werden müssen?

Grüße

Gereon

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.