-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: usb-schnittstelle protokollieren

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2009
    Beiträge
    6

    usb-schnittstelle protokollieren

    Anzeige

    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.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.02.2008
    Beiträge
    130
    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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2009
    Beiträge
    6
    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!

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.02.2008
    Beiträge
    130
    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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2009
    Beiträge
    6
    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.

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    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!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2009
    Beiträge
    6
    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?

  8. #8
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    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

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2009
    Beiträge
    6
    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.

  10. #10
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    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).

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •