-
-
Neuer Benutzer
Öfters hier
usb-schnittstelle protokollieren
Hallo, ich habe ein Problem und hoffe, dass hier jemand ist, der sich damit auskennt und mir helfen kann:
Meine Aufgabe ist folgende: Eine Hardware soll erstellt werden, mit der man die Datenübertragung an einer USB-Schnittstelle protokollieren und auslesen kann, allerdings ohne Mikrocontroller. Mich in Mikrocontroller einzuarbeiten würde eh viel zu lange dauern. Ich soll einen FTDI-chip zum Abgreifen der Daten verwenden. Ich hab mich mal ein bisschen darüber informiert (habe vorher noch nie mit sowas gearbeitet) und bin auf den FT232R gestoßen. Kann mir jemand sagen, ob der dafür geeignet ist.
Wäre nett, wenn mir jemand antworten würde. Würde mich auch über weitere Tipps von euch freuen.
-
Erfahrener Benutzer
Fleißiges Mitglied
Nach meinen ersten Versuchen mit USB würde ich sagen
ohne Mikrocontroller wird es wahrscheinlich nicht gehen.
Der Bus ist eigentlich aus Hardwaresicht nämlich kein
Bus sondern ein Stern. Die Daten werden bei Full Speed
(12MBit) als differentielle Signale übertragen.
Zudem wird noch über Widerstände die Geschwindigkeit
des Geräts und dessen Präsenz detektiert.
Da kann man nicht einfach einen zweiten Baustein parallel
schalten.
Für den Anfang und um zu sehen wie Komplex der
USB-Bus ist, würde ich dir empfehlen die Seite von
http://www.beyondlogic.org/
zu studieren.
Im besonderen "USB in a Nutshell - Making sense of the USB
standard" und "USB Protocol Analysers".
GeoBot
-
Neuer Benutzer
Öfters hier
Das ist ja genau mein Problem. Ich habe mich schon über die Datenübertragung an der USB-Schnittstelle informiert und weiß, dass man die Daten nicht so einfach abgreifen kann, da sich jedes Gerät, dass man an den Bus hängt, zuerst irgendwie identifizieren muss und eine Adresse zugeteilt bekommt. Könntest du mir sonst irgendeinen Tipp geben wie man so etwas realisieren könnte? Ich bin dankbar für jeden Tipp, den ich bekomme. Im notfall probiere ich es halt mit nem Mikrocontroller, hab halt nur noch nie damit gearbeitet.
Vielen Dank trotzdem für deine Antwort!
-
Erfahrener Benutzer
Fleißiges Mitglied
Die zündende Idee habe ich da auch noch nicht ge-
habt! Aber man kann ja mal darüber philosophieren,
und schauen ob etwas herauskommt.
Angenommen wir wollen die Kommunikation nur
"mithören", dann brauchen wir einen "Baustein"
den wir an die beiden Leitungen eines Differenzsignals
hängen, der dabei die Datenübertragung nicht stört
und uns das Signal vom Bus entkoppelt zur Verfügung
stellt.
Möglicherweise tut es ein breitbandiger OP mit
JFET-Eingängen? Daran dann einen Schmitttrigger.
Da die dann die beiden Bitströme einem mit
12 MBit/s seriell entgegenkommen ist die Frage
wie bekomme ich die in einen Rechner?
Mit RS232 ist da nix.
Ich denke auch ein Parallelport wird da noch zu
langsam sein. Oder können die 1,5MByte/s?
Und das geht auch nur wenn man einen
Seriell-Parallel-Wandler findet der da schnell genug
ist.
Bliebe noch Ethernet - USB HighSpeed - oder eine
PCI-Karte.
Gibt man sich mit Ausschnitten aus der Kommunikation
zufrieden, kann man den in einem großen FIFO
zwischenspeichern und langsam in den Rechner einlesen.
Den Rohdatenstrom mit dem ganzen Protokolloverhead
muss man dann "nur" noch filtern um an die Daten zu
kommen. Dazu musst du dann aber die verschiedenen
Protokolle beherrschen.
Also nichts was man mal so zwischen durch machen kann.
GeoBot
-
Neuer Benutzer
Öfters hier
Das hört sich ja ziemlich kompliziert an.
Ich hab auch schon daran gedacht, einfach zwei Spulen jeweils um die invertierte und die nichtinvertierte Daten-Leitung zu wickeln und durch die darin induzierten Spannungen die Informationen abzugreifen. Das Problem ist nur, dass man dann eben nie weiß, von wo das Signal gerade kommt, wegen der bidirektionalen Übertragung.
Die Verarbeitung der Daten ist dann auch nochmal ein Problem. Ich habe gelesen, dass sie NRZI-Verschlüsselt sind und ich weiß nicht, wie man soetwas rückgängig macht. Ich habe für das Projekt eigentlich zwei wochen Zeit, denke aber nicht dass ich das noch in der Zeit schaffen werde.
-
Erfahrener Benutzer
Lebende Robotik Legende
Hallo!
Dier Idee vom GeoBot scheint mir am einfachsten zu sein, da man die Signale vom USB-Leitungen, ohne ein Gerät anzumelden (so wie mit einem Oszilloskop), "beobachten" kann. Man müsste nur noch eine Hardware bauen, die sich am USB-Port eines PCs anmeldet und die Daten einlesen lässt. Vielleicht könnte man dafür sogar ein fertiges USB-Oszilloskop adaptieren ?
Edit: in deinem erstem Beitrag ist nur angegeben, dass die Daten protokoliert und nicht analisiert werden sollen.
MfG
MfG
(Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
-
Neuer Benutzer
Öfters hier
In meiner Aufgabenstellung steht nur, dass ich die Daten protokollieren soll, egal in welcher Form. Ich soll dann ne Anleitung dazu schreiben, wie man sie wieder mithilfe eines Programmes umformen kann. Mit C oder C++ zum Beispiel. Das mit dem OP hört sich wirklich nicht schlecht an. Meinst du einer aus der TL06_Serie würde funktionieren? Und reicht die Betriebsspannung, die ich über das USB-Kabel bekomme aus um den OP zu versorgen?
-
Erfahrener Benutzer
Lebende Robotik Legende
Fürs protokolieren eines USB-Busses mit 12 MHz rechteckigen Impulsen sollte der OP die Bandbreite um 120 MHz haben, es wird also mit "normalen" OPs nicht gehen. Wenn du einen breitbändigen rail-to-reil OP (z.B. MAX 4012, 4108, 4113, 4224 vom Reichelt) nimmst, dann würde die +5V von USB reichen.
MfG
-
Neuer Benutzer
Öfters hier
Hab mir mal die Datenblätter der von dir genannten OP`s angeschaut. Jetzt hätte ich nochmal ne Frage. Ich hab schonmal vor längerer Zeit mit OP`s ein paar kleinere Schaltungen aufgebaut. Ich weiß noch, dass man immer eine + und eine -Spannung anlegen musste. Beim USB-Anschluss hat man aber doch als Versorgungsspannung 5 V gegen Masse. Geht das dann? Und was mir auch noch aufgefallen ist, die OP`s brauchen 12V supply voltage. Da reichen doch die 5V gar nicht vom USB.
-
Erfahrener Benutzer
Lebende Robotik Legende
Die + und - Spannungen sind nur für nicht rail-to-rail OPs notwendig. Die von mir o.g. OPs arbeiten schon ab 3,3 V (erste Seite des Datenblatts).
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen