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


von spider (Gast)


Angehängte Dateien:

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

von Εrnst B. (ernst)


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.

von spider (Gast)


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...

von Manuel (Gast)


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?

von spider (Gast)


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

von Manuel (Gast)


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...

von spider (Gast)


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.

von spider (Gast)


Lesenswert?

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

von Ein (Gast)


Lesenswert?

Zitat:
An Vusb hätte ich einen 220nF verbaut.


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

von Manuel (Gast)


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.

von spider (Gast)


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!

von Gereon (Gast)


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

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.