Eigenbau Mp3 Player

Gast #623855
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
Gast #623873
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?
Gast #624061
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?
#624073
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?)
Gast #624333
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.
Gast #624335
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.
Gast #624430
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.
Gast #624476
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?
#624497
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
#624511
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
Gast #624621
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.
#624660
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.
Gast #624675
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.
Gast #624682
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.
#624690
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
Gast #624693
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?
Gast #624700
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!
#624708
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.
Gast #624709
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?
#624730
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)
#624736
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!
Gast #624741
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.
Gast #624747
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..
#624753
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
#624755
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.
Gast #624757
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
Gast #624758
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.
Gast #624763
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.
Gast #624767
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.
Gast #624774
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.
#624776
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.
#624780
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.
#624781
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.
Gast #624786
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.
Gast #624801
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
#624855
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.
Gast #624955
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.
#626607
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
Angehängte Dateien:
Gast #626775
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.
#626784
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.
Gast #626785
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...
Gast #626787
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 !!!
Gast #626789
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.
Gast #626791
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."
#626850
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.
#626896
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.
Gast #626906
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
Gast #626907
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.
Gast #626934
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?
Gast #626937
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.
Gast #627059
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?
#627081
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
Gast #627169
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
#627212
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...
Gast #627269
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
Persönliche Seite #627275
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
Gast #627284
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
Gast #627287
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.
Gast #627290
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 ^^
Gast #627329
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 
!
#627382
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.
Gast #627406
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren