Ich versuchte das Beispiel von atmel ASF auf USB-Massenspeicher-Host zum Senden/Lesen einer Datei auf einem USB-Flash-Speichergerät. Wenn Sie eine Datei zu lesen, bin i 1.7 MB/s Geschwindigkeit bekommen, habe ich versucht, eine Menge von Lösungen, die Folgendes umfassen:SAMV71 USB-Massenspeicher-Host extrem langsam
- vergewissern seinen Lauf auf High-Speed-Modus und das Board auf 300 MHz läuft
- Versuchte die Puffergröße für die F_read Funktion zu erhöhen, und ich schaffte es auf 2,2 MB
- ich das Dateisystem s/zu erhöhen, getestet es sich von selbst, das Beispiel FAT32 auf einem virtuellen Speicher ist, und bekam 30 MB/s auf Leseoperationen (nicht sicher, ob das hilfreich für die Geschwindigkeit Debugging-Zwecke ist)
- Ich habe versucht mit dem gleichen Programm, außer das Lesen von einer SD-Karte, die gab mir eine Ausgabe von 1 MB/s
- Ich testete es auch auf Full-Speed-Modus und es gab mir eine Ausgabe von 0,66 MB/s.
- eine extreme Idee, die ich getestet wurde, lief zwei Boards, eine im Host-Modus, und die andere im Gerätemodus dann habe ich die Übertragungsgeschwindigkeit der USB getestet, gab mir eine Ausgabe von 1,66 MB/s im Bulk-Modus. (läuft auf HS)
versuchten die Keil-Beispiele, die mir die schlechtesten Ergebnisse als Atmel gab.
kann jemand bitte Lösungen vorschlagen? Ich habe die gesamte Dokumentation zur USB-Kommunikation von Atmel und Keil gelesen.
Wie werden die Daten tatsächlich vom Host-Controller abgerufen? DMA? FIFO Interrupts? Umfrage? Das wäre das erste, was ich mir ansehen würde. – Notlikethat