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

 
 
8 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> FT245R работает со сбоями
koluna
сообщение Feb 13 2009, 18:38
Сообщение #46


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(galjoen @ Feb 13 2009, 18:09) *
Именно так. Сингфазная помеха проходит через все ваши преграды и воспринимается хостом как сигнал отключения устройства. Поэтому и всяческие заземления экрана помогают (а могут и навредить).
Я уже отвечал абсолютно на такой-же вопрос на этом-же форуме в этом-же разделе. Лень писать заново (и смотреть как называется состояние в USB, вызываемое сингфазной помехой). Поищите. Там WESTxxx (xxx - цифры) вопрос задавал.


http://electronix.ru/forum/index.php?showtopic=42549

"Это у вас, скорее всего, такая мощная сингфазная помеха прёт, что и D+ и D- нулями становятся (на короткое время). А это эквивалентно выдёргиванию устройства. А хаб к которому устройство подключено этого не замечает. И о новом подключении сообщения не посылает. А компьютер, раз устройства нет, в этот USB разъём SOF слать перестаёт ( вот FTDI режим Suspend и показывает). Попробуйте продольный трансформатор на шнур USB поставить. Несколько витков вокруг подходящего ферритового колечка (достаточно большого). Если повлияет - в этом дело."

Что такое продольный трансформатор и как его ставить? Как подобрать колечко?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 13 2009, 19:04
Сообщение #47


Местный
***

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



Цитата(galjoen @ Feb 13 2009, 23:24) *
На то, что линии перекошены из-за резистора 1,5 кОм он внимания не обращает - SOF слать перестаёт. И никаких попыток связь восстановить не предпринимает. Я имел ввиду, что програмно заставить его девайс поискать не удастся.

А ResetPort пробовали.

Цитата(galjoen @ Feb 13 2009, 23:24) *
Это примерно тот-же глюк, как если компьютер в слип кнопкой ввести, а потом разбудить. В этом случае все USB девайсы кроме мыши и клавы (для них сделали исключение) пропадут. И поможет только их перетыкание.

А может просто драйвера не отрабатывают соответсвующие IO.

Цитата(galjoen @ Feb 13 2009, 23:24) *
Так там вроде только читать можно. Хотя спорить не буду - давным-давно с этим разбирался.


Можно впрямую послать запрос в endpoint0.И в другие тоже, только предварительно открыв.


Цитата(n_bogoyavlensky @ Feb 13 2009, 23:38) *
Что такое продольный трансформатор и как его ставить? Как подобрать колечко?


Да попробуйте любое, главное чтобы устройство определилось.

Цитата(n_bogoyavlensky @ Feb 13 2009, 23:38) *
http://electronix.ru/forum/index.php?showtopic=42549

[i]"Это у вас, скорее всего, такая мощная сингфазная помеха прёт, что и D+ и D- нулями становятся (на короткое время). А это эквивалентно выдёргиванию устройства. А хаб к которому устройство подключено этого не замечает. И о новом подключении сообщения не посылает. А компьютер, раз устройства нет, в этот USB разъём SOF слать перестаёт


Хаб не замечает, а компьютер замечает, ну вы даете.

Открыть драйвер менеджер и посмотреть есть ли там "замеченное","выдернутое" устройство ...

Сообщение отредактировал Седой - Feb 13 2009, 19:22
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 13 2009, 19:27
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Седой @ Feb 13 2009, 21:55) *
А ResetPort пробовали.

Нет. Так это вроде к хосту команда. А мы про устройство говорим.
Цитата(Седой @ Feb 13 2009, 21:55) *
А может просто драйвера не отрабатывают соответсвующие IO.

Не похоже. Хиды, принтеры, телефоны, камеры и т.д. что все забыли про это дело?
Цитата(Седой @ Feb 13 2009, 21:55) *
Можно впрямую послать запрос в endpoint0.И в другие тоже, только предварительно открыв.

Так это только на уровне драйвера так можно, а приложение так не может. Это в линуксе так можно (если разрешить).

А продольный трансформатор - это трансформатор с двумя (или больше) одинаковыми обмотками, включенными так, что сингфазный сигнал ослабляется, а дифференциальный не изменяется. Но USB и сингфазные сигналы использует. Поэтому только на данные его (больше какого-то размера) ставить нельзя. Такие в некоторых флешках стоят. А вот всем кабелем кольцо обмотать можно - хуже не будет. Нашлёпки на концах кабелей (не только USB) это и есть продольные трансформаторы с одним витком. Но индуктивность квадрату числа витков пропорциональна. 10 витков - в 100 раз больше индуктивность.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 13 2009, 19:36
Сообщение #49


Местный
***

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



Цитата(galjoen @ Feb 14 2009, 00:27) *
Нет. Так это вроде к хосту команда. А мы про устройство говорим.
.....
Так это только на уровне драйвера так можно, а приложение так не может. Это в линуксе так можно (если разрешить).


