www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB-Signal Verstärker


Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Weiss einer wie man einen "durchflussverstärker" realisiert? Ich habe 4 
Segmente die jeweils 40 Taster drann haben. Ein Segment stecke ich 
direkt an den PC, ein anderes an das am PC angeschlossene usw. bis ich 
diese 4 aneinander habe.

Bis aber das Signal des letzten Tasters angekommen ist, ist es schon 
lange unlesbar. Also brauche ich irgend eine kleine Schaltung die ich 
immer an den Eingang des einen Segmentes anbringen kann die das Signal 
"aufbereitet"

Denke das geht mit einem OP und ein paar Widerstände oder einem Smith 
Trigger, weiss bloss nicht wie ich das realisieren kann...

Weiss mir da jemand zu helfen?

gruss Ralph

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Ralph (Gast)

>Weiss einer wie man einen "durchflussverstärker" realisiert?

Keine Ahnung.

> Ich habe 4
>Segmente die jeweils 40 Taster drann haben.

Was für Segmente? Siehe Netiquette.

>Bis aber das Signal des letzten Tasters angekommen ist, ist es schon
>lange unlesbar. Also brauche ich irgend eine kleine Schaltung die ich
>immer an den Eingang des einen Segmentes anbringen kann die das Signal
>"aufbereitet"

Du redest Kauderwelsch, siehe oben bzw. Forum-Fragenformulierung

>Denke das geht mit einem OP und ein paar Widerstände oder einem Smith
>Trigger, weiss bloss nicht wie ich das realisieren kann...

Und was hat das mit USB zu tun?

MFG
Falk

Autor: Michael Graf (graf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fals das mit USB was zu tun hat:

Grundlagenwissen: Maximale Kabellänge zwischen 2 Geräten 5 Meter. Als 
"zwischenverstärker" kann ein USB-Hub dazwischen geschaltet werden, der 
die Kabellänge um weitere 5 Meter verlängern kann. Das ganze kann bis zu 
einer Maximalen Kabellänge von 30 Metern betrieben werden. Danach ist 
schluss.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "Segment" ist eine grosse Platine die 40 kleine Steckerbuchsen hat. 
Auf je eine dieser Steckerbuchsen kommt ein "Modul". Dieses Modul ist 
einfach ein Taster mit einem Microcontroller der bei Tastendruck die 
programmierten Namen und Nummer auf das Mainboard ausgibt.

Das Mainboard leitet diese Signale dann einfach dem Computer weiter.
Jedes "Segment" hat dann einen Ein- und einen Ausgang (USB). So kann ich 
Segment1 an den PC anschliessen und Segment2 an Segment1. Alle vier 
zusammen ergeben dann wie eine Kette bei der das Signal von ganz hinten 
bis zum PC durch muss.

Durch die lange Strecke wird das Signal aber möglicherweise unlesbar, 
also brauch ich irgend eine Art Verstäcker den ich jeweils am Ausgang 
eines Segmentes noch in das Schema der Platine miteinbeziehen kann.
Dieser sollte einfach alle Signale der transmit und receive Leitung der 
USB Schnittstelle verstärken.

hoffe das ist jetzt verständlich :)

gruss Ralph

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jedes "Segment" hat dann einen Ein- und einen Ausgang (USB). So kann ich
> Segment1 an den PC anschliessen und Segment2 an Segment1.

Nein, das kannst Du so nicht. USB ist kein Bus, sondern nur eine 
Punkt-zu-Punkt-Verbindung zwischen exakt zwei Geräten.

Deinen Aufbau könntest Du nur realisieren, wenn jedes "Segment" einen 
USB-Hub enthielte. Allerdings ist die Anzahl der kaskadierbaren 
(hintereinanderschaltbaren) USB-Hubs beschränkt.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael Graf
Danke für deine Antwort!
Die Kabellänge ist nur etwa 50cm, höchstens. Da aber die "Segmente" 
aneinander sein müssen, kann ich da kein USB-Hub zwischenschalten. Also 
brauch nur "etwas" das die Signale hebt, dass ich eben ins Schema mit 
einbeziehen kann.

