USB Hub vs. USB PCI-E Card

Jdo300

Commendable
Sep 17, 2016
1
0
1,510
I am building up a computer to control a programming test fixture that needs to program 20 devices simultaneously.

I built a previous gang programmer and used a 24-port USB Hub to connect to the devices, and then connected the hub to the computer. The programmer did run OK, but I ran into issues when enumerating the 20 COM ports that the devices created in the computer. And on some occaisions, my USB driver would die causing random lockups and sometime blue screens of death (this occured mainly when using laptops as the test computer).

Now I'm designing a new fixture and I'm wondering if it would be better to install four 5-port USB cards directly into the computer and have 20 cables running to the fixture, vs. using a single hub (or multiple smaller hubs). Has anyone ever had experience with this? The data transfer rate of each device is low (11.5 kbaud serial comm), but it will be programming in parallel.

At this point, I'm not fully convinced that the issue is hardware transfer rate, but I'm not sure what else to do since the errors I got before were very intermittent, and results seemed to vary wildly depending on what computer I ran the programming software on (never a good sign). Ultimately, I want to make sure that whatever approach actually allows full bandwidth transfers for all 20 units and does it stably.

What do you think?

Thanks,
Jason O
 
Solution
You must first need to realize that drivers are what enable a device to communicate with your OS and ofc via the GUI or instruction set permit you to parse info to and from the device in question. If you've written the program yourself you may want to recheck if any code has an intermittent issue. The part where you mention the results varying wildly between system to system indicates that the drivers and/or the OS is the issue.

Might you want to make sure your motherboard BIOS and drivers are up to date while making sure your OS isn't corrupt.

The flip side story is that sustained data throughput across all device's is impossible. This is brought down to the controller in charge of operating the USB ports(to which your hub is...
You must first need to realize that drivers are what enable a device to communicate with your OS and ofc via the GUI or instruction set permit you to parse info to and from the device in question. If you've written the program yourself you may want to recheck if any code has an intermittent issue. The part where you mention the results varying wildly between system to system indicates that the drivers and/or the OS is the issue.

Might you want to make sure your motherboard BIOS and drivers are up to date while making sure your OS isn't corrupt.

The flip side story is that sustained data throughput across all device's is impossible. This is brought down to the controller in charge of operating the USB ports(to which your hub is connected to). As an experiment you can try copy pasta'ing a large data file across all the USB pen drives connected to all USB ports. They will either transfer at a snails pace or the data will transfer to each USB as though in a cue.
 
Solution