Forum: Mikrocontroller und Digitale Elektronik Eigenbau Mp3 Player


von jochen (Gast)


Lesenswert?

Hallo Hallo,
danke Eurer Hilfe habe ich vor einigen Wochen einen guten Start in 
Sachen uC gebahabt.
Nachdem ich mir eine Uhr und ein Thermometer gebaut habe, möchte ich es 
nun mit einem MP3 Player versuchen.
Könntet Ihr mir Links zu den Grundlagen dazu geben? Ich denke man müsste 
dazu das MP3 Format im Detail kennen, nicht wahr?

Grüße
Jochen

von Matthias L. (Gast)


Lesenswert?

>zu das MP3 Format im Detail kennen, nicht wahr?

Oder einen MAS3507 bzw. deren Nachfolger nehmen ;-)

von The D. (devil_86)


Lesenswert?


von jochen (Gast)


Lesenswert?

Erstmal danke für deinen Anreiz.
Ich möchte Euch mal meine Erfahrungen schildern:
Mich interessiert das Gebieht nur zu sehr! Aber ich finde weder ein 
passendes Lehrbuch, noch eine fundierte Internetseite. Das geht jetzt 
schon über ein halbes Jahr so. Ich muss das doch einmal erklärt 
bekommen.
Im Studium höre ich nur was von magnetischen Feldern usw. Ich kann doch 
auch nicht wegen jeder Kleinigkeit im Forum fragen z.B. wie ich den oben 
genannten IC nun bediene, anschließe, ansteuere und wie ich letztendlich 
Boxen daran anschließe und was mein MC machen soll.
Ich würde gerne, sehr gerne viel alles in Ruhe erarbeiten, ich weiß 
nicht wo ich ansetzen soll. Das Studium taugt nichts (s.o), Bücher finde 
ich nicht. Wie machen das denn andere Leute, die scheinbar das Wissen 
dazu haben?

von Philipp Karbach (Gast)


Lesenswert?

die meisten lesen das datenblatt und machen sich die mühe alles darin 
auszuprobieren, das braucht viel zeit die ich auch nie habe, leider :(

von Obelix (Gast)


Lesenswert?

VS1011 von www.VLSI.fi

Einfach gesagt : MP3-Datei von vorn bin hinten rein schieben und am 
Ausgang über Kopfhörer die Munik genießen.

von jochen (Gast)


Lesenswert?

Wie schiebe ich denn eine Mp3 Datei herrein? Ich kann ja eine SD Karte 
nehmen und sie darauf speichern. Wie steuere ich so eine SD Karte an und 
wie sage ich den Chip welche Datei er abspielen soll?

von Troll B. (blaubeer)


Lesenswert?

Beitrag "Re: Atmega32, AVRstudio und SRAM"

Erst lesen und versuchen zu verstehen, dann konkret fragen.

MfG, BlauBär

von jochen (Gast)


Lesenswert?

sorry, aber ich weiß nicht, was dieser Link damit zu tun haben soll

von Troll B. (blaubeer)


Lesenswert?

jochen wrote:
> sorry, aber ich weiß nicht, was dieser Link damit zu tun haben soll

Dann lies den Anhang dieses verlinkten Beitrags. Durch Analyse dieses 
Quelltextes werden einige Deiner Fragen beantwortet. Ich hoffe, dass 
Fubu den Schaltplan auch noch postet, angeboten hat er es ja.

MfG, bärisch trolliger Blau (oder andersrum?)

von jochen (Gast)


Lesenswert?

ich kapier da garnichts. danke trotzdem

von Obelix (Gast)


Lesenswert?

Suche benutzen, z.B. hier im Forum oder google.

Es wird nicht für jeden einzeln immer alles neu geschrieben.

von Martin (Gast)


Lesenswert?


von fubu1000 der KRASSE ^^ (Gast)


Lesenswert?

Hallo,
sorry ne den Schaltplan hab i noch nit gepostet, aber wenn Jemand 
interesse hat mach ichs natürlich!!!
gruss

von holger (Gast)


Lesenswert?

@ Martin

Softwaredownload: Null
Einträge in deinem Forum: Null

Informationen: Null

von Troll B. (blaubeer)


Lesenswert?

Martin wrote:
> http://martinsuniverse.de/projekte/audiohplayer/audiohplayer.html

jochen steht aber auf AVRs und nicht auf M16C von Renasas.

Fubu1000 wrote:
> Hallo,
> sorry ne den Schaltplan hab i noch nit gepostet, aber wenn Jemand
> interesse hat mach ichs natürlich!!!

Ich habe Interesse. Und jochen sicher auch.

MfG, Bärli, trollig blauer (der mit den Pointern)

von jochen (Gast)


Lesenswert?

Hey danke!

Klar habe ich  Interesse, wobei ich bezweifel, dass mir damit alles klar 
ist. Es wäre nett, wenn mir jemand mal eine kurze Beschreibung geben 
könnte, wie man SD Karten anspricht, sie in diesem MP§ Chip eingibt und 
schließlich ein Audio Signal erzeugt.
Diese Info konnte ich in dieser zusammenhängenden Form auch hier in 
diesem Forum leider noch nicht  finden.

Danke.

von mr.chip (Gast)


Lesenswert?

> Es wäre nett, wenn mir jemand mal eine kurze Beschreibung geben
> könnte, wie man SD Karten anspricht, sie in diesem MP§ Chip eingibt und
> schließlich ein Audio Signal erzeugt.

Dann teile eben das Problem auf. Informiere dich zuerst, wie man eine 
SD-Karte ausliest. Wenn du das verstanden und im Mikrocontroller 
implementiert hast, informierst du dich, wie man den Chip ansteuert. 
Wenn das wiederum läuft, bastelst du dir eine geeignete Endstufe für den 
Sound. Zeitbedarf mit wenig Erfahrung und Wissen: Je nach Freizeit einen 
Monat bis ein halbes Jahr.

von Martin (Gast)


Lesenswert?

@Holger

Dein Beitrag - Info Null.

1. Ist die Seite sehr neu.
2. Fals du lesen kannst steht dort auch "under construction"
3. Gibt es da zu mindest einen Schaltplan, aus dem man auch was ableiten 
kann.
4. Wenn jemand was genaueres wissen will, kann er ja anfangen in meinem 
Forum zu Posten. Ich will nicht anderen Foren die Leute wegnehmen, es 
soll in meinem Forum nur um meine Projekte gehen. Was meinst du wie zum 
Beispiel das Forum "www.mikrocontroller.net" angefangen hat? Richtig mit 
Null Beiträgen.
5. Hast du was besseres auf Lager? Zeig her, oder hast du nur 
unkonstruktive Kritik auf Lager? Ich erwarte nicht unbedingt Lob, aber 
wenn dann wenigsten konstruktive Kritik.
6. Was für Infos fehlen dir konkret?


@ Troll Blaubär
Von AVR habe ich bei Jochen noch nichts gelesen. :-)
Der Anschluß des VS1011 oder der SD-Karte ist bei allen µC ähnlich -> 
Man kann daraus auch Infos für den AVR oder PIC ableiten.

@Jochen
Es gibt im Netz sehr viele MP3-Player Projekte, dich auch besser 
dokumentiert sind, als meines. Wenn du hier im Forum mal nach MP3 oder 
SD-Karte suchst solltest du eine ganze Menge finden. Scau dir die 
Datenblotter und Application notes zu den oben genannten Chips an.

von jochen (Gast)


Lesenswert?

ok, ich beschäftige mich zunächst mit der SD Karte.
Auch hier konnte ich keine fundierte Beschreibung finden, wo hervorging, 
mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert 
wird und was diese Befehle im Detail machen. Habt ihr sowas?

von Matthias L. (Gast)


Lesenswert?

Du suchst an der Falschen Stelle!
Assemblerbefhele werden im Datenblatt des enstrechenden Prozessors 
erklärt.
Die haben mit der SD-Karte nichts zutun

von Troll B. (blaubeer)


Lesenswert?

> @ Troll Blaubär
> Von AVR habe ich bei Jochen noch nichts gelesen. :-)

Stimmt. Nicht in diesem Thread. Als aufmerksamer Leser dieses Forums 
hätte man aber über einen dieser Threads von jochen (es gibt noch mehr) 
stolpern können:

Beitrag "erstes Programm, Binärzähler. Frage (Mega8)"
Beitrag "Entprellung"
Beitrag "Stoppuhr mit Mega8. Reicht ein Controller aus?"
Beitrag "Minimalbeschaltung Mega8"
Beitrag "Timer. Er ist schneller als gewünscht."
Beitrag "7 Segmentanzeige falsch eingekauft, reagiert nur auf low."
Beitrag "Fehler in Zählvorgang meiner Uhr"
Beitrag "Tonfrequenzen (Noten) erzeugen mit tiny45 in C"
Beitrag "AVR auf externen Takt einstellen"
Beitrag "AVR. Batterie ist sehr schnell leer"
Beitrag "Netzteil Unterschiede auch in Stromangabe?"
Beitrag "Spannung zu hoch, Mega 8 geht nicht"
Beitrag "Kupferdraht"
Beitrag "welcher Lötkolben"
Beitrag "AD Wandler des Mega8 in Assembler"
Beitrag "Uhr zu ungenau"
Beitrag "Welche Art von Widerständen?"
Beitrag "AD Konverter beim Mega 8"
Beitrag "Thermometerbau mit MEGA 8"
Beitrag "Fuses im AVRStudio"

