Forum: Mikrocontroller und Digitale Elektronik C167 SPI SD-Karte


von Peter Baumann (Gast)


Lesenswert?

Hallo zusammen,

ich verzweifle bald. Ich versuch jetzt bestimmt schon seit 4 Wochen ne
SD-Karte über SPI anzusteuern.

Der Mikrocontroller ist ein C167CR von Infineon. Die Codebeispiele für
den Atmel sind zwar ganz hilfrei aber in den Registern kann ich halt
nicht exakt die Einstellungen übernehmen.

Ich hab jetzt glaub alle möglichen Einstellungen (Kombinationen) durch
und die SD-Karte antwortet auf CMD0 nur manchmal korrekt. Irgendwie
sieht das so aus, als ob die Antwort der SD-Karte zwar bitweise richtig
ist, aber nicht byteweise übertragen wird. Sprich wenn ich 2 übertragene
hintereinander empfangene Bytes anschaue erkenn ich das 0x01 Bitmuster
schon, nur wird das halt nicht richtig Byteweise gepackt.

Hat mir jemand eventuell ein Codebeispiel für den C167. Bitte nicht für
Atmel-Controller antworten da ich für den schon genug Beispiele habe.

Danke im vorraus!!

Mfg Peter

von Steff .. (steff)


Lesenswert?

Ah, ein Leidensgenosse :)

Ich stehe seit gestern vor dem gleichen Problem.
Wenn ich die Antwort richtig interpretiere, schickt mir die SD-Karte
auf mein CMD0 immer "0x00" (anstatt 0x01) zurück.

Werd mir jetzt die Datenblätter nochmal genau durchlesen...

Sorry, dass ich dir nicht konkret helfen konnte, aber vielleicht
schaffen wir es ja gemeinsam. C16x Benutzer sind hier im Forum wohl
leider eine Minderheit.

Gruß
Steff

von Take it Easy (Gast)


Lesenswert?

@Thomas S.

Wenn Du mir Deine Mail-Adresse nennst, kann ich Dir heute Abend meinen
Source (SD_Card) für den C167 senden - die Adresse von Peter steht ja
oben.

von Steff .. (steff)


Lesenswert?

oh, da meldet man sich extra an und dann ist es nicht mal möglich die
Mail Adresse nachzuschauen... :)

steff[ät]trmrec.de

von Peter Baumann (Gast)


Lesenswert?

AH,,

da ist mir ein dummer Fehler unterlaufen.

@Take it Easy

Meine E-mail hatte nen kleinen Fehler.
das muß C-Newbie@web.de heisen.

kannst du mir es eventuell falls schon geschickt nochmal schicken!!!

Mfg Peter

von Steff .. (steff)


Lesenswert?

So...
hab zwar den Code von Take it Easy noch nicht bekommen, aber bin schon
ein Stück weiter denke ich.
Ich geh mal davon aus dass es bei mir ein Timing Problem war, denn wenn
ich über die serielle Schnittstelle ein paar Debug-Messages ausgeben
lasse scheint die Initialisierung zu klappen und ich kann CID- und
CSD-Register auslesen.
Hierfür wäre allerdings eine genaue Beschreibung nützlich, da ich die
Bedeutung der CID/CSD Register bisher nur in einem Datenblatt eines MMC
Herstellers gefunden habe.
Bei einer 1GB Sandisk Karte wäre der Product Name demnach "SD01GX"
und bei einer 512MB Toshiba Karte "SD512 ". Was mir allerdings
komisch vorkommt ist dass die 1GB Karte 1999 hergestellt wurde.

Bin weiterhin auf den Code von Take it Easy gespannt, vor allem wegen
der Timing Einstellungen ;)

Gruß
Steff

von Take it Easy (Gast)


Lesenswert?

@Steff

Code wurde heute morgen gemailt..

von Steff .. (steff)


Lesenswert?

OK, dankeschön!
Bin gerade in der Arbeit und Zuhause läuft natürlich der PC, der die
Mails immer brav vom Server abholt und löscht

von Take it Easy (Gast)


Lesenswert?

@Steff

>Bin gerade in der Arbeit und Zuhause läuft natürlich der PC, der die
>Mails immer brav vom Server abholt und löscht

Wenn alle Ihre Rechner ausschalten würden, dann könnte wohl fast ein
Atomkraftwerk abgeschalten werden - der Strom ist wohl noch zu billig!

Oder hast Du einen massiven Grund, dass Dein Rechner ständig laufen
muss?

Kleine Hochrechnung:
- Jeder 4te Bürger hat einen privaten PC --> ca 20.000.000 in D
- Ein PC (ohne Monitor) benötigt wohl im Durchschnitt ca. 200W
--> 4MWh, mit Monitor ca. das Doppelte!

von Steff .. (steff)


Lesenswert?

