SD-Card resetten

Gast #1346585
Lesenswert?

> Zieh doch einfach den CS Pin auf High. Dann kommt da auch
> nix mehr raus.

/CS wird ja sowieso nach jeder Aktion auf High gesogen. So klappts bei 
mir nicht. Sobald ich die Karte ein zweites mal initialisiere, hat MISO 
diesen hohen Pegel. Nur durch Rausziehen der Karte oder Strom aus/ein 
wird sie richtig in den Grundzustand versetzt. Da muß doch irgendwie bei 
eingebauter Karte möglich sein?
Gast #1346589
Lesenswert?

>/CS wird ja sowieso nach jeder Aktion auf High gesogen. So klappts bei
>mir nicht. Sobald ich die Karte ein zweites mal initialisiere, hat MISO
>diesen hohen Pegel.

Was stört dich an dem Pegel? Wieso initialisierst du zweimal?
Wen stört dieser Pegel?

>Nur durch Rausziehen der Karte oder Strom aus/ein
>wird sie richtig in den Grundzustand versetzt. Da muß doch irgendwie bei
>eingebauter Karte möglich sein?

Spannungsversorgung per Transistor weghauen?
Gast #1346592
Lesenswert?

> Wieso initialisierst du zweimal?
Ich möchte einen Software-Reset machen, also Totalreset ohne 
Ausschalten. Die Firmware usw. werden dabei neu gestartet.

> Wen stört dieser Pegel?
Ich habe noch andere Geräte auf dem Bus, die stört das.
Gast #1346596
Lesenswert?

>> Wieso initialisierst du zweimal?
>Ich möchte einen Software-Reset machen, also Totalreset ohne
>Ausschalten. Die Firmware usw. werden dabei neu gestartet.

Also du startest deinen Prozessor neu?

>> Wen stört dieser Pegel?
>Ich habe noch andere Geräte auf dem Bus, die stört das.

Dann häng einen 10k Pullup an CS.
Gast #1346601
Lesenswert?

> Also du startest deinen Prozessor neu?
Ja.

> Dann häng einen 10k Pullup an CS.
Es geht mir um MISO. Ich habe einen 100k Pulldown dran (nur zum Messen 
dieses Pegelunterschieds).
Außerdem stört mich dieses Verhalten der Karten. Unterbrechen der 
Stromversorgung ist leider bei mir nicht möglich.
Gibt es einen SoftReset? CMD0 scheint nicht zu helfen. :(
Gast #1346608
Lesenswert?

>> Dann häng einen 10k Pullup an CS.
>Es geht mir um MISO. Ich habe einen 100k Pulldown dran (nur zum Messen
>dieses Pegelunterschieds).

Scheiss doch auf MISO. Häng einen 10k Pullup an CS der Karte.
Dann kommt aus der Karte auch nix raus.

Du hast da wohl ein grundsätzliches Problem mit SPI.
Als erstes solltest du alle CS der angeschlossenen SPI
Geräte deaktivieren. Und erst danach kannst du anfangen
sie der Reihe nach zu initialisieren.
Moderator Persönliche Seite #1346847
Lesenswert?

In zumindest einem SanDisk Manual SD-Card Product-Manual wird explizit 
geraten, die Stromversorgung schaltbar zu machen um einen "harten" Reset 
auslösen zu können, wenn gar nichts mehr geht. Man sollte also "nicht 
möglich" möglich werden lassen.

Was bedeutet "treibt MISO"? Mglw. dies nicht beachtet?: 
http://elm-chan.org/docs/mmc/mmc_e.html -> Cosideration on Multi-slave 
Configuration
Gast #1347025
Lesenswert?

> Du hast da wohl ein grundsätzliches Problem mit SPI.
Nein, es funktioniert sonst recht gut. Bis auf das eben...

> Was bedeutet "treibt MISO"?
Ich messe sonst im Ruhezustand (alle Geräte sind deselected) etwa 1V, 
nach einem Schreib/Leszugriff zur Karte (oder direkt nach dem 
Initialisieren). Wird die Karte ein zweites mal initialisiert, dann 
steigt diese "Ruhespannung" auf bis zu 3V. Dadurch kann ich einen 
Busteilnehmer nicht mit seiner vollen Taktfrequenz betreiben.

> Mglw. dies nicht beachtet?:
> http://elm-chan.org/docs/mmc/mmc_e.html -> Cosideration on Multi-slave
> Configuration
Ja, das habe ich beachtet. nach dem "Releasen" von /CS schicke ich noch 
ein 0xff hinterher. Das geht auch soweit alles.

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