Hallo, ich möchte bei einer Applikation auf einem xmc ein "Datenlogging" einrichten und bin auf der suche nach einer nicht allzu komplizierten Lösung auf sd-karten Basis. Der MC hat ja bereits ein Interface für SD, bevor ich mich damit beschäftige, will ich aber auch andere Möglichkeiten ins Auge fassen. Wie kann ich ein Filesystem zum laufen bringen, ohne alles selbst zu entwickeln. Was kann man empfehlen? Vielen Dank, michael
Wenn du häufig schreiben möchtest, ist eine Flashkarte vielleicht ungeeignet.
Hallo Michael, vielleicht hilft dir das hier weiter: "http://elm-chan.org/fsw/ff/00index_p.html" Habe damit schon mal mit einem AVR Controller, einen MP3-Player realisiert. Im Moment bin ich dabei, auch einen Datenlogger, damit auszustatten. Ist allerdings ein 51er Prozessor. Es gibt das Ganze auch als großes System, den Link findest du auf der Seite. Gruß. Tom
Ich glaube ich hab mal mit dieser Dateisystemsimplementierung gearbeitet: http://elm-chan.org/fsw/ff/00index_e.html Die ist sehr klein, sehr einfach und unterstützt FAT. Du musst halt Routinen haben, die auf die SD-Karte einen Block lesen bzw schreiben. Danach würde ich Dir dringend empfehlen die Daten als Text zu speichern. Das hört sich zwar für manche Leute gleich unglaublich kompliziert und aufwändig an, reduziert aber die Gesamtkomplexität deutlich, da Du dann die Daten direkt mit Gnuplot oder OpenOffice Calk oder sonst was verarbeiten kannst.
http://www.exp-tech.de/sparkfun-openlog In der Bucht auch für etwa 12€. Billiger kannst Du den nicht selbst bauen. Funktioniert " narrensicher"?
Openlog ist echt eine feine Sache und sehr simple in der Bedienung http://zierath-software.de/phpBB3/viewtopic.php?f=3&t=27
Ich bin mit der http://www.mikrocontroller.net/articles/AVR_FAT32 Library zufrieden. Sie funktionierte bei meiner Anwendung auf Anhieb.
TomA schrieb: > Hallo Michael, > > vielleicht hilft dir das hier weiter: > > "http://elm-chan.org/fsw/ff/00index_p.html" > > Habe damit schon mal mit einem AVR Controller, einen MP3-Player > realisiert. > > Im Moment bin ich dabei, auch einen Datenlogger, damit auszustatten. Ist > allerdings ein 51er Prozessor. > > Es gibt das Ganze auch als großes System, den Link findest du auf der > Seite. > > Gruß. Tom Sieht sehr interessant aus. Wo lerne ich am besten, wie man einen low level Treiber für eine SD Karte erstellt? Mein UC hat einen SD host controller, den man über SPI verwenden kann. Ist sowas denn kompliziert? Danke, michael
Michael W. schrieb: > TomA schrieb: >> Hallo Michael, >> >> vielleicht hilft dir das hier weiter: >> >> "http://elm-chan.org/fsw/ff/00index_p.html" >> >> Habe damit schon mal mit einem AVR Controller, einen MP3-Player >> realisiert. >> >> Im Moment bin ich dabei, auch einen Datenlogger, damit auszustatten. Ist >> allerdings ein 51er Prozessor. >> >> Es gibt das Ganze auch als großes System, den Link findest du auf der >> Seite. >> >> Gruß. Tom > > Sieht sehr interessant aus. > Wo lerne ich am besten, wie man einen low level Treiber für eine SD > Karte erstellt? Mein UC hat einen SD host controller, den man über SPI > verwenden kann. Ist sowas denn kompliziert? > > Danke, michael Für deinen Low-level-Treiber hat Elm Chan auf seiner Webseite Beispiele für alle gängigen Controller. Zu empfehlen ist das einfachste ATMEGA-Beispiel mit Software SPI, das ist sehr leicht zu portieren. Die Examples gibts hier: http://elm-chan.org/fsw/ff/00index_e.html ("FatFS sample projects.."). Im Endeffekt ist das ganze Low-Level Zeug schon fertig, kümmern musst du dich nur noch um die Ports oder ein paar mickrige SPI-Send - Funktionen. Den Rest macht dann FAT-FS. Der Dateizugriff läuft dann über Funktionen wie f_open(), f_close() etc. Ich habe das mal auf einem PIC32MX470 verwendet, da ging das überraschend einfach. Allerdings - dank einem Fehler auf der Platine nur mit Software - SPI. Laufen tuts aber problemlos.
Leider gibt es dort nichts für xmc4500. Es wird mir daher nicht erspart bleiben, den SD Treiber selbst zu schreiben. Wo lese ich am besten nach, wie man die eingebaute SD/MMC Schnittstelle verwendet? Es sind zwar alle Register im RM beschrieben, jedoch setzt dieses wohl voraus, dass man den standard kennt. Wie komme ich da am besten rein? Oder ist das eine Geheimwissenschaft?
Die avrfat32 Library ist übersichtlich gemacht. Nur wenige Codezeilen haben mit der Hardware zu tun. Das kann man leicht auf andere Controller umschreiben. Ich hab's von ATmega nach Xmega portiert - war ganz easy.
Der xmc4500 hat eine eigene MMC/SD Einheit. Wenn du sagst, ich könne die atmega Firmware portieren, meinst du dann, dass ich diese Einheit umgehehe und stattdessen SPI verwende? Ich kann mir die Vorgehensweise noch nicht vorstellen. Die Beschreibung der MMC Funktionen an meiner mcu ist für mich noch ein "spanisches Dorf" und die Register sind sehr spezifisch für den xmc.
> meinst du dann, dass ich diese Einheit umgehehe und > stattdessen SPI verwende? Dem Blockschaltbild des xmc4500 entnehme ich, dass das SD-Karten Interface ein SPI Bus ist. Wie die Schnittstelle verwendet wird, musst du natürlich selbst herausfinden. Oder nimmst notfalls einfache I/O Ports und Soft-SPI. Geht auch.
Infineon hat eine Demo-Anwendung auf dieser Seite: http://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.