2022-10-28 01:56 AM
I am planning to use STM32H735 controller in my product.
I've a requirement to have 8x virtual COM ports over USB and having a parallel communication without interfering with each other.
I would like to know if it is possible and will it create an issue in handling interrupts for each virtual COM ports.
2022-10-28 10:57 AM
Each CDC (Virtual COM) port requires 2 IN endpoints and 1 OUT endpoint. So that is 16 IN and 8 OUT endpoints, plus the default EP0 IN/OUT pair for basic USB functionality. How many endpoints does the H735 have?
2022-10-28 11:22 AM
>>How many endpoints does the H735 have?
Not enough..
Don't FTDI and SiLabs make Quad UART devices off-the-shelf?
Sort of thing you're describing should have the MCU in some more effective role, and perhaps the board starts with a HUB.
Perhaps there's some network serial muxing method?
Or you create a host side driver?
2022-10-30 09:50 AM
It is possible to have 8 Virtual COM ports, confirmation from ST.
My question is, will I get different interrupt for each virtual COM port on STM32H735 ? or will there be only a single interrupt? if it is a single interrupt, how do I differentiate it?
2022-10-31 01:22 PM
Can you provide ST's reasoning for claiming it supports 8 VCOMs? Section 62.2.3 of RM0468 rev 3 (STM32H723/33/25/35/30 Ref Man) says it supports 8 bidirectional endpoints plus EP0. Based on my experience (as per my first post) that is at best enough for 4 VCOM ports. I am curious how they manage that - perhaps there is a way to do away with the "management" IN endpoint that I haven't found.
So @Community member 's suggestion of a FTDI/SL 4-port USB-to-serial (connected to 4 STM32 UARTS) plus the built-in USB gets you 8, but then you need a USB HUB on your board, or expose 2 USB connectors on your board to an external HUB.