2024-08-27 06:31 PM
Hi Sir,
I'd like to choose STM32F103V/R/Z to achieve the USB to 4UART and I2C in my system.
Because it's said this MCU's USB support up to 8 bidrectional end ports. I don't know whether it's right or not.
Could you help to review it or propose another suitable MCU? Thanks a lot.
Solved! Go to Solution.
2024-08-29 01:39 AM
A single VCP is nice, but not sure if can guaratee without any data loss from UART.
2024-08-29 03:09 AM
I don't see how that's any more or less of an issue than ensuring you don't lose data over 4 separate VCPs?
🤔
2024-08-29 08:01 PM
Could you help to check if need to customize VCP drivers for different OS?
2024-08-30 12:45 PM - edited 2024-08-30 12:49 PM
Which different OS you need to support?
All current Windows versions have in-box VCP drivers. All decent Linux distros have such drivers. Not sure about MAC OS but expect the same.
That's it. If you want a single VCP interface (or two) - no need to customize host VCP driver, instead ensure that firmware behavior is compliant. Once Microsoft used to have a test suite for custom hardware and drivers, so called HCT (hardware compatibility test) or WHQL. it performs thorough test for various scenarios - I/O stress, sleep, hibernation, restart of drivers etc. You can check the current state of this on Microsoft Q&A forum.
If you want to have more separate "channels" than possible with standard USB CDC interfaces, this can be done without a custom driver, just use winusb or libusb with small number of EPs and multiplex in software. Nothing custom in this case as well.
Worst variant is wanting too many independent VCPs exposed to applications as separate devices. This requires a custom driver. This want comes with a price tag ))