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
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
@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.
oh, da meldet man sich extra an und dann ist es nicht mal möglich die Mail Adresse nachzuschauen... :) steff[ät]trmrec.de
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
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
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
@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!
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.
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
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
@Take it Easy Kömmtest Du mir auch bitte mal den Code zusenden? Schonmal vielen Dank! MfG Sven
Warum stellt ihr den Code nicht hier online? Dafür ist das Forum schließlich da.
Oh ja das ist eine tolle Idee, wäre sicher sehr, sehr interessant. MfG Microman
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
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
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
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
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
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
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
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.
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.