Lies die Threads und mach' Dir Dein eigenes Bild, ob Dein Projekt für 
jochen geeignet ist. Jochen braucht es meines Erachtens nach etwas 
detaillierter.

> Der Anschluß des VS1011 oder der SD-Karte ist bei allen µC ähnlich ->
> Man kann daraus auch Infos für den AVR oder PIC ableiten.

Das ist wohl wahr und das habe ich auch nicht kritisiert.

MfG, Heidelbär  äääähhh trolliger Blaubär

von Sebastian F. (tacx)


Lesenswert?

> mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert
> wird und was diese Befehle im Detail machen. Habt ihr sowas?

Der Karte werden zum initialisieren einige Kommandosequenzen gesendet. 
Das hat wie oben gesagt nichts mit Assembler zu tun.
Für MMC's findest Du hier recht viel: 
http://elm-chan.org/docs/mmc/mmc_e.html

Du wirst auch nicht drum herum kommen, dich mit einem Dateisystem für 
die Karten zu beschäftigen. Einfach initialisieren und ansteuern is' 
nich'. Mit den Karten wird auf einer der unteren Abstraktionsebenen 
geredet. Die Karte interessiert sich nicht die Bohne dafür, was Du 
speichern willst, ob das eine Datei ist, die in einem Dateisystem 
abgelegt wird, oder ob das ein einfacher Bitdatenstrom ist, der in der 
ersten Adresse anfängt und evl. mal aufhört ist der Karte einfach nur 
WURST.
Das hier könnte Dir helfen:
http://www.ulrichradig.de/home/index.php/avr/mmc-sd

von Martin (Gast)


Lesenswert?

@ Troll Blaubär

Im Thread

Beitrag "Eigenbau Mp3 Player"

steht nichts von Jochen, dass er AVR einsetzt. Ich durchsuche nicht das 
ganze Forum um alle Beiträge von Jochen zu lesen, nur damit ich weiß, 
das er einen AVR einsetzt. Ich bin nich der jenige, der hier Hilfe haben 
möchte, sondern Jochen. Also sollte Jochen den Hilfewilligen so viel 
Hilfe zum Helfen wie möglich geben.

von Troll B. (blaubeer)


Lesenswert?

Martin wrote:
> @ Troll Blaubär
>
> Im Thread
>
> Beitrag "Eigenbau Mp3 Player"
>
> steht nichts von Jochen, dass er AVR einsetzt.

Das habe ich weiter oben bereits erwähnt.

> Ich durchsuche nicht das
> ganze Forum um alle Beiträge von Jochen zu lesen, nur damit ich weiß,
> das er einen AVR einsetzt.

Das musst Du auch nicht, dafür habe ich Dir die Links auf ein paar 
Threads zusammengesucht.

> Ich bin nich der jenige, der hier Hilfe haben
> möchte, sondern Jochen.

Das ist wohl wahr.

> Also sollte Jochen den Hilfewilligen so viel
> Hilfe zum Helfen wie möglich geben.

Das wollte ich mit meinem etwas sarkastischen *) Beitrag ausdrücken. 
Jochen braucht nämlich alles doppelt und dreifach vorgekaut, es reicht 
nicht, ihm einen Hinweis auf ähnliche Projekte Anderer zu geben. Lies 
ein paar seiner Threads, dann weißt Du was ich meine.

Ich gebe Dir also in allen hier von Dir genannten genannten Punkten 
recht.

MfG, trolliger Blaubär.

*) Ich gehe davon aus, dass ich mit meinem Nick nicht jede sarkastisch 
oder humorig gemeinte Aussage durch Slilies kennzeichnen muss.

von mr.chip (Gast)


Lesenswert?

> ok, ich beschäftige mich zunächst mit der SD Karte.
> Auch hier konnte ich keine fundierte Beschreibung finden, wo hervorging,
> mit welcheN Assembler Befehlen die Karte initalisiert und angesteuert
> wird und was diese Befehle im Detail machen. Habt ihr sowas?

Jetzt mal direkt gefragt: Hast du schonmal irgend ein externes Ding an 
deinem uC angesteuert? Irgend ein IC oder so und seis nur ein 
Schieberegister? Hast du da gemerkt, wie der Hase läuft? Wenn du nach 
Assemblerbefeheln für ne SD-Karte suchst, fürchte ich fast, happert es 
bei dir noch schwerst an Grundkenntnissen. Da würde ich dir wirklich 
ans Herz legen, zuerst was einfacheres zu probieren.

von jochen (Gast)


Lesenswert?

Danke, Martin, dass du mir die Hilfe anbietest.

Ja, es ist wahr. Ich brauche eine schön verständliche Anleitung, wenn 
ich mir einen 5 Seitigen Quellcode ansehe, der zudem noch nicht mal in 
dem von mir verwendetem AVR Assembler geschrieben ist,  und von dem 
Thema keine Ahnung habe, bringt mir das nicht viel. Andere Projekte 
anzusehen ist zwar interessant, nur eine anfängergerechte Beschreibung 
dazu finde ich auf den Seiten auch nicht.
Ich weiß ja nicht wie es Euch geht aber ich brauche eine verständliche 
Erklärung, um die Sachen zu verstehen. Wenn nirgendswo steht wie es 
lückenlos funktioniert, woher soll ich es dann wissen?

Ich werde mir den (leider englischsprachrigen) von oben mal durchlesen, 
wobei auch hier die AVR Befehle und ein Anwendungsbeispiel fehlt. Ich 
denke mal, ich werde mich dann in dem neuen Forum melden, es wäre 
dennoch sehr entgegenkommend, wenn mir die Funktionsweise  und die 
zugehörigen AVR Befehle jemand nenenn könnte.

von jochen (Gast)


Lesenswert?

@mr. Chip,

nein, das habe ich nicht.
Gerne würde ich die  Grundkenntnisse dazu lernen. Leider weiß ich nicht 
mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt 
Anleitungen?

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:

> zugehörigen AVR Befehle jemand nenenn könnte.

Es gibt sie schlicht und ergreifend einfach nicht.
Das ist so wie es in einer Programmiersprache keinen
Befehl zur Berechnung von Primzahlen gibt. Aber es gibt
andere, weniger mächtige Befehl und durch eine Kombination
dieser Befehle ist es möglich eine Funktion zu schreiben,
die Primzahlen berechnet.

Das, und nur das, ist das ganze um und auf jeglicher Programmierung:
Die Kombinierbarkeit von wenig mächtigen Dingen um daraus ein
mächtiges Ding entstehen zu lassen. Das und nur das ist
auch der Grund warum Programmieren so sauschwer ist.

Das ist wie beim Lego Spielen:
Früher lag unter dem Weihnachtsbaum eine Schachtel mit
Bausteinen. Was daraus entstand war der Phantasie des
Kindes überlassen. Heute gibt es ne Unmenge von 'Baukästen'
in denen eine Schritt für Schritt Anleitung zeigt, wie man
mit den Bausteinen eine Burg aufbaut. Ist die Anleitung weg,
dann landen die Bausteine auf dem Müll, weil die Kinder nicht
mehr gelernt haben, dass man die Bausteine auch anders kombinieren
kann.

Programmieren ist ersteres: Du hast einen Haufen Bausteine und
musst zusehen, wie du die vernünftig miteinander kombinierst
um ein Problem zu lösen. Manchmal (meistens) muss man auch erst
mal einiges an Zeit investieren um überhaupt drauf zu kommen, was
denn eigentlich das Problem ist.

"Captain, ich programmiere mal eine neue Schildmodulation"
"In Ordnung, Data"
"Computer, moduliere Schilde neu"

... funktioniert halt nur bei Star Trek

von jochen (Gast)


Lesenswert?

ich habe schon mal einen gelatchten 7 Segmenttreiber angesteuert, bei 
meiner Uhr. Also da hatte ich 4 Stück. Und So konnte ich, wenn ich 3 in 
den "Schlafmodus" schicke und nur einen "aufnahmefähig" habe, 4 
Segmentanzeigen mit dem Mega 8 ansteuern.
Meinst du sowas?

von mr.chip (Gast)


Lesenswert?

> Gerne würde ich die  Grundkenntnisse dazu lernen. Leider weiß ich nicht
> mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt
> Anleitungen?

