gibt es einen chip, oder eine möglichkeit zur galavanischen trennung eines usb signals an einen controller mit usb stack? könnte man einen can controller nehmen, um die differentiellen signale des usb in rx und tx aufzuspalten, dann diese signale mit 2 optokopplern galvanisch trennen und auf der device seite wieder in usb signale wandeln, wäre ein can controller dafür brauchbar, 82c250 oder ein dmx controller 75176? wäre soetwas denkbar, oder gibts es soetwas schon in einem ic? welches zudem einigermassen gut zu erwerben ist? dies geht nicht: http://www.elv-downloads.de/service/manuals/UO100/53789_UO100_km.pdf da im controller ein usbstack sein wird und: dies geht nicht http://www.baaske.net/usb_galvanisch_trennen.html da zu umständlich und aufwändig.... gruß, m.
Es gibt auch hybrid Optokoppler - die können in beide Richtungen "Optokoppeln".
Standardkonform geht das nicht. Die einzige ordentliche Lösung die ich jemals gesehen habe ist ein USB Hub, der eine galvanische Trennung hat. Als Baustein gibt es sowas nicht und einfach mit ein paar Optokopplern ist da auch nichts getan, da auf jeden Fall die unterste Protokollebene decodiert werden muss, das wiederum verbraucht mehr Zeit als das Protokoll zulässt, es sei denn man ist Hub...
Ach ja: Die sinnvolle Lösung wäre es auf Geräteseite die Trennung vorzunehmen. Wenn es nur wenige Leitungen aus dem Gerät heraus gibt, halt die galvanisch trennen. Sind es viele, dann einen kleinen USB Controller nehmen, eine galvanische Trennung vorsehen und dahinter einen größeren Controller der die I/Os bedient.
...warum muss man die unterste protokollebene decodieren? vielen dank bis hierher schonmal. gruß, m.
Habe einen galvanisch getrennten Usb-RS232/485/422 Wandler mit einem mega48 gemacht, be Verwendung des Soft-stackes und Trennung von send und receive-Pins, also 4 Pins anstatt 2 mit insgesamt 4 optocouplern. Eine generisch Lösung würde mich auch interessieren.
Es dürfte bereits mit 6 optocouplern gehen, wieviel Support-Logik allerdings noch drauf muß, weiß ich nicht, aber es geht definitiv ohne decoding.
@ chris (Gast) >Habe einen galvanisch getrennten Usb-RS232/485/422 Wandler mit einem >mega48 gemacht, be Verwendung des Soft-stackes und Trennung von send und Das ist was VOLLKOMMEN anderes! RS232/RS422 sind unidirektional, einfacher geht nicht, Optokoppler und gut. Die Richtungsumschaltung von RS485 ist auch leicht, der FTDI232 kann das von Haus aus. Alles trivial. ABER! . . . @ Gast (Gast) >Es dürfte bereits mit 6 optocouplern gehen, Dürfte? Konjunktiv. Schon mal gemacht? > wieviel Support-Logik >allerdings noch drauf muß, weiß ich nicht, aber es geht definitiv ohne >decoding. AHA, du verwendest den Konjunktiv und plötzlich bist GANZ SICHER dass es doch einfach ist? Das wage ich mal zu bezweifeln. Galvanische Trennung von USB ist schon tausendfach diskutiert worden, mit dem Ergebniss, dass es kein Ergenbis gibt. Es ist SCHWIERIG bis unmöglich. Denn USB ist bidirektional mit VERDAMMT knappem Timing. Ja, es gibt Lösungen, die USB auf Ethernet umsetzen. Da ist aber ein ausgewachsener IC + Software drin. An den OP. Wenn du dir einen Gefallen tun willst, nimm RS232/RS485, die kann man leicht galvanisch trennen. MFG Falk
Ohje, alle paar Wochen wieder das gleiche. Ohne extremen Aufwand ist das bei USB einfach nicht machbar. Warum? Das ganze läuft bidirektional ohne jegliche Steuerleitung usw. und nur wenn man die unterste Protokollschicht dekodiert, weiß man, in welcher Richtung die Signale gerade unterwegs sind. Wenn es so einfach wäre, gäbe es das ja an jeder Ecke zu kaufen, oder? Es gibt solche USB-Lichtwellenleiter Umsetzer, sind aber quasi auch ein Protokollumsetzer, da steckt jede Menge Protokoll drin, umsonst ist der Spartan 3e da sicher nicht drauf. Also vergiss es. Trenne die Signale hinter dem USB-Device-Controller von der restlichen Schaltung und gut ist. Da gibts massenhaft einfache und bezahlbare Lösungen.
Für alle zukünfigen Anfragen zum Thema USB und galvanische Trennung http://www.mikrocontroller.net/articles/USB#Tipps_.2B_Tricks
...vielen dank für die tipps... ich habe gerade meinen usb stack auf einem atmega168 zum laufen bekommen. in dieser schaltung wird d+ über 1M downgepullt und über 68ohm an einen atmega pin gebracht. d- wird über 1K upgepullt und über 68ohm an einen anderen pin des atmegas. das ist mein momentaner stand, nun soll direkt am atmega das signal galvanisch getrennt werden, hierzu kommen nur spulen/übertrager oder optokoppler in frage. das timing ist eng, der bus ist bidirektional/differentiell, damit wird es schwierig - ist mir schon klar, denn so wie alles was ich hier bereits darüber gelesen habe aussieht wirds nicht einfach. meine erste möglichkeit besteht wohl darin den stack so anzupassen das er auf einem pin usb "empfängt" und auf dem anderen "sendet"(hierzu poste ich gleich auch noch eine kleine zeichnung), damit wäre die schaltung schonmal um einiges einfacher denke ich. meine zweite besteht darin, 2 controller zu nehmen, den einen mit dem stack zu programmieren und einer seriellen gegenstelle, und der andere ebenfalls mit einer seriellen gegenstelle und meinem jetzigen programm, dann würde ich allerdings 2 controller benötigen was auch nicht unbedingt schlecht sein muss, hier müsste ich mal sehen ob sich der stack in einem tiny mit 8pinnen unterbringen ließe, denn ich habe nicht so viel platz, da dieses projekt nach möglichkeit leicht nachbaubar sein soll, und somit de komponenten eh schon im dil gehäuse sind. des weiteren benötige ich einen optokoppler der diese datenraten mitmacht, ich habe hier den 6n136, tiL111 und den cny17-4 zur hand... im anhang habe ich noch einen kleinen gedankenansatz, welchen ich u.a. heute noch nebenbei vertieft habe, darin wird sich ein problem der rückkopplung ergeben. die enable pins sind natürlich so beschaltet das alle transceiver beidseitig aktiv sind... hier wären transceiver interessant die mit den datenraten klar kommen, ich habe hier den 75176,82c250,lt1485. so ich werde mal weiter die windungen welzen, vielen dank für die antworten bis jetzt :-) gruß, m.
hier nochmal das "SINNBILD" einer Trennung, deren ausführung auch Softwareänderungen mit sich bringen würde... NACHT m.
meilhaus hat sowas, ansonsten gibt es usb -> glasfaser konverter, usb über lan könnte auch gehen (beim rj45netzwerk hast du einen trafo als galvanische trennung)
Ein eher erfolgversprechender Ansatz wäre die Analyse dessen, was in einem USB-Hub enthalten ist. Als VHDL-Core gibt es USB-Hubs, eine kommerzielle (und vermutlich recht teure) Variante wäre z.B. dieser USB2.0-Hub: http://www.arasan.com/products/prod_overview/USB_2-0_Host_IP_Core.pdf Möglicherweise kann man aber auch http://www.opencores.org/projects.cgi/web/usb_phy/overview etwas Informationen entlocken.
Habe nicht die RS232 Seite galvanisch getrennt, sondern die USB Seite.
Indem ich die 2 bidirectional pins auf 4 aufgeteilt habe, 2x tx, 2x rx und in SW (sw-usb stack) die outputs sowie inputs getrennt habe, da der uC ja weiß, ob er sendet oder empfängt.
Und das bekommst Du schnell genug hin? Gut, 's wird wohl auf einem Soft-USB-Stack à la obdev.at oder Igor Cesko aufsetzen, und die machen Low-Speed-USB mit 1.5 MBit/sec. Da ist das vielleicht wirklich denkbar.
@ chris (Gast) >Indem ich die 2 bidirectional pins auf 4 aufgeteilt habe, 2x tx, 2x rx >und in SW (sw-usb stack) die outputs sowie inputs getrennt habe, >da der uC ja weiß, ob er sendet oder empfängt. Ach sooo, na das ist ja einfach. Wir warten dann mal gespannt wie lange du brauchst das stabil zum laufen zu kriegen. MFG Falk
Also dass Leute auf einen Berg klettern weil er da ist kann ich ja verstehen, aber warum es immer wieder Leute gibt die den Kopf an die Wand hauen wird mir wohl ewig ein Rätsel bleiben. Es gibt einen erheblichen Unterschied zwischen Design und Bastelei. Die Optokoppler in der USB Leitung sind Bastelei, daran ändert auch die Vielzahl der minderwertigen Lösungen auf dem Markt nichts.
Naja, wenn er das nicht verkauft, und somit nicht gezwungen ist, sich an Standards zu halten, kann er´s ja basteln. Nur darf er dann halt nicht USB drauf schreiben.
Ich darf das USB Logo nicht verwenden, weil ich nicht effektives Mitglied bin, sondern nur eine einmalige Mitgliedschaft gezahlt habe, um einen USB-VID zu bekommen.
Um ein usb Logo verwenden zu dürfen brauchst du meines wissens die VID und eine TestID mit einem dazugehörigen erfolgreichem Testprotokoll. Das Testprotokoll wird von einem Testlabor das von USB-IF zertifiziert ist erstellt und dem usb-IF dann mitgeteilt(daher ie TestID).( irgendwo in belgien oder niederlande ist eins ) und die testen so schöne sachen wie augendiagramme, 500 enumerations in folge, Chapter 9 Test, Test an OHCI EHCI UHCI controllern, mit 30 Meter kabel und 5 Hubs dazwischen (Golden Tree Test), ... Was du ausser der VID zum beantragen der TestID noch benötigst, keine Ahnung. nur mit einer Mittgliedschaft alleine ist es nicht getan. Ok TestID und den test lassen sich die natürlich bezahlen viele host controller sind was timing angeht relative robust, was noch lange nicht heist, das sie usb konform sind.
Warum ist http://www.baaske.net/usb_galvanisch_trennen.html zu umständlich und zu aufwändig? Das verstehe ich nicht. Einfacher geht es doch eigentlich nicht, denn der USB auf LWL und zurück Umsetzer wird einfach dazwischengestöpselt und das wars. Spannung bezieht das Ding über die 5V USB und wenn Geräteseitig auch die 5V aufgelegt werden, ist noch nicht einmal eine Stromversorgung notwendig. Wir setzen das Ding selbst auch ein und führen damit das Signal vom Prüfling weg zur Steuerung. Funktioniert bestens. Bei Optokopplern ist bei einer bestimmten Spannung schluss, dann schlägt er durch. Warum also das Rad neu erfinden?
Der Preis ist ein Aspekt, ein anderer, daß es durchaus sinnvoll sein, die galvanische Trennung in ein Gerät einzubauen, so daß der Anwender auch durch Wahl eines anderen Kabels diese nicht aufheben kann. Zu guter Letzt möchte man auch in der Kleinserienentwicklung nicht auf Gedeih und Verderb dem Goodwill von noch einem Hardwarelieferanten ausgesetzt sein.
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.