I'm thinking of using an ATxmega128A3U for a board that should have seven serial ports from a single usb cable.
The thing has 32 endpoints and in theory it should be capable of doing seven CDCs.
6 of them should be external, no problem, the xmegaA3 has seven UARTs. These six serials should behave like any standard usb-serial devices, independent of anything else on the board.
One of them is just internal for controlling other thing on the board (some relays, some inputs).
The problem is performance. I'm afraid of the 32Mhz cpu not capable of sustaining so many ports. Or about the performance of a single usb full speed port of sustaining 7 CDCs traffic.
Of course, there is a question: how much traffic there should be?
I'm thinking of just "limitting" the target traffic to 19200 continuous full-duplex on all seven ports in parallel - as a way of validating the design.
Anyone having experience on this?
I'm in no way an USB expert of any kind, although I implemented some CDC on other MCU (a LPC one).
Oh, and a good question is about the PC drivers. It should be Windows. In the past I had some headaches about the windows drivers...