Ну зачем вы делаете скоропалительные выводы - см. http://msdn.microsoft.com/en-us/library/aa476347.aspx
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 13 2009, 19:56
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Седой @ Feb 13 2009, 22:04) *
Открыть драйвер менеджер и посмотреть есть ли там "замеченное","выдернутое" устройство ...

Да нет там этого устройства. В диспечере устройств посмотреть - это первое, что на ум приходит. И после слипа тоже-самое. И у топикстартера наверняка так-же.
А вот линии данных за счёт резистора перекошены...

Цитата(Седой @ Feb 13 2009, 22:36) *
Ну зачем вы делаете скоропалительные выводы - см. http://msdn.microsoft.com/en-us/library/aa476347.aspx

Не делаю я выводы. Где не уверен - пишу вроде и т.п. Если так можно делать, то прекрасно. Но когда я разбирался (давно) у меня так не получилось (хотя сильно и не упирался т.к. решил работать через HID).
А вы пробовали? У вас получилось? В смысле можете-ли вы отправить устройству пакет SETUP с полями, заполненными по своему усмотрению, работая под win на уровне приложения?

Вообще я девайсы не требующие установки к.л. драйверов делаю. Т.е. драйвера для них уже установлены д.б. Фактически это MassStorage, HID и всё.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 13 2009, 20:01
Сообщение #51


Местный
***

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



Цитата(galjoen @ Feb 14 2009, 00:37) *
Да нет там этого устройства. В диспечере устройств посмотреть - это первое, что на ум приходит. И после слипа тоже-самое. И

Если нет, тогда вы правы.
Ну тогда отловить программно такую ситуацию довольно просто - обработкой сообщения WM_DEVICE.

Цитата(galjoen @ Feb 14 2009, 00:37) *
у топикстартера наверняка так-же.


А вот у него и спросим.
Цитата(galjoen @ Feb 14 2009, 00:37) *
Но когда я разбирался (давно) у меня так не получилось (хотя сильно и не упирался т.к. решил работать через HID).


Тогда эта возможность не была документирована.

Сообщение отредактировал Седой - Feb 13 2009, 20:11
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 14 2009, 02:20
Сообщение #52


Местный
***

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



Пока проверил только IOCTL_USB_HUB_CYCLE_PORT - detach и последующий attach устройства - прекрасно работает из UserMode c драйвером хаба.

Остальное проверю позже, как будет время.
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 14 2009, 10:08
Сообщение #53


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(galjoen @ Feb 13 2009, 22:56) *
Да нет там этого устройства. В диспечере устройств посмотреть - это первое, что на ум приходит. И после слипа тоже-самое. И у топикстартера наверняка так-же.
А вот линии данных за счёт резистора перекошены...


После возникновения ошибки устройство не пропадает из диспетчера устройств.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 14 2009, 10:24
Сообщение #54


Местный
***

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



Цитата(n_bogoyavlensky @ Feb 14 2009, 15:08) *
После возникновения ошибки устройство не пропадает из диспетчера устройств.


Тогда давайте продолжим.
После ошибки, не выходя из вашей программы, попробуйте в диспетчере задач отключить, а потом задействовать. Посмотрите, отразится ли это на последующую возможность использования устройства.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 14 2009, 11:08
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Седой @ Feb 14 2009, 05:20) *
Пока проверил только IOCTL_USB_HUB_CYCLE_PORT - detach и последующий attach устройства - прекрасно работает из UserMode c драйвером хаба.

Работает. Странно. А у меня что-то в своё время не получилось. А точно срабатывает?
Что с портом после detach происходит? SOF-то пропадает? Девайс в суспенд переходит?
Цитата(n_bogoyavlensky @ Feb 14 2009, 13:08) *
После возникновения ошибки устройство не пропадает из диспетчера устройств.

Совсем интересно. Видимо это какой-то другой случай... И ошибок никаких в диспетчере не показывается? А SOF продолжает идти? Его осциллографом отлично видно, да и тестер покажет частоту 1 кГц. Только тыкаясь щупами можно случайно девайс разбудить. Тогда эксперимент некорректным будет. Ещё рекомендую на ножку, которая суспенд показывает, светодиод повесить.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 14 2009, 13:27
Сообщение #56


Местный
***

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



Цитата(galjoen @ Feb 14 2009, 16:08) *
Работает. Странно. А у меня что-то в своё время не получилось. А точно срабатывает?
Что с портом после detach происходит? SOF-то пропадает? Девайс в суспенд переходит?


Работает также как и IOCTL_INTERNAL_USB_CYCLE_PORT, вызванный из драйвера.
Как написано в комментарии usbioctl.h:
"
This IOCTL will simulate a plug/unplug on the drivers upstream
port. The device will be removed and re-added by PnP.
"
В драйвер менеджере вижу удаление и появление драйвера.
В устройстве вижу полный цикл энумерации.
Проверил на MT-Link, USB-COM (один свой на CP2103, второй покупной на Prolific),
своих двух платах(одна на С8051F326, вторая PDIUSBD + AVR),
на Olimex LPC-P2148 и MLPC2368 от StarterKit.

