Продолжаю разбираться.
Нашёл два противоречия, может растолкует кто:
На плате sk-mstm32f107 когда подключаем USB-флешку она запитываеться блока питания. Линия Vbus МК и Vbus USB флешки не соеденены.
Хотя в RM0008 на схеме 304 указано что Vbus МК как хоста, и USB-флешки как девайса, должны быть соеденены, также сказано:
Цитата
VBUS valid
The VBUS input ensures that valid VBUS levels are supplied by the charge pump during USB
operations.
Any unforeseen VBUS voltage drop below the VBUS valid threshold (4.25 V) leads to an OTG
interrupt triggered by the session end detected bit (SEDET bit in OTG_FS_GOTGINT). The
application is then required to remove the VBUS power and clear the port power bit. The
charge pump overcurrent flag can also be used to prevent electrical damage. Connect the
overcurrent flag output from the charge pump to any GPIO input and configure it to generate
a port interrupt on the active level. The overcurrent ISR must promptly disable the VBUS
generation and clear the port power bit.
Т.е. Vbus МК в режиме хоста мониторит состояние на линии Vbus, и если оно ниже 4.25 он генерит прерывание.
Получаеться что на плате sk-mstm32f107 просто обошли боком этот момент.
2) Определение факта подключения USB-флешки:
Сказано
Host detection of a peripheral connection
Even if USB peripherals or B-devices can be attached at any time, the OTG_FS will not detect any bus connection until the end of the VBUS sensing (VBUS over 4.75 V).
When VBUS is at a valid level and a remote B-device is attached, the OTG_FS core issues a host port interrupt triggered by the device connected bit in the host port control and status register (PCDET bit in OTG_FS_HPRT).
Я правильно понял при подключении USB-флешки напряжение на линии Vbus МК должно опуститься ниже 4.75 чтобы сгенерировалось прерывание на Хосте? Или я читаю не так...
Господа истолкуйте кто ведает истину!