Ralph

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Rufus t. Firefly,

Dann bräuchte ich also eine "Hubschaltung" die ich in das Schema des 
Mainboards integrieren kann.
Wegen der Anzahl, es wären vier solche Boards. Wäre das möglich?

Ralph

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ralph (Gast)

>Das "Segment" ist eine grosse Platine die 40 kleine Steckerbuchsen hat.
>Auf je eine dieser Steckerbuchsen kommt ein "Modul". Dieses Modul ist

Ich nehme an, die hast du nicht selber gebaut.

>Segment1 an den PC anschliessen und Segment2 an Segment1. Alle vier
>zusammen ergeben dann wie eine Kette bei der das Signal von ganz hinten
>bis zum PC durch muss.

Klingt nach einfachen USB-Hubs.

>Durch die lange Strecke wird das Signal aber möglicherweise unlesbar,

Nöö, da klemmt was anderes.

>also brauch ich irgend eine Art Verstäcker den ich jeweils am Ausgang
>eines Segmentes noch in das Schema der Platine miteinbeziehen kann.

Nöö, du brauchst ne saubere USB-Verbindung.

>Dieser sollte einfach alle Signale der transmit und receive Leitung der
>USB Schnittstelle verstärken.

Vergiss es. Das Problem liegt woanders. Teste mal deine Segmente einzeln 
am PC. Und dann nur zwei, dann nur drei etc.

@ Rufus t. Firefly (rufus) (Moderator)

>Nein, das kannst Du so nicht. USB ist kein Bus,

Nein? Wofür steht dann USB ?

> sondern nur eine
>Punkt-zu-Punkt-Verbindung zwischen exakt zwei Geräten.

Logisch gesehen teilweise. Elektrisch auch teilweise.

>Die Kabellänge ist nur etwa 50cm, höchstens. Da aber die "Segmente"
>aneinander sein müssen,

Wer sagt das? Glaub ich nicht. Wen die Dinger HALBWEGS sinnvoll gebaut 
sind, kan man die direkt an einen USB-HUB anschleissen.

> kann ich da kein USB-Hub zwischenschalten. Also
>brauch nur "etwas" das die Signale hebt, dass ich eben ins Schema mit
>einbeziehen kann.

Käse. Du weist nicht wovon du redest.

MFG
Falk

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ralph (Gast)

>Dann bräuchte ich also eine "Hubschaltung" die ich in das Schema des
>Mainboards integrieren kann.
>Wegen der Anzahl, es wären vier solche Boards. Wäre das möglich?

Geht in den Laden ud kauf dir einen USB-Hub. Fertig.

MFG
Falk

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein die Segmente müssen aneinandersteckbar sein, da sie so 
zugeschnitten werden das man sie hochkant sowie quer miteinander 
verbinden kann also Seitenverhältnis 2:1. Also kann ich auch ein Segment 
hochkant stellen und die zwei anderen Segmente beide mit der kurzen 
Seite an die Lange des hochgestellten. Das soll aber nur EIN USB Kabel 
dran haben ohne Hub.

Bis jetzt ist erst ein Prototyp vorhanden mit 4 Schalter der ganz normal 
über USB verbunden ist, der auch funktioniert. Ob dieser jetzt 4 oder 40 
Taster hat ist egal ausser das man bei dem 40ziger noch eine Externe 
Stromversorgung anschliessen muss über Minijack.

Ich bin derjenige, der die ganze elektronik aufbauen soll ab Schema. Das 
heisst das ich nur ätzen, bestücken löten usw machen muss. Ausser das 
ich jetzt den Auftrag habe herauszufinden wie man diese Segmente 
verbinden kann mit nur einem USB Kabel und natürlich der externen 
Stromversorgung.

Ralph

