mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lucky-page@gmx.de


Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

kann mir jemand helfen??
Ich versuche die Daten aus einer CF-Karte mit ATmeg161 auszulesen!
Es gibt da 3 verschiedene Möglichkeiten! (PC CARD I/O MODE, True IDE
Mode, PC CARD Memory Mode)
Ich verstehe im grossen und ganzen schon wie es gehen soll.
Aber eins verstehe ich irgendwie nicht. Welche Möglichkeit ich da
nehmen soll??
Habe schon auch bei yammp geschaut und er benutz GLAUBE ich PC CARD I/O
Mode!
Was denkt Ihr, welche Möglichkeit ich nehmen soll?
Besser wäre, wenn mir jemand sagt, was die einzelne Möglichkeiten für
Vorteile und Nachteile haben!

Kann mir da jemand helfen.

Gruss Stefan

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im True IDE Mode kommst du an die COMPACTFlashKarten Konfiguration nicht
ran. Der Memory Mode ist der schnellstmögliche Zugriff da hierbei der
Memorycontroller des ATmega161 das Signalspiel übernimmt. In den
anderen Modi müßtest du dies per Portzugriff machen und diese
Portzugriff und überprüfungen sind langsamer. Es setzt natürlich eine
schnelle CF Karte voraus da das WAIT Signal vom AVR nicht unterstützt
wird. Also entsprechend evt. Waitstates einfügen. Von einer heutigen
CFKarte würde ich aber volle geschwindigkeit an einem AVR erwarten. Der
Zugriff auf der Registerebene unterscheidet sich nicht. Du musst halt
nur die entsprechende Adresse nehmen. Du kannst davon ausgehen daß jede
CF Karte 8Bit Zugriffe unterstützt, dies ist bei Festplatte nicht so.
Schau dir
das Speicherfenster auf den Registern an, damit kannst du per memcopy
einfach einen kompletten Sektor kopieren. Wichtig: nach einem Befehl
stehts das RDY Bit abwarten und dann erst zugreifen.
Wenn du nur eine möglichkeit zur Datenspeicherung sucht ist eine SD/MMC
Kartenlösung definitiv einfacher.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleiht ist das eine blöde Frage!
ISt es überhaupt wichtig an die Konfiguration der COMPACTFlashKarte
ranzukommen, um die Daten auszulesen?? Wenn ja wozu ist dieser True IDE
Mode?

So wie ich verstanden habe empfiehlst du mir den PC Card Memory Mode zu
benutzen oder?

Gruss Stefan

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist eigentlich nicht wichtig an die Config der Karte ranzukommen
solange man nur Daten speichern will. Bei Multifunktionskarten könnte
es interessant werden.
Im True IDE kann man ein CF Karte wie eine Festplatte betreiben. Es
gibt da Adapter mit denen man sie an einen IDE Port anschließt.

Es ist egal welchen Modus du benutzt! Im Memory Mode wirst du dich nur
am wenigsten mit dem Signalspiel, das die CF Karte erfordert
beschäftigen,das macht der Memorycontroller des AVR. Also die Karte
hängt am externen Speicherbus des AVR. Du solltest allerdings wissen
wie du in C oder anderen Programmiersprachen auf Memorymapped Register
zugreifst.
Es sieht auch übersichtlicher aus wenn du schreibst
CommandRegister= Kommando

als bei PC IO Mode
PORT1=adresse Kommandoregister
PORT2=Kommando
PORT3=(1<<schreiben)

