PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung von SD-Karten



Philipp83
20.05.2006, 20:32
Nabend

Da ich zwecks Messwerterfassung recht viel Speicherplatz benötige,
wurde ich auf SD-Karten aufmerksam gemacht.

Also ich programmiere in Assembler und möchte keine fertigen Routinen
benutzen, sondern die Karte selbst ansteuern.

Kennt jemand eine gute Seite in der erklärt wird wie man diese Karten
ansteuert?
Wie sieht denn das Protokoll aus das man dafür benutzt?


schonmal vielen vielen dank für eure Hilfe!!!

mfg, Philipp

womb@t
20.05.2006, 20:34
Da ist das genau deine Seite: http://www.ulrichradig.de

Philipp83
20.05.2006, 20:49
Mhhh, also dachte ich ja wie oben gesagt nicht an fertige Routinen/Lib`s.

Es muss doch eine gute Dokumentation über das Protokoll geben.
Ich meine die einzelnen Signale die an die Karte zu senden sind.

Danke

PS: Oder habe ich das auf der Seite nur nicht gefunden?

linux_80
20.05.2006, 21:28
Hallo,
diese Karten werden per SPI-Bus angesprochen, das steht da auch dabei, wenn mans von oben bis unten durch liest.
Du musst auch nicht die Lib verwenden, schau einfach ins DB deines µC da steht das auch drin, wie SPI funktioniert.

Philipp83
20.05.2006, 21:29
Danke, ich werde mir das mal verinnerlichen

Thx

linux_80
20.05.2006, 21:34
Und, wenn Du die Daten am PC weiterverwenden willst, musst Dir auch den Teil in dems um FAT geht reinziehen.
Das ansprechen der Karte per SPI ist da noch das kleinere Problem.

Philipp83
20.05.2006, 22:01
Ok, wie Spi funktioniert ist jetzt generell klar und denke ich kein Problem.

Aber ich komme ganz ehrlich gesagt mit der Dokumentation auf der Seite
nicht ganz genau dahinter, mit welchen Signalen die Karte angesprochen
werden muss.
Wie man ihr sagt das sie gemeint ist, Speicherbereich auswählen, Daten senden....

Vielleicht bin ich ja auch etwas schwer von begriff ](*,) , aber ich
finde die ansteuerungssignale irgendwie nicht.

ceekay
20.05.2006, 22:07
Wie die Karte anzusteuern ist und welche Timings eingehalten werden müssen steht mit Sicherheit im Datenblatt deiner SD Karte....

Philipp83
20.05.2006, 22:21
:-)

Es gibt zwar viele zu kaufen, aber ein Datenblatt habe ich dazu noch
auf keiner Seite gefunden.
Auch die beschreibung von: x Mb/Gb Sd-Karte macht das suchen nach
Datenblättern nicht sehr viel leichter.
Ich finde keine genaue bezeichnung der Karten.

linux_80
20.05.2006, 23:23
Es ist doch eigentlich alles auf der oben erwähnten Seite zu finden, auch die Datenblätter zur SD-Card.
Sogar ein Plan wie man die Karte mit dem µC verkabelt.

Hast Du bemerkt, das man die Seite weiter nach unten scrollen kann ;-)

Philipp83
21.05.2006, 10:30
Ich finde das Datenblatt halt nur Blöd !
Es muss doch eine einfache Übersichtliche Erklärung dazu geben.

Beispielsweise folgendes Datenblatt:
http://www.alldatasheet.com/datasheet-pdf/pdf/56093/ATMEL/24C512.html

Dieses eine Datenblatt erklärt sehr gut und übersichtlich das i2c Protokoll
und gleichzeitig auch sehr verständlich welche Befehle das EEPROM braucht.

Gruß, Philipp

p_mork
02.06.2006, 21:57
hallo Philipp83,
seit ca zwei wochen versuch ich auch die ansteuerungen für sd-cards zu finden aber leider ohne erfolg. die dokumentation auf der seite von ulrich radig ist wirklich ein bischen blöd. sag doch bitte bescheid wenn du weitergekommen bist.


mfg mark

shaun
02.06.2006, 23:31
Nicht dass ich sonderlich von masochistischen Anflügen begeistert bin, fertige funktionierende Routinen zugunsten eigenem Frickelwerk abzulehen, aber was genau sucht ihr bitte? Die Herstellerinformationen zum Selbstdraufaufbauendentwickeln findet ihr blöd, Reverse-Engineering funktionierender Implementierungen findet ihr blöd. Es wird für eine halbwegs komplexe Geschichte wie die Ansteuerung grosser Speichermedien, die nicht bloss dem linearen und reichlich stupiden Wegspeichern dienen wie der zitierte I2C-Chip einfach kein Datenblatt geben, wo in drei Schritten Pseudocode die wahre Lehre allgemeinverständlich vermittelt wird. Wieso quält man sich eigentlich wo unnötig mit Assembler, um nachher sagen zu können, man sei mit jedem Bit per Du? Was zählt, ist das Ergebnis - nicht nur für den potenziellen Auftraggeber, auch für das Ego. Eine nicht funktionierende Lösung kann noch so elegant aussehen, sie ist keine.

Philipp83
05.06.2006, 20:04
Hi Mark!

Klar kann ich dir bescheid sagen wenn ich näheres gefunden oder
selbst herausgefunden habe.
Wenn du etwas näheres findest bitte ebenfalls :-)

Zu der letzten Antwort brauch man nicht viel zu sagen.
Bleibt nur zu hoffen das seine Beiträge sonst sinnvollerer Natur sind.

mfg, Philipp

izaseba
05.06.2006, 20:14
Zu der letzten Antwort brauch man nicht viel zu sagen.

Richtig!
Der man hat mit seiner Aussage voll ins schwarze getroffen :wink:

shaun
05.06.2006, 20:17
Huhu,
das kannst Du ja selbst herausfinden, ich fand' Deine Suche halt irgendwie ziellos. Wenn Du die Karte zum Speichern benutzen möchtest und nicht als Ziel die Entwicklung eines Karten"treibers" hast, was spricht dann gegen fertige, funktionierende Routinen? Ich habe mir die Genannten zwar nicht angeguckt, aber Deine Ablehnung kam so umgehend, dass ich den Eindruck hatte, Du lehnst erstmal alles ab, was Du nicht von Grund auf selbst programmiert hast.

Damit es nicht heisst, ich würde nur unkonstruktiv an Deinen Postings herumnörgeln habe ich mir das Hitachi-Datenblatt nun doch mal angesehen. Ich weiss nun wirklich nicht, was Du daran blöd findest - es steht alles drin, was man braucht, bis ins letzte Detail. Dass es "irgendwie anders" als das vom Atmel-I2C-Speicher ist, liegt wohl tatsächlich daran, dass Interface wie Protokoll ein bisschen komplexer sind...

PICture
06.06.2006, 00:07
Hallo!

Es ist leider so, dass je weniger Pins/Signale benutzt werden, um so kompliezierter das Protokoll ist. Komplieziert darf man aber nicht blöd nennen.

MfG

Ozzy
28.07.2006, 20:22
Hi,

sitze gerade vor dem gleichen Problem; habt Ihr denn schon eine Lösung gefunden?

MfG, Ozzy

CowZ
28.07.2006, 20:47
Ozzy:
Ja... die fertigen Routen von Ulrich Radig... (link siehe erste Antwort..)

Gruß, CowZ

PeterPan
29.07.2006, 06:48
Hallo,

es spricht sicher nichts dagegen fertige Routinen in ein eigenes Projekt zu übernehmen. Ebenso kann man auf bewährte Schaltungen zurückgreifen. Niemand muß das Rad neu erfinden.
Aber ich finde es gut das hier jemand auch verstehen will was dahinter steckt. Warum es so funktioniert wie es eben funktioniert. Wenn ich ich mir die Datenblätter nehme, eine Schaltung selbst aufbaue und die Programme selber schreibe dann habe ich auch die Theorie verstanden.
Aber eine bessere Beschreibung als das Datenblatt des Herstellers werdet Ihr nicht finden. Ich hoffe es liegt nicht an der englischen Sprache?

Bis bald,
Peter Pan

Ozzy
29.07.2006, 07:53
Nein, es spricht natürlich nichts dagegen, fertige Routinen zu benutzen; aber bei mir ist es eben eine Verständnisfrage. Ich hätte dieses Problem für mich auch gerne in Assembler gelöst, und nicht in C, vor allem, da ich von AVR-Programmierung mit C gar keine Ahnung habe...

Aber ich werd mal schauen, wo ich Quellen dazu finden kann.

MfG, Ozzy