Autor: Analog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde an Deiner Stelle das Konzept überdenken. Wie wäre es mit einer 
Kommunikation über I2C und am Ende mit USB (oder USB to UART) ?

Gruß,

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ralph (Gast)

>Seite an die Lange des hochgestellten. Das soll aber nur EIN USB Kabel
>dran haben ohne Hub.

Dann müssen die Segmente einen USB-HUB enthalten. Oder anderweitig mit 
dem "Hauptsegment" kommunizieren, welches dann per USB mit dem PC 
verbunden ist.

>Ich bin derjenige, der die ganze elektronik aufbauen soll ab Schema. Das
>heisst das ich nur ätzen, bestücken löten usw machen muss.

Hmm.

> Ausser das
>ich jetzt den Auftrag habe herauszufinden wie man diese Segmente
>verbinden kann mit nur einem USB Kabel und natürlich der externen
>Stromversorgung.

Bei deinem Wissen bist du damit wohl ein wenig überfordert. Lass das mal 
schön den Entwickler der Boards machen.

MFG
Falk

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralph wrote:
> Nein die Segmente müssen aneinandersteckbar sein, da sie so
> zugeschnitten werden das man sie hochkant sowie quer miteinander
> verbinden kann also Seitenverhältnis 2:1. Also kann ich auch ein Segment
> hochkant stellen und die zwei anderen Segmente beide mit der kurzen
> Seite an die Lange des hochgestellten. Das soll aber nur EIN USB Kabel
> dran haben ohne Hub.

An einem USB-Port kann genau ein USB Device angeschlossen werden, da 
helfen auch keine "Verstärker" und kein Voodoo und kein gut Zureden. 
Wenn du mehr als ein Device anschließen willst, und/oder mehr als 5 m 
überbrücken willst, MUSST du einen Hub dazwischen bauen. Und mehr als 
4 Hubs geht auch nicht, weil der interne Root-Hub im PC auch schon 
zählt. Wenn du also die Module kaskadierbar machen willst, muss auf 
jedes Modul ein 2-fach USB Hub. Und es gehen dann maximal 4 Module "in 
Reihe". Fertig basta aus, was anderes funktioniert mit USB einfach 
nicht.

