Forum: Mikrocontroller und Digitale Elektronik USB Funktionsweise


von Grazzy (Gast)


Lesenswert?

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

von Rahul (Gast)


Lesenswert?

1.Guter Link:
www.usb.org

2. Vergiss es!

von Thomas Burkhardt (Gast)


Lesenswert?

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

von Grazzy (Gast)


Lesenswert?

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!!

von Rahul (Gast)


Lesenswert?

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.

von Thomas Burkhardt (Gast)


Lesenswert?

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)

von Michael F. (Gast)


Lesenswert?

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)

von Uwe Nagel (Gast)


Lesenswert?

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!

von Klaus (Gast)


Lesenswert?

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.

von thkais (Gast)


Lesenswert?

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...)

von Michael F. (Gast)


Lesenswert?

"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)"

von Rufus T. Firefly (Gast)


Lesenswert?

@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.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

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.

von Mike (Gast)


Lesenswert?

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

von Dennis (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Meint ihr wirklich, dass das den OP nach 3,5 Jahren noch interessiert?

von USB OTG ignorant (Gast)


Lesenswert?

abo

von OldThread (Gast)


Lesenswert?

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