Hallo, hat jemand schon Erfahrungen mit einem FAT Dateisystem auf einer CF-Karte mit einem AVR 8515 oder 8535? Danke Manfred
Hallo, habe zwar noch keine Erfahrung damit, bin jedoch zur Zeit auch an so einer Sache dran. Befinde mich jedoch noch in der Einarbeitung und muß noch das Interface zur CF-Karte realisieren. Habe jedoch auf der Seite zum MP3-Player YAMPP Informationen zum FAT-System gefunden. Dort lässt sich auch der Quellcode herunterladen. Ist jedoch für einen MEGA161. Das Prinzip sollte sich aber übertragen lassen. Vielleicht hilfts. Wäre an einem Erfahrungsaustausch interessiert! Gruß, Ralf
Hallo, bin auch gerade dabei, jedoch mit einem 89C51RD1 (8051 mit Flash etc.). Hab bereits ein VB-Programm (VB weil beruflich damit zu tun) geschrieben, das das FAT-System eines Image-Files anzeigt. Damit ist das Verständns von FAT vorhanden, mir fehlt jedoch noch die Steckerleiste für CF. Aber vielleicht brenne ich das Image noch in ein Eprom und Programmiere schonmal in Asm das Lesen der FAT, sonst dauert es zu lange. Erfahrungsaustausch interessiert mich auch. Michael
Vielleicht ist dieser link für euch ganz nützlich: http://www.sandisk.com/tech/oem_design/cf_dc.asp Leider haben die die links zur FAT-Spezification nicht mehr drin.Einen Link zu was ähnlichem wie da für 80C51 (interface) gibt es für den AVR 8515 hier unter links zwar für ne FP - sollte aber auch funzen) Gruß Bernhard
Hallo, Ich arbeite an einen MP3 player fürs auto, erst wollte Ich einen CF-karte nehmen, aber jetzt mit eine 2,5 zoll Festplatte. Mann kann aber denn Compact Flash Karte wie einen IDE Festplatte lesen. Ich habe denn FAT32 software schon geschrieben und erfolgreich getestet, aber für denn SAB C167CR controller mit 256Kbytes RAM und 256Kbytes Flash. Ich benutzte denn Tasking C167 C compiler V7.5 Meine Software ist komplett neu geschrieben (in C) anhand von der Spezifikation von MicroSoft. Ich bin der meinung diese Software ist auch lesbar und zu vestehen. Diese software könnten mann (denke Ich) auch für einen Atmel nehmen. Die low-level routinen musste mann neu schreiben (Wort/Byte read/write). Hardware übersicht: Processor : SAB C167CR Phytec MM167CR RAM : 256Kbytes ROM : 256Kbytes (Flash) Display : 120x32 pixel mit 2x5 touchpanel Festplatte : 20Gbytes 2,5 zoll Interface : (FTP) Ethernet (IIM7000) MP3 decoder : VS1001K Software übersicht: Sprache : C Compiler : Tasking C compiler V7.5 OS : uCos V2.51 @Michael: Für €15,- + versandt habe Ich noch zwei unterschiedliche connectoren. Ich dir kann ein Bild schicken. Bitte nicht auf schreibfehler (Deutsch) achten, da Ich aus Holland komme. Grüße Mark. P.S. Ich kann bei bedarf diese Dokumentationen (FAT, CF spec, etc.) uploaden. Meine Software kann Ich auch zur verfügung stellen. Meine homepage ist in arbeit.
Hallo! @ Michael: Bin gerade dabei eine Platine für das ganze zu machen. Ich will zunächst nur einen 8515 über die serielle des PC mit der CF-Karte verbinden, um so erstmal etwas zum laufen zu bekommen. Die Steckerleiste für die CF-Karte habe ich bei Segor bestellt, habe Sie jedoch noch nicht erhalten. Nachher soll das ganze dann um eine schnellere Schnittstelle erweitert werden (z.B. USB) um dann Dateien schnell auf die Karte laden zu können (es soll daraus mal ein MP3 Player entstehen). Zur Zeit bin ich mir noch nicht ganz schlüssig, ob ich die ganzen 512Byte eines Sektors puffern muß oder ob ich mir zwischen den Bytes wären eines Read Sector Befehls beliebig Zeit lassen kann. Kannst Du, oder jemand anders mir da vielleicht weiterhelfen? Grüße, Ralf
Hi ich hab mal was ganz ähnliches gemacht. P89C51RD2 der Daten von der seriellen Schnittstelle entegennimmt und auf einer CF (FAT16) speichert. Ich würde dir dringend empfehlen einen kompletten Sektor der CF oder besser noch einen ganzen Cluster des Dateisystems als Puffer zu verwenden. Zweiteres braucht natürlich Speicher. Matthias
Hallo Matthias, d.h. also ich muß noch ein externes Ram verwenden, wenn ich den 8515 nehmen will. Dachte ich komme darum herum. Das ich so viel zwischenspeichern muß liegt dann aber am FAT-System, oder? Mit habe ich mich bis jetzt noch nicht so sehr beschäftigt. Ralf
Hallo, Es ist bestimmt auch ohne RAM möglich, aber man muß es ja nicht unnötig kompliziert machen. Ich denke sogar darüber nach, am Anfang eine komplette Kopie der FAT im RAM zu halten. Zum Ende hin sollte die aber schon von der Karte gelesen werden. Hast du schonmal was von einerm HMpeg gehört ? Dort wurde auch ein FAT-System realisiert, und hatte glaub ich auch einen 8515. Sourcecode hätte ich noch, allerdings konnte nur gelesen werden, für mehr war kein Platz. @Matthias Hast du davon eine Schaltplan/Layout, das du mir mailen kannst ? Bin dabei, alles auf eine einseitige Platine zu quetschen. Michael
Hi Schaltplan hätte ich. Beim P89 hab ich alles per Software gemacht. War zwar reichlich langsam hat aber gereicht. Bei dem Projekt hatte ich nur einen Sektor gepuffert. Mehr hatte im internen RAM nicht Platz. Matthias
Hi, auch ich bin an der Überlegung einen MP3 Player fürs Auto zu bauen, allerdings möchte ich den an den CD-Wechsler Ausgang meines Radios anschliessen, sprich dessen Steuersignale verwenden. Als Speichermedium möchte ich CompactFlash verwenden. Der Player brauch entsprechend nur lesen können. Die Files will ich mit meinem PC auf CF spielen. Es gibt doch diese MultiCardReader. Ganz toll wäre es doch, diese verwenden zu können, da kenn ich mich nun aber gar nicht aus wie die Ansteuerung funktioniert. Aber da die Dinger recht billig sind und sicher via eines einzelnen Chips die Ansteuerung aller Karten läuft, sollte auch ein einheitliches auslesen darüber laufen, oder? Ich habe zu Hause auch einen Atmel 8515 und wäre sehr daran interessiert den zu verwenden, vor allem weil ich damit Erfahrung habe und das Developer Board. Rene
Hallo Rene, das ist im Moment auch meine Überlegung. Möchte zunächst auch den 8515 verwenden. Habe mir auch schon so einen Multi-Kartenleser gekauft (war jetzt im Angebot für 29 Euro bei Real, so viel zur Werbung ;-)). Die CF-Karte läßt sich im 8Bit Modus betreiben. Das Auslesen der CF-Karte funktioniert über ATA-Befehle welche man in die Register der CF-Karte schreibt und dann das Datenregister der Karte ausliest. Zum puffern der Daten werde ich nun, nach obigen Ratschlägen, ein externes RAM verwenden. Hoffe das ich meine Theorie auch in nächster Zeit ausprobieren kann, aber ich denke es sollte so funktionieren. Hast Du schon ein Paar Versuche mit den CF-Karten gemacht? Wenn man die Dinger mit dem Kartenleser beschreibt muß man ja auch noch ein FAT-System integrieren. Habe micht jedoch noch nicht genau damit beschäftig und weiß somit nicht wie viel Speicher man für sowas braucht. Viele Grüße, Ralf
Hi Wenn der Multikartenleser ein USB-Typ ist siehts schlecht aus. USB-Master zu implementieren ist auf einem 8-Bitter kaum bis garnicht möglich. Wenn nur Daten auf die CF geschrieben werden sollen einfach per PC eine große Datei erstellen und in diese reinschreiben. Dann braucht man sich nur lesend um die FAT zu kümmern was wesentlich einfacher ist als eine FAT zu schreiben. Matthias
Hallo, so hatte ich mir das gedacht. Wollte zunächst nur die CF mit dem USB-Leser beschreiben und dann mit dem uC auslesen. So wollte ich mich dann langsam an die FAT herantasten um zu verstehen wie das so funktioniert. Gruß, Ralf
-->Ralf habe leider noch keine praktischen Versuche durchführen können. PS: Kartenleser für 19 heute bei MediaMarkt ;) Nun, ich hatte wie gesat auch nur vor den MP3 Player als Lesegerät zu verwenden. Schreiben soll der Computer, der kann das erstens schon und zweitens (und viel wichtiger) liegen da ja eh die MP3 Sammlungen rum. Will mir ja kein Ethernetkabel ins Auto legen oder so... :) Aber es wäre schon notwendig auf der Karte im FAT System zu lesen. Ist das Handling einfacher, wenn man mal ein Lied löschen will und danach andere aufspielt. Kenne mich mit dem FAT System gar nicht aus, aber auf ww.compactflash.org wird gewarnt, daß Windows gerne die CF Karten > 64MB als FAT32, anstelle von FAT16 formatiert. Aber das kann man ja einstellen. Eine Leseroutine FAT16 für den Atmel 8515 wäre also interessant. komme allerdings die nächsten Tage auch nur dazu Theorie zu sammeln.
Hi, meine Erfahrung ist, daß Windows auch gerne kleinere Speicherkarten mit FAT12 formatiert (Hängt von der Gesamtanzahl der Cluster ab. Bitte berücksichtigen!
Das ist doch kein Problem, das ist doch nur eine Einstellungssache, außerdem formatiert man ja seine CF Card nicht jedesmal, oder? würde mich mit FAT16 begnügen... macht sich einfacher, wenn man einen 8-Bit Controller verwendet. wo finde ich gute Infos zum auslesen von Dateien eines FAT(16)-Systems?
Hallo, habe meine Infos von der Seite zum Yampp MP3 Player. Im aktuellen Beitrag zum Dateisystem mit MMC ist aber auch noch ein Link zu solchen Infos von SanDisk habe ich gerade gesehen. Gruß, Ralf
Der YAMPP7 hat mich mal interessiert, aber mich störte da, daß er sein eigenes Dateisystem verwendet, will die CF card ja schließlich als Wechselmedium benutzen und mit dem PC Daten aufspielen. Da ist man dann am besten mit FAT unterwegs. MultiMediaCards sind zwar auch mit einem eigenen Controller ausgestattet, aber leider sind die auch sehr teuer. CF Cards währen sogar bedingt mit einer Festplatte auszutauschen.
Das Problem der FAT war ein Teil meiner Diplomarbeit. Dabei musste ich bestimmte Dateien auf einer MMC finden und lesen bzw schreiben (hat mich 6 Wochen Arbeit gekostet). Erschreckender Weise hält sich nicht mal Microsoft an ihre eigenen Standart. Ich wühle mal in meinen Unterlagen, ob ich noch das Hardware WhitePaper finde. Da ist alles drin beschrieben. Trotzdem noch viel Erfolg...
Hallo, ich bin auch an so etwas dran... Habe an anderer Stelle das FAT32 WhitePaper von Winzigweich gefunden, hat jemand einen Link zu FAT16? Gruß, Dirk
Hallo, Hier ist das Dokument von Microsoft. Das steht das FAT32, FAT12 und FAT12 drin. Dieses Dokument habe Ich benutzt um meine software zu schreiben. Grüße Mark
Kleine Anmerkung am Rande: Wenn es nur darum geht, per CompactFlash irgendwie Daten zwischen PC und uC zu transferieren, dann ist es am einfachsten wenn man auf der Karte eine einzige riesige Datei anlegt, die mit einer bestimmten Bytekombination beginnt. Das uC-Programm muss dann nur noch diesen Anfang finden und seine Daten reinfüllen.
So, nach langen suchen unter dem Sofa hab ich es gefunden. Nach Wunsch kann ich auch mal meine Quelle dazu rüberreichen. Viel Erfolg noch
--> Andreas Schwarz genau darum geht es doch nicht. Das wäre doch zu billig! Wir wollen doch die Kompatibilität zu anderen Geräten bewahren und das FAT Format genau deswegen benutzen. Es geht doch nicht darum irgendiwe Daten darauf zu speichern, sondern auch Daten mit dem PC raufzuspielen (ohne eigene software) und dann im Player darauf zuzugreifen.
Hi eine FAT zu lesen ist ja auch einfach. Es geht um das schreiben. Hier reicht es nicht einfach ein paar Daten auf die CF zu schreiben sondern es muß eine korrekte Clusterkette geschrieben werden. Wenn es darum geht Daten auf eine CF zu speichern und diese dann am PC auszuwerten ist es besser eine große Datei auf die CF zu schreiben, diese anhand des Dateinamens zu suchen und dann in diese Datei zu schreiben. Das umformatieren der Daten übernimmt dann der PC. Dort hat man die besseren Möglichkeiten mit Dateien und deren Inhalt zu jonglieren. Matthias
einfach ist gut, aber wenn noch nie gemacht, dann unbekannt. Würde mich ja gerne hinsetzen und ausprobieren, aber leider fehlt mir gerade die Zeit. Aber wenn du schon so viel Praxis darin hast, vielleicht kannst du uns ja eine Anleitung für den besagten Code für den 8515 geben.
Hallo, Das lesen ist kein Problem, das funktioniert bei mir schon das schreiben ist der nächste schritt. Ich möchte die dateien über FTP auf mein system (MP3 player für das Auto) übertragen. Wenn Ich da was Fertig habe melde Ich das. Grüße Mark.
Hi ich würde keinen bestehenden Code verwenden. Lieber in die Doku einlesen und selber programmieren. Konkrete Fragen zum Code kann ich beantworten aber eine generelle Anleitung wird etwas länglich. Matthias
Ich habe für MultiMediaCards mal an FAT gedacht, aber weil SDS (direktes Schreiben/Lesen) viermal schneller ist (16 MB in 24 s statt 10 MB in 62s mit einem gewöhnlichen 6 in 1 Reader/Writer), lasse ich das lieber ;-)
Hallo, @Matthias: Ich habe meine code auch selbst geschrieben, mann lernt vieles und jeder hat einen eigene codestil. @Rene: Ich benutzte einen C167CR. Ich habe mein projekt umgebung oben besser beschrieben. Grüße Mark.
Bezug: Rene 03.02.03 Hi Rene! Deine Idee, einen MP3-Player über den CD-Wechsler-Ausgang anzusteuern finde ich super! Dann muß man nicht unnötige Hardware einbauen, die ja selbstgebaut nicht immer schön anzusehen ist. Ich habe den MZ-Bus von Kenwood im Auto. Der unterstützt soweit ich weiß auch CD-Text. Man könnte also auch auf ein Display verzichten und die Titelnamen als CD-Text-Informationen an das Radio senden. Ich würde auch gerne einen Atmel und eine Festplatte oder CF verwenden. Ihr habt ja schon teilweise gute Erfahrungen mit FAT gemacht. Mein Problem ist jedoch die andere Bus-Seite: das CD-Wechsler-Interface. Wo gibt es eine gute Doku des Kenwood MZ-Bus (oder irgendeines anderen CD-Wechsler-Interfaces) inkl. Hardware-Interface und Softwareprotokoll, aus dem man die nötigen Infos bekommt? Wäre echt nett, wenn da jemand weiter helfen könnte. Schon mal besten Dank und viel Erfolg bei Euren Projekten Gralf
Für das Sony-Unilink-Interface hier: http://gnunilink.sourceforge.net/ http://www.cus.org.uk/~cleggy/ die Schaltung hab ich bei mir auch schon am Laufen.
Danke Michael! Das ist schon mal ein Anfang. Im Moment habe ich jedoch ein Kenwood-System mit dem sog. MZ-Bus. Wenn da jemand noch was weiß, wäre das toll. Gralf
bin bis jetzt gar nicht weiter gekommen mir über das Projekt Gedanken zu machen. @Ralf: du hattest doch schon bei Segor Teile bestellt und es hörte sich so an, als wenn du schon experimentierst. Gibt es da neuigkeiten? (kommst du aus Berlin (bzgl. Segor) ) @CD-Wechsler Ansteuerung: Da wird wohl jeder mit seinem Radio selber kämpfen müssen. Vielleicht sollte man aber im Code darauf achten, die Routinen entsprechen universal anpassen zu können. Bin am überlegen eine Site zu eröffnen, für das Projekt: MP3 Player mit CF/HDD Interface via 8515 und CD-Wechsler Anschluß Dort könnte dann Code und Schaltungsaufbau besser ausgetauscht werden. Was haltet ihr davon? Wer hätte denn was anzubieten?
Rene, eine Internetseite zu eröffnen wäre ne gute Idee, da ja anscheinend doch mehrere daran interessiert sind. Leider ist es bei mir noch nicht weiter als bis zur Idee. Ich habe auch schon die Redaktion von Elektor (www.elektor.de) angeschrieben, ob die helfen können. Die sind zwar an dem Thema interessiert, haben jedoch selbst noch keine Informationen sammeln können. Die Hersteller stellen sich da wohl quer. Nicht umsonst hat wohl jeder Hersteller sein eigenes Interface. Dabei wäre doch ein einheitlicher Standard auch für die von Vorteil. Tja, sind wir wohl auf uns selbst gestellt. Rene, wenn Du die Seite fertig hast, wäre ich für einen kurzen Link danbar. Gralf
Michael, Dein Link war mehr wert, als es schien! Im Forum zum Unilink von Sony habe ich folgenden Link gefunden, der auch Details zu Kenwood, Blaupunkt, Pioneer, Panasonic beschreibt. Außerdem gibt es einen CD-Emulator mit dem AVR8515 für Sony. www.mictronics.de Rene, vielleicht findest Du dort auch Anregungen bezüglich Deiner Site.
Hallo, @Rene:Habe die Teile zu Hause, bin aber leider im Moment etwas stark auf der Arbeit eingebunden und bin deshalb nicht dazu gekommen was zu testen. Hoffe jedoch, dass ich innerhalb der nächsten Woche dazu komme, auch zu Hause nochmal was daran zu basteln. Werde mich wieder melden. Komme nicht aus Berlin, wohne in Regensburg. Habe aber nirgends diese Teile bekommen, deshalb habe ich dann bei Segor bestellt. War aber sehr positiv vom Service überrascht. Habe nach einer Bemassung für den CF-Sockel gefragt und eine Stunde nachdem ich die e-Mail geschrieben hatte, haben sie mir das Datenblatt schon gefaxt. Kannte ich von Conrad usw. nicht. Gruß, Ralf
@Rene Ich will dich nicht davon abhalten, aber ein 8515 ist vielleicht nicht die beste Wahl. Hier http://www.h-mpeg.de/ wurde ein MP3-Player mit 8515 realisiert (hab ich mir auch nachgebaut) und dort ist der Programmspeicher zu knapp geworden. Inzwischen versuchen einige das alles auf einen anderen Prozessor umzubauen, verläuft aber irgendwie im Sand. Wenn ich den Link zu dem Forum wieder finde, setze ich ihn hier rein. Also nicht aufgeben, nur evtl. einen anderen Prozessor nehmen ;-) Michael
Hallo Will ebenfals mit einem Atmel eine CF-Card auslesen für einen Gameboy als Spieledatenbank. Vieleicht hilft der Link einigen. http://www.mcselec.com/an_127.htm Dirk
@Mark Kannst du mir mal bitte deine E-Mail Adresse geben? Musst sie ja nicht hier posten, schreib mir einfach. Bin an deinem Projekt mit dem SAB C167 sehr interessiert. Gruß Marco
Also eigentlich kann man auch ohne Dateisystem gut auskommen: Man füllt die erste Partition der Karte komplett mit einer Datei, in deren Anfang man eine Kennung schreibt. Darüber kann man dann die Daten beliebig lesen/schreiben ohne sich um ein Dateisystem kümmern zu müssen. Verschlüsseln auf Partitionsebene funktioniert dann natürlich nicht. Mit low-level-Zugriffen, z. B. mittels dd, braucht man auch von PC-Seite überhaupt kein Dateisystem - man braucht dann nicht einmal zu Partitionieren. Bei Karten wie MMC/SDC hat man ja das Problem, dass man nur in 512 Byte -Blöcken und nur aligned Lesen/Schreiben kann. Mit high-Level-Funktionen mit denen man n (=1...512) Bytes von/an jeder beliebigen Adresse lesen/schreiben kann, benötigt man schon 2 512 Byte große Buffer, also 1 kB RAM - da bleibt für sowas wie FAT kaum noch Platz.
hallo vielleicht hilft euch der Link http://home.t-online.de/home/holger.klabunde/avr/avrboard.htm#cf Gruß Peter
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.