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?
Hallo, Pin 10 - was ist mit dem los? Kennst Du die Atmel AVR042 Application Note?
> 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.
Hallo Stefan, ja, den den Strom Puls dachte ich auch. Wir wissen nur nicht, ob Vcc "weich" ist.
Stefan U. schrieb: > 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. Deutlich, denn SD Karten dürfen im SPI Mode regulär 100mA ziehen. Einige Karten Typen machen das manchmal auch.
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.
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.
:
Bearbeitet durch User
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.