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
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.
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...
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?
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
Könnte es sein das die Firmware für das Laden mit einem Bootloader ist? Schau mal ob die Inerrupts auf 0x800 umgebogen werden...
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.
Also die interrupts sind auf 0x0800 gebogen. Wie kann ich meine firmware anpassen ohne bootloader?
Zitat: An Vusb hätte ich einen 220nF verbaut. Muß min. 200 nF haben. Der Kondensator ist ganz wichtig!
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.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.