Moin ! Ich kämpfe mir gerade einen mit der SD Karte ab. Und zwar macht mir die Busytime ziemliche Bauchschmerzen. In einem anderen Thread wurde ja bereits über die mögliche Ursache gemunkelt. Was ich mich jetzt frage ist, existiert die Busytime ebenfalls im 4Bit SD Modus? Hat das mal einer ausprobiert? Keine Ahnung aber ich seh Realisierungen von SD Controllern die eine Transferrate von 22MB/s angeben. Meine geringste gemessene Busytime für 512Byte Daten betrug 1ms (ein Sektor beschreiben). Von dieser Zeit alleine her sollten ja nur maximal 1MB/s drin sein. Oder geben die Jungs da öfter mal die Burstrate an, also ohne Busytime? Ich eier momentan bei 110Kbyte/s rum ohne FAT, SPI, 16,5MHZ.Deshalb such ich nach Optimierungsmöglichkeiten. Gruss Christian PS: Existiert eigentlich eine Norm oder dergleichen wie Übertragungsgeschwindigkeiten gemessen werden? Das gibt ja 12313 Möglichkeiten irgendwelche Angaben zu machen.
Interessant wäre ja mal das Ding in eine Laptop zu stecken und mit einem LA mitzusniffen was da kommt. Ich denke die Pages sind größer als 512 B. Bei 4 kB Seiten geht es ja dann schon mit 8 MB/s, oder?
Christian F. schrieb: > Was ich mich jetzt frage ist, existiert die Busytime ebenfalls im 4Bit > SD Modus? Hat das mal einer ausprobiert? Ich habe es nicht ausprobiert. Aber wenn die Daten noch schneller kommen, wird sich die Busytime nicht unbedingt verkürzen. > Keine Ahnung aber ich seh Realisierungen von SD Controllern die eine > Transferrate von 22MB/s angeben. Meine geringste gemessene Busytime für > 512Byte Daten betrug 1ms (ein Sektor beschreiben). Wie schreibst Du denn Deine Daten? Byte für Byte? Oder nutzt Du schon den Burstmode? > Von dieser Zeit > alleine her sollten ja nur maximal 1MB/s drin sein. Oder geben die Jungs > da öfter mal die Burstrate an, also ohne Busytime? Wenn die Jungs vom Marketing sind, dann sind die Zahlen mit Sicherheit geschönt. Siehe auch [1]. > PS: > Existiert eigentlich eine Norm oder dergleichen wie > Übertragungsgeschwindigkeiten gemessen werden? Das gibt ja 12313 > Möglichkeiten irgendwelche Angaben zu machen. Um tolle Zahlen zu erzeugen verwendet man den höchsten zulässigen SPI-Takt, die maximale Bitbreite (4 Bit) und den Burstmode (1 mal Kommando, 1 mal Adresse, Rest Daten). Außerdem wird wahrscheinlich nur die Zeit der eigentlichen Datenübertragung gemessen. Und für die paar Byte stimmt dann auch die angegebene Rate. Diese Zahl ist nur für's Marketing (= die Verpackung). Für die Praxis relevant ist die durchschnittliche Übertragungsrate (die dann auch die Wartezeiten enthält), sie steht eventuell im Datenblatt. Außerdem gibt es noch die kleinste garantierte Übertragungsrate. Die ist für Streaming relevant und findet sich sehr selten im Datenblatt. Duke [1] http://de.wikipedia.org/wiki/SD_Memory_Card#Geschwindigkeitsklassen
Moin ! Danke für deine Antwort, Mit Burst meinst du Multiple Byte Write? Also die CMD25 Übertragung? Gruss !
Christian F. schrieb: > Mit Burst meinst du Multiple Byte Write? Also die CMD25 Übertragung? Ich habe bisher nur mit SPI-Flash zu tun gehabt. Aber ja, unter Multiple Byte Write und Burst würde ich das gleiche verstehen. Duke
Ich hab für die 1KByte Messung einfach 2x Write Sector routinen aufgerufen. D.h. zweimal CMD24 usw. Klar geht das mit CMD25 schneller, da ich mir einmal den Kommandohandshake spare. Aber auf 1MByte/s komm ich damit dennoch nicht :).
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.