Probleme mit Hotplug der SD-Card

OP #5286632
Lesenswert?

Ich habe die folgende Schaltung (siehe Anhang) aufgebaut und dafür auch 
eine Platine erstellen lassen. An und für sich funktioniert der Aufbau, 
d.h. ich kann alle SD Karten die ich ausprobiert habe initialisieren und 
kann auch davon lesen. D.h. ich habe eine kleine Routine die mir das 
ROOT Directory von FAT16 oder FAT32 formatierten Karten ausgibt und es 
sieht alles richtig aus.

Nun aber das Problem, wenn ich eine SD-Karte einstecke, dann macht der 
AVR ein reset. Der SD-Kartenhalter ist ein Yamaichi FSP009-2405-0.

Hat jemand eine Idee was ich hier falsch gemacht habe oder wo ich den 
Fehler am geschicktesten eingrenze kann?
Angehängte Dateien:
Gast #5286652
Lesenswert?

> Nun aber das Problem, wenn ich eine SD-Karte einstecke, dann
> macht der AVR ein Reset.

Kenne ich. Manche SD Karten ziehen beim Einstecken kurzzeitig einen 
beträchtlichen Strom. Ich hatte mal 50mA für die SD Karte eingeplant, 
und es stellte sich heraus, dass das zu wenig war.

Also Spannungsregler geändert und noch mit 10µF gepuffert - schon 
klappte es. Vielleicht hilft Dir das.
#5286780
Lesenswert?

Karl M. schrieb:
> ja, den den Strom Puls dachte ich auch.
> Wir wissen nur nicht, ob Vcc "weich" ist.

Ich sehe da nur ein paar 10nF Kondensatoren - da ist VCC schon recht 
extrem "weich".

Außerdem will man die Stromversorgung bei SD Karten schaltbar haben - 
die kennen nämlich keinen sonstigen Reset. Und ich habe schon Karten 
gehabt die sich aufhängen konnten.
OP #5287011
Lesenswert?

Vielen Herzlichen Dank, genau das wars, ein "Satz" Tantal Elko an 5V und 
3V3 und weg ist das Problem.

Pin 10 hängt an VCC. Der ist beim Symbol in der Library so definiert 
(PWR, VCC) und dann macht Eagle automatisch im BRD eine Verbindung die 
man routen muss. Im Gegensatz zu Pin 30. Ich werd das auf dem Schema 
entsprechend nachdokumentieren. Danke für den Hinweis. Ich mach mir noch 
ein eigenes Symbol, das hier verwendete finde eh nicht so toll.

Wegen Stromversorgung schaltbar, im Prinzip ja, aber eigentlich brauche 
ich das nur während dem Test und der Entwicklung. Im Betrieb darf sollte 
man die Karte lieber nicht ziehen, da hat dann das Betriebssystem auf 
meinem PDP-11 nicht gross Freude daran wenn man ihm die "Harddisk" unter 
den Füssen wegzieht.
#5287337
Lesenswert?

Peter S. schrieb:
> Im Betrieb darf sollte
> man die Karte lieber nicht ziehen, da hat dann das Betriebssystem auf
> meinem PDP-11 nicht gross Freude daran wenn man ihm die "Harddisk" unter
> den Füssen wegzieht.

Die Karten können sich auch im laufenden Betrieb in einen Zustand 
versetzen wo keine Kommunikation mehr möglich ist. Dann will man die 
Karte zwar schleunigst wechseln, aber ein Reset ist nur mittels 
Power-Cycle möglich.

Ohne einen µC-gesteuerten Power Switch (P-Channel MOSFET in den 3V3) 
muss der Anwender die Karte ab- und wieder anstecken. Mit Power Switch 
kann der µC selbst versuchen der Karte wieder Leben einzuhauchen. Und 
das sind nur 2 Bauteile extra: Ein MOSFET und ein Pullup Widerstand fürs 
Gate.

Apropos Pullups: Die fehlen. Du brauchst so 10k an MISO (nach 3V3!) und 
an die DAT1 und DAT2 Pins. Wegen der 5V am AVR darfst Du nicht den 
internen Pullup an MISO benutzen.

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