Più di 5 Gbps di larghezza di banda segnalata da un hub di root Gen 1 USB3.0 / USB3.1, come è possibile?


1

Vecchio titolo: questo hub USB3.0 è un hub USB3.1 (Gen 2) mascherato? Sono stati riportati più di 5 Gbps di larghezza di banda

Sto utilizzando un paio di telecamere USB3 per la visione artificiale. Ogni telecamera è 2448x2048 a 75 fps, dati a 8 bit quindi intorno a 3Gbp / s. Uno dei miei PC, non posso far girare entrambe le fotocamere a piena velocità, su un altro PC che posso. Avevo (precedentemente) l'impressione che un singolo hub USB3.0 / 3.1 Gen 1 fosse limitato a 5Gbp / s.

Questo è un problema importante da sollevare, perché in passato abbiamo avuto problemi nell'utilizzo di più videocamere con larghezza di banda elevata su quello che abbiamo definito "un singolo controller". Le moderne fotocamere possono facilmente saturare una singola connessione USB3.1. In passato la soluzione consisteva nell'aggiungere una scheda di espansione PCI. Sembra che in alcuni casi questo non sia necessario, e sono interessato a capire perché.

  • Nelle precedenti modifiche mi sono riferito al Root Hub (a cui sono collegate le telecamere) come solo un 'Hub' che ha causato una certa confusione - la mia ignoranza qui, non sapevo che c'era una differenza. Questo sembra essere critico.
  • Gran parte delle informazioni prevalenti online, suggerisce che anche un hub radice dovrebbe essere limitato a 5 Gbps, ad esempio:

Un singolo controller host USB serve quasi sempre più di un USB   porta, ma la larghezza di banda totale disponibile per queste porte sarà condivisa.   Pensa a una singola porta USB con un hub a quattro o anche otto porte   allegato. La larghezza di banda disponibile totale per qualsiasi controller host o   root hub può essere qualcosa di simile al seguente (la larghezza di banda può   variare):

• USB 3.0 — Total theoretical bandwidth per host controller = 5Gbps (625MB/s)
• USB 3.0 — Total practical bandwidth per host controller = 3.2Gbps (~400MB/s)
• USB 2.0 — Total theoretical bandwidth per host controller = 480Mbps (60MB/s)
• USB 2.0 — Total practical bandwidth per host controller = 308Mbps (~36MB/s)

A partire dal https://www.oculus.com/blog/oculus-roomscale-balancing-bandwidth-on-usb/

  • I fornitori di schede madri pubblicizzano tutto come solo USB3.0 e USB3.1. In realtà questo è spesso USB3.1 Gen 1 (5 Gbps) e USB3.1 Gen 2 (10 Gbps). Ciò ha causato ulteriore confusione.
  • Inoltre, Windows visualizza gli hub root USB3.1 Gen 1 come USB3.0

Impostare:

  • Entrambe le fotocamere sono classificate per USB 3.0
  • Entrambe le telecamere sono collegate direttamente alla scheda madre, in prese USB3.1 Gen 1 secondo i documenti della scheda madre.
  • Entrambe le telecamere sono collegate allo stesso hub principale USB, come riportato dal gestore dispositivi, ad esempio:

enter image description here

