Hallo Ich will versuchen einen 8051er mit einem USB-Stick zu verbinden. Es wäre einmal interessant zu wissen wie ein USB Bus funktioniert bzw. wie ein usb-stick funktioniert. vielleicht hat irgendjemand eine Idee oder einen guten link dafür!!! ist es überhaupt möglich einen usb-bus auf einem 8051er zu realisieren oder ist der aufwand zu groß?? mfg Grazzy
Hi, du bist verrückt :) Du solltest erst einmal mehr über USB in Erfahrung bringen. www.usb.org z.B. Bei USB gibt es (vereinfacht gesprochen) nämlich genau einen Host (typischerweise der PC) und die Devices - also die Endgeräte. Wenn du also einen USB-Stick an den µC basteln willst, müsste dieser µC die komplette Host-Funktionalität auf diesem implementieren (man sagt, dies wäre recht aufwändig g). Normalerweise nimmt man jedoch für beide Seiten - also Host und Devices - einen speziellen Controller (die gibt es). Endgeräte-µC gibt es auf jeden Fall mit 8051-Kern, wie's bei den Hostcontrollern aussieht, weiß ich nicht. http://www.mikrocontroller.net/articles/USB
danke für die schnelle antworten!! OK! verstehe warum es so kompliziert ist!!! Meine Idee war eigentlich, dass ich mir einen kleinen computer mit tastatur, und einem kleinen S/W-LCD baue!!! und mit dem internen Speicher komme ich nicht aus wenn ich ein wenig graphisch programmieren will!!! und jetzt benötige ich einen kleinen externen speicher!! Ich weiß nicht einmal ob es mit dem 8051er möglich ist!! vielleicht hat irgendjemand eine gute idee für einen größeren externen Speicher !! Ein USB-Stick wäre das billigste!!! Ich muss mir noch das mit einem USB-Hostcontroller genauer anschauen!! vielleicht bekomme ich es mit ihm hin!!! mfg grazzy!!
Dafür bräuchtest du auch eher RAM als FLASH-Speicher...Da ist ein USB-Stick ungeeignet. Wenn Flash, dann würden sich CompactFlash u.ä. Karten anbieten.
Da kann ich Rahul nur zustimmen. Zur Nutzung von Flash (CF,MMC, wasauchimmer) einfach mal die Suchfunktion des Forums benutzen. Da gibts es schon einige Beiträge, aus denen du was entnehmen kannst. Ansonsten erst noch einmal genau überlegen, ob ein RAM oder FLASH gefragt ist... Viele Grüße PS: !!!!!!!!!!!!!!!!!!!!!!!!!! (zur freien Verfügung)
es hat schon mal einer geschafft, theoretisch ist das unter diesem link zu erreichen, aber der server is wohl grad down: http://cesko.host.sk/ Falls du nen usb-joystick bauen willst, dann schau auf www.mindaugas.com (ich weis, das is nicht ganz das was gesucht ist, aber so ähnlich)
Unter den oben genannten Links findetman keine USB-Hosts sondern Slaves, die kann man mit Einschränkungen mit einem einfachen Controller realisieren, bzw. es gibt diverse Contoller mit USB-Slave Schnittstelle. Das Problem ist der HOST!
Um mit einem Controller einen USB-Stcik als Host anzusprechen brauchst du mehrere Schichten: 1. Die Hardware eines speziellen USB-Device Controllers PDIUSBD11/12 von Philips. Diese Controller erledigen die notwendige 'Echtzeit'. 2. Eine Software die dir das 'Hot-Plug' unterstützt. 3. Eine Softwareschicht, die die Kommunikation durchführt. 4. Eine Software, die das Dateisystem des USB-Sticks abbildet (FAT). 5. Und letztendlich die Zugriffe aus deiner Applikation. Wie zu sehen ist, ist dies viel Arbeit nur um einen Speicher zu nutzen. Interressanter ist die Nutzung von SD-Karten wenn man viel Speicher braucht (4+5 bleiben dir dann erhalten) oder die Nutzung von seriellen SPI ansteuerbaren Flash-Bausteinen, wie sie z.B. Atmel bietet.
Wenn Du mit einem 8051 einen kleinen Computer bauen willst, dann brauchst Du doch nur das externe Speicherinterface des 8051 zu verwenden !!! Der kann das nämlich von Haus aus !!! Aber nur wenns ein 8051 ist, der den Bus nach außen geführt hat, z.B. der 8031, 8032, 80C535 !!!! Ich habe so ein Ding mal gebaut!!!! Für den 8051 gibts sogar ein BASIC!!! FREEWARE!!!!!! Übrigens: 32K SRAM reichen für ein Projekt Deiner Art vollkommen aus!!!!! Brauchst also keinen USB-Stick mit mehreren MB!!!!! (Mann, bin ich jetzt heiser...)
"Das Problem ist der HOST!" Sorry, schief gelesen, aber ich hab ja gesagt: "(ich weis, das is nicht ganz das was gesucht ist, aber so ähnlich)"
@Klaus: PDIUSBD11/12 sind USB-Devicecontroller, mit denen kannst Du keinen USB-Host aufbauen (falls doch, wüsste ich gerne, wie). Der PDIUSBD11 wäre für manches Bastelprojekt ein interessanter Chip gewesen, da er über eine I²C-Schnittstelle mit dem steuernden µC verbunden wird und obendrein im lötfreundlichen DIL-Gehäuse verfügbar war. Allerdings wird der aber schon seit einiger Zeit nicht mehr hergestellt. Der D12 hat ein paralleles Interface, aber auch das ändert nichts daran, daß das Teil nur ein Devicecontroller ist.
Hallo, der SM501 besitzt USB-Host und -Device Funktionalität, einen integrierten 8051 und einige weitere Schnittstellen (PCI, SPI, UART,...) und Videoausgang. Das könnte evtl was sein.
Wenn Du in die Funktionsweise des USB tiefer einsteigen möchtest, kann ich das Buch "USB Complete" von Jan Axelson empfehlen. Die Spezifikationen auf www.usb.org sind für Einsteiger kaum verständlich. Gruss Mike
Wenn es nur um die Realisierung eines USB-Hosts geht, ist es vermutlich einfacher direkt einen entsprechenden Baustein einzusetzen. Diese haben schon den ganzen USB-Kram integriert, und bieten auch Unterstützung für FAT an. Meiner Meinung nach ist das die einfachste Möglichkeit vom Mikrocontroller aus größere Massenspeicher über USB anzusprechen. Ein geeigneter Kandidat wäre der VNC1L. Ansteuerung wahlweise über SPI/UART/Parallel, da sollte für jeden was dabei sein. Link: http://www.vinculum.com
Hallo USB Kenner. Der Thread ist schon sehr alt und wiurde wieder ausgegraben. Ich kenne die USB-Geschichte nicht, deshalb Nachsicht für meine Frage. Läßt sich umgekehrt mit einem Atmega ein USB-Stick mit einem vertretbaren Aufwand simulieren. Ich würde gerne ein FAT32 (?) dateisystem auf I/O's mappen um mit Standardsoftware darauf zugreifen zu können. Ist das absurd?
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.