Forum: Mikrocontroller und Digitale Elektronik Lock/Unlock MMC mit Passwort


von Erik (Gast)


Lesenswert?

Hallo Leute,

Ich habe schon alles versucht. Ich schaffe es aber nicht eine 
MMC/SD-Karte zu sperren bzw. zu entsperren.
Meine Routinen zum Lesen und Schreiben von Datenblöcken funktionieren 
soweit richtig.
Wie gesagt, nur das Setzen eines Passwortes schlägt fehl:
1
  // Blocklänge festlegen (=CMD16) auf 8 Byte
2
  mmc_sendCommand (16,8);
3
  // Wir erwarten 0 als Antwort
4
  responseR1(0);
5
6
  // Kommando zum Setzen des PW (=CMD42) und Stuffbits als Argument
7
  mmc_sendCommand (42,0xFFFFFFFF);
8
  // Wir erwarten 0 als Antwort
9
  responseR1b(0);
10
  
11
  // Startbyte senden
12
  mmc_sendByte(0xFE);  
13
  // Datenblock senden
14
  mmc_sendByte(5); // Lock und setPW
15
  mmc_sendByte(6); // PW ist 6 Bytes lang
16
  mmc_sendByte('1'); // Ab hier das PW selbst
17
  mmc_sendByte('2');
18
  mmc_sendByte('3');
19
  mmc_sendByte('4');
20
  mmc_sendByte('5');
21
  mmc_sendByte('6');
22
  // 16Bit-CRC senden (Dummy)
23
  unsigned char i;
24
  for (i=0; i<2; i++) mmc_sendByte(0xFF);
25
  
26
  // Wir erwarten DATEN KORREKT ERHALTEN
27
  mmc_wait_DataResponse();

Das Lustige ist, das verschiedene Karten verschiedenes Verhalten zeigen.
Eine Karte gibt ALLES OK zurück und ist danach aber nicht gesperrt, eine 
andere "hängt" sich direkt nach dem Senden des CRC, also vor dem letzten 
"mmc_wait_DataResponse()" quasi auf. Es kommen nur noch Nullen als 
Antwort (was BUSY bedeuten sollte), aber egal wie lange man wartet es 
tut sich nix mehr (Nullen bleiben). Nur ein Trennen der Karte von VCC 
und erneutes Anschließen erweckt sie wieder zum Leben.

Hat irgendwer vielleicht ne Ahnung, wo das Problem liegt oder vielleicht 
sogar schon Code?
Da die Daten unbedingt vor Fremdzugriff geschützt werden müssen, wäre 
dieses Feature sehr wichtig.

Vielen Dank im Voraus,
Erik

von Obelix (Gast)


Lesenswert?

Was sagen denn die Datenblätter zu den SD-Karten?
Ich könnte mir vorstellen, das diese Funktion nicht von allen Karten 
unterstützt wird.

von Erik (Gast)


Lesenswert?

Hallo Obelix,

Nach der Definition sollten die Karten dann aber ja bei CMD42 ein 
"Unkwon Command" zurückliefern, was sie nicht tun. Stattdessen kommt 
"0", also ALLES OK zurück.

von Erik (Gast)


Lesenswert?

...wie gesagt, teilweise kommt auch gar nichts mehr von der Karte?
Kann denn ein Kommando ne Karte "abstürzen" lassen?

von Erik (Gast)


Lesenswert?

Hat denn wirklich keiner eine Idee, woran es liegen könnte?

Danke und Grüße,
Erik

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.