Forum: Mikrocontroller und Digitale Elektronik Funktionsprinzip Kartenleser


von Florian (Gast)


Lesenswert?

Hallo
Bei mir liegt gerade so unschuldig der aktuelle Reichelt Katalog auf dem 
Tisch und auf dessen Rückseite lächelt mich ein 23in1 Kartenleser an. 23 
halte ich zwar für Angeberei aber ich frage mich, wie man das für 5,- 
verticken kann. Durch das Gehäuse kann man ja die Bauteile erkennen und 
alleine die Vorstellung, wie billig man da so an die Kartenslots kommen 
könnte...
Was mich aber viel mehr beschäftigt: Wieviel Logik steckt da eigentlich 
drin und wieviel dann im Treiber? Immerhin ist da irgend so ein fettes 
IC drin. Gibt's da nicht vielleicht die Möglichkeit, das irgendwie an 
einen ATmega anzuschließen, ohne daß man gleich 32 KB in Treibercode 
stecken muß?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Ding ist ein USB Mass Storage Device. Die Ansteuerungslogik zum 
Ansprechen der vier verschiedenen Kartenformate (mehr sind es nämlich 
nicht, die "23" sind eine künstliche Angabe) CF, SD/MMC, MS, SM/xD und 
Umsetzen in das Mass Storage-Protokoll erfolgt im in den Kartenleser 
eingebauten Controllerchip.
Der Treiber des Betriebssystemes ist der Standardgeräteklassentreiber 
für Mass Storage Devices, daher muss ja beim Anschluss des Gerätes auch 
kein Treiber installiert werden (außer beim autistischen Windows 98).

Das Protokoll sieht sektorweisen Zugriff auf die verschiedenen 
Speichermedien vor, und das war's dann auch schon.

Ein Anschluss an einen Microcontroller wäre nur dann möglich, wenn der 
Microcontroller ein USB Host wäre und ein entsprechender USB Host Stack 
implementiert ist. Das können einige größere ARMe, oder ein noch im 
Prototypenstadium befindlicher Chip namens Vinculum von FTDI.
Ohne so etwas ist der Betrieb von USB-Devices an einem AVR nicht 
möglich.

von romanua (Gast)


Lesenswert?

@Rufus

CY7C67200, damit auch nicht?

von Florian (Gast)


Lesenswert?

Es muß ich nicht per USB sein. Von mir aus kann man ja auch irgendwo am 
Controllerchip ansetzen... Ich träume halt von so was, wie dem seriellen 
reinschieben der Daten und um den Rest kümmert sich das 
Controllerchip-Monster.

von Martin S. (werwurm)


Lesenswert?

Hallo!

Da immer weniger Computer über einen Parallelport verfügen (so auch 
meiner :( ), drängt sich mir hier die Frage auf, ob man so einen 
Kartenleser nicht als universal I/O verwenden könnte?! Zumindest der 
Port für die CF Karten müßte doch TTL Pegel führen? Da Windows für alle 
Kartenleser den gleichen Universaltreiber verwendet müßte die Steuerung 
doch auch bei allen gleich sein. Demnach bräuchte man nur noch Windows 
zwingen für dieses Gerät einen anderen (selbstgeschriebenen?) Treiber zu 
verwenden....

...oder ist das alles viel zu kompliziert gedacht? Hmm .. Es gibt ja USB 
Chips die für Mikrocontroller eine parallele Schnittstelle 
bereitstellen. PICs und AVRs mit integriertem USB .. .. aber die 
Vorstellung von solchen CF-Kartenlesern als "next-generation" 
Bastlerport fänd ich schon reizvoll.. :)

.. ist nur so ein unausgegorener Gedanke ..

--

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
Noch kein Account? Hier anmelden.