реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблема с композитным USB устройством
korbian
сообщение Apr 2 2013, 08:12
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Коллеги. Есть некий микроконтроллер (Cortex-M3), на котором реализовано композитное USB устройство (2 интерфейса). Это устройство замечательно работает в Windows 7, но почему-то не всегда функционирует в Windows XP. В результате тестирования удалось выяснить, что ИНОГДА происходит пересечение данных, циркулирующих в разных интерфейсах. Причем, судя по всему, данные покидают устройство в правильном виде (недостоверно, по крайней мере USB контроллер микроконтроллера принимает правильные данные). Подскажите, пути решения проблемы.

P.s. по отдельности интерфейсы работают корректно, проблема возникает только при их объединение в композитном устройстве в Windows XP.


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Apr 9 2013, 05:45
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата(korbian @ Apr 2 2013, 11:12) *
Коллеги. Есть некий микроконтроллер (Cortex-M3), на котором реализовано композитное USB устройство (2 интерфейса). Это устройство замечательно работает в Windows 7, но почему-то не всегда функционирует в Windows XP. В результате тестирования удалось выяснить, что ИНОГДА происходит пересечение данных, циркулирующих в разных интерфейсах. Причем, судя по всему, данные покидают устройство в правильном виде (недостоверно, по крайней мере USB контроллер микроконтроллера принимает правильные данные). Подскажите, пути решения проблемы.

P.s. по отдельности интерфейсы работают корректно, проблема возникает только при их объединение в композитном устройстве в Windows XP.


Что значит "пересечение данных"? Есть подозрение, что ошибка в дескрипторах, просто 7-ка её игнорирует, а XP нет.
Самое простое использовать аппаратный USB-анализатор. На крайний случай использовать софтварные анализаторы.
Выложите дескрипторы устройства в тему.
Go to the top of the page
 
+Quote Post
korbian
сообщение Apr 9 2013, 10:49
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Serg_Sm @ Apr 9 2013, 09:45) *
Что значит "пересечение данных"? Есть подозрение, что ошибка в дескрипторах, просто 7-ка её игнорирует, а XP нет.
Самое простое использовать аппаратный USB-анализатор. На крайний случай использовать софтварные анализаторы.
Выложите дескрипторы устройства в тему.


"пересечение данных" означает, что при одновременной записи из разных интерфейсов (Bulk IN передача) часть данных (как правило 8 байт) передаваемых из одного интерфейса попадает в другой интерфейс. такое наблюдение было сделано в USBlyzer. подчеркну, что проблема возникает не всегда, а только в момент одновременного Bulk IN обмена в обоих интерфейсах. Прикладываю дескрипторы.

Прикрепленные файлы
Прикрепленный файл  USB_Composite_Device.html ( 37.25 килобайт ) Кол-во скачиваний: 58
 


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Apr 9 2013, 13:00
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата(korbian @ Apr 9 2013, 13:49) *
"пересечение данных" означает, что при одновременной записи из разных интерфейсов (Bulk IN передача) часть данных (как правило 8 байт) передаваемых из одного интерфейса попадает в другой интерфейс. такое наблюдение было сделано в USBlyzer. подчеркну, что проблема возникает не всегда, а только в момент одновременного Bulk IN обмена в обоих интерфейсах. Прикладываю дескрипторы.

Часть чужих данных может быть любого размера вплоть до 512 байт? Под чистой XP (безо всяких USBlyzer и т.п.) ошибки проявляются?

PS: Советую приобрести аппаратный анализатор - очень полезная штука. Про один такой я на форум отчёт кидал - поищи в моих старых сообщениях. На крайний случай в аренду у кого-нибудь возьми - определишь на чьей стороне проблема.
Go to the top of the page
 
+Quote Post
korbian
сообщение Apr 9 2013, 13:38
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Serg_Sm @ Apr 9 2013, 17:00) *
Часть чужих данных может быть любого размера вплоть до 512 байт? Под чистой XP (безо всяких USBlyzer и т.п.) ошибки проявляются?

PS: Советую приобрести аппаратный анализатор - очень полезная штука. Про один такой я на форум отчёт кидал - поищи в моих старых сообщениях. На крайний случай в аренду у кого-нибудь возьми - определишь на чьей стороне проблема.


видел изменения только нескольких байт. под чистой XP ошибки проявляются.
уж больно дорогие эти анализаторы, но все равно спасибо.


--------------------
© korbian
Go to the top of the page
 
+Quote Post
Serg_Sm
сообщение Apr 10 2013, 06:44
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 10-10-06
Из: Смоленск
Пользователь №: 21 167



Цитата(korbian @ Apr 9 2013, 16:38) *
видел изменения только нескольких байт. под чистой XP ошибки проявляются.
уж больно дорогие эти анализаторы, но все равно спасибо.

Откуда известно, что эти несколько байт именно с другого эндпойнта, а не просто мусор?

PS: Такой как у меня анализатор англичане сейчас продают за 850 фунтов - его возможностей в большинстве случаев достаточно.
Go to the top of the page
 
+Quote Post
korbian
сообщение Apr 11 2013, 05:50
Сообщение #7





Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063



Цитата(Serg_Sm @ Apr 10 2013, 10:44) *
Откуда известно, что эти несколько байт именно с другого эндпойнта, а не просто мусор?

PS: Такой как у меня анализатор англичане сейчас продают за 850 фунтов - его возможностей в большинстве случаев достаточно.


во втором интерфейсе (не mass storage) увидел CSW magicword. в снифере обе BULK IN передачи рядом, видно, что первые несколько байт совпадают. ок, присмотрюсь к анализаторам внимательней.


--------------------
© korbian
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 05:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016