brauchen SD-Karten genau 3,3V?

OP #1391934
Lesenswert?

Hallo

ich habe grad eine kleine Platine zusammengelötet und versucht damit 
eine SD-Karte auszulesen. Eigentlich nichts besonderes. Der Aufbau war 
mir klar, die Bibliothek dazu läuft schon auf einem anderen Board 
einwandfrei...
Aber nun funktioniert nichts. Ich kann einfach die Karte nicht 
"Initialisieren".
Die Ausgänge des Controllers sind mittels Spannugnsteiler(680 Ohm, 475 
Ohm) auf ca 3,3 Volt runter (was schon auf der alten Platine gut lief) 
und MISO ist direkt am Pin des µCers. Leider hatte ich diesmal keinen 
Spannungswandler zur Hand und daher ist auch VCC der Karte mittels 
Spannungsteiler auf ca. 3,3V genähert. Um genau zu sein auf 3,5V. Die 
Karte an sich sollte ja bis 3,6V aushalten. Aber wie gesagt tut sich 
garnichts. Woran kann das liegen. Das einzige, was an der Platine anders 
ist, ist VCC der Karte. Liegts wirklich daran???

Ach ja, als Karte verwende ich gerade eine 1GB UltraII. Hatte nichts 
einfacheres zur Hand.
Gast #1391945
Lesenswert?

Was funktioniert genau nicht?
Schaltplan?
Warum nimmst nicht einfach einen 3,3V Regler und behebst die 
Spannungsteilerproblematik?

Wenn sich die beiden Schaltungen nur in der Versorgung der SD-Karte 
unterscheiden, dann liegt es genau da dran.
OP #1391964
Lesenswert?

@Gast
Naja, ich bin einfach davon ausgegangen, da ich die Bib schon in einem 
anderen Projekt im Einsatz hatte und als erstes natrülich auch bei deren 
Konfiguration nach Fehlern suchte, dass der Fehler zu 99% in der 
Schaltung liegt.
Daher auch meine Frage. Aber hier dann ein Codeschnippsel:
1
int main (void)
2
{
3
  wdt_enable(WDTO_1S);
4
  uart0_init();
5
  uart0_puts("initialisiere Hardware");
6
  init_hardware();
7
  
8
  char *inbuff = malloc(20*sizeof(char));
9

10
  uart0_puts("Lese SD-Karte");
11

12
  MMC_IO_Init();
13
  
14
  if(GetDriveInformation() != F_ERROR){
15
    uart0_puts("...SD erfolgereich");
16
    if(Chdir("/") == F_ERROR){
17
      Fopen("muster01.csv",F_READ);
18
      Fread(inbuff,20);
19
      Fclose();
20
     }
21
    uart0_putcn(inbuff,20);
22
  }  
23
  else 
24
    {
25
    uart0_puts("...nicht erfolgreich");
26
  }
27

28
  uart0_puts("betrete Endlosschleife");
29
  while(1)
30
  {    
31
    wdt_reset();
32
  }
33
  return 1;
34
}
Gast #1391970
Lesenswert?

im Moment, wo du was an der Karte tust (Schreiben, lesen) brauchst du so 
50...100mA. Und nun schau mal, was dein Spannungsteiler hergibt. Und 
falls er das schafft - wieviel Spannung ist dann noch da?
Kurz: das ist Murks und funktioniert nicht.
#1396788
Lesenswert?

Hallo,
mal schnell eine Frage wegen der SD-Karten Spannungsversorgung.
Ich will auf einem Board, wo ein LPC2468 sitzt, einen SD-Kartenslot 
vorsehen.
Der Mikrocontoller erlaubt ja über den MCIPWR-Pin das ein- und 
ausschalten der Spannungsversorgung der SD-Karte; genau sowas möchte ich 
auch in meinem Gerät einbauen - es soll so viel Strom wie möglich 
gespart werden. Also - der SD-Karte den Saft abdrehen, wenn sie nicht 
gebraucht wird.
Jetzt die Frage:
Darf ich die 3.3 Volt, die die Karte braucht, mit einem PNP-Transistor 
schalten? Ich dachte mir das in etwa so wie im Bild.
Über dem Transistor gehen dann ja ein paar mV verloren, die dazu auch 
noch abhängig vom Stromverbrauch der Karte sind - und die Frage ist, ob 
es so noch funktioniert, oder ob man das besser anders macht.
Warum ich gerade diese Transistoren nehme: weil ich die grade da habe.
Warum der Basiswiderstand vom NPN 4k7 ist: ich benutze eh ein 
Widerstandsnetzwerk da irgendwo in der Nähe, wo noch diese 4k7 frei 
sind.

Gruss
Angehängte Dateien:
Gast #1396836
Lesenswert?

Die sauberste Lösung wäre ein Regler mit Shutdown, z.B. LP2951. Die 
einfache Basterlösung wäre ein Spannungsteiler der vom µC 
Ein/ausgeschaltet wird, und dann ein N-Darlington Transistor (oder 
komplementär Darlington) dahinter.
Gast #1396886
Lesenswert?

Die Spezifikation (zumindest eine von Kingmax) sagt 2,7..3,6V "Voltage 
range for operation". Stromspitzen/Transienten werden gepuffert, die 
300mA sind hoch angesetzt, also alles in Butter und wird so in der Art 
bei einem Produkt von uns eingesetzt.

Gruß Frank
Gast #1397308
Lesenswert?

>dann nehme ich mal an, dass er auch die Pins tri-stated.

Ich nehme nicht an, dass man ausgerechnet bei diesen Bausteinen, die ja 
besonders viel in die Hand genommen werden an den Schutzdioden gespart 
hat.

Das Tri-Staten hat also auf diese Strukturen keinen Einfluss und ändert 
nichts am Klemmdiodenproblem.

Gruss
Axel
Gast #1397345
Lesenswert?

Auch zu Empfehlen: Direkt an den VCC-Pins gegen GND-Pins des Kartenslots 
eine Kombination aus 10µF und 0,1µF Kerkos anlöten. Die Stromaufnahme 
beim Lesen und Schreiben ist kurzzeitig sehr hoch (Spitzen bis 2-3A ).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren