Forum: Mikrocontroller und Digitale Elektronik USB PIC18F4550


von SPI_CH (Gast)


Lesenswert?

Hallo zusammen.

Ich bin gerade daran mit einem PIC18F4550 eine HID-Maus zu 
programmieren. Mit der Firmware von Microchip läuft alles einwandfrei. 
Daher ist ein Fehler in der Hardware auszuschliessen.

Ich habe mit dem ISIS Proteus USB-Analyzer die Enumeration Programmiert 
und so lange ich mein Code im Proteus Simuliere funktioniert alles. 
(Mauszeiger lässt sich mit dem Programm bewegen.)

Wenn ich anschliessend den gleichen Code mit der Hardware testen möchte 
kommt immer die Fehlermeldung "USB-Gerät wurde nicht erkannt".

Mit den USB-Sniffer Programmen konnte ich den Fehler nicht lokalisieren, 
da mir diese nicht den komletten Traffic aufzeichnen.
Folgende Programme habe ich versucht: USBlyzer, USB Monitor, USB Trace 
und Snoopy.

Kennt jemand ein Programm (möglichst Freeware) das mir den kompletten 
Traffic aufzeichnet oder sehe ich den Traffic nur mittels Hardware USB 
Sniffer (Bsp. Beagle USB 12 Protocol Analyzer)?

Hat mit dem USB-Analyzer von Proteus schon jemand Erfahrung gesammelt?

Danke für Eure Hilfe
SPI_CH

von Master S. (snowman)


Lesenswert?

ich kenne Proteus nicht; auch nicht, was du mit simulieren meinst. 
jedoch würde ich erst mal schauen, ob im gerätemanager dein PIC wirklich 
als maus ohne fehler aufgelistet ist. wenn nicht, wird dir vermutlich 
auch USB-sniffer nicht viel nützen, resp. wenn deine PIC-maus nicht 
einmal inizialisiert ist, wird ein USB-sniffer auch keinen zugriff drauf 
haben (vermute ich mal).

von ado (Gast)


Lesenswert?

Mit den USB-Sniffer Programmen kann ich leider nicht helfen.
Am Anfang hatten wir auch einige Probleme mit dem PIC18f4550.

Ich glaube man mußte eine Release-Version kompilieren.
Debug-Versionen hatte nicht funktioniert.

Ist das Device ein 3,3 V oder ein 5V Device.
Je nachdem muß der VUSB-Pin anders beschaltet werden und die Config-Bits 
anders gesetzt werden.
Poste mal deine Config-Bits.

von Pit (Gast)


Lesenswert?

>Kennt jemand ein Programm (möglichst Freeware) das mir den kompletten
>Traffic aufzeichnet oder sehe ich den Traffic nur mittels Hardware USB
>Sniffer?

Der hier zeigt Dir den Traffic an:
http://www.basic.io/index.php/category-analyzers/alogic-analyzer-detail

von SPI_CH (Gast)


Lesenswert?

Erstmals Danke für die Antworten.

Ich verwende die gleichen Einstellungen wie Microchip und es handelt 
sich hierbei um ein 5V PIC mit dem Evaluationsboard "EasyPic5".

        #pragma config PLLDIV   = 1         // (4 MHz crystal on PICDEM 
FS)
        #pragma config CPUDIV   = OSC1_PLL2
        #pragma config USBDIV   = 2         // Clock source from 96MHz 
PLL/2
        #pragma config FOSC     = XTPLL_XT
        #pragma config FCMEN    = OFF
        #pragma config IESO     = OFF
        #pragma config PWRT     = OFF
        #pragma config BOR      = ON
        #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

Mit diesen Einstellungen sollte es eigentlich gehen.
Was ich nicht verstehe, warum der Code in der Simulation läuft, jedoch 
nicht mit der HW. Denn bis jetzt hatte es, soblad der Code auch in der 
Simulation lief, auch mit der Hardware geklappt.


Dieser Traffic Analyzer sieht eigentlich ganz gut aus.
Zeigt dieser mir auch wirklich sämtliche USB Pakete? Denn vom Preis wäre 
dieser ja unschlagbar!

Gruss

von Thomas (Gast)


Lesenswert?

Hi

Also ich habe es wie folgt gemacht:

HID PnP Demo Firmware auf 4550 gespielt.
PC Programm dazu gestartet.
Läuft einwandfrei...

Klappt das bei Dir auch?
Wenn nein, kann es ja nur ein Hardwareproblem sein.

Was fürn Quarz?
Anschlüsse geprüft?
Kabel?

Gruß
Thomas

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.