Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по USB и USBN9604
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Alechin
Дело в следующем: имею некое USB устройство с USBN9604. Безотказно работало несколько лет на разных машинах и с USB1.1 и с USB2.0. И вдруг на одной из машин устройство не определяется. Сняли лог процесса энумерации и увидели следующее: после чтения начала дескриптора устройства и последующего назначения адреса (как обычно, все прошло на ура) хост присылает запрос чтения всего дескриптора устройства. Я передаю первую часть дескриптора (8 байт - по размеру FIFO EP0) и в ответ не получаю ACK (т.е. имею TXS0 с TX_DONE и без ACK_STATE). В данной ситуации я прекращаю передачу и разрешаю прием, а хост больше ничего не запрашивает и энумерация прекращается.
По спецификации в такой ситуации (при неподтверждении передачи) я должен повторить передачу неподтвержденного подпакета, что я и делаю для всех конечных точек, кроме нулевой (регистры управления передачей этих точек содержат специальный признак перезагрузки FIFO). Регистр же управления EP0 не содержит возможности перезагрузки FIFO. Почему? Должен ли я сам вручную перезагружать FIFO? Должен ли я повторить только неподтвержденную часть, либо начать передачу сначала? И почему именно на этой машине (на десятках других этого нет) хост упорно не хочет подтверждать переданную мною первую часть дескриптора?
Ottawan
Попробуй передать не 8, а 64 байта в начале.
Alechin
Цитата(Ottawan @ Oct 20 2005, 17:19)
Попробуй передать не 8, а 64 байта в начале.
*


Так FIFO то только на 8 байт!
Я сделал повтор передачи при неподтверждении (сам перезагружаю неподтвержденную часть пакета). Теперь (именно на этой одной машине) каждая передача идет с двух-трех попыток, а затем вообще прерывается (после трех подряд ошибок хост отключает меня). Пока кроме мыслей о помехах ничего в голову не приходит.
wladimiru
Цитата(Alechin @ Oct 29 2005, 13:45)
Пока кроме мыслей о помехах ничего в голову не приходит.
*

Если есть возможность проверь для статистики на бОльшем количестве машин. Наверное стоило бы даже проверить на машинах с такой же материнской платой. тогда можно сделать и выводы. Также можно посмотреть подключение с USB кабелем для USB 2.0, взять покороче кабель и т.д.
Может дешевле будет, для экономии времени(денег) заменить мат-плату на другую, с которой девайс работает wink.gif .
Alechin
Цитата
Если есть возможность проверь для статистики на бОльшем количестве машин. Наверное стоило бы даже проверить на машинах с такой же материнской платой. тогда можно сделать и выводы. Также можно посмотреть подключение с USB кабелем для USB 2.0, взять покороче кабель и т.д.
Может дешевле будет, для экономии времени(денег) заменить мат-плату на другую, с которой девайс работает wink.gif .

Устройство без нареканий работает на многих различных машинах - и самых новых (с USB2.0) и совсем стареньких (включая ноуты доисторические). И вдруг случайно напоролись на одну такую машину. Просто теперь потерял доверие к устройству. В данном случае плюнули, и подключили к другой машине, но "терзают смутные подозрения" - вдруг опять такое повториться, копать в поисках "беды" или нет?
wladimiru
Цитата(Alechin @ Nov 1 2005, 08:37)
Устройство без нареканий работает на многих различных машинах - и самых новых (с USB2.0) и совсем стареньких (включая ноуты доисторические). И вдруг случайно напоролись на одну такую машину. Просто теперь потерял доверие к устройству. В данном случае плюнули, и подключили к другой машине, но "терзают смутные подозрения" - вдруг опять такое повториться, копать в поисках "беды" или нет?
*

Для успокоения души все же надо бы поэкспериментировать с тем компом. Может все же дело было в:
1. Материнской плате (хост - контроллер USB+BIOS+ драйвер хоста). Для подтверждения этой гипотезы нужна еще одна такая же мамка.
2. В глюках операционной системы - перестановка ОС на данной машине/мамке это покажет.

Проблема глюков с USB устройствами в WIN системах периодически всплывает на разных форумах производителей/покупателей этих USB устройств.
BVU
Наверняка данный 'глюк' от некорректной работы системы драйверов USB для всшего нового PC (может быть и в железе дело). Для исключения железа - проверьте все имеющиеся USB порты материнки. Что касается драйверов посмотрите на сайте производителя материнки, может уже существуют другие или попробуйте установить те с которыми все работало.
Alechin
Сегодня добились работоспособности и на данной машине - нашли короткий (20 см) кабель и толстый (даже толще, чем кабели USB2.0). На нем все без сбоев.
Теперь вопрос - на какой строне проблемы - на моей или на PC?
Как это бороть, устройство всего-лишь FullSpeed. Сигнальные линии USB подключены ко входу USBN напрямую.
wladimiru
Цитата(Alechin @ Nov 3 2005, 10:55)
Сегодня добились работоспособности и на данной машине - нашли короткий (20 см) кабель и толстый (даже толще, чем кабели USB2.0). На нем все без сбоев.
Теперь вопрос - на какой строне проблемы - на моей или на PC?
Как это бороть, устройство всего-лишь FullSpeed. Сигнальные линии USB подключены ко входу USBN напрямую.
*

Можно попробовать и на стороне USB устройства. Кажись в стандарте USB версии 1.1 было рекомендовано для согласования линии ставить последовательно резисторы. Вот например в этой книге Агуров "Последовательные интерфейсы ПК"на стр. 349 схема с установленными 27Ом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.