osservazioni:

  • Su una macchina, con un Asus H110M-R scheda madre, ottengo il comportamento previsto che una telecamera funziona a piena velocità (75fps) e l'altra è ridotta a circa 7fps. Entrambe le fotocamere si trovano nello stesso hub root USB 3.0.

  • Su una macchina diversa, con un Scheda madre Asus Impact VIII entrambe le telecamere funzioneranno alla massima velocità (nessun rallentamento dei fps). In effetti possiamo collegare più telecamere e possiamo spingere circa 10 Gb / s (forse un po 'di più). Il fatto che riceviamo 10 Gbps suggerisce che si tratta in realtà di un controller USB3.1 Gen 2, ma Windows segnala che stiamo usando il controller USB3.1 Gen 1 (riportato come USB3.0). Potrebbe anche essere un limite di larghezza di banda coincidente (sarei sorpreso se avessimo effettivamente il throughput teorico di 10 Gbps).

  • Anche la verifica manuale: posso passare la mano davanti alle telecamere ed entrambe funzionano chiaramente con & gt; 50 fps (almeno).

  • Poiché il software di visualizzazione regola automaticamente la frequenza dei fotogrammi (in basso) sul primo PC, non vedo perché sarebbe errato sull'altro. Analogamente, anche il software di monitoraggio dell'ampiezza di banda (Advanced USB Port Monitor) sembra essere corretto, e il grafico della larghezza di banda cambia se rallentiamo manualmente una delle telecamere.

Maggiori informazioni sulla scheda madre:

  • L'Impact VIII è pubblicizzato come dotato di due controller: un USB3.1 Gen 1 e un USB3.1 Gen 2. Le porte sono fisicamente separate sul backplate. Ci sono quattro porte posteriori etichettate come USB3.0 (e due nella parte anteriore), c'è anche una USB-C rossa e USB-A con etichetta USB3.1.
  • H110M-R ha due porte USB3.1 Gen 1 e 6 porte USB2.
  • L'Impatto VIII usa un Controller xHCI Intel USB Point-H USB 3.0 ( PCI\VEN_8086&DEV_a12f ) e un Controller Intel Alpine Ridge DSL6540 per USB3.1 ( PCI\VEN_8086&DEV_15b6 ).
  • Anche l'H110M-R riporta PCI\VEN_8086&DEV_a12f come il suo controller USB3.0.
  • Quindi stiamo usando lo stesso tipo di root hub, apparentemente?
  • Impact VIII utilizza un chipset Z170, mentre l'H110M-R utilizza il chipset H110.

Il PCH contiene un host xHCI (Host Controller Interface) eXtensible   controller che supporta fino a 14 porte USB 2.0 e fino a 10 -USB   3.0 porte con routing della scheda, tabella ACPI e considerazioni sul BIOS. Questo controller consente trasferimenti di dati fino a 5 Gb / s. Il controller   supporta SuperSpeed ​​(SS), High-Speed ​​(HS), Full-Speed ​​(FS) e Low-   Velocità (LS) del traffico sul bus. Il controller xHCI supporta USB Debug   porta su tutto USB   Porte con capacità 3.0. L'xHCI suppone anche il protocollo USB Attached SCIS (UASP).

Dal manuale della serie 100 https://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-1.html

Supponendo che questi dispositivi stiano davvero lavorando a tutta velocità, alcuni pensieri / possibilità sono:

  • Impact VIII utilizza un controller USB (Gen 2) singolo che esegue tutte le porte (ma enumera come due)? La specifica sembra non suggerire e Device Manager segnala che ci sono due controller.
  • Un singolo controller USB3.0 può supportare più di 5 Gbps? Ho supposto di no.
  • Un hub USB3.1 può farsi pubblicità come hub USB 3.0?

Tuttavia, la domanda principale è: Perché un sistema è limitato a 5 Gbps e uno no, quando entrambi sembrare utilizzare un singolo controller USB3.1 Gen 1 (dello stesso tipo) a cui sono collegate le telecamere?

A meno che Windows non indichi erroneamente, non sto utilizzando il controller Gen 2. Vado a indagare per vedere quanta larghezza di banda posso effettivamente utilizzare su Impact VIII.


Hai misurato la larghezza di banda o semplicemente lo hai calcolato? Sei sicuro che le tue fotocamere non stiano facendo compressione? Qual è la marca e il modello delle fotocamere?
Spiff

@Spiff Ho misurato usando uno strumento di monitoraggio, che è correlato al calcolo. Li ho testati fisicamente agitando una mano in avanti - ovviamente non funzionano a una velocità di fotogrammi ridotta come sull'altro PC. Ho pensato alla compressione, ma ho anche provato a scoprire / coprire le telecamere e la velocità dei dati è piatta. Il rallentamento è davvero evidente su H110M0-R.
Josh

Risposte:


1

Vedi la risposta di Ali C qui sotto.


Hai le telecamere collegate a due porte di a Root Hub . Immagino che queste porte siano effettivamente collegate al chipset Z170.

Devi considerare due cose:

  1. Un "Root Hub" non è un "hub": è piuttosto una cosa che fornisce n Porte USB.
  2. Tutte le porte su un "Root Hub" non sono canalizzate attraverso un singolo collegamento USB come lo sarebbero per un "hub" standard, quindi se l'hub principale è connesso al sistema con una larghezza di banda sufficiente, allora la larghezza di banda totale attraverso il le porte possono superare le specifiche USB.

Il Massimo Impatto usa il Chipset Z170 - schema a blocchi di seguito. Come puoi vedere, supporta " Fino a 10 porte USB 3.0 ". Z170 block diagram

Il H110M-R usa il Chipset H110 - che supporta " Fino a 4 porte USB 3.0 ", quindi mi aspetterei capacità simili - se si è connessi direttamente alle porte USB 3.0 della scheda madre .

Ma dalla tua formulazione sospetto che le telecamere siano collegate tramite un fisico / esterno mozzo su questo PC ... nel qual caso tutti i dati della telecamera devono essere trasferiti tramite il singolo collegamento USB 3.0 tra l'hub e il PC. Se questo non è il caso, allora potrebbe essere un driver o un miglioramento architettonico tra i chipset ...


Se l'hub principale ha la larghezza di banda tra esso e il processore, allora la larghezza di banda totale sulle porte sarà in grado di superare la larghezza di banda dell'USB 3.0.

Tuttavia, se un Root Hub è connesso tramite una singola corsia PCIe, la larghezza di banda sarebbe limitata dal collegamento PCIe (ancora solo 3,9 GB / s per un collegamento gen 5 a corsia singola) e quindi le due porte avrebbero solo ~ 3,9 Gb / s con cui giocare.

Un effetto simile potrebbe essere in gioco a causa del collegamento DMI2 dell'H110 (5 GT / s) alla CPU rispetto al collegamento DMI3 della Z170 (8 GT / s).


Per hub intendevo ciò che i gestori dei dispositivi segnalano (modifica la mia domanda per chiarezza). Le fotocamere sono collegate direttamente nella scheda madre in entrambi i casi.
Josh

Questa sembra una risposta piuttosto convincente. Seguito in qualche modo correlato, ho ragione nel ritenere che un hub USB3.1 Gen 2 (non un dispositivo di root) sarebbe comunque limitato a 5Gbps se si collegasse un certo numero di dispositivi USB3.0 ad esso?
Josh

Giusto, quindi è possibile eseguire 2x dispositivi Gen / 3.0 3.0 a piena velocità su un hub 3.1 Gen 2. Sebbene sembri al di fuori del supporto per chipset, ci sono pochissimi hub Gen 2 disponibili per l'acquisto.
Josh

Farei attenzione a questa presunzione. Sarebbe bello pensare che si possano inserire due dispositivi completamente USB con larghezza di banda 3.0 su un singolo collegamento USB 3.1 ... ma ho la sensazione (non citatemi) che questo non funzionerà.
Attie

@Ramhound: è corretto, questa risposta suggerisce che il motivo per cui sto vedendo una larghezza di banda superiore a quella prevista potrebbe essere perché sono connesso a un hub root USB3.1 Gen 1. Il che mi ha spinto a chiedervi un comportamento simile (limitato a 10 Gbps) utilizzando un hub Gen 2 "normale".
Josh

2

Gli hub di root non sono diversi dagli hub ordinari. La larghezza di banda totale di un hub radice è determinata dall'architettura del controller host e dall'interfaccia dati tra controller xHCI e fabric interno e tra xHCI e USB PHY (molti di essi, che determinano il numero di porte possibili). Se è il controller di base USB 3.0 originale con Gen1 PHY, il throughput non può superare i 5 Gbps.

L'unica spiegazione ragionevole per questa osservazione è che il chip Z170 ha essenzialmente il nucleo USB 3.1 Gen2, con bus PIPE 10Gbps corrispondenti all'interno, ma i singoli PHY sono in grado solo di velocità Gen1. Ci potrebbero essere molte ragioni per cui i PHY possono essere limitati alla velocità di Gen1 - bug non risolti nel nuovo protocollo di codifica, il livello fisico non soddisfa pienamente i criteri di certificazione USB-IF (potrebbe essere jitter, potrebbe essere occhio, qualunque) o dozzine di altri carenze come glitch in power management o instabilità di link training. Inoltre, sarebbe davvero fastidioso per il pubblico avere un sistema con 10 porte Super-Speed ​​paralizzate a 1/10 della larghezza di banda prevista, le persone potrebbero avere una dissonanza della percezione.


Grazie Ali. Avete un diagramma standardizzato dell'architettura di un hub radice?
Attie

Presumibilmente questo è ancora influenzato dal numero di lanci PCIe dati al controller, come suggerito da Attie? Ad esempio, il "vero" controller Gen 2 su Impact VIII è dotato di 4x corsie PCIe3 per una larghezza di banda pubblicizzata di 32 Gbps (anche se ha solo due porte fisiche). techreport.com/r.x/...
Josh

@ Attiva, il diagramma non è di pubblico dominio. È necessario registrarsi con Synopsis per ottenere maggiori informazioni su DesignWare USB 3.1 IP. Inoltre, il core del controller è integrato da Intel nell'architettura proprietaria IOSF (fabric interconnect). Per avere un'idea generale, esamina questa immagine, csdl-images.computer.org/mags/mi/2015/02/figures/...
Ale..chenski

@Josh, le corsie PCIe non sono metriche appropriate, il controller xHCI è integrato direttamente su IOSF e le corsie PCIe utilizzano porte separate. L'assegnazione della corsia PCIe viene utilizzata solo con i controller xHCI esterni.
Ale..chenski

@ Attiva, alcuni dettagli sull'interconnessione universale tra vari PHY (PIPE) possono essere trovati qui, intel.com/content/dam/www/public/us/en/documents/white-papers/...
Ale..chenski

0

Secondo gli ID hardware ( PCI\VEN_8086&DEV_15b6 ), questo è il Controller Alpine Ridge (DSL6540) che è in effetti USB 3.1-Gen2 / Thunderbolt3.

http://imgur.com/a/g9rvn

Quindi questo USB3.0 proviene dal generico driver USB3.x da Windows 10, quindi questo dovrebbe essere solo un problema di visualizzazione in Gestione periferiche.


Windows riporta due hub, entrambi Intel, uno USB3.0 e uno USB3.1.
Josh

pubblica una foto di tutti i dispositivi USB 3.x in Gestione dispositivi. anche usare uwe-sieber.de/usbtreeview_e.html e pubblica una foto.
magicandre1981

imgur.com/a/LBUPs Porte 21/22. Gestione dispositivi ha gli stessi nomi di hub.
Josh

seleziona il controller USb3.1 e pubblica una foto dei dettagli
magicandre1981

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.