Hallo, ich bin dabei mit einem PIC32, Daten auf einen USB-Stick zu schreiben. Dazu verwende ich das fertige Programm von Microchip: „USB Host - Mass Storage - Simple Demo“ aus den „Microchip Applications Libraries“ mit einem PIC32MX795F512L. Ich schaffe es jedoch nicht, die Daten mit einer vernünftigen Geschwindigkeit auf den Stick zu schreiben. Die Datenrate liegt immer nur bei ca. 40 - 70 KB/s. Damit schaffe ich also nicht mal den Low-Speed USB-Standard. Allerdings ging ich davon aus, dass der Mikrocontroller den Full-Speed Standard (1,5 MB/s) schafft. Am USB-Stick liegt es jedenfalls nicht. Am normalen PC schafft der auch hohe Geschwindigkeiten. Hier ist ein Ausschnitt aus meiner Test-Routine, die ich im fertigen Projekt „USB Host - Mass Storage - Simple Demo“ integriert habe, um eine Textdatei mit 1 MB auf den USB-Stick zu schreiben: //**************************** //Anfang Test: Datei schreiben //Bei Tastendruck geht LED1 an und die Daten werden auf den USB-Stick geschrieben //Wenn LED1 aus geht, ist der Schreibvorgang beendet //**************************** int bytes = 1024*4; //4 KB (4096 Byte) char mb[bytes]; //String für 4096 Zeichen int a; //Zählvariable for(a=0; a<bytes ;a++) { mb[a] = '0'; //String mit Nullen füllen } mPORTGClearBits(BIT_13); //LED1 off do //warten bis Taster gedrückt wurde { tasten = PORTG & 0x1000; //Tasten einlesen } while(tasten); mPORTGSetBits(BIT_13); //LED1 on for(a=0; a<256; a++) //256 * 4 kb = 1 MB { FSfwrite(mb,1,bytes,myFile); //Daten auf USB-Stick schreiben } //************************** //Ende Test: Datei schreiben //************************** Die Dauer um 1 MB zu schreiben messe ich also ungefähr mit der LED. Auf Tastendruck gehts los, wenn die LED aus geht, ist der Schreibvorgang beendet. Das dauert bei mir immer so ca. 14 – 15 Sekunden. Jetzt meine Frage: Sind die Einstellungen im Projekt „USB Host - Mass Storage - Simple Demo“ nicht für hohe Datenraten optimiert? Falls ja –was kann ich da ändern? Oder schafft der PIC32MX795F512L tatsächlich nicht mehr? Vielen Dank schonmal für eure Hilfe!
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.