mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit Compact Flash


Autor: Samy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend!
Ich habe erfolgreich eine CF im Memory Mapped Mode an einen AVR
drangehängt.
Wenn ich einen Sektor adressiere und anschliessend den Schreibbefehl
durchgebe, kann ich ja ziemlich schnell den ganzen Sektor (512B) ins
Datenregister der CF schreiben. Soweit so gut. Wenn der Sektor
geschrieben ist, dauert es aber ziemlich lange bis die Karte wieder
bereit ist. Ich hab das mal so quick n' dirty gemessen und es sind ca.
400 Mikrosekunden. Ist das normal?! Ich habe keine Beschreibung zu
dieser Zeit in der Spezifaktion gefunden. Wie erreicht man dan  die ca.
10MB/s lesen und schreiben die auf der Packung der CF steht?!
Bitte um Hilfe...

Autor: Netbandit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe EXTREME Unterschiede zwischen den Cf karten festgestellt.
Lexar Karten z.b. arbeiten 100% nach Spezifikation und sind sehr
schnell. Da kann ich MP3 Datein bis 320kbit/s abspielen.
Mit genau der gleichen Hardware und Software kann ich keine Karten der
Firma extreme Memory abspielen, dort stockt die widersgabe schon bei
80kbit/s

Darüber hinaus habe ich bemerkt, daß die Karte von Extreme Memory es
niicht zulässt, daß mehrere Sektoren auf einmal in den Read Buffer
geladen werden. Wenn ich z.b. 4 Sektoren auf einmal in den Buffer lade
und 191 Words rausgelesen habe ist das Busy-Flag im Statusregister
Dauerhigh und die Karte ist erst nach einem Hardwarereset wieder
einsatzbereit.

Wie es scheint gibt es eben viele Unterschiede zwischen den Karten.
Ich kann nur die Lexar Karten empfehlen, die sind zwar etwas teurer,
dafür hat man mit ihnen weniger Probleme und von extreme Memory kann
ich nur abraten.

Autor: Samy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!
Ich habe eine brandneue CF ultra von Sandisk.
Ich lese/schreibe immer nur 1 Sektor aufs mal... Ich komme  auf ca.
300KB/s was eigentlich reicht, aber das lange warten zwischen den
Sektoren nervt mich, zwingt mich wahrscheindlich zu einem internen
Puffer, da ich die Daten "realtime" verarbeiten muss.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann nimm ein MicoDrive, die haben intern einen Cache :)

Gruß Hagen

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da CF Cards als "Speichermedien" = Festplatten gelten
gilt vermutlich

10MB/s = 10.000.000 Bit / s

10.000.000 / 8 = 1250000 Byte
1250000 / 512 = 2441 Sektoren
2441 * 0.0004 s = 0.97s => pro Sekunde 10MBit

oder Liege ich da falsch ??

Gruss

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
T.Stütz liegt -glücklicherweise- falsch.

Zwar sind 10 MByte in der Tat 10 Millionen* Bytes, aber eben Bytes,
nicht Bits.


*) die uns geläufigeren auf Zweierpotenzen basierenden Werte werden
korrekt kibibyte (kiB) , Mebibyte (MiB), Gibibyte (GiB) etc. benannt.
Das klingt zwar bescheuert, ist aber korrekt.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus hat wirklich Recht. Ist schon witzig, seit dem ich denken kann und
in der gesamten mir bekannten Literatur sind 1024 Byte eben 1 Kilobyte.
Die Bezeichnung Kibibyte ist mir noch nie untergekommen. Naja, liegt
dann wohl daran, daß ich wohl doch nicht so viel Literatur kenne :)
Jedenfalls danke für die Info, Rufus. Man lernt doch nie aus...

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all
Ich war mir echt nicht sicher - von der Rechnerei her stimmts ja auch
und: manche Festplattenhersteller rechnen halt anstatt mit 1KByte=1024
mit 1000 Byte

Natürlich weiss ich wie groß ein MByte/KByte etc ist...
Die Frage war nur ob das auch der CF-Card Hersteller weiß...

Gruss

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"manche Festplattenhersteller rechnen halt anstatt mit 1KByte=1024
mit 1000 Byte"

Das tun alle Festplattenhersteller, weil's nämlich korrekt ist.
So ist das seit einigen Jahren in einer Norm festgeschrieben:
http://www.iglossar.de/g/gibibyte.htm

Würde ein Festplattenhersteller Kapazitäten in KByte angeben, damit
aber Kibibyte meinen, würde ihm in Deutschland mit Sicherheit der Arsch
wundgeklagt werden, wg. irreführender Werbung etc.
Es ist ein mittleres Wunder, daß das bei Computerhändlern, die
Speichermodule verkaufen, nocht nicht vorgekommen ist.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wieso sollte das ein Problem bei Speichermodulen sein? Da bekommt man
mehr als auf der Packung steht. Sollte kein Grund zur Klage sein.

Matthias

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rufus!

Ich bin schon mindestens ein Jahrzehnt Computerfan, aber das habe ich
noch nie gehört. Im Gegenteil ich habe mich immer geärgert, dass 1
Kilo-Byte 1024 Byte sein sollen. Dies ging mir immer gegen meine Logik
und gegen den Strich.
Dankeschön. Die Information war sehr interessant.
Aber warum sind - Gibi-Byte, Kibi-Byte und Mebi-Byte so unbekannt?

Auch in der Schule haben wir dies nicht gelernt.

Tschüss

Martin

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und beim PC wird es auch nirgend verwendet. Daher ist eine 160GB
Festplatte auch gerade mal 148GiB groß. (in Windows steht da natürlich
GB)

Oder kann es sein, dass es eine alternative Schreibweise für GiB gibt
?
Irgendwo habe ich mal was gelesen, das k=1000 und K=1024
Windows verwendet nämlich immer ein großes K für KB.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

http://de.wikipedia.org/wiki/Liste_der_Vorsilben_f...

Die gesonderten Vorzeichen werden nicht verwendet weil kein Mensch was
damit anfangen kann.

Matthias

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Irgendwo habe ich mal was gelesen, das k=1000 und K=1024
Windows verwendet nämlich immer ein großes K für KB."

Das ist eine höchst inoffizielle Konvention, die spätestens beim
Megabyte scheitert:

1 mB ist ziemlich wenig - nämlich ein Millibyte.


Betrachtet man übrigens diverse Kernel-Ausgaben aktueller
Linux-Distributionen, dann reden die auch von MiB, KiB und GiB.

Ich gebe ja offen und uneingeschränkt zu, daß es mächtig beknackt
klingt "Mebibyte", "Gibibyte". Schauder.

Es ist aber trotzdem sinnvoll, daß das so festgelegt ist.

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all
Bin zwar seit über 15 Jahren im Programmiergeschäft tätig,
lerne aber jeden Tag/Stunde was neues...

Wir sollten uns aber mal wieder auf das eigentliche Problem
stürzen: warum ist die CF-Card so langsam (grob geschätzt etwa 10x)

Gruss

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.