Forum: FPGA, VHDL & Co. SD Karte Busytime 4Bit SD Modus?


von Christian F. (christianf)


Lesenswert?

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.

von Christian F. (christianf)


Lesenswert?

Moin !

Weiss da keiner was zu? :)

Gruss !

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

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?

von Duke Scarring (Gast)


Lesenswert?

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

von Christian F. (christianf)


Lesenswert?

Moin !

Danke für deine Antwort,

Mit Burst meinst du Multiple Byte Write? Also die CMD25 Übertragung?

Gruss !

von Duke Scarring (Gast)


Lesenswert?

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

von Christian F. (christianf)


Lesenswert?

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
Noch kein Account? Hier anmelden.