und höchstwahrscheinlich wird der Memorymapped Code schneller sein.
Die wesentliche Frage ist hast du die CF Dokumentation verstanden.
(Signalspiel, Zugriff auf Register,etc.)
bist du in der Lage einen externen RAM (wäre sehr empfehlenswert) und
eine Karte an den Speicherbus zu hängen?
Versuche mal einen Programmzugriff für das Lesen von Sektor 22 zu
formulieren. Ein mal für die am Speicherbus hängende Karte im
Memorymapped Mode und einmal für den IO Mode.
Wenn du dabei auf massive Probleme stößt, mach es so wie yammp das
kennen sehr viele die dir dann auch helfen können wenn es Probleme
gibt.
Der Memorymapped Modus ist aus meiner Sicht insgesamt einfacher ,man
braucht halt nur einiges Vorwissen. Ich habe das mal mit nem Z180
gemacht.
Noch eine Bemerkung: Der Mega161 hat 16K Flash 1K RAM + evt. externes
RAM
Die meisten benutzen entweder die yammp FAT Implementierung oder die
von Uli Radig (findest du hier im Forum) Ich weiss nicht genau wieviel
Flash/RAM die benötigen. Ich kenne nur eine Implementierung die
benötigt 9K Flash und 800 Byte RAM bei 5 Dateien(Lesen/Schreiben etc).
Also insoweit dürfte es ohne externes RAM etwas eng werden und auch vom
Flash sieht es dann etwas eng aus.
Was willst du eigentlich machen?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will einen MP3 Player bauen, da ich es nicht einfach nachbauen will,
will ich alles selber machen. Ich habe halt nach Herausforderung gesucht
und es ist für mich zurzeit aufjedenfall eine.

Also eigentlich habe ich schon alles was ich brauche, von Informationen
und Wissen (glaube ich zumindestens), bei mir hängt bloss alles an der
CF-Karte. Da habe ich voll die Problemme. Irgenwie verstehe ich es und
anderseits sehe ich das ich gar nichts verstehe!
Also ich tue aufjedenfall in PC CARD Memory Mode die Kargte benutzen!

Gruss Stefan

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Weg ist das Ziel...
Ich zweifle dass der Mega161 gross genug ist.
Mit der CF-Spezifikation hast du eigentlich alle Informationen die du
benötigst.
Stelle mal konkrete Fragen, was du nicht verstehst.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche I/O bei der CF Karte in PC CARD Memory Mode, sind für Daten
Übertragung zuständig (OE und WE)?

Ich habe einige Beiträge gesehen, wo davon gesprochen wurde OE und WE
zu invertieren z.B mit NAND Gate?? Warum?

So wie ich es verstehe sind die A10-A0, CE1, CE2, REG, sind die
Eingänge in CF, um von µController aus die Register anzusprechen! Oder?


Schlag mich wenn ich falsch liege, aber ich bin verzweifelt!!

Das mit den Sektoren über FAT32 habe ich schon vertstanden, muss halt
den weg finden über Register, diese rauszulesen. Aber bis ich soweit
bin muss ich das andere vertstehen.

Gruss Stefan

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie würdest du 2x SRAM an den AVR dranhängen?
und jetzt ersetzt du den einen SRAM durch die CF-Karte.
Adressleitungen und Datenleitungen sowie Chip enable der CF-Karte
entsprechen 1 zu 1 den des ersetzten SRAMS im Bereich
Adresse CFKARTE bis Adresse CFKARTE+2048 (2^11) hast du die Register
memorymapped vorliegen und kannst das Register jeweils mit der
entsprechenden Speicheradresse also Adresse CFKarte + Registeradresse
ansprechen. Was CE1 CE2 und Reg machen solltest du dir in der CF
Dokumentation für den memorymapped mode noch durchlesen.
Probier mal eine Schaltung mit 2 32K SRAMs am AVR aufzuzeichnen und
dann ersetze den 2. SRAM durch die CFKarte. Signale die dir unklar sind
erst mal weglassen. (da ergeben sich dann gleich die nächsten relevanten
Fragen)

Stefan, dass was du da vorhast ist recht umfangreich aber ich schätze
das weisst du selber. Ich schätze mal du bist das nächste halbe Jahr
mindestens damit beschäftigt. Du hast geschrieben du willst es selbst
machen,finde ich gut. Insoweit, wenn du Hilfe von mir diesbezüglich
erhältst, dann wird das einiges selbststudium erfordern und ungefähr so
wie oben aussehen. Ich hoffe das ist ok.
Wenn du lieber gleich eine Schaltung haben willst die du
zusammenlötest, dann würde ich dir yammp empfehlen das liefert dir die
Funktionalität. Der Lerneffekt ist natürlich wesentlich geringer.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.