Использование USB0_ID0 в ELV-MC03-SMARCr3.0

Здравствуйте.

В документе Manual_ELV-MC03-SMARCr3.0.pdf

на 34 странице указано, что USB3_OTG_ID сигнал с разъёма SMARC подключен к USB0_ID0.

При этом в мануале на процессор указано, что USB0_ID0 “не используется, оставить неподключённым”.

Чему верить?

Заранее благодарю за ответ.

Здравствуйте.
На микросхеме есть КП USBn_ID он подключен к USB PHY. Но в контроллере USB нет поддержки usb-otg - сигнал по факту не используется. можно не подключать.

На некоторых наших платах можно увидеть подтяжку его к 1.8 - такое решение тоже не будет ошибочным.

У нас на SMARC сделано так:

ммм… Судя по приведённой мной таблице из документации поведение USB0_ID0 и USB1_ID0 отличается. Это так, или оба вывода “по факту не используются”?

“нет поддержки usb-otg” - это значит, что оба контроллера не могут работать в режиме device? Или это касается только логики, связанной с сигналами USB_ID (и VBUS?) ?

А смысл его подключать, если в контроллере USB нет поддержки usb-otg и он “по факту не используется”? Или это на будущее? Т.е. в вашем SMARC сигнал USB_ID не функционален на данный момент?

К контроллеру USB в СнК не подключен USB_ID. Функционала OTG нет.
Работать в режиме device они оба могут - нужно перенастроить поведение в DTS.

Он не может динамически “договариваться” с другим устройством кто есть host а кто device по протоколу OTG.

Вот список коммитов для включения DRD для другой нашей платы (но там используется Type-C разъем с микросхемой):

Понятно, спасибо. Последнее контрольное уточнение: ОБА сигнала USB_ID не функциональны (в документации написано, что только UBS0_ID0)?

Имеет смысл USB_ID подключать на будущее (как на вашем SMARC)? Или сразу честно написать, что поддержки usb-otg нет?

Да.

Да. Они одинаковые.

На ваше усмотрение. Поддержки usb otg нет, о чем и сказано в РП.

Тогда тут ещё спрошу про VBUS.

В документации приведен пример подключения в режиме host. В документации указано, что VBUS - I/O. Но, как я понимаю, USB_VBUS микросхемы - это всегда вход? И в режиме host, и в режиме device? Не хватает примера подключения в режиме device…

Пример есть на схеме платы ИП_КУ - Отладочные модули | ЭЛВИС техпортал

А если контроллер используется в качестве внутренней шины как host (5V_USB нет) - что подавать на VBUS? 3.3V достаточно? Или можно не подключать? Или надо именно 5V? Vih нигде не указано…

И ещё про USB_ID: он совсем-совсем не подключён никак внутри микросхемы? Может можно узнать его состояние через какой-нибудь регистр? Или, если хочется знать состояние USB_ID сигнала с разъёма, то его завести на GPIO?

Так как в процессоре non-OTG контроллер - функционально USB_ID им не используется. Контроллер в данном случае его не опрашивает и не получает сигнал изнутри.

В спецификации USB указано, 5В

А зачем тогда такие ноги на процессоре? Ещё и в документации везде нарисовано соединение (хоть и кое-где написано, что не используется)… И зачем писать, что USB1_ID0 что-то делает, если они оба ничего не делают? И, самое главное, зачем вы в SMARC этот сигнал выводили, если он ничего не делает? Всё на перспективу? Ладно, прошу прощения, это наверное риторические вопросы.

А какое отношение эта характеристика из спецификации? Нет, оно конечно как-то связано… Но в процессоре ведь это всегда вход. Вход, функция которого в чём? Детектирование присутствия VBUS? Если это вход, то должен быть порог срабатывания (Vih) - я про него и спрашивал.

В разных процессорах аналогичный вход сделан по-разному - где-то надо строго 5V±10%, где-то 1,5В достаточно. Поэтому вопрос и возникает, т.к. у вас в документации про него написано только что он 0-5.25В.

Сформулирую по-другому: как у вас в SMARC подключен вывод процессора VBUS того порта, который идёт на USB HUB?

У вас в SMARC есть опция питания 3,3V… Если для VBUS нужно подавать 5V в соответствии со спецификацией USB, то как в таком случае там получается 5V? Отдельно формируется 5V?

На землю посажен.

И всё работает? Т.е. можно так-же делать? Это говорит о том, что USB0_VBUS0, USB1_VBUS0 тоже особо на функционал не влияют?

Просто были случаи, с другими процессорами, когда если на аналогичный вход не подать “1”, то соответствующий порт “засыпал” и не работал…

Всё - это что по-вашему?

По-нашему - это работает ли порт процессора USB1? В документации написано, что VBUS “должен быть подключён во всех режимах”, у вас - посажен на 0. Получается, этот вход ни на что не влияет? Что 5В на него подай, что 0 - нет разницы?