mikrocontroller.net

Forum: Offtopic CF-2-IDE andersrum


Autor: Thomas Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin in ein Projekt involviert bei dem wir eine sehr spezielle
Komponente benötigen: einen CF-2-IDE Adapter.

Allerdings nicht einen üblichen der es erlaub eine CF-Card an einen
IDE-Bus anzuschliessen sondern genau umgekehrt, so dass man z.B. eine
2,5 IDE Platte über die CF-SChnittstelle an einem PDA nutzten kann.
Strom spielt keine Rolle der kann von extern kommen.

Ich bin ein Laie was Elektronik angeht, weiß aber dass die IDE- und
CF-Schnittstelle nahzu identisch sind weshalb es ja auch prima in die
eine Richtung klappt. Ist die andere Richtung die ich benötige
technisch nicht machbar oder existiert dafür kein Markt?

Bin für jedes Feedback sehr dankbar.

Gruss Thommy

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, die CF-Schnittstelle ist mitnichten dasselbe wie eine
IDE-Schnittstelle. Sie kennt eine "TrueIDE" genannte Betriebsart, in
der sich CF-Devices verhalten wie IDE-Devices, sie kann aber auch ganz
anders - näheres siehe www.compactflash.org.

Letztlich ist die CF-Schnittstelle sehr eng mit der PCMCIA- bzw.
Cardbusschnittstelle verwandt.

Dein Projekt, eine IDE-Platte an einen PDA anzuschließen, wird daher
mit recht großer Wahrscheinlichkeit nicht funktionieren, da der PDA
CF-Karten ja nicht unbedingt im TrueIDE-Modus ansprechen muss.
Das ist sogar äußerst wahrscheinlich, da so ein PDA auch WLAN- und
sonstige Erweiterungskarten im CF-Format ansprechen kann.

Fazit: So nicht realisierbar.

Autor: Thomas Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dank fürs Feedback Rufus.

Also so wie ich das bis jetzt verstanden habe ist die CF- und
IDE-Schnittstelle Protokoll und "Level"-kompatibel, da ein
"normaler" CF-2-IDE Adapter ja auch nur eine Neuverdrahtung der Pins
+ "TrueIDE = enabled" voraussetzt (habe ich z.B. heir her:
http://www.wau.nl/hemeltje/temporary/personal/misc...).

Nehmen wir doch einmal an der Host würde TrueIDE nutzen, so würde sich
die CF wie ein IDE Device verhalten und dann müsste man doch auch eine
IDE-Platte dranhängen können.

Wo ist da der Gedankenfehler wenns nicht geht?

Tommy

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CF und IDE sind eben nicht wirklich kompatibel; TrueIDE ist nur eine
Teilmenge von CF.

 "Nehmen wir doch einmal an der Host würde TrueIDE nutzen, so
  würde sich die CF wie ein IDE Device verhalten und dann
  müsste man doch auch eine IDE-Platte dranhängen können.

  Wo ist da der Gedankenfehler wenns nicht geht?"

Der Gedankenfehler liegt in der Annahme, daß der Host TrueIDE
implementiert. Das wird er nicht tun - aus bereits dargelegten
Gründen.
Und Du wirst ihn nicht dazu zwingen können - der Host schreibt dem
CF-Device vor, wie es sich zu verhalten hat, nicht umgekehrt.

Wenn der Host tatsächlich TrueIDE nutzen sollte, dann könnte Deine
Idee funktionieren - aber eben nur dann.

Je nach verwendetem Host ist das aber ziemlich bis sehr
unwahrscheinlich - spätestens wenn im CF-Slot auch andere Dinger als
Speicherkarten funktionieren, dürfte es so gut wie ausgeschlossen sein.
Und selbst wenn nur Speicherkarten im Slot funktionieren, ist auch nicht
ausgeschlossen, daß der Host hier ein memory-mapped-Verfahren anwendet.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

dazu kommt noch das CF's im True-IDE Modus 8-Bit Übertragung
ermöglichen. Das können Platten schon lange nicht mehr. Wenn also der
Host die CF im TrueIDE Modus nutzt muß diese zusätzlich noch im
16-Bit-Modus angesprochen werden. Sind für meinen Geschmack etwas viele
"wenns". Kauf Lieber ne große CF-Karte oder Micro-Drive im CF Format.

Matthias

Autor: Thomas Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

also wenn ich euch recht verstehe dann

1) ist keine direkte CF-IDE Verdrahtung möglich falls der Host nicht im
TrueIDE Modus arbeitet

2) und selbst wenn er im TrueID-Modus läuft würde er mit 8 Bit arbeiten
was keine moderne IDE Platte mit macht.

Nun gut dann scheint die "einfache" Variante auszuscheiden. Aber wie
sieht es denn mit dem Einsatz eines Controllers aus, der sich um diese
"Probleme" kümmert. Ginge das? Wie hoch würdet ihr den Aufwand
einschätzen?

Nochmals Dank für Euer Feedback.

Tommy

P.S. Große CF-Card ist leider keine Lösung da etwa 100 GB benötigt
werden

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Aber wie sieht es denn mit dem Einsatz eines Controllers aus,
der sich um diese "Probleme" kümmert.
Ginge das?
Wie hoch würdet ihr den Aufwand einschätzen?"

Prinzipiell ist erstmal alles möglich, aber der Aufwand dürfte sehr
extrem sein.

Eine Emulation der anderen CF-Betriebsarten mit dem Ziel, das auf eine
IDE-Platte abzubilden dürfte ein mehrere Mannjahre verschlingendes
Projekt sein.

