Первоначально мы понимаем,что на шине USB 5В. Микроконтроллеры STM32 или LPC с поддержкой USB-HOST вообще-то 3.3В.
STM32F205VGT6 (встроенный USB HOST)
Изучаем схемы USB-HOST , например, в ккт Меркурий-185Ф,115,180Ф (чип STM32F205VGT6). Там именно клавиатура подключается к ккт для ввода символов.
И видим, что с USB разъема сигнальные линии проходят через микросхему USBLC6-2SC6, потом cтоят резистры 22 Ом и сразу на мк (USBDn,USBDp).
Питание на USB (vbus) подается через мксх TPS2041BDBVR (ключ) и конечно это 5В (Мы Host - естественно мы питаем всех кто к нам подключается).
В даташите на мк STM32F205VGT6 по-поводу USB упоминается "on-chip PHY" ( physical layer transceiver (PHY) ):
USB 2.0 full-speed device/host/OTG controller with on-chip PHY
USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
USB_Host_Shield_2.0 на али
обнадеживающая находка - USB_Host_Shield_2.0 и главное библиотека arduino USB Host
library c с сайта http://www.circuitsathome.com !
USB_Host_Shield_2.0
Max3421E - микроконтроллер управления USB через SPI интерфейс
SN74LVC1G125 Single Bus Buffer Gate With 3-State Output для согласование уровней
странно Max3421E дороже STM32 , примерно 300р. на али
есть еще спец. микроконтроллер типа CH374, CH375 по 100р.!
STUSB03E 80р.
Cypress SL811HS 100р.
Prolific PL2303 ?
Ну и наконец покупаем на али отладочную плату STM32F407VET6 800р. (USB HOST встроен)
разъем под JLink
изучаем evaluation board на STM32F407 по даташитам с st.com , отмечаем , что :
1. питание мк 3.3V
2. везде ставится микросхема типа STMPS2141STR@54 , которая питает vbus USB напряжение 5В и ограничивает ток на линии vbus USB (по стандарту 500ма | 1А). И самое интересное именно на нее подается 5В и больше никуда (остальная часть может быть чисто 3.3В).
3.