Hab ich nicht, gibt es nicht und kann es auch nicht geben. Arbeite doch 
mal das Tutorial von mikrocontroller.net durch, dann kommst du dem 
Problem etwas näher. Ja, jetzt heisst es arbeiten, lernen, Fehler 
machen, Fehler suchen, Geduld haben!

von Karl H. (kbuchegg)


Lesenswert?

mr.chip wrote:
>> Gerne würde ich die  Grundkenntnisse dazu lernen. Leider weiß ich nicht
>> mal, wonach ich suchen soll. Hast du Links mit Schritt für Schritt
>> Anleitungen?
>
> Hab ich nicht, gibt es nicht und kann es auch nicht geben. Arbeite doch
> mal das Tutorial von mikrocontroller.net durch, dann kommst du dem
> Problem etwas näher. Ja, jetzt heisst es arbeiten, lernen, Fehler
> machen, Fehler suchen, Geduld haben!

und: auch mal anderen Code analysieren
Jochen ist ja nicht der erste der eine SD Karte ansteuern
will. Da draussen gibt es jede Menge Programme (auch für einen
AVR) mit dem das gemacht wird. Deren Code ist interessant, den
kann man mal analysieren, was denn da so alles passiert.
Bei der Analyse kommt man auf Dinge die man zunächst mal nicht
versteht: bestimmte Bytes werden von und zum Gerät gechickt o.ä
Da muss man dann nachhaken und im Web Doku darüber suchen.
Ev. stellt man auch mal eine Hypothese darüber auf, wie ein
Codeabschnitt funktioniert. Um die Hypoth. zu verifizieren
kann es dann notwendig sein, dass man im Debugger dieselbe
Codestelle immer und immer wieder durchsteppt und sich anschaut
wie sich Register verändern und wie das zur Hypothese passt.
usw. usw. Es ist nicht ungewöhnlich, dass bei solchen Analysen
ein paar Tage drauf gehen.

Also: Fremden Code her, und den auseinandernehmen. Irgendwann
kristallisieren sich dann da Fragen heraus.

Fragen zu bestimmen Assemblerbefehlen -> Im Datenblatt nachschlagen

Fragen zum Dtaentransportmechanismus -> Im Datenblatt nachschlagen
                                        bzw. Web-Recherche
                                        bzw. hier fragen

Fragen zu Kommandos die an die SD Karte geschickt werden
                                     -> Web Recherche über SD Kommandos
                                        bzw. hier fragen

Wer nicht bereit ist, diese Arbeit aufzubringen und immer nur
nach Anleitung arbeiten kann/muss/will, der ist in der Programmierung
definitiv am falschen Platz.

von jochen (Gast)


Lesenswert?

Hallo,

danke für die Anregung.
Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das 
gemacht wird,  was ich will. Und das ist testweise einfach mal 1 Byte in 
die SD Karte schreiben.
Nehme ich mir fremden Code, habe ich etliche Programme, die zudem noch 
1000 andere Funktionen haben und das eigentliche Problem verschwimmt.
Hättet ihr denn mal einen Code und eine Beschaltung, damit ich ein paar 
Byte in die Karte schreiben kann?

von Troll B. (blaubeer)


Lesenswert?

jochen wrote:
> Hallo,
>
> danke für die Anregung.
> Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das
> gemacht wird,  was ich will.

Das ist eine dicke Lüge. Ich habe Dir nicht umsonst den Link auf 
Fubu1000 sein Programm eines MP3-Players gepostet:
Beitrag "Re: Eigenbau Mp3 Player"

Dieses Programm macht alles das, was Du für Dein Projekt brauchst. Es 
initialisiert die SD-Card, versteht das FAT-Dateisystem, ermöglicht die 
Auswahl von Dateien von der SD-Card, schaufelt die Dateien in den 
Decoder-Chip, steuert die Lautstärke des Endverstärkers und tut 
vermutlich noch ein paar Dinge mehr, die ich beim Überfliegen des Codes 
(zwecks erfolgreicher Fehlersuche) gar nicht gesehen habe. Der Code ist 
übersichtlich geschrieben und formatiert, mit den Kommentaren und Namen 
für Konstanten, Variablen und Sprungziele kann man was anfangen. Der 
Stil ist recht einfach gehalten, es werden keine Interrupts verwendet...
Was willst Du mehr???

Sicher hätte ich auf die Projekte von Klaus Leidinger und anderer 
anderer "Edelbastler" (soll keine Beleidigung sein, ich wollte das Wort 
"Profis" vermeiden) verweisen können, aber mir war klar, dass das zu 
hoch für Dich ist.

> Und das ist testweise einfach mal 1 Byte in
> die SD Karte schreiben.

Geht nicht. Außerdem muss Dein MP3-Player nicht schreiben, sondern 
lesen. Es reicht, wenn der PC mittels Kartenleser schreibt. Um also ein 
Byte zu lesen (oder wegen meiner Großmutter aus auch schreiben), muss 
erst die Karte initialisiert werden. Dann ist es Unfug, irgendein Byte 
zu lesen, denn Du (Du nicht, aber Dein Programm) musst erstmal wissen, 
wo interessante Bytes zu finden sind. Dazu musst Du FAT implementieren.

> Nehme ich mir fremden Code, habe ich etliche Programme, die zudem noch
> 1000 andere Funktionen haben und das eigentliche Problem verschwimmt.

Nööö. Da gibt es Kommentare, die darauf hinweisen, wozu die Routinen 
dienen. Und mittels Suchfunktion (Ctrl-f / F3) findet man ganz schnell 
alle Stellen, die ein bestimmtes Sprungziel (Label) anspringen. Mit 
etwas Fleiß kann man sehr gut die Code-Teile isolieren, die man zur 
näheren Analyse braucht.

> Hättet ihr denn mal einen Code und eine Beschaltung, damit ich ein paar
> Byte in die Karte schreiben kann?

Nö, sowas braucht kein Mensch. Es würde Dir auch nix nützen. Im 
schlimmsten Fall versaust Du Dir die Karte, dass sie nichtmal von einer 
Digicam erkannt wird und formatiert werden kann. Ist mir zumindest mal 
mit einer kleinen Smart-Media-Karte passiert.

MfG, Blau Trollbär (oder so)

von Sebastian F. (tacx)


Lesenswert?

Wie man ein Byte in eine MMC Karte schreibt? Ganz einfach:
>    out  SPDR,temp1

In dem Code von Radig wird genau das gemacht, was Du willst. Nur das 
Dateisystem wird noch zusätzlich implementiert.

Das Problem ist, dass es nicht mit einer Beschaltung und ich will mal 
ein par Bytes schreiben getan ist. Ach ja, den Link mit Beschaltung hab 
ich bereits gepostet! ulrichradig.de

Ich habe rund zwei Wochen damit zugebracht, Code von anderen zu 
analysieren und Ansätze auszuprobieren. Am Schluss habe ich das, was 
Radig in C macht mit AVR-Assembler nachgeschrieben. Gelernt habe ich 
dabei viel.

Aber, was willst Du mit ein paar Byte, die Du in die Karte geschrieben 
hast? Wie liest Du sie aus?

Du musst LERNEN dein Problem in Unterprobleme zu zerlegen!
- Problem: will was in SD-Karte schreiben
Unterprobleme:
-> Anschluss der Karte an den Controller (Hardware)
   -> Hat mein Controller eine passende Schnittstelle?
       -> Wie wird mit der Schnittstelle umgegangen (Initialisierung)?
       -> Muss ich mir die Schnittstelle evl. per Software erzeugen?
-> Wie will ich die Daten im Speicher organisieren?
   -> Wie will ich sie wieder auslesen?
       -> Brauche ich dazu ein Dateisystem?

Und dann lies Dich in die Thematik ein! Du verlässt hier den bereich, in 
dem es Schrittfürschrittanleitungen gibt. Und wenn der Code, den Du 
analysierst, noch andere Funktionen hat dann verstehe die halt auch!

von jemand (Gast)


Lesenswert?

http://www.ulrichradig.de/home/index.php/avr/mmc-sd

Und nun nicht jammern, da sei viel zu viel aussenrum. Mag sein, dass da 
etwas rum ist, aber wenn man genau hinschaut findet man in der mmc.c die 
entsprechenden Funktionen.
Und dieser Code ist gut dokumentiert.


>Das Problem ist nur, ich finde keinen Fremden Code, in dem genau das
>gemacht wird,  was ich will.

Genau darum geht's ja bei Hobby Elektronik: Etwas zu erschaffen, was es 
so noch nicht gibt und was genau so ist wie man es möchte. Wenn dir das 
zu kompliziert ist, solltest du dir n anderes Hobby suchen.

von jochen (Gast)


Lesenswert?