Следует обратить внимание, что документирован этот запрос неверно, делать нужно как написано
в usbioctl.h, а именно:
1. Вызывать для драйвера хаба, а не хоста.
2. Передавать в качестве входного параметра указатель на DWORD c номером порта, начинающегося с 1.

Сообщение отредактировал Седой - Feb 14 2009, 13:44
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 14 2009, 15:40
Сообщение #57


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Седой @ Feb 14 2009, 16:27) *
В драйвер менеджере вижу удаление и появление драйвера.
В устройстве вижу полный цикл энумерации.

Очень интересно!
А что если попробовать всё это дело после пропадания устройств, вызванных входом самого компьютера в слип? Для этого нужно чтобы во время засыпания компьютера на USB девайсы продолжало поступать +5 вольт, но SOF пропадал. Т.е. девайсы в суспенд попадали бы. Тогда после пробуждения компьютера USB девайсы пропадут (они останутся в суспенде). Можно-ли с помощью detach/attach к хабу заставить компьютер их найти?
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 14 2009, 18:30
Сообщение #58


Местный
***

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



Цитата(galjoen @ Feb 14 2009, 20:40) *
Очень интересно!
А что если попробовать всё это дело после пропадания устройств, вызванных входом самого компьютера в слип? Для этого нужно чтобы во время засыпания компьютера на USB девайсы продолжало поступать +5 вольт, но SOF пропадал. Т.е. девайсы в суспенд попадали бы. Тогда после пробуждения компьютера USB девайсы пропадут (они останутся в суспенде). Можно-ли с помощью detach/attach к хабу заставить компьютер их найти?

Я уже тут писал, что проблема в драйверах этих устройств или настройках драйверов или в самих устройствах, ведь переход в suspend не изменяет device state и после resume реэнумерация не нужна.

Сообщение отредактировал Седой - Feb 14 2009, 18:33
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 15 2009, 13:57
Сообщение #59


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(Седой @ Feb 14 2009, 13:24) *
Тогда давайте продолжим.
После ошибки, не выходя из вашей программы, попробуйте в диспетчере задач отключить, а потом задействовать. Посмотрите, отразится ли это на последующую возможность использования устройства.


Попробуем.


Цитата(galjoen @ Feb 14 2009, 14:08) *
Работает. Странно. А у меня что-то в своё время не получилось. А точно срабатывает?
Что с портом после detach происходит? SOF-то пропадает? Девайс в суспенд переходит?

Совсем интересно. Видимо это какой-то другой случай... И ошибок никаких в диспетчере не показывается? А SOF продолжает идти? Его осциллографом отлично видно, да и тестер покажет частоту 1 кГц. Только тыкаясь щупами можно случайно девайс разбудить. Тогда эксперимент некорректным будет. Ещё рекомендую на ножку, которая суспенд показывает, светодиод повесить.


Ошибок не показывается.
Попробуем в понедельник! smile.gif


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 16 2009, 19:10
Сообщение #60


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(Седой @ Feb 14 2009, 13:24) *
Тогда давайте продолжим.
После ошибки, не выходя из вашей программы, попробуйте в диспетчере задач отключить, а потом задействовать. Посмотрите, отразится ли это на последующую возможность использования устройства.


Так, а что конкретно отключить, а потом задействовать?
Последовательный порт или USB Serial Convertor?
После выбора из списка "Отключить" и того и другого винда предлагает перезагрузиться...
Может, я не там отключаю?

Цитата(galjoen @ Feb 14 2009, 14:08) *
Совсем интересно. Видимо это какой-то другой случай... И ошибок никаких в диспетчере не показывается? А SOF продолжает идти? Его осциллографом отлично видно, да и тестер покажет частоту 1 кГц. Только тыкаясь щупами можно случайно девайс разбудить. Тогда эксперимент некорректным будет. Ещё рекомендую на ножку, которая суспенд показывает, светодиод повесить.


SOFа нету, пропадает он после сбоя, хорошо это вижу smile.gif
USBDP - "1",
USBDN - "0",
PWREN# - "1".

Т. е., конвертор спит, и хост ему ничего не шлёт...

Докладываю о следующих экспериментах!

Ниже перечисленные эксперименты производил без прожектора и его кабеля. К сожалению, прожектор забрали не неопределённое время. А сбои оставили wink.gif

1. Запитал вторую половину конвертора (смотри структурную схему выше) от внешнего источника питания (трансформатор + линейный стабилизатор). В месте подключения провода от источника к плате установил электролит 100.0 и керамику 0.1.
Сбоить не перестало. Тыркаем вилку источника питания - иногда сбоит. Т. е., для возникновения сбоя совсем не обязательно наличие огромного пускового тока 30 А AC-DC моего прожектора...

2. Попробовал включать источник питания через автоматический выключатель - ситуация не изменилась.

3. В настройках микросхемы (EEPROM) установил вместо "USB 2.0" "USB 1.1". Скорость обмена упала раз в пять, сбои не прекратились.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post

8 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


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


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