I have a NUC (D54250WYK1) that I'm using to interface with a custom camera. I developed the USB3.1 Gen1 camera device and was testing the throughput on USB ports of the NUC. For production (potential product) I would like to have (2) of these custom cameras interface with the NUC. At my max camera speed, I can send ~275MB/sec to a USB3 port on the NUC. I was surprised to find out that I could also connect a 2nd custom camera running at the same speed on a 2nd USB3.0 port. I have a tool to provides statistics and sure enough, it shows that 550MB/sec is going through both ports. To test even further, I have a USB3 drive connected to a 3rd USB3.0 port (back side) and copied a file FROM that hard drive to my SSD drive (~2GB file). The USB tool tells me I reached speeds of 650MB/sec ! So... obviously there's more than 1 bus instance going on here. [Which is exactly what I need !!].
How do I know/specify in future NUC or other Intel MB's, that I need several bus instances of xHCI to guarentee 2 sensors to my MB ? How do I know which USB3.0 connectors are on seperate xHCI bus instances?
I love the fact that I can stream 650MB through USB devices at once, but I can't explain it, so I have no idea how to specify how to guarentee it.
How many xHCI bus instances are there on this NUK ? How do I find out?
Also, I can slow my camera down to ~175MB and run through a USB3 HUB. How do I determine the max throughput of the HUB? [i.e. what general overhead would I expect beyond the standard 20% of the 5Gbs?
Thanks!
Mike