Forum: Mikrocontroller und Digitale Elektronik SD-Karte an Mega32 über SPI + Programmer?


von werner (Gast)


Lesenswert?

Hallo zusammen,

habe gerade mal das Projekt MMC-SD-Karte von Ulrich Radig bei mir 
zusammengelötet.
Die Karte wird auch erkannt.

Ich habe nur das Problem, das ich die SD-Karte über die selben Pins 
(MOSI, MISO, CLK) ansteuere, wie ich auch den Controller programmiere.

Die SD-Karte an andere PINS zu hängen geht nicht, die implementierte 
Software-SPI funktioniert bei mir nicht. Keine Ahnung warum.

Hat jemand eine Ahnung, wie ich am besten die SD-Karte und den 
Programmer auf die selben Ports bringe?


Gruß
Werner

von Jörg B. (manos)


Lesenswert?

Mit einem Jumper für das CS-Signal (oder CS für Karte über Portpin 
steuern).

von A.K. (Gast)


Lesenswert?

Du musst sicherstellen, dass die CS-Leitung der SD-Karte zum Zeitpunkt 
der Programmierung inaktiv ist. Dank des auf GND ziehenden 
Spannungsteilers ist jedoch das Gegenteil der Fall, daher der Konflikt.

Kann man natürlich per Jumper machen, ist aber etwas umständlich.

Wenn du an Stelle der Spannungsteiler einen aktiven Pegelwandler mit 
beispielsweise 74HC4050 verwendest (Vdd=3,3V), kannst du dessen 
CS-Eingang per 47K-Widerstand auf 3,3V legen und schon gibt die SD-Karte 
bei Reset Ruhe.

von werner (Gast)


Lesenswert?

Hallo,

danke für die schnelle antwort.
das CS-Signal läuft bei Ulrich Radig über einen Portpin.

Jumper ist schlecht. Ich will, dass der Programmer und die SD-Karte 
immer am Controller hängen und ich ohne Hardwareveränderungen den 
Controller Flashen kann.

Ich überlege schon, ob ich nicht das Reset-Signal des Controllers 
irgendwie verwenden kann.


Ergänzung:
Ich habe momentan die Minimalschaltung mit Spannungsteiler und einem 
3,3V Festspannungsregler aufgebaut.

von A.K. (Gast)


Lesenswert?

Standard-PNP-Transistor. Basis über 10K-Widerstand an Reset. Emitter an 
3,3V, Kollektor an den CS-Anschluss der SD-Karte.

von A.K. (Gast)


Lesenswert?

Alternative: Spannungsteiler für CS rauswerfen. Widerstand 3K3 zwischen 
3,3V und dem CS-Anschluss der SD-Karte, Diode (vorzugsweise Schottky) 
zwischen CS und Portpin.

von Jörg B. (manos)


Lesenswert?

werner wrote:
> das CS-Signal läuft bei Ulrich Radig über einen Portpin.

...und wie ist es bei Dir gelöst? Vielleicht reicht ja einfach ein 
PullUp/PullDown-Widerstand an diesem Portpin um das Problem zu lösen. 
Der µC wird wahrscheinlich während der Programmierens alle Ports (außer 
MISO) auf Eingang stellen. Das könnte dann evtl. einen undefinierten 
Zustand geben.

von werner (Gast)


Lesenswert?

Hallo nochmals,

bei mir ist der CS auch über Spannungsteiler am Portpin gewesen.

Hatte dann noch probiert den Pegelwandler mit zwei BC337 (wie auf der HP 
von Ulrich Radig beschrieben) zu bauen. Die Pegel stimmten zwar, aber 
komischerweise fand er damit die karte nicht mehr. Evtl geringe 
zeitverzögerung oder so? keine Ahnung.

Habe nun die Version von A.K. mit der Diode (1N400x) genommen. Geht im 
kurztest wunderbar.
Mal sehen obs auch ausführlichen Tests stand hält.

Danke für eure schnelle Hilfe.
Einen guten Rutsch ins neue Jahr.

Gruß

von A.K. (Gast)


Lesenswert?

Schaltdiode 1N4148 statt Wuchtbrumme 1N400x wär schon besser...

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.