Autor: Michael Graf (graf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sind das nicht 5 hubs?

siehe hier 
http://compliance.usb.org/index.asp?UpdateFile=Int...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit gäbe es:

Vor das erste Gerät kommt ein 7-Port-Hub, dessen 7 Ausgänge an alle 
Module gegeben werden. Jedes Modul greift sich einen dieser Ausgänge und 
schleift die verbleibenden an die nachfolgenden Module durch:


        M1           M2          M3          M4
      +------+     +------+    +------+    +------+
 1 ---|-X  /-|-----|-X  /-|----|-X  /-|----|-X  /-|-- 5
      |   /  |     |   /  |    |   /  |    |   /  |
 2 ---|--/ /-|-----|--/ /-|----|--/ /-|----|--/ /-|-- 6
      |   /  |     |   /  |    |   /  |    |   /  |
 3 ---|--/ /-|-----|--/ /-|----|--/ /-|----|--/ /-|-- 7
      |   /  |     |   /  |    |   /  |    |   /  |
 4 ---|--/ /-|-----|--/ /-|----|--/ /-|----|--/ /-|--
      |   /  |     |   /  |    |   /  |    |   /  |
 5 ---|--/ /-|-----|--/ /-|----|--/ /-|----|--/ /-|--
      |   /  |     |   /  |    |   /  |    |   /  |
 6 ---|--/ /-|-----|--/ /-|----|--/ /-|----|--/ /-|--
      |   /  |     |   /  |    |   /  |    |   /  |
 7 ---|--/   |  ---|--/   |  --|--/   |  --|--/   |--
      +------+     +------+    +------+    +------+

(jede der hier gezeigten Leitungen entspricht einer vieradrigen 
USB-Verbindung)

Sofern die verwendeten Steckverbinder und die Leiterplatten an den 
"Durchschleifstellen" mit Rücksicht auf die Anforderungen von USB 
ausgewählt und geroutet werden, besteht zumindest die Chance, daß eine 
derartige Anordnung funktioniert.

Es werden allerdings reichlich vielpolige Steckverbindungen benötigt, 
wobei sicherlich bei VCC und GND auch sparsamere Varianten denkbar sind.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian R. hats wunderschön zusammengefasst. da gibts nichts zu 
rütteln (ausser vielleicht mit der anzahl HUBs - jenachdem, ob der 
controller im PC auch schon einen drinnen hat oder nicht). aber USB ist 
nicht ein bus, im herkömmlichen sinn, bei dem du einfach ein langes 
"kabel" hast und beliebig viele geräte ranhängen kannst. du kannst also 
nicht das USB-signal durch deine sigmente durchschlaufen und das fürs 
entsprechende segment mitbenutzen, dazu ist USB nicht fähig.
also entweder ein richtigies bus-system benutzen, bei dem du deine 
segmente beliebig irgendwo an deinen bus reinhängen kannst oder wenn es 
USB sein muss, dann muss es anders gelösst werden ..oder du schreibst 
USB spezifikation 4.0, wo es dann möglich ist (zumindest bis 3.0 geht's 
nicht).

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Graf wrote:
> sind das nicht 5 hubs?
>
> siehe hier
> http://compliance.usb.org/index.asp?UpdateFile=Int...

Kommt drauf an, ob die USB Ports am Rechner direkt am Hostcontroller 
hängen oder nicht. Meist sind 2 Ports an einem Root-Hub. Mein Gigabyte 
Board z.B. hat 12 USB Ports und 6 Root-Hubs. Zeigt ein Blick in USBView 
oder in den Gerätemanager. Der Root-Hub zählt mit. Wir haben es auf 
Arbeit auch ausprobiert, bei mehr als 4 externen Hubs gibts ganz lustige 
Effekte. Da werden sogar Geräte nicht mehr erkannt, die weiter vorne in 
der Strecke hängen. Das fiese an den Root-Hubs ist, dass sich auch dann 
immer die 2 externen Ports die 40MB/s teilen müssen.

Autor: Michael Graf (graf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Wie dem auch sei, das ist der offizelle golden tree aufbau, der 
verwendet werden muss, wenn man ein usb gerät zertifizieren will.

Meines wissens sind maxima 30 Meter mit 5 Hubs möglich. Die roothubs 
sind in den chips ja fest integriert, dadurch würde z.B. ja auch Intel 
(der ja auch an USB massgeblich beteiligt ist) den usern die ersten 5 
Meter klauen.

habt ihr vorne oder hinten angeschlossen? vorne ist noch mal ein halber 
meter zusätzlich dazwischen mit einer sehr miserablen anbindung.

kommt auch sicher immer auf die verwendete hubs und kabel an. Buspowerd 
funktioniert das ganze sicher nicht mehr. Maximal 500 mA, je hub 100mA, 
...

gruss.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir hatten 4 externe Qualitäts-Hubs hintereinander mit jeweils externem 
Netzteil am Rechner, das ging alles wunderbar. Insgesamt mit Root-Hub 
dann 5 Hubs in einer Kette immer. Beim Anschluss des 5. externen Hubs an 
den letzten wurde ständig der komplette Bus enumeriert, die Geräte 
wurden nicht mehr eindeutig zugeordent und es ging dann gar nix mehr. 
Hubs, Kabel und Geräte alle OK. Lag definitiv an der Menge der Hubs 
hintereinander. Aber das ist in den meisten Fällen ja unnötig. Mit 
insgesamt 10 bis 15 Hubs und 60 bis 70 USB Geräten klappt es jedenfalls 
wunderbar.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem mit den 5 Hubs liegt wohl eher beim Betriebssystem, Windows 
ist ziemlich unterirdisch was USB betrifft und bei Linux sind Teile der 
Implementierung auch im Argen, da in erster Linie HID.

Und für Ralph noch mal zum Mitschreiben: USB ist logisch ein Bus, 
physikalisch eine Punkt-zu-Punkt Verbindung. Jedes Gerät braucht einen 
eigenen Port um angeschlossen zu werden. Hubs sind Geräte die Ports 
vervielfachen. Wenn man Hubs kaskadiert muss mindestens jeder zweite 
eine eigene Stromversorgung haben.

Es ist hilfreich von Datenblättern und Spezifikationen nicht nur das 
Titelblatt zu lesen...

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Körber wrote:
> Das Problem mit den 5 Hubs liegt wohl eher beim Betriebssystem, Windows
> ist ziemlich unterirdisch was USB betrifft und bei Linux sind Teile der
> Implementierung auch im Argen, da in erster Linie HID.

Totaler Unfug. Das mit den fünf Hubs ("five non-root hubs maximum can be
supported in a communication path between the host and any device.") ist 
laut Spec. nunmal für die Topologie des Busses so definiert.


> Es ist hilfreich von Datenblättern und Spezifikationen nicht nur das
> Titelblatt zu lesen...

Dito.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Totaler Unfug.

Meine Bemerkung bezog sich auf das beschriebene Problem, dass fünf Hubs 
nicht erreicht werden. Mehr als fünf Hubs in Reihe gehen nicht laut 
Spezifikation, aber bis zu fünf sollten gehen, nur ist halt der USB 
Stack von Windows nicht gerade gut.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, Christian schrieb ja, daß es mit 5 Hubs funktioniert, erst beim 
sechsten traten Probleme auf:

> Wir hatten 4 externe Qualitäts-Hubs hintereinander mit jeweils
> externem Netzteil am Rechner, das ging alles wunderbar.
> Insgesamt mit Root-Hub dann 5 Hubs in einer Kette immer.
> Beim Anschluss des 5. externen Hubs ...

(Hervorhebung von mir).

Der Root-Hub wird mitgezählt, das ist betriebssystemunabhängig.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei das nicht eindeutig spezifiziert ist. In der USB Spec steht drin, 
dass der Root-Hub nicht zählt. 5-Hub ebenen unterhalb des 
Host-Controller bzw. Root-Hubs steht da wörtlich. Was auch immer das 
ist....

Autor: adsl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es könnte auch damit zusammenhängen, daß die Spannung zu sehr einbricht,
und dadurch die Abschlußwiederstände, welche zur Enumerierung gebraucht 
werden, außer Spezifikation sind, und so eine neue Enumerierung 
hardwäremäßig erzwungen wird. Man sollte die Spannungen nachmessen, 
sowie die Spannungseinbrüche und eventuell zumindest teilweise
self-powered Hubs nehmen.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und eventuell zumindest teilweise self-powered Hubs nehmen.

Das hat Christian sowieso getan :

> Wir hatten 4 externe Qualitäts-Hubs hintereinander mit jeweils
> externem Netzteil am Rechner, das ging alles wunderbar.

"Hub mit externem Netzteil" == "self-powered hub"

Autor: nicht angegeben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
USB ist kein "Bus".
An einem Bus (z.b. I2C) schaltet man alle Geräte parallell.
USB-Geräte darf man nicht parallell schalten, man muss Hubs verwenden.
Ein USB-Hub hat immer 4 Ports.
Die "7-Port-Hubs" sind eigentlich zwei 4-Port-Hubs in einem Gehäuse.
Ein USB-Kabel darf maximal 5m lang sein.
Im Handel sind "aktive USB-Kabel" bzw. "USB-Repeater" erhältlich.
Diese verstärken das Signal, ein Kabel kann daher länger sein.
An einem USB-Port können bis zu 127 Geräte angeschlossen werden.
Diese dürfen jedoch nicht parallell geschaltet werden, sondern müssen 
über Hubs verbunden werden, wobei jeder Hub auch als ein Gerät zählt.
Noch Fragen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.