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ß?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.