У меня есть полноскоростное USB-устройство, для которого я хочу предоставить 2 порта - по одному на противоположных концах корпуса. Это позволяет подключать кабель в любом удобном месте. Мой MCU (atmega32u4) имеет только один интерфейс, поэтому физические порты будут общими, но только один должен быть подключен одновременно.
Конечно, нельзя доверять пользователям не подключать обе стороны одновременно. Как защититься от этого?
Идеи, которые я придумал:
- Просто подключите их «как есть» и надейтесь, что хост сможет справиться с соединенными D + / D- выводами
- Вентиль NAND с отдельными выводами 5 В в качестве входа, вывод на полевой МОП-транзистор, который отключает Vcc, когда оба подключены.
Второй вариант звучит разумно, или требуется более сложное решение?