Я думаю об относительно дешевой и простой защите от обратного подключения / обратной полярности USB. На данный момент я думаю о P-канальном MOSFET со стоком, направленным в сторону USB-разъема. Слышал, что TVS-диоды могут кроме защиты от электростатического разряда еще и предотвращать переполюсовку, но точно их подобрать не смог бы. Выводы D+ и D- подключены через резисторы к микроконтроллеру STM.
Поскольку это полевой МОП-транзистор типа P, низкий уровень затвора приведет к тому, что транзистор будет проводить от стока к истоку. Я предсказываю, что, когда штекер USB подключен в обратном направлении, затвор MOSFET будет высоким, и MOSFET отключится, предотвращая повреждение приемной цепи.
Но это только мои скромные теоретические рассуждения, и я хотел бы спросить, не допустил ли я здесь логической ошибки или что-то не в порядке с практической точки зрения.
Похоже, что полевой транзистор защищает от обратной полярности, но он не нужен, так как невозможно получить неправильную полярность от USB-кабеля.
Я также хотел бы отметить, что привязка вывода D+ через резистор напрямую к 3,3 В не позволит MCU контролировать, когда он готов к перечислению, поэтому в зависимости от того, что делает программа MCU, она может не выполнить перечисление, если это не так. немедленно готов с периферийным устройством USB при загрузке.
Другое дело, что, заземляя контакт ID, вы сигнализируете, что это устройство является мастером OTG, а не USB-устройством, так что это не сработает.
Кроме того, экран разъема напрямую подключен к земле, что тоже может быть не тем, что вам нужно.
usb_lld_connect_bus()
и usb_lld_disconnect_bus()
в board.h
.
Джон
Кайл Б.