USB Funktionsweise

Gast #176079
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
Gast #176081
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
Gast #176082
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!!
Gast #176084
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)
Gast #176086
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!
Gast #176087
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.
Gast #176088
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...)
Gast #176090
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.
Gast #1043943
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
Gast #1043976
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
Gast #1044100
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren