Bekomme nicht alle SD Cards im SPI Mode zum laufen?

Offtopic Themen bitte hier hinein.
Antworten
DJLinux

Bekomme nicht alle SD Cards im SPI Mode zum laufen?

Beitrag von DJLinux »

Für das OS habe ich einen neuen SD Card Treiber geschrieben auch für FAT32 mit Verzeichnissen.
Der Treiber kennt mehr SD Kommandos als der alte Treiber unter anderem kann mein Treiber das Card CID und CSD Register auslesen.

Da stehen so sachen drin wie:
SerienNr, OEM ID, Hersteller, Datum, Revision, aktueller Stromverbrauch, maximale Clockraten, maximale Schreib/Lesegeschwindigkeiten, Mediengröße etc.

Ich habe von 3 Herstellern SD Karten aber eine will einfach nicht reagieren
1x1GB Kingston ok
1x2GB REEKIN fehler* reagiert nicht auf init sequenz $40
2x2GB Noname ungelabelt ok

*(läuft aber unter Window,Linux und in einer Kammera)
Ich habe es auch schon mit höheren Timeout Werten probiert aber leider ohne Erfolg.
Habt ihr auch SD Karten die auf dem PC laufen aber nicht auf dem HiVe oder Karten die in einer Kamera laufen aber nicht auf den PC ?

Grüsse Joshy
Zuletzt geändert von DJLinux am So 20. Sep 2009, 04:27, insgesamt 1-mal geändert.
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Bekomme nicht alle SD Cards zum laufen?

Beitrag von BorgKönig »

Hast Du evtl. einen Fehler im Timing der Abfrage...? Oder hast Du evtl. einen zu geringen Tolleranzbereich...?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Bekomme nicht alle SD Cards zum laufen?

Beitrag von drohne235 »

Ist es vielleicht eine SDHC-Karte die nicht funktioniert?

http://de.wikipedia.org/wiki/SD_Memory_Card
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
DJLinux

Re: Bekomme nicht alle SD Cards zum laufen?

Beitrag von DJLinux »

Na Ihr "roten" und "grünen" und das kurz vor der Wahl :lol:

"Eigentlich" kann man da laut Specs nicht viel falsch machen.

Nach Power On befindet sich eine SD im MMC Mode (MultiMediaCard Protokolmode).

Nach dem Reset/Power On oder einfach nach dem Wechsel einer Karte schickt man mehr als 74 Clocks ohne /CS=MMC auf low zu ziehen.
Dann zieht man /CS auf low und sendet eine 6 byte lange MMC Commando Sequenz die vom MMC Mode in den SPI Mode schaltet (die Karte erkennt das an /CS=low).
$40,0,0,0,0,$95

In einer Schleife liest man dann immer ein Byte (multiply of 8 clocks) bis der zu erwartende Responce (Rückgabewert=$01) empfangen wurde.

Das SPI Umschalt CMD 0 (+$40) soll bei eingelegter Karte eine $01 zurück liefern aber bei der "Problemkarte" kommt aber nichts zurück und man bricht nach einem Timeout von z.Z. 1 Sekunde ab und setzt /CS wieder auf high.

Das läuft alles im lowspeed Modus ab denn erst nach dem SPI Mode CMD 0 und einem "erfolgreichen" Reset (CMD 41) kann man das CIS noch wichtiger das CDS Register lesen und dann in dem Highspeed SPI mode wechseln.
(Im MMC Mode gibt es auch noch einen schnelleren Mode ich nenn in Ultraspeed Modus.)

Ich habe die Specs von Hitachi und Scandisk gelesen finde da aber auch keine anders lautende Aussage mit einer defekten Karte könnte ich ja leben aber ausserhalb des HiVe's "funzt" die Problemkarte das ist das was mich so nervt und die Freude von FAT32 mit Verzeichnissen im Augenblick wieder trübt. :evil:

Grüsse Joshy

EDIT:
Könnte sein das die Problemkarte (war bei einer Kammera dabei) nur den MMC Mode und nicht den SPI Modus unterstützt und daher der CardReader am PC und die Kammera den MMC Mode benutzen.
(ohne /CS und Bit orientiert nicht Byte wie im SPI Mode)
Zuletzt geändert von DJLinux am So 20. Sep 2009, 06:45, insgesamt 3-mal geändert.
DJLinux

Re: Bekomme nicht alle SD Cards im SPI Mode zum laufen?

Beitrag von DJLinux »

Es wird immer konfuser
also es gibt tatsächlich ältere Cam's die nur MMC Cards bzw. SD Cards im MMC Mode unterstützen aber die Karte aus der Kammera ist als "normale" SD Card gelabelt und schaltet aber nicht in den SPI Mode.

Aber jetzt kommt's wenn ich versuche diese Karte in den SPI Mode zu schalten (angeblich ohne Erfolg weil kein $01 Responce) und sie dann direkt in die Cam lege kommt eine Fehlermeldung als wenn die Karte nicht mehr im MMC Mode wäre aber auf dem HiVe oder auf dem Steckbrett auch nicht im SPI mode.

Keine Ahnung im welchem Mode die Karte dann ist vielleicht im SLEEP Mode :lol:

Grüsse Joshy

edit:
"If the card recognies that the MultiMedia Card mode is required it will not respond to the command and remain in the MultiMediaCard mode."
Antworten