klar man kann später neue Sachen machen. Dazu müssen erstmal die 
Grundlagen klar sein. Erst DANN kann man neue Sachen machen. Nicht 
gleich neue Sachen machen, wenn man noch nicht mal die Grunlagen kennt.
Bei dem Link von  Troll Blaubär kapiere ich garnichts, das ist für mich 
nur eine Anreihung von Buchstaben und Zahlen.
Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant  auf die 
Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle 
Erklärung zu finden, wie man von der Karte schreibt und liest, wie man 
sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet.
Mal schauen..

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
>
> Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant  auf die
> Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle
> Erklärung zu finden, wie man von der Karte schreibt und liest, wie man
> sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet.

Viel Glück ...
... und willkommen in der realen Welt der Programmierung

von jochen (Gast)


Lesenswert?

leider kein assembler ;(

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
> leider kein assembler ;(


Und nu?

psst. Ich verrate dir was: Wer zumindest die Grundzüge der
Programmierung verstanden hat, kann C ohne grosse Probleme
lesen. Nicht schreiben, dazu gehört mehr. Aber lesen ist
(bis auf ein paar syntaktische Feinheiten die sich um
<< >> += ++ und Konsorten drehen) kein Problem.

von Gerhard. (Gast)


Lesenswert?

Hi Jochen,

habe mal gegoogelt und habe sofort was Geeignetes zum Studieren 
gefunden:

http://www.avrrepository.com/samplecode/sd_breakout/doc/files.html
(Von Jesper)

http://www.techdesign.be/projects/020/020.htm

http://www.roland-riegel.de/sd-reader/doc/

und, und, und...

Google mal nach: "MMC/SD Card Example Code"
Da gibt es dann ueber 202000 Hits!;:-)

Such einmal im Forum nach "MP3" oder "SD Karte".

Dort findest Du den kompletten Source code zur SD-Kartenansteuerung. 
Sehe Dir mal den Source an. Dann experimentiere damit.

Noch ein kleiner Ratschlag: Wenn Du im Internet fuendig werden willst, 
ist es wichtig es zuerst immer auf Englisch zu versuchen. Da findet man 
oft massenweise das Gesuchte. In Deutsch ist es manchmal viel 
schwieriger das Gesuchte gleich zu finden. (Bitte nicht schimpfen - ist 
nicht boese gemeint).

Es gibt auch noch vorprogrammierte ICs wie der ALFAT oder Vinculum mit 
denen man SD Karten oder USB Memory Sticks ansteuern kann die einfache 
ASCII Kommnados verstehen. Interface durch SPI/I2C, oder UART.

Ein mir bekannter Berufschueler hat sich mit dem Vinculum einen MP3 
Spieler als Klassenarbeit damit erfolgreich gebaut. Hat zwar am Anfang 
jede Menge Probleme mit dem Vinculum gehabt, welche er durch 
hartnaeckiges Studieren und Versuche selber geloest hat und es 
funktionierte am Ende auch.

Gruss,
Gerhard

von jochen (Gast)


Lesenswert?

Jungs, mal ehrlich. Hättet ihr, als ihr noch nicht wusstet, wie man SD 
Karten ansteuert direkt, nachdem ihr

http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt

gelesen habt alles verstanden und war dann alles klar?
Ich behaupte mal, dass es für jemanden, der von SD Karten keine Ahnung 
hat nutzlos ist, sich 
http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt
anzsehen. Da wird doch reinweg garnichts klar. Oder wollt ihr mir sagen, 
nachdem ihr euch den Link angeschaut habt, wusstet ihr über SD Karten, 
deren Ansteuerung und Anschluss bescheid?
Ich möchte ja nicht kritisieren. Es soll nicht böse aufgefasst werden. 
Aber ich erhoffe mir immer noch eine nette Erklärung.

von jochen (Gast)


Lesenswert?

woher soll ich z.B. wissen

was

.equ  MMC_Write  =PORTB    ;//Port an der die MMC/SD-Karte angeschlossen 
ist also des SPI

bedeutet und mit der SD Karte zu tun hat?

Das ist eienr der ersten Zeilen.
Ist euch mein Problem klar? So kann ich nicht lernen.

von jemand (Gast)


Lesenswert?

> Dazu müssen erstmal die Grundlagen klar sein

Dann lern ebend erstmal die Grundlagen. Was fängst du auch gleich mit 
nem riessigen Projekt an? Lass n paar Leds leuchte, dann blinken und 
dann mit pwm schön gedimmt ansteuern. Und damit meine ich nicht, einfach 
fertigen Code von irgendwelchen Leuten zu nehmen, sondern sich den 
selbst zu erarbeiten. Wenn du in der Lage bist, Datenblätter zu lesen 
und zu verstehen, und genügend allgemeine Elektronikkentnisse hast, dann 
kannst du mit deinem mp3-player Projekt beginnen.

>Den anderen schaue ich mir mal an, ich erhoffe mir, prägnant  auf die
>Funktionsweise von SD Karten aufmerksam gemacht zu werden und eine tolle
>Erklärung zu finden, wie man von der Karte schreibt und liest, wie man
>sie an den Mega 8 anschließt und mit welchen Befehlen man was anrichtet.

Meinst du es gibt für jedes mögliche Bauteil ne Webseite, wo sich 
irgendjemand die Mühe gemacht hat, ne Super Erklärung dazu zu schreiben? 
Dann bist du etwas naiv. So läuft das nicht. Die Hersteller schreiben 
Datenblätter, da steht dann alles drin, und wer auch immer das Bauteil 
verwenden möchte entnimmt dem Datenblatt die Informationen, die er 
braucht.

von Holger K. (krulli) Benutzerseite


Lesenswert?

jochen, erstmal würde ich versuchen, das Problem mittels google usw. 
selber zu lösen, anstatt hier zu fragen. Aber bei Dir scheint das ja 
umgekehrt zu sein.

von jochen (Gast)


Lesenswert?

@jamand,

ich habe schon Leds zum lechten gebracht. Ich habe auch schon eine Uhr 
und ein funktionsfähiges Thermometer gemacht. So war das definitiv nicht 
gemeint. Ich bin nur auf dem Gebiet der SD Karten ein Neuling da muss 
ich doch nicht Leds zum blinken bringen lassen. Wenn jemand nicht weiß, 
wie man eine Autokupplung montiert, sagst du ja auch nicht: schau 
erstmal, wie man einen Nagel in die Wand schlägt.

Was kann ich nun machen? Mit google komme ich nicht weiter. Mit den 
Programmcodes leider auch nicht. Mit dem Datenblatt  auch nicht.  Bei 
meinem Studium habe ich Magnetfelder und theoretische Elektrotechnik 
gelernt. Toll.

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
> Jungs, mal ehrlich. Hättet ihr, als ihr noch nicht wusstet, wie man SD
> Karten ansteuert direkt, nachdem ihr
>
> http://www.mikrocontroller.net/attachment/25360/MP3_FINAL_1.1.txt
>
> gelesen habt alles verstanden und war dann alles klar?

Mit Sicherheit nicht.
Aber dann kommt doch erst der ineterssante Teil:
Das Programm durchlaufen lassen und rausfinden was es eigentlich
macht. Danach im Web danach suchen warum es das macht.

> Ich behaupte mal, dass es für jemanden, der von SD Karten keine Ahnung
> hat nutzlos ist, sich

Oh konträr.
Man darf nur nicht mit der Erwartungshaltung:
Ich lehn mich dann mal zurück und erwarte dass mir andere
alles beibringen
an die Dinge rangehen.

Du hast wohl noch nie an deinem Fahrrad den Schlauch
gewechselt ohne dass dir jemand eine Anleitung dazu
geschrieben hat. Stell dir vor, die meisten Menschen
können einen Fahrradschlauch wechseln, wenn man ihnen
das Werkzeug gibt und ihnen sagt, dass damit die Decke
von der Felge gehebelt wird. Mehr 'Anleitung' brauchen die
nicht.

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
> woher soll ich z.B. wissen
>
> was
>
> .equ  MMC_Write  =PORTB    ;//Port an der die MMC/SD-Karte angeschlossen
> ist also des SPI
>
> bedeutet und mit der SD Karte zu tun hat?

Dir fehlt es an Grundlagen. Und zwar gewaltig.

>
> Das ist eienr der ersten Zeilen.
> Ist euch mein Problem klar? So kann ich nicht lernen.

Dann rate doch mal: Was wird .equ wohl heissen?
Den Ausdruck PORTB hast du schon öfter gesehen. Der sollte
klar sein.
Und wenn dich der Kommentar

;//Port an der die MMC/SD-Karte angeschlossen ist also des SPI

dann immer noch nicht auf die Spur bringt, dann ist wohl
Hopfen und Malz verloren.

.equ heist 'equate' also 'gleichsetzen'
Hier wird wohl der Ausdruck MMC_Write mit PORTB gleichgesetzt, sodass
man in weiterer Folge anstelle von PORTB auch MMC_Write schreiben
kann.

Vorteil: Wenn der µC gewechselt wird, dann wird die SD Karte
möglicherweise an einem anderen µC Port angeschlossen, zb PORTC.
Dann braucht man nur diese eine Zeile ändern, und alles ist
wieder in Butter

 .equ  MMC_Write  = PORTC ;//Port an der die MMC/SD-Karte angeschlossen 
ist also des SPI


> So kann ich nicht lernen.
Da frag ich mich schon, wie du jemals durchs Studium kommen willst.

von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
> @jamand,
>
> ich habe schon Leds zum lechten gebracht. Ich habe auch schon eine Uhr
> und ein funktionsfähiges Thermometer gemacht. So war das definitiv nicht
> gemeint. Ich bin nur auf dem Gebiet der SD Karten ein Neuling da muss
> ich doch nicht Leds zum blinken bringen lassen. Wenn jemand nicht weiß,
> wie man eine Autokupplung montiert, sagst du ja auch nicht: schau
> erstmal, wie man einen Nagel in die Wand schlägt.

Nein. ABer ich rate ihm erstmal testweise ein paar andere
Schrauben mit einem Gabelschlüssel anzuziehen, wenn er die
Kupplung mit dem Lötkolben an der Stossstange anlöten will.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

<sprachnörgelmodus>
"Oh konträr."

Brr!

"Au contraire!"
</sprachnörgelmodus>

@Jochen:

> Bei dem Link von  Troll Blaubär kapiere ich garnichts, das
> ist für mich nur eine Anreihung von Buchstaben und Zahlen.

So sieht nunmal ein Assemblerquelltext aus. Schriebest Du nicht, daß Du 
genau so etwas willst?

von jemand (Gast)


Lesenswert?

> Wenn jemand nicht weiß,wie man eine Autokupplung montiert, sagst du
> ja auch nicht: schau erstmal, wie man einen Nagel in die Wand schlägt.

Wenn mir aus seiner Fragestellung klar wird, dass er nicht in der Lage 
ist einen Hammer zu bedienen schon.


>Ich bin nur auf dem Gebiet der SD Karten ein Neuling

Mag sein. Viel entscheidender ist aber: Du bist auf dem Gebiet des 
eigenständigen Arbeitens ein Neuling. Ich hab zwar die Threads von dir 
nicht alle gelesen, nehme aber an, dass das Thremometer und die Uhr auf 
ähnliche Weise entstanden sind, wie du es nun hier versuchst. Nur ist 
das hier eben etwas komplexer, mit 'Erklärt mir mal wie ne SD-Karte 
funktioniert' iss hier nicht.

von Gerhard. (Gast)


Lesenswert?

Es gibt auf der Web irgendwo eine Abhandlung in Englisch wo die Methoden 
und Theorie der SD-Kartenansteuerung, FAT Filesystem und alles andere 
Relevantes im Detail beschrieben ist. Leider kann ich mich nicht mehr 
errinnern wo ich das gesehen habe. Habe es vor einem Jahr zufaellig beim 
Googlestoebern gefunden.

Jochen, es geht hier nicht nur darum um wie man SD KArten ansteuert 
sondern auch dass man sich auch im Detail mit dem Microsoft FAT File 
System auskennt, dass man sich genau auskennt wie die Dateien ueberhaupt 
auf der Karte gespeichert sind, Dinge wie Boot Sector, File allocation 
tables, Directory Tables,  u.v.a.

Assembler ist meiner Meinung nach total ungeeignet zum besseren 
Verstaendnis solcher Projekte. In C hat man wenigstens eine Chance die 
Algorithm besser zu verstehen.

http://en.wikipedia.org/wiki/File_Allocation_Table#Directory_table

Diejenigen, die groszuegigerweise ihre Sourcen auf der Web publizieren 
haben sich das Alles oft selber in harter Arbeit aneignen muessen und 
das Web nach allen Moeglichen absuchen muessen. Das soltte man unbedingt 
anerkennen!

Edison hat mal gesagt: "Genius is one percent inspiration and 
ninety-nine percent perspiration."  In anderen Worten: Erfolg ist 99% 
harte Arbeit und der Rest ist Studieren und Lernen.

Und wenn man nach viel harter Arbeit spaeter Erfolg mit dem Projekt hat 
ist das ein ganz unbeschreiblichliches Gefuehl wenn es dann endlich 
funktioniert und man versteht wie es funktioniert.

Ich kann mir vorstellen, dass damals wie der PC noch jung war, die 
Ingeneure warscheinlich auch ganz schoen geschwitzt haben, um das MSDOS 
File System im Detail zu verstehen. Und damals gab es kein Internet wo 
man heutzutage so viel finden kann. Die noetigen Dokumente haben damals 
ein Vermoegen gekostet. Als Hobbyist konnte man das glatt vergessen 
solche Information zu bekommen.

Gruss,
Gerhard

von jochen (Gast)


Lesenswert?

Ich komme leider nicht weiter. Kann es mir jemand erklären?

von Gerhard. (Gast)


Lesenswert?

Jochen, sehe Dir  mal diese Seite an:

http://www.myplace.nu/mp3/

da werden warscheinlich viele Deiner Fragen beantwortet werden koennen.

von Gerhard. (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

jochen wrote:
> Ich komme leider nicht weiter. Kann es mir jemand erklären?

Dieses Projekt ist ganz offensichtlich noch mindestens
4 Nummern zu gross für dich. Das ist keine Schande sondern
ganz normal im Entwicklungsprozess jedes Programmierers.

Ich denke nicht, dass du jemanden finden wirst, der dich da
durchspricht. Das wäre so, als ob man einem Taferlklassler
der grade mal Arithmetik im Zahlenraum bis 100 gelernt hat,
in Differentialgleichungen hineinjagt. Der versteht auch nur
Bahnhof. (Wie, was ist eine Gleichung? Wie, die kann man lösen? Was
soll das x denn da? Was ist ein Quadrat?)

Such dir ein anderes nächstes Projekt.

von Martin (Gast)


Lesenswert?

Das Projekt als Fernziel ist schon OK, ober die zu backenden Brötchen 
sollten viel kleiner werden.

Schau dir ml die SPI-Schnittstelle an, was ist das wie funktioniert sie 
und wie programmiert man sie. Außer schau dir mal C an das würde einem 
Anfänger das Leben leichter machen.

von jochen (Gast)


Lesenswert?

Martin, danke für dein erstes Stichwort. Ich werde diese Schnittstelle 
erarbeiten und wenn ich sie kenne melde ich mich in ein paar Tagen noch 
einmal.
Riesigen DanK!

von f(x) = 1/x. Paradox (Gast)


Lesenswert?

okay, ISP ist nur klar.

WIe speichere ich damit auf eine SD Karte?

von Sebastian F. (tacx)


Lesenswert?


von Troll B. (blaubeer)


Angehängte Dateien:

Lesenswert?

f(x) = 1/x. Paradox wrote:
> okay, ISP ist nur klar.

Nööö, ist nicht klar!

>
> WIe speichere ich damit auf eine SD Karte?

Mit ISP???

Gar nicht. Höchstens mit SPI. ISP und SPI sind Zweierlei, obwohl sie auf 
einigen (aber nicht allen) AVRs die gleichen Pins benutzen und das 
gleiche Grundprotokoll fahren.

Wie man auf die SD-Card speichert, weiß Dein Cardreader am PC. Das 
braucht Dein Player nicht zu wissen, es reicht, wenn er die Karte lesen 
kann, denn er soll ja nicht aufnehmen, sondern wiedergeben.

Da ich kein Unmensch bin (auch wenn's so aussieht), hänge ich Dir mal 
das Datenblatt einer SD-Card an. Dort kannst Du exakt nachlesen, wie man 
(auch im SPI-Mode) auf die Karte zugreift. Beachte dabei bitte, dass der 
SPI-Mode nicht die Hauptbetriebsart ist, sondern nur eine Art Notbetrieb 
zum Zwecke der Kompatiblität.

MfG, Blaubär

von Jochen (Gast)


Lesenswert?

danke für die Bereitschaft der  Unterstützung.
Ich finde da allerdings nichts zu. Auf welcher Seite steht das da?

von Troll B. (blaubeer)


Lesenswert?

Jochen wrote:
> danke für die Bereitschaft der  Unterstützung.
> Ich finde da allerdings nichts zu. Auf welcher Seite steht das da?

Kapitel 1.5.10, Kapitel 3.3 und Kapitel 5

MfG, Blaubär

von Klaus (Gast)


Lesenswert?

"...habe ich vor einigen Wochen einen guten Start in
Sachen uC gebahabt."

Lach

Na das kann ja noch was geben, hier... ^^

Man man.

von Jochen (Gast)


Lesenswert?

also mein Wissen zu diesem Bus  habe ich von

http://carbussystems.com/pdfs/SPI.pdf

ich hoffe, das reicht.

von Jochen (Gast)


Lesenswert?

Sorry, aber ich verstehe von diesem Datenblatte echt nur Bahnhof. 
Könntet Ihr das denn nicht in eigenen Worten sagen?

von Jochen (Gast)


Lesenswert?

Ich bin sehr lernwillig und möchte das allzu gerne verstehen. Deswegen 
bitte ich euch freundlichst, mir das zu zeigen.
Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine 
sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen.

von Jack B. (jackbraun)


Lesenswert?

>Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine
>sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen.

Wenn das wirklich der Fall ist, kannst Du zum jetzigen Zeitpunkt keinen
mp3-player bauen. Ganz einfach, das Projekt ist 4-5 Nummern zu groß,
aber das wurde Dir ja schon mehrfach gesagt.

von jemand (Gast)


Lesenswert?

>Könntet Ihr das denn nicht in eigenen Worten sagen?

Könnten wir. Machen wir aber nicht.

>Datenblätter und Herstellerinfos sind mir allerdings zu hoch, alleine
>sschon bei den einfachen Ics (Gatter) habe ich anchfragen müssen.

Dann solltest du eben mit selbigen einfachen ICs anfangen, und nicht 
gleich mit SD Karten. Wie oben bereits gesagt. Es ist ja schön, dass du 
schon ne Uhr und n Thermometer gebaut hast, aber erst wenn du das 
alleine schaffst, ohne immer hier im Forum, oder sonstwo zu fragen, 
kannst du ein so grosses Projekt wie SD-Karten Ansteuerung beginnen.
Falls dir das zu viel Aufwand ist, solltest du dir n anderes Hobby 
suchen. Es gibt genug Dinge bei denen man nicht intelligent sein muss...

von Jochen (Gast)


Lesenswert?

Ja, und genau deswege fange ich mit dem Speichern auf SD Karten an und 
habe nach den Infos zum SPI Bus gefragt, d.h. wie bekomme ich es hin, 
Daten aus der Karte mit meinem MEGA 8 auszulesen.

von Jochen (Gast)


Lesenswert?

@jamand:
Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt 
jederzeit in der Lage, sie nachzubilden. Nur habe ich da noch nicht die 
Kenntnisse gehabt und habe sie anhand des Projektes gelernt. 
Unwissenheit ungleich unintelligenz !!!

von Jochen (Gast)


Lesenswert?

Ich finde es wirklich sehr nett, wenn ihr mir helft.
Allerdings finde ich es genauso unverschämt, wenn ihr stört und somit 
die Leute, die mir helfen wollen und mich bemüllt (Spam).

von jemand (Gast)


Lesenswert?

>Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt
>jederzeit in der Lage, sie nachzubilden.

Darum geht es nicht.

>Nur habe ich da noch nicht die
>Kenntnisse gehabt und habe sie anhand des Projektes gelernt.

Es geht darum, dass du selbst in der Lage seien solltest dir die 
Kenntnisse anzueigenen. Dann kannst du deinen Ansatz ausprobieren, und 
wenn der nicht fuktioniert, dann erst solltest du hier im Forum fragen.
Und das hat dann wirklich was mit Intellekt zu tun, wenn man das nicht 
begreifen kann.

von Jochen (Gast)


Lesenswert?

Da meine Frage im sinnlosen Gequatsche untergegangen ist, hier nochmal 
meine Bitte, vom oben, hervorgehoben.
Ich frage herzlichst:

 "wie bekomme ich es hin,
Daten aus der Karte mit meinem MEGA 8 auszulesen."

von Jochen (Gast)


Lesenswert?

auch untergegangen wird sein, dass mir das SPI Protokoll nun klar ist.

von Jochen (Gast)


Lesenswert?

Starte wegeb mir bei "offtopic" einen Post dazu, dann kann ich dich 
überzeugen, dass es was mit Unwissenheit zu tun hat. Aber hier meine 
Bitte: Störe nicht!

von Sebastian F. (tacx)


Lesenswert?

Gut, wenn Du jetzt mit dem SPI klar kommst, dann geht 's mal gleich 
weiter mit der Beschäftigung mit dem FAT-Dateisystem (oder welches auch 
immer Du nehmen willst). Denn sonst hat Dein armer Controller keine 
Ahnung, welche Blöcke der Karte er lesen muss. Ganz im Ernst, wenn Du 
versuchst, ohne Dateisystemkenntniss auf Daten zuzugreifen, erleidest Du 
Schiffbruch. Dann kannst Du nicht sagen, ob das was gelesen wurde auch 
tatsächlich von der Karte kommt. OK, du kannst Dir auch ein Image der 
Karte ziehen und dann Vergleiche in Hexeditor heranziehen, aber um das 
Dateisystem kommst Du eh nicht herum.

Was die Anleitungen betrifft, das Material was Du jetzt hast ist schon 
richtig gut und Vollständig. Bessere wirst Du nicht finden und das Thema 
ist so groß und weiträumig, dass Dir hier ohne konkrete Fragen niemand 
Antworten geben kann.

von Troll B. (blaubeer)


Lesenswert?

Jochen wrote:
> Da meine Frage im sinnlosen Gequatsche untergegangen ist, hier nochmal
> meine Bitte, vom oben, hervorgehoben.
> Ich frage herzlichst:
>
>  "wie bekomme ich es hin,
> Daten aus der Karte mit meinem MEGA 8 auszulesen."

Vermutlich gar nicht, da der Mega8 vermutlich zuwenig RAM für FAT hat.

Ansonsten wird Dir die Analyse des Quelltextes von fubu1000 weiterhelfen 
können, denn jetzt, wo Du (angeblich) SPI verstanden hast, ist Deine 
Chance, den Quelltext zu verstehen, geringfügig größer geworden.

> Ich habe die Uhr bis ins letzte Detail verstanden und wäre jetzt
> jederzeit in der Lage, sie nachzubilden. Nur habe ich da noch nicht die
> Kenntnisse gehabt und habe sie anhand des Projektes gelernt.

Das nehme ich Dir nicht ab. Denn Du betreibst die 7-Segment-Anzeigen 
immernoch mit einem Chip, der dazu ungeeignet ist, siehe Einwand von 
Peter Dannegger. Du bildest Dir zwar ein, Du hättest Multiplex der 
Anzeige verstanden, hast es aber nicht.

Ich glaube, Dir fehlt etwas, was man nicht lernen kann. Nämlich die 
Gabe, Informationen verschiedener Quellen zu analysieren und Dir daraus 
dein eigenes Bild zu machen. Wenn Du Wissenslücken hast (die haben wir 
alle!), dann sieh zu, dass Du sie im Selbststudium mit Wissen füllst.
Aber ich schätze, Dir fehlt nicht nur Wissen, sondern die Fähigkeit, 
verschiedene Informationen zu verknüpfen und daraus eigene Schlüsse zu 
ziehen. Das könnte man mit Intelligenz bezeichnen. Aber das ist eine 
Gabe (Begabung), das kann man nicht erzwingen, das ist wie die Begabung 
zur Musik, Malerei oder anderen kreativen Sparten im künstlerischen 
Bereich, wenn das gewisse Gen fehlt, dann hat die beste Ausbildung 
keinen Zweck.

MfG, Blaubär.

von Jochen (Gast)


Lesenswert?

@Sebas Tian

Ich danke die für das weitere Stichwort. Ich werde umgehend die 
Kenntnisse dort erarbeiten und mich dann wieder melden!

@Troll Blaubär
Hast du meine Postings gelesen, in denen ich gebeten habe, nicht zu 
spammen? Du nervst wieder!
Weder trifft es zu du, dass mir die Fähigkeit, Informationen 
verschiedener Quellen zu analysieren fehlt, noch trifft es zu, dass mir 
die Fähigkeit verschiendene Informationen zu verknüpfen fehlt, noch 
trifft es zu, dass ich für diese Projekte ungeeignet bin, erst recht 
nicht aus Gründen mangelnder Intelligenz.
Ich bin in dem Thema Frischling und habe vor 2 Monaten nicht mal 
gewusst, was ein Byte ist. Da ist es völlig normal, dass ich jetzt nicht 
anfange, Datenblätter wie einen spannenden Roman zu lesen. Es wird hier 
selber gesagt, das Thema ist sehr breitbandig. Da ist es doch klar, wenn 
man neu reinkommt und noch nicht die nötige Erfahrung (ja, das sollte 
dein Stichwort sein und nicht Intelligenz!) hat, dass man dann in einem 
Dschungel steht, und nicht weiß, wo man ansetzen soll. Ich denke und 
bin mir fast schon sicher, dass du anfänglich ähnliche Probleme hattest 
und es sehr schwer war, sich da durchzubeißen. Wenn mir die Fähigkeit, 
wie du schreibst, tatsächlich fehlen würde, wäre ich nicht da, wo ich 
studienmäßig stehe. Ich brauche mir hier in einem Forum soetwas nicht 
sagen zu lassen, ich denke Intelligenz und das ganze, was du sonst noch 
schreibst, zeigt sich an anderen Stellen und nicht darin, dass man nicht 
weiß, wie man einen Mp3 Player baut (und mangelde Englsichkentnisse hat 
aber fast alles auf Englisch ist)!

Danke nochmal an alle, die mir ernsthaft helfen möchten

von Martin (Gast)


Lesenswert?

Nach dem du SPI verstanden hast, spiel damit etwas rum, und schließe 
erst einmal einen anderen SPI-Chip (nicht die SD-Karte) an deinen AVR 
an. z.B. einen EEPROM oder einen Portextender.

Danach legst du deinen AVR vorrübergehend in die Ecke und schaust dir am 
PC deine SD-Karte an. Stichwort FAT-Dateisystem. Ließ mit deinem PC also 
die Sektoren aus, und schau dir den Inhalt an.

Als nächstest kannst du probieren, die SD-Karte mit deinem AVR zu 
inizialisieren.

von Jochen (Gast)


Lesenswert?

Martin,
welchen Chip meinst du genau?
Wie kann ich denn am PC Sektoren der SD Karte auslesen?

bis dann

von Jochen (Gast)


Lesenswert?

und diesen Flash, den ich mir bestellen soll, kann ich dann ohne 
Dateisystem beschreiben?
Welchen würdest du empfehlen?
Hast du gleich noch die Empfehlung einer passenden SD Karte + 
Anschlussmöglichkeit an den Mega 8 oder sonst noch nützliche Sachen, die 
ich mitbestellen kann?

von Martin (Gast)


Lesenswert?

1. 74HC595, 74HC165 oder http://www.mct.de/faq/spi.html
2. WinHEX oder ähnliche Programme.

von Martin (Gast)


Lesenswert?

> und diesen Flash, den ich mir bestellen soll, kann ich dann ohne
> Dateisystem beschreiben?

ja.

> Hast du gleich noch die Empfehlung einer passenden SD Karte +

Ist egal.

> Anschlussmöglichkeit an den Mega 8 oder sonst noch nützliche Sachen, die
> ich mitbestellen kann?

Schau dir die unzähligen Projekte im Netz an.

von Jochen (Gast)


Lesenswert?

Bor ich glaub das Fat ist zu kompliziert, ist das NTFS einfacher?

Also ich habe mal einen USB Stick mit WinHex gehöffnet und sehe nur 
lauter Zahlen und Buchstaben.
Wo finde ich denn jetzt diese Dateizuordnungstabelle, in der steht, wo 
was gespeichert ist?

von Troll B. (blaubeer)


Lesenswert?

Jochen wrote:
> Bor ich glaub das Fat ist zu kompliziert,

Das versuchen wir Dir die ganze Zeit schon zu sagen, aber Du hältst ja 
alles, was Dir nicht in den Kram passt, für Spam und Belästigung.

> ist das NTFS einfacher?

NTFS macht erst bei seeeeehhhr großen Dateien Sinn, z.B. bei Videos.
Außerdem nutzt kaum ein MP3-Player NTFS.

>
> Also ich habe mal einen USB Stick mit WinHex gehöffnet

USB-Stick ist nicht so gut, SD-Card wäre besser, denn Du willst ja mit 
Deinem Mega8-MP3-Player keinen USB-Stick ansteuern sondern eine SD-Card, 
oder?

> und sehe nur
> lauter Zahlen und Buchstaben.

Ja was erwartest Du denn von einem Hexeditor sonst außer Hexzahlen und 
ASCII-Zeichen??? Ein Hexeditor zeigt Dir den Speicherinhalt als Hexzahl 
an. Und als Zugabe zeigen viele Hexeditoren (und Hex-Betrachter) in 
einer weiteren Spalte den Speicherinhalt im ASCII-Format an. So kann der 
Mensch, der vor dem Rechner sitzt, schnell erkennen, ob es sich um 
Binärdaten oder Text handelt. Die Auswertung der (hex angezeigten) 
Binärdaten obliegt dem Betrachter (dem Mensch vor dem Computer). Er muss 
wissen, welche Bytes welche Bedeutung haben.

Dateien (und damit Bytes in Sektoren) werden meist von Programmen (z.B. 
Betriebssystemen) geschrieben und gelesen. Dabei wenden sie gewisse 
Algorithmen an, z.B. FAT12/16/32. Darüber, ob FAT die beste und 
übersichtlichste Methode zum Verwalten von Daten ist, lässt sich 
trefflich streiten. Unbestritten ist jedoch die Tatsache, dass sich FAT 
als Standard durchgesetzt hat und wir wohl oder übel damit leben müssen.

> Wo finde ich denn jetzt diese Dateizuordnungstabelle, in der steht, wo
> was gespeichert ist?

Dazu musst Du den Inhalt der Sektoren analysieren. Eine Liste, welche 
Bedeutung die Bytes an den bestimmten Positionen innerhalb des Sektors 
haben, findest Du z.B. hier:

http://de.wikipedia.org/wiki/Fat16

MfG, Blaubär

von Martin (Gast)


Lesenswert?

> ist das NTFS einfacher?

Nein, es ist viel komplexer, und die Informationen sind nicht frei 
Verfügbar. (Teoretisch müsste man auf für die Nutzung von FAT 
Lizenzgebühren bezahlen.)

von Jochen (Gast)


Lesenswert?

Hallo, danke blaubär, danke Martin.

Auch, wenn es kompliziert ist, würde ich es gerne verstehen.
Ich habe momentan nur einen USB Stick zur Hand.
Dort habe ich eine Datei Namens "Hallo.txt" angelegt, die den Inhalt "1" 
hat.

Sowohl den Namen "Hallo" (wie stellt man in Hex Dateinamen da?") als 
auch den Inhalt "1" würde ich nun gerne mit dem Programm Winhex 
erkennen.
Ich habe im Anhang das, was ich in Winhex angezeigt bekomme.
Ich verstehe nicht, wie ich das jetzt da heraus filtere, könnt ihr mir 
das sagen?

Anlage: Winhexausschnitt

von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

hier

von Jochen (Gast)


Lesenswert?

Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt.
Wie kann ich das aber selber manuell auslesen und wo steht nun der 
Dateiname "hallo.txt"

von Troll B. (blaubeer)


Lesenswert?

Was Du gefunden hast, ist der Bootsektor.
http://de.wikipedia.org/wiki/Fat16#Bootsektor

Dein Directory-Eintrag befindet sich aber nicht im Bootsektor, sondern 
im Stammverzeichnis.
http://de.wikipedia.org/wiki/Fat16#Stammverzeichnis

Du musst also erst ermitteln, wo Dein Stammverzeichnis liegt.

MfG, BlauBär

von Martin (Gast)


Lesenswert?

> wie stellt man in Hex Dateinamen da?

Bevor du du irgend etwas mit µC weiter machst, solltest du ersteinal 
Hex, Bin und Dezimal in und auswendig kennen bzw. begreifen.

von Troll B. (blaubeer)


Lesenswert?

Martin wrote:
>> wie stellt man in Hex Dateinamen da?
>
> Bevor du du irgend etwas mit µC weiter machst, solltest du ersteinal
> Hex, Bin und Dezimal in und auswendig kennen bzw. begreifen.

Verlangst Du da nicht etwas zuviel?

MfG, BärBlau, ganz schnell (mit Schweif) verschwindend...

von Jochen (Gast)


Lesenswert?

Ich weiß ja wie ich in Hex/Bin/Dez rechne.
Aber nur nicht, wie man damit Text (Dateinamen)  darstellen kann. Wie 
geht das denn?

von Jochen (Gast)


Lesenswert?

ein Stichwort würde mir ja reichen, aber ich weiß nicht, wonach ich 
suchen soll. "Dateinamendarstellung in Hexadezimal" liefert keine 
brauchbaren Ergebisse in google

von Condi (Gast)


Lesenswert?

ASCII

von Jochen (Gast)


Lesenswert?

könntet ihr mir das nicht bitte mal zusammenhängend erläutern? Hier die 
Frage nochmal:

Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt.
Wie kann ich das aber selber manuell auslesen und wo steht nun der
Dateiname "hallo.txt"

Ich danke

von Marius S. (lupin) Benutzerseite


Lesenswert?

http://www.cc5x.de/MMC/FAT.html

Schau mal bei Verzeichniseinträge

Von microsoft gibt es ein dokument wo FAT12/16/32 beschrieben wird, das 
ist echt super da steht alles drin was du wissen musst... aber naja, 
wird DIR wohl auch nicht weiter helfen.

http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

Hier nochmal als PDF:
http://alpha1.dyns.net/files/FS/FAT%20Specs%201.03.pdf

von Joachim (Gast)


Lesenswert?

> Das Programm zeigt ja an, dass die Datei ab Sektor 504 beginnt.
> Wie kann ich das aber selber manuell auslesen

Indem Du bei Sektor 504 liest?

> und wo steht nun der Dateiname "hallo.txt"

"Access" -> "Rootdirectory (template)"

So isses zumindest bei meiner alten WinHex Version.

Aber jetzt mal echt im Ernst:
Du kannst hier nicht erwarten, dass Dir hier alles an Grundlagen 
beigebracht wird.
Ich habe zwar auch schon die eine oder andere Frage gestellt (und 
beantwortet bekommen), aber man fragt erst, wenn man wirklich an einem 
speziellen Problem hängt.
Für so allgemeine Sachen, wie "erlär mir mal jemand SPI, SD-Karte, FAT, 
Textdarstellung in Hex.." wirst Du schon selbst recherchieren müssen.
Es gibt dazu übrigens auch tausende von Abhandlungen in Deutsch.
Ein Anfang wäre z.B. http://de.wikipedia.org/wiki/File_Allocation_Table

Es ist mir unverständlich, wie jemand in der heutigen Zeit noch einen 
Mangel an Informationen beklagen kann (Kopfschüttel).
Als ich meine ersten Elektronikprojekte 1982 begann, gabs kein Internet.
Nur (sauteuere) Bücher und jedes Jahr mal eine Bastlermesse irgendwo.
Wer hätte einem da FAT erklären sollen?
Und es ging irgendwie trotzdem. Computer wurden schließlich auch ohne 
Internet erfunden. Also nicht rumheulen, wenn nicht gleich alles 
"saugfertig" vorgekaut wird.

Joachim

von Condi (Gast)


Lesenswert?

Wieso benutzt du nicht die angegebenen Links? da steht doch alles drin.
Ist wie bei einer 7-Segment Anzeige. Du kannst auf Sie einreden, 
streicheln, anschreien, Sie wird dir aber nur eine Zahl anzeigen wenn du 
an den richtigen Pins ne Spannung anlegst. Wo man Spannung anlegen muss 
um bestimmte Zahlen darzustellen, bestimmen Bitmuster. Das gleiche macht 
der PC. Er kann auch nur 0/1. Für alles andere braucht man Codierungen. 
So den ASCII.


Kennst du

http://de.wikipedia.org/wiki/EVA-Prinzip

Wenn nicht, kann man das nur empfehlen. Du solltest die Computer erstmal 
sein lassen, Mikrocontrolller usw. auch und mit den Grundlagen anfangen. 
Sowas steht meist Büchern.

http://www.wasistwas.de/shop/was_ist_was_band_024_elektrizit%E4t-p-27.html
http://www.wasistwas.de/shop/band-computer-roboter-p-38.html

Falls du die verstanden hast, könnte:
http://de.wikipedia.org/wiki/Computer
ganz hilfreich sein.

http://www.elektronik-kompendium.de/sites/grd/index.htm
http://www.elektronik-kompendium.de/sites/dig/index.htm

Wenn du das dann verstanden hast, wird dir sicher auffallen, das es 
relativ einfach ist. Man schaut einfach in die Spec. und da steht was 
man wissen will.

von Jochen (Gast)


Lesenswert?

Also die Infos von Microsoft kapier ich garnicht.
Ich habe mit http://www.cc5x.de/MMC/FAT.html angefangen.  Und zwar ab 
diesem schönen bunten Bildchen.

Mir kommen da ein paar Fragen auf:

wieso heißt 50 = 5h?
Wieso wird die 0 zu einem h?

Wo finde ich diese Tabelle in WinHex?

von Jochen (Gast)


Lesenswert?

@COndi, die Grundlagen der Elektrotechnik sind mir bescheinigt sehr 
bekannt, darum geht es doch nicht. Ich will nicht wissen, wie el. Felder 
aufgebaut sind, das weiß ich schon bis in letzte Deteil (bescheinigt). 
Ich will wissen, wie ich die Dateien ind er Fat finde ^^

von Mrs. Man (Gast)


Lesenswert?

>>wieso heißt 50 = 5h?
>>Wieso wird die 0 zu einem h?

Also doch keine Ahnung !!!

Wenn Du da nicht Durchblickst (und nicht richtig lesen kannst), dann 
brauchst Du Dich wirklich nicht weiter um das FAT Dateisystem zu kümmern 
!

von Jochen (Gast)


Lesenswert?

anstatt zu meckern, könntest du mir es auch erklären :-)

von Condi (Gast)


Lesenswert?

@Jochen

Naja, wo liegt dann das Problem? Du musst doch nur die Grundlagen 
anwenden die du ja schon kennst.

Oder kennst du Sie doch nicht, weil dir jeder hier rät die Grundlagen zu 
lernen?

http://de.wikipedia.org/wiki/Byte-Reihenfolge

von Condi (Gast)


Lesenswert?

Ach das ist übrigens in dem Buch gut erklärt was ich dir als erstes 
geraten haben.

von Philipp B. (philipp_burch)


Lesenswert?

@Jochen:

Ich weiss nicht, ob es einen Sinn hat, das nochmal zu sagen, aber ich 
schreib's jetzt mal trotzdem: Schieb' die Idee mit dem MP3-Player 
erstmal in eine (weit entfernte) Schublade. Ich bin sicher, dass du hier 
mit Informationen durchgefüttert werden könntest, dass du am Ende einen 
MP3-Player vor dir stehen hättest, doch du würdest kaum mehr verstehen 
als jetzt. Es geht nicht um Intelligenz oder etwas dieser Art, sondern 
es geht um Eigeninitiative. Und die beschränkt sich nicht darauf, im 
Forum möglichst häufig zu fragen.

Du schriebst, dass du vor relativ kurzer Zeit (Zwei Monate?) noch nicht 
wusstest was überhaupt ein Byte ist. Denkst du tatsächlich, dass man 
eine derart steile Lernkurve haben kann um in dieser Zeit verstehen zu 
lernen, wie ein MP3-Player oder ein Gebilde ähnlicher Komplexität 
funktioniert?

Du hast ebenfalls geschrieben, dass du die Grundlagen der Elektrotechnik 
verstehst (Bescheinigt wie du mehrmals betontest), doch wie du nun 
erkannt haben solltest, hat es damit eben gar nicht mal so viel zu tun. 
Falls du es tatsächlich verstanden hast, dann wird dir das in Zukunft 
bestimmt helfen (Wenn du erstmal komplexere Hardware erstellen musst, 
bei der eben mehr als 0 = 0V, 1 = 5V gilt), doch im Moment geht es 
darum, die Hardware kennenzulernen, die du hast. Also besonders den AVR.

Versuche doch als nächsten Schritt erstmal, z.B. deine Uhr mit einem 
DCF-Empfänger auszurüsten. Wenn du dabei etwas lernen willst, dann 
machst du hier nicht einen neuen Thread der Form "Wie schliesse ich 
einen DCF-Empfänger an meinen AVR an" auf, sondern wühlst dich durch die 
unzähligen Projekte und Dokumentationen, die du ohne Mühe finden 
solltest.
Hast du das ohne viel fremde Hilfe geschafft, solltest du erkannt haben, 
wie der Hase läuft. Es läuft schlussendlich eben doch auf Arbeit hinaus, 
auch wenn es nur ein Hobby ist. Ausserdem wird es nicht in zwei Tagen 
fertig sein, wundere dich nicht, wenn es Monate dauert, bis das alles 
korrekt funktioniert.


Achja: Und hör' bitte auf, die zu beschimpfen, die dir helfen möchten.

von gast (Gast)


Lesenswert?

>>wieso heißt 50 = 5h?
>>Wieso wird die 0 zu einem h?
einen bitcode kennst du ??
umwandlung HEX in Dezimal

0= 0000
1= 0001
2= 0010
3= 0011
4= 0100
5= 0101
6= 0110
7= 0111
8= 1000
9= 1001
A= 1010
B= 1011
C= 1100
D= 1101
E= 1110
F= 1111


jeder buchstabe und jede zahl ist in bits geschrieben  sehr 
unübersichtlich
also codierung .---> ASCII codes
also irgendwo steht hallo.txt  und deine 1  irgendwo  in hexadezimaler 
form ..in dem HEXfile
nur eben jedes zeichen als HEX

einem AVR einfach sagen ..
lade hallo.txt von den portpins 1,2,3  ist nicht
wenn du es so haben willst must du eben funktionen schreiben die genau 
das tun

jedes einzelne bit von der SD karte lesen und in einem speicher 
zusammensetzen
das passiert genau so bei jeglicher art von speichermedien und der 
digitalen verarbeitung
alles , egal was du machst sind nur nullen und einsen
deswegen must du auch das hintergrundwissen besitzen um sowas eben 
steuern zu können

du könntest sicherlich deine uhr nochmal aufbauen ...
wenn jetzt jemand kommt und etwas ändert ... bist du glaube wieder am 
anfang


ist nicht bös gemeint ...
ich stell mich sehr oft auch auf eine dieser tiefen stufen ..
aber meist setz ich mich dann hin und versuch ertsmal das 
hintergrundwissen dazu zu verstehen

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.