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

 
 
> USB STR912 Virtual COM Port Прекращается опрос EP
anton_1265
сообщение Sep 8 2009, 12:40
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 2-12-08
Пользователь №: 42 145



Добрый день, прошу совета.

Ситуация следующая:
Устройство STR912FAW44x6 , в нем работает некоторая прикладная программа (в User Mode), кроме этого
работает USB (VCP и Mass Storage) USB запросы обрабатываются в IRQ.
Периодически прикладная программа запрещает на короткие промежутки времяни (30 мс) прерывания от USB, в результате, в процессе работы возникает USB Reset (порождаемый хостом), но на момент прихода Reset
регистры всех конченых точек EP оказываются зануленными, сброшенными.

При этом проверено, что если прерывания блокируются редко, пусть и надолго (до 6 секунд), сброса не происходит.

Прошу дать совет в чем может быть дело?
Почему вообще могут сбрасываться регистры EP?
Если у кого то была подобная проблема, отпишите пожалуйста.

P.S.
Модулем USB управляю по средством стандартных ST библиотек.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
anton_1265
сообщение Jan 14 2010, 12:51
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 2-12-08
Пользователь №: 42 145



Уже не удобно заводить топики на эту тему, потому что я копаюсь с USB VCP+Mass Storage уже почти год(!),
периодически кажется что всё работает как надо, но каждый раз вылезает новая проблема.

Суть в следующем: VCP работает некоторое время. Т.е. программа на стороне ПК открывает порт, засылает данные, получает
ответ, и закрывает порт. Но через некоторое кол-во таких транзакций - обмен прекращается. ПК перестает забирать данные из
End Point (EP) устройства. При этом регистры USB устройства находятся в правильном состоянии (EP_TX_Status=VALID и EP_TX_Count>0 в ),
т.е. устройство хочет передать данные, а Windows не хочет почему-то их забирать. При этом порт продолжает нормально открываться и закрываться. Данные уходят в VCP,
их видит USB сниффер, данные уходят в устройство, но конечная точка устройства не опрашивается. После программного перезапуска устройства (перезапуска драйвера устройства на стороне ПК), - не принятые данные дочитываются хостом (USB сниффер показывает что от устройства приняты данные, которые должны были придти в ответ на запрос, до перезапуска).

В устройстве есть следующие особенности :
1. Асинхронно с операциями USB, в устройстве выполняются другие задачи
на время активности которых прерывания от USB отключаются.
2. Как написано выше - в устройстве кроме интерфейса VCP есть интерфейс MASS STORAGE. ( Есть ощущение, что сбои возникают чаще, кода Mass Srorage находится в
состоянии "Диск откючен/NO Media In Device", но это не подтверждено).

Не сталкивался ли кто либо с ситуацией, что драйвер перестаёт опрашивать конечные точки, которые казалось бы должен опрашивать?
Знает ли кто либо какие времена задержек допустимы для VCP и Mass Srorage, т.е. на какое кол-во времени программа в контроллере может
задерживать обработку запросов от Хоста, чтобы не провоцировать тем самым какие либо Soft Reset?
Go to the top of the page
 
+Quote Post
Седой
сообщение Jan 16 2010, 09:54
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



Цитата(anton_1265 @ Jan 14 2010, 17:51) *
...
Не сталкивался ли кто либо с ситуацией, что драйвер перестаёт опрашивать конечные точки, которые казалось бы должен опрашивать?
...


Сталкивался раньше и очень даже часто. После того как казаться перестало, проблем ни одного раза не было.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:12
Рейтинг@Mail.ru


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