Forum: Mikrocontroller und Digitale Elektronik HAMA SD Card verstößt gegen Spezifikation (Timing)?


von TriHexagon (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich versuche nun zum ersten mal eine SD Karte über SPI anzusteuern. Ich 
sende CMD0 und die Karte antwortet auch. Allerdings tut sie das nach 
Spezifikation (SanDisk) zu spät. Im Bild sieht man, dass NCR 11 Takte 
lang ist. In der Spezifikation steht aber, dass NCR min. 1 und max. 8 
lang ist. Verstößt meine SD Karte von HAMA nun gegen die allgemeine SD 
Spezifikation oder die SanDisk Spezifikation oder mache ich etwas 
falsch? Bei Takten ist schon der SPI Takt gemeint? Ansonsten macht sie 
alles korrekt. SPI ist mit 250 kHz getaktet.

Vielen Dank im Voraus

von Dirk K. (dekoepi)


Lesenswert?

"Hama" ist offenbar das Kürzel für "Handelsmarke". Dahinter verbirgt 
sich in der Regel Überschuss oder B-Ware - so richtig gute Sachen kenne 
ich von denen nicht. Daher kann es gut sein, dass die Karte nicht ganz 
sauber läuft.

Das Sandisk-Datenblatt muss jedoch nicht für Hama-Karten gelten. Kann 
gut sein, dass es bei diesen Timings paar Freiheiten gibt und die nicht 
einer SD-Spezifikation unterliegen - oder Sandisk die Spezifikation da 
einfach enger fasst.

Bin kein SD-Experte, aber miese Karten gibt es tatsächlich zuhauf. Am 
besten ordentliche Karten von den Flash-Herstellern nehmen: Sandisk, 
Samsung, Toshiba, ... da macht man weniger falsch mit.

von TriHexagon (Gast)


Lesenswert?

Danke. Das habe ich befürchtet. HAMA ist ja nicht unbedingt für Qualität 
bekannt. Jetzt ist nur die Frage, ob die Karte gegen die allgemeine 
Spezifikation verstößt oder ob SanDisk das Timing für sich selbst 
eingegrenzt hat. Bisher habe ich in der "Physical Layer Simplified 
Specification" noch nichts gefunden. Natürlich ist das Kapitel "7.5 SPI 
Bus Timing Diagrams" in der vereinfachten Version leer. Bisher konnte 
ich das Timing noch nicht herausfinden. Kennt jemand den allgemeinen 
Wert für NCR?

von TT (Gast)


Lesenswert?

ist es eine SD Karte? oder eine SDHC oder gar SDXC?

von TriHexagon (Gast)


Lesenswert?

Normale SD Karte 2 GB

von Olaf (Gast)


Lesenswert?

>  Verstößt meine SD Karte von HAMA nun gegen die allgemeine SD
> Spezifikation oder die SanDisk Spezifikation oder mache ich etwas
> falsch?

Ja du machst etwas falsch. Du vergleichst einen Opel mit dem 
Reparaturhandbuch von VW. Das ist ziemlich doof.

Wenn du einen Treiber schreiben willst der mit jeder beliebigen Karte 
klar kommt dann musst du dir mindestens zehn verschiedene Karten 
besorgen und die alle implementieren. Du wirst dann merken das die 
Karten alle ihre kleinen Macken und unterschiede haben. Ausserdem wird 
dir dann auffallen das es total einfach ist eine Speicherkarte fuer ein 
eigenes Bastelprojekt anzusteuern, aber sehr viel Arbeit einen Treiber 
zu schaffen der immer funktioniert.


Olaf

von TriHexagon (Gast)


Lesenswert?

Ja das ist mir schon bewusst. Mir geht es in erster Linie nur darum 
meine SD Karte zum Laufen zu bringen. Ich kann auch ein längeres NCR 
implementieren, aber aus Neugierde und für die Zukunft würde ich gerne 
wissen, ob manche Hersteller die Spezifikation nicht befolgen. Damit 
würde ich mir eine Menge Frust ersparen.

von TriHexagon (Gast)


Lesenswert?

Hab jetzt noch mal ganz genau die Tabelle mit den Werten angeschaut. NCR 
ist 1-8 * 8 Clock Cycles lang. Also war es doch mein Fehler.

Trotzdem vielen Dank für die Aufklärung ;).

von Dirk K. (dekoepi)


Lesenswert?

Jetzt bekomme ich Bregenzerrung. Wie willst du -63 Takte schaffen? So 
schnell schalten, ein Wurmloch in die Vergangenheit zu bohren? ;)

