Страница 1 из 1
USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 11:29:01
gauss
Приветствую!
Сейчас делаю Custom HID устройство на STM32F042. И застрял на простом этапе

Устройство создает конечную точку на чтение, типа Interrupt. Несколько раз в секунду отправляются данные в ПК.
В приложении (C# + LibUsbDotNet) идет прием этих данных. и вывод в консоль. Устройство шлет данные буквально несколько секунд,
потом перестает.
Глянул шину анализатором, в процессе передачи происходит два сброса, после третьего хост отрубает устройство от шины

В чем может быть проблема?
ОС Windows 8.1, при создании проекта использовал STM32Cube
Re: USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 11:35:57
Мурик
Проблема где-то на стороне МК. Возможно ошибка в коде или в схеме. Также может быть причиной некачественный USB шнур.
Re: USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 11:39:09
gauss
Просто отваливается оно как-то странно и неравномерно, то через 3,то через 30 секунд.
Шнур проверенный, в МК юзаю только стандартный HALовские функции.
В приложении точно не может быть дела?
В схеме вроде все нормально, с линий D+,D- через 22Ом идет на соответствующие выводы МК. Стабилитронов нет(а может ли это мешать?)
Re: USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 11:51:18
Мурик
Возьмите отладчик и посмотрите как выполняется программа после отвала USB. Не исключено что происходит HardFault.
Re: USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 14:33:34
gauss
Кстати, если меняю тип конечной точки на Bulk (соответственно как и в дескрипторе устройства), все начинает
нормально работать. Но! В Windows 7 не отваливается (как и в WinXP), а вот под восьмеркой начинаются проблемы.
Поэтому сначала грешил на драйвера
Добавлено after 2 hours 38 minutes 24 seconds:
Ура, проблема решилась!
Нужно было зайти в реестр, найти ключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<Device Instance Path>\Device Parameters,
где Device Instance Path состоит из VID и PID устройства.
Далее найти парамет EnhancedPowerManagementEnabled и изменить его с 1 на 0.
Мало ли кому пригодится

Re: USB Custom HID: "отваливается" устройство.
Добавлено: Чт апр 27, 2017 17:40:15
Мурик
Не исключено что в дескрипторах ошибка. Устройство сообщает о том что имеет автономный источник питания либо же неправильно задан потребляемый им ток.
Re: USB Custom HID: "отваливается" устройство.
Добавлено: Пт апр 28, 2017 22:29:16
gauss
ИМХО, если ошибка в дескрипторе - не работало бы нигде в принципе. Но под ХР и 7 проблем нет(все работает как хочу),
А под 8 и 10 не то чтобы не работает - но работает нестабильно. То есть отваливается-подключается, и так постоянно спустя
несколько минут.
По току задано следующее: своего источника питания не имеет, макс. ток потребления - 100мА (реальный макс. ток - 60мА)