Der Rechner läuft natürlich nicht ständig (um regelmässig Mails
abzuholen).
Das war heute eine Ausnahme und er hat sich nach getaner Arbeit auch
selber ausgeschaltet. Dummerweise war das Mailprogramm geöffnet...

ontopic:
SoruceCode ist angekommen (nochmal danke), hatte bisher aber nur Zeit
mal kurz drüber zu fliegen.

von Gideon Zenz (Gast)


Lesenswert?

Hi,

ich versuche auch gerade händeringend auf dem C167 SPI hinzubekommen,
leider mit mäßigem Erfolg :( Könntst du mir auch den Source mal
zukommen lassen?

Danke!

Gideon

von Michael Otterbein (Gast)


Lesenswert?

Hallo Take it Easy,

ich habe gerade auch so meine Probleme über die SSC des C167 mit einer
SD-card zu kommunizieren. Wäre sehr hilfreich, wenn Du mir
den Code auch zur Verfügung stellen könntest.

Danke,

Michael

von Sven (Gast)


Lesenswert?

@Take it Easy
Kömmtest Du mir auch bitte mal den Code zusenden?

Schonmal vielen Dank!

MfG
Sven

von Simon K. (simon) Benutzerseite


Lesenswert?

Warum stellt ihr den Code nicht hier online? Dafür ist das Forum
schließlich da.

von Microman (Gast)


Lesenswert?

Oh ja das ist eine tolle Idee, wäre sicher sehr, sehr interessant.

MfG
Microman

von Uwe (Gast)


Lesenswert?

Hi!
@Thomas S.
<CID,CSD lesen geht..
Ich habe bei CSD immer ein Probl. mit Byte2 = TAAC. Da stehen bei mir
immer unsinnige Werte drinn(2 Karten $7F,$4F). Kannste mal dein 2. Byte
posten?

Danke, Uwe

von Sven (Gast)


Lesenswert?

Hallo!
Ich wäre an dem Code auch sehr interessiert. Fände es prima, wenn
entweder jemand den Code hier posten oder mir per E-Mail zusenden
würde.
Vielen Dank
Sven

von B. J. (bjue)


Lesenswert?

Hallo!
Ich wäre ebenfalls an Erfahrungen zu diesem Thema interessiert.
Wäre schön wenn sich jemand bei mir melden würde. Danke!
Gruß
Bernd

von Sascha P (Gast)


Lesenswert?

Hallo!
Ich wäre an dem Code auch sehr interessiert. Fände es prima, wenn
entweder jemand den Code hier posten oder mir per E-Mail zusenden
würde.
Vielen Dank
Sascha

von Sascha P (Gast)


Lesenswert?

Hallo!...sorry Email vergessen...
Ich wäre an dem Code auch sehr interessiert. Fände es prima, wenn
entweder jemand den Code hier posten oder mir per E-Mail zusenden
würde.
Vielen Dank
(an Email:sascha.p-[ät]web.de)
Sven

von Laurentius (Gast)


Lesenswert?

Hi wollte mal kurz meinen Senf dazugeben

Der Fehler muss nicht unbedingt immer in der Soft und/oder Hardware 
liegen. Ich habe mal eine Schaltung aufgebaut die so ziemlich jede 
Speicherkarte geschluckt hat. Dann habe ich eine 5Euro !!! Transcend 
Karte con Conrad genommen und mit der lief es nicht mehr. Alle anderen 
San Disk Ultron Toshiba no Prob.
Unter anderem kann man daraus auch lernen billig ist nicht immer gut:-)

Kann nur empfehlen mehrere Karten und gerne auch ältere mit weniger 
Kapazität zu probieren.

Gruss LAurentius

von Simon (Gast)


Lesenswert?

spiele ebenfalls mit dem c167, hab zwar noch keine sd karte dran, aber 
ist noch geplant...

könnt ich den code auch mal haben... ab besten ins forum, oder auf 
s.frei1@gmx.net

von Steff .. (steff)


Angehängte Dateien:

Lesenswert?

So, da ich alle paar Wochen mal ne Anfrage bekomme wegen dem o.g. Code 
von Take it Easy und ich endlich etwas Zeit gefunden habe werde ich 
meinen veröffentlichen.
Take it Easys Code und meiner basieren auf den AVR Sourcen die hier auch 
veröffentlicht wurden, nur auf die Ports des C167 angepasst (in meinem 
Fall auf einen C167CS und TASKING Compiler). Seinen habe ich damals gar 
nicht getestet weil die Codes quasi identisch waren - bei mir wars ein 
anderes Problem, leider kann ich mich nicht mehr erinnern was es war und 
wie ich es behoben hatte...

Der Code funktionierte bei mir mit einer Toshiba 512MB SD-Karte und 
einer Sandisk 1024MB.

von Simon (Gast)


Lesenswert?

vielen dank

von Sascha P (Gast)


Lesenswert?

Auch vielen,vielen Dank!!

von Jörn S. (muetzi)


Lesenswert?

Ach meinerseits DANKE!!!!!!!!!!!!

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.