I have a need for a large amount of serial I/O from a desktop computer in a robotics application. I considered using all off the shelf parts with a large set of USB hubs and usb to serial adapters, but off the shelf solutions were too large.
I need about 26ish, maybe more channels running anywhere from 9600 to 115200baud. To fit in the tight space I was considering getting some USB hub controllers, and putting them on a circuit board with the usb to serial ASICs.
The host computer is a mini itx intel based machine.
My current concept involves this 4 channel USB 3 hub controller:
4 Port USB 3 Hub
And several 7 port USB 2 hub chips:
7 Port USB 2 Hub
The 7 port hubs would be connected to the super speed 4 port hub ports, thus giving all the USB endpoints I need. The USB to serial ASICs (FTDI or similar product) would be directly connected to each 7 port hub controller port. I know that FTDI for instance offers multi channel usb to serial devices, but I don't know if each USB channel enumerates as a separate device in linux (as in a seperate /dev/usbttyx device)
My questions is, how difficult is this hardware to implement? I've done some differential signal design before, but never USB speed fast. I was also considering having separate control of the power to each hub controller so they could be separately reset if needed.
Are there any traps I need to watch out for specific to working with these USB chips? This will be my first board design that has USB on it.
Thanks!