mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C167 SPI SD-Karte


Autor: Peter Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steff .. (steff)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Take it Easy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Steff .. (steff)
Datum:

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

steff[ät]trmrec.de

Autor: Peter Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steff .. (steff)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Take it Easy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steff

Code wurde heute morgen gemailt..

Autor: Steff .. (steff)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Take it Easy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Steff .. (steff)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gideon Zenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael Otterbein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

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

Schonmal vielen Dank!

MfG
Sven

Autor: Simon K. (simon) Benutzerseite
Datum:

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

Autor: Microman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh ja das ist eine tolle Idee, wäre sicher sehr, sehr interessant.

MfG
Microman

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: B. Jue (bjue)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha P (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha P (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Laurentius (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steff .. (steff)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank

Autor: Sascha P (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch vielen,vielen Dank!!

Autor: Jörn Schäfer (muetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach meinerseits DANKE!!!!!!!!!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.