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