mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Compactflash am externen Memory Interface


Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich beschäftige mich grade mit dem Thema Compactflash. In einer 
Anwendung will ich diese Compactflash Karten mit einem uC verbinden, und 
zwar möchte ich dazu das externe Memory Inferface benutzen (LPC2468).
Es stellt sich mir nun die Frage, wie man mit vertretbarem 
Bauteilaufwand eine Hotplug-Fähigkeit der Karte erreichen kann, da am 
Bus noch andere Komponenten wie RAM und dergleichen angeschlossen sind, 
die während des Ein- oder Aussteckens der Karte natürlich nicht gestört 
werden sollen.
Auch frage ich mich, ob es sinnvoll ist, gleich nur den 8 Bit Modus zu 
verwenden. Das wäre mir etwas sympathischer, da ich dann 8 Leitungen 
sparen kann.
Wie seht ihr das so?

Gruss

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht macht es Sinn, die Busleitungen zu entkoppeln. Für den 
Datenbus könnte man ein 74xx245 nehmen.

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
jawoll, den Datenbus muss man wohl mit '245ern entkoppeln. Für die 
Adressleitungen dasselbe.
Was ich mich noch frage:
Im Memory Mapped Mode reicht es, wenn man die Adressleitungen A0 bis A3 
beschaltet. Aber mir ist noch nicht klar, wie man der Karte sagt, ob der 
Datenbus 8 oder 16 Bit breit ist? Und woher weiss die Karte, ob sie im 
IDE Modus oder im Memory Mapped Modus betrieben wird?
Und wie ist das dann mit dem Datenregister. In der CF Spec heisst es, 
dass man entweder 16 Bit breit auf das Datenregister zugreifen soll, 
oder dass man die beiden Bytes nacheinander lesen kann, wenn man 8 
bittig zugreift. Aber in welcher Reihenfolge kommen die Bytes dann aus 
dem Datenregister? Das erschliesst sich mir noch nicht so ganz.

Autor: Star Keeper (starkeeper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ob nun 8Bit oder 16Bit wird über die Beschaltung der Pins an der 
CF-Karte geregelt. Und der Zugriff je nach Modus also MemMapped oder IO 
erfolgt über verschiedene Steuersignale. Dennoch muss man der CF-Karte 
vorher sagen welcher Modus jetzt am Start ist. Ich meine das es 
standardmäßig immer erstmal der Mem-Modus war.

Die Pins für den Modus siehst du hier: 
http://pinouts.ru/Memory/CompactFlash_pinout.shtml

Wichtig bei dem Anschluss an ein Memory-Interface ist die Verwendung des 
WAIT-Signals. Denn so eine CF-Karte hat Teils Zugriffszeiten von bis zu 
300ms! Aber nicht immer und auch nicht die gleichen für Lesen und 
Schreiben. Sodass es ohne die Auswertung des Wait-Signals doch eine 
recht langsamme angelegenheit werden kann.

Autor: Tobias Plüss (hubertus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
okay danke erstmal. Hast du eine ungefähre Ahnung, welche Lese- und 
Schreibgeschwindigkeiten man mit einem 8 Bit breiten Bus erreichen kann? 
Ich denke, es könnte auf alle Fälle schneller als SD-Karten sein, aber 
sicher bin ich mir nicht.
Es ist mir auch immer noch nicht klar, ob alle Karten den 8 Bit Modus 
unterstützen bzw. in welcher Reihenfolge die Bytes an D0..D7 raus kommen 
(big oder little endian).
Wenn ich einen Sektor lese, kann ich dann einfach 512 mal von der selben 
Adresse (=Adresse des Datenregisters) lesen? Bei dem 16 Bit Interface 
kann man ja dann dementsprechend 256 mal lesen.

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.