Eine Möglichkeit wäre der Einsatz eines PCMCIA-SCSI-Controllers (so
etwas gibt es) zusammen mit einer ausreichend großen Festplatte.
Dazu muss natürlich der Host in der Lage sein, den SCSI-Controller
anzusprechen (Treiber?) ... und eine ausreichend große SCSI-Platte
beschafft werden.

Ob es PCMCIA-IDE-Controller gibt, entzieht sich gänzlich meiner
Kenntnis.

Auch müsste geklärt werden, ob der CF-Host überhaupt in der Lage ist,
derartig große Datenträger zu beschreiben.
Viele Digitalkameras mit CF-Slot beispielsweise können mit CF-Karten >
2 GByte nichts anfangen, weil sie nur das Dateisystem FAT16
unterstützen.

Magst Du uns einige Details Deines Projekts (genau: was für Geräte mit
CF-Slots unter welchem OS) verraten, auf daß wir Dir
Lösungsalternativen unterbreiten können?

Autor: Thomas Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Magst Du uns einige Details Deines Projekts (genau: was für Geräte
> mit CF-Slots unter welchem OS) verraten, auf daß wir Dir
> Lösungsalternativen unterbreiten können?

Klar mache ich gerne. Ist nichts geheimes :-)

Es geht um eine Lengzeitbeobachtung und Dokumentation eines
Brennprozesses. Dabei soll alle 5 Sekunden eine hochauflösendes
Digitalfoto geschossen werden (8Megapixel je nach Komprimierung 2-6 MB
groß). Das ganze soll mehrere Tage laufen und um möglichst einen ganzen
Tag durchlaufen ohne Speichermedien austauschen zu müssen (60/5*60*24 *2
MB = 34 GB bzw 100 GB bei 6MB/Bild).

Daher sollten es schon rund 100 GB sein. Wenn wir da mit einem 4 GB
Microdrive arbeiten würden, bekämen wir ganz schön lange Arme und eine
undokumentierte Zeitspanne.

Ich muss mir jetzt noch mal Alternativen überlegen, denn ich laufe mit
meinen bisherigen Überlegungen immer wieder vor die Wand:

1) direktes herunterkopieren per USB2USB Logik: klappt nicht da die
Kameras entweder im AUfnahmemodus oder im Wiedergabemodus (USB Storag
Class Schnittstelle) sein können aber halt nicht beides gleichzeitig

2) Steuern der Kamera per Software ist auch keine brauchbare Lösung da
dann die USB2 Schnittstelle zur USB1 SChnittstelle beim Downloaden wird
und das somit viel zu langsam geht. Da läuft eine CF-Puffer-Karte ganz
schnell voll.

Tja so siehts im Moment aus. Die Variante mit dem direkten Ansprechen
der CF-Schnittstelle schien mir die letzte mögliche Alternative.

Tommy (zur Zeit etwas ratlos)

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

na auf mehrere Mannjahre würde ich den Aufwand nicht schätzen. Da in
allen Betriebsarten ja nur 512 Byte große Sektoren an bestimmte
Adressen geschrieben bzw. gelesen werden sollte ein FPGA das erschlagen
können. Die Register sind in allen Betriebsarten recht ähnlich. Der
relevante Teil der CF-Spec für diese Aufgabe hat ja grade mal 30
Seiten.

Für jemanden der VHDL recht gut beherscht sollte das nicht mehr als ein
Wochenende Arbeit sein wenn die Hardware steht. Evtl. könnte man das
sogar mit einem AVR plus etwas Glue-Logic erschlagen wenns nicht auf
Geschwindigkeit ankommt.

Matthias

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, es geht also um eine Digitalkamera.

Dann kannst Du immerhin das erste Knockout-Kriterium überprüfen: Kennt
die Kamera FAT32? Was für eine isses denn?

Wenn die Kamera per Software fensteuerbar ist, und dann aber zu langsam
- mal über 'ne andere Kamera nachgedacht? Oder hast Du bereits
entsprechende Untersuchungen angestellt und kannst ausschließen, daß
eine der per USB fernsteuerbaren Kameras im Fernsteuerbetrieb USB2
"high speed" unterstützt?

Ist die hohe Auflösung/geringe Kompression jedes einzelnen Bildes
wirklich erforderlich?
Wenn die auch nur etwas 'runtergeschraubt würde, könnten die
übertragbaren 1 MByte/sec der Fernbedienung vielleicht genügen (mal
angenommen, daß die nicht noch langsamer ist).

Desweiteren könntest Du mit geeigneter Messtechnik versuchen
herauszufinden, auf welche Art und Weise Deine Kamera mit den CF-Medien
kommuniziert (CF-Verlängerung, Oszilloskop und CF-Dokumentation zum
Herausfinden der Betriebsart).
Das lohnt, da es eine Kamera und kein PDA ist, also nicht anzunehmen
ist, daß andere Dinge als Speicherkarten angesprochen werden.
(Schick wäre natürlich 'ne Netzwerkkarte, aber welche Kamera
unterstützt sowas schon?)

Vielleicht tritt ja der von mir als unwahrscheinlich bezeichnete Fall
ein, daß der TrueIDE-Modus mit 16 Bit-Zugriffen genutzt wird, dann
wärest Du aus dem Schneider ...

(und wenn's TrueIDE mit 8 Bit sein sollte, da ließe sich sicherlich
mit überschaubarem Aufwand eine Konvertierungslösung finden)

Was auch immer: Viel Erfolg.

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.