SCNR :)

von joe (Gast)


Lesenswert?

Dirk K. schrieb:
> Jetzt bekomme ich Bregenzerrung. Wie willst du -63 Takte schaffen? So
> schnell schalten, ein Wurmloch in die Vergangenheit zu bohren? ;)
>
> SCNR :)
http://www.youtube.com/watch?v=iIIuR-HjFho

von TriHexagon (Gast)


Lesenswert?

LOL
Natürlich war mit "1-8" "1 bis 8" gemeint ;).

von greg (Gast)


Lesenswert?

Es gibt so viele SD-Karten, die extrem grob gegen fast alles verstoßen, 
was jemals spezifiziert wurde. Guck dir mal den MMC/SDHCI-Treiber im 
Linux-Kernel an. Workarounds über Workarounds, um auch mit den ganzen 
schäbigen Karten klarzukommen. Selbst bekannte Markenhersteller 
verkaufen Müll. Und die Host-Controller sind dann auch meistens recht 
eigensinnig...

Als das Raspberry Pi rauskam, habe ich am SDHCI-Treiber für den BCM2835 
mitgewirkt. Es war nicht mehr feierlich, was ich mit meiner Sammlung an 
ca. 15 verschiedenen SD-Karten erlebt habe. Und obwohl meine Karten am 
Ende alle problemlos und schnell funktionierten, gab es noch zahlreiche 
Nutzer mit weiterhin problematischen Karten.

Ein großes Problem ist auch, dass die Hersteller u.U. den 
Controller-Chip beim gleichen Modell wechseln. Je nachdem, welche Charge 
man bekommt, hat dann das gleiche Modell an Karte unterschiedliche 
Performance-Charakteristik und unterschiedliche Bugs. Man kann sich auf 
nichts verlassen.

von m.n. (Gast)


Lesenswert?

greg schrieb:
> Und obwohl meine Karten am
> Ende alle problemlos und schnell funktionierten, gab es noch zahlreiche
> Nutzer mit weiterhin problematischen Karten.

Gibt es das Problem auch bei den micro-SD-Karten, oder ist die 
'Streuung' dort besser geworden? Hast Du da Erfahrungswerte?

von greg (Gast)


Lesenswert?

m.n. schrieb:
> Gibt es das Problem auch bei den micro-SD-Karten, oder ist die
> 'Streuung' dort besser geworden? Hast Du da Erfahrungswerte?

Ich glaube kaum, dass es da einen Unterschied gibt. MicroSD ist ja 
lediglich ein kleineres Gehäuse, die Controller sind gleich. Als ich 
damals (2012) mit dem Raspberry Pi arbeitete, waren die 2 oder 3 
MicroSD-Karten, mit denen ich testete, nicht besonders auffällig.

von m.n. (Gast)


Lesenswert?

Danke!

von Olaf (Gast)


Lesenswert?

> Man kann sich auf nichts verlassen.

Das war auch meine Erfahrung. :-)

Am schlimmsten sind im uebrigen SD-Karten welche nicht auf Basis einer 
Statemachine arbeiten sondern richtig Intelligenz aufweisen. Also 
SD-Karten die zusaetzlich noch einen USB-anschluss haben, Memorystick 
nach SD, oder SD+Wlan.
Und wenn man das Problem im Griff hat dann kommt das Filesystem.

Meine erste Karte hatte im uebrigen nur 8MB und natuerlich war sie mit 
FAT12 formatiert...

Und selbstverstaendlich gibt es Karten als Superfloppy und mit 
Partitionstabelle.

Das ist IMHO auch der Grund warum alle Digitalkameras Karten formatieren 
koennen. Ich meine wenn man da mal drueber nachdenkt ist das doch eine 
ueberraschende Funktionalitaet. Aber damit versuchen die Hersteller ein 
Teil der Probleme in den hoeheren Schichten zu kompensieren.

Olaf

von Soul E. (Gast)


Lesenswert?

so langsam verstehe ich, warum im Profibereich die CF-Karte einfach 
nicht aussterben will...

von greg (Gast)


Lesenswert?

soul eye schrieb:
> so langsam verstehe ich, warum im Profibereich die CF-Karte
> einfach
> nicht aussterben will...

Was treibt dich zu der wahnsinnigen Annahme, dass es bei CF besser 
aussieht? :)

von Robert N. (metrux)


Lesenswert?

Den kennst du?
http://xkcd.com/927/

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.