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

 
 
8 страниц V  « < 5 6 7 8 >  
Reply to this topicStart new topic
> FT245R работает со сбоями
galjoen
сообщение Feb 18 2009, 20:31
Сообщение #91


Знающий
****

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



Цитата(_3m @ Feb 18 2009, 22:32) *
От драйвера зависит.
Я снял лог при замыкании D+ и D- на HID устройстве на базе pic18f2550.
[attachment=29876:hid_tst.html]
Оно таки само развесилось, в логе видно что реакция на сбой сильно отличается от ftdi и действия гораздо более осмысленные. Впрочем замыкания более 2-3 секунд HID тоже не переносит - виснет без каких либо сообщений об ошибках также как и ftdi.

Да, Pic здесь ни при чём. Надо отдать должное - майкрософт видимо над HID хорошо поработал. Ещё-бы - это ведь их изобретение. Хотя и MassStorage, когда я его исследовал, мне очень понравился. Ну на 1 треть запросов отвечаешь, на 2-ю треть не отвечаешь, а на 3-ю - вообще STALL посылаешь и всё работать продолжает! На реальные флешки смотришь (самые китайские) - там такой бардак, а всё работает. Никто ничего не замечает! Единственно вот с составным устройством там у них глюк. Если из-за ошибок в одном из интерфейсов энумерация происходит - другой теряется.

А что там за Clear Port Feature (3, Enable/Disable Change) в логе? Какой SetupPacket ему соответствует? Наверное подобным образом сделать следует.
Цитата(_3m @ Feb 18 2009, 22:32) *
Может с точки зрения usb.org и должен, но нас такое поведение категорически не устраивает.

Не должен. По логу это видно. Set Port Feature (3, Reset) - это видимо и есть IOCTL_INTERNAL_USB_RESET_PORT, который мы собираемся использовать. Хотя с уверенностью утверждать не могу - на сам пакет тоже не мешало бы посмотреть.

Вообще в разных местах одно и тоже называется по разному. Предлагаю во избежании разночтении к SetupPacket-ам, которые в хаб будут отправляться, в обозначениях перейти.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 18 2009, 20:36
Сообщение #92


Местный
***

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



Цитата(_3m @ Feb 19 2009, 00:32) *
От драйвера зависит.
Я снял лог при замыкании D+ и D- на HID устройстве на базе pic18f2550.
Оно таки само развесилось, в логе видно что реакция на сбой сильно отличается от ftdi и действия гораздо более осмысленные.Впрочем замыкания более 2-3 секунд HID тоже не переносит....

Драйвер Microsoft делал (но 3 сек не учел)

Цитата(_3m @ Feb 19 2009, 00:32) *
Я перезапуск силами PC делал как в исходнике devcon.

Вызовом Class Intstallera - вполне правильный и легальный способ и рекомендуемый Microsoft, кстати недели две назад
на форуме Microsoft спрашивали: почему IOCTL_USB_HUB_CYCLE_PORT не работает из UserMode - драйверописатель из Microsoft от ответа ушел - предложил вышеуказанный способ.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 18 2009, 20:47
Сообщение #93


Знающий
****

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



Цитата(Седой @ Feb 18 2009, 23:36) *
Драйвер Microsoft делал (но 3 сек не учел)

М.б. не 3, а 5? Тогда они всё по стандарту сделали, если в течении 5 секунд не удаётся ошибку исправить - всё.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 18 2009, 21:01
Сообщение #94


Местный
***

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



Цитата(galjoen @ Feb 19 2009, 01:47) *
М.б. не 3, а 5? Тогда они всё по стандарту сделали, если в течении 5 секунд не удаётся ошибку исправить - всё.


Но зависать-то зачем - сделал remove device и всё.
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 18 2009, 21:02
Сообщение #95


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

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



Цитата(stoker @ Feb 18 2009, 22:36) *
Сразу что мне не понравилось в разводке - толщина цепи питания.


Каюсь. Забыл увеличить. Было в планах smile.gif
Неужели может повлиять?
Можно проволокой сверху потолще...

Цитата
Там на месте кабеля я так понимаю дожен быть разъём?


Да. Но с разъёмом я немножко напутал или не нашёл... поэтому впаял прямо кабель.

Цитата
А где кондер на 4-й ноге?


Нету его. Подвесим.

Цитата
Тантал бы ещё по питанию и катушку на 5 В.


Тантал есть (снизу платы, 100 мкФ). Правда далеко стоит, ближе к DC-DC.
Нету ферритовой бусины, как на рисунке 6.1 в даташите.
Какую катушку лучше и как включить?

Цитата
Оффтоп: Похоже свою ФТ я убил замыканиями пинцетом ног D+, D-. Видимо случайно не то замкнул. Теперь она все время висит в суспенде. А винда ругается что устр-во не опознано.


Там же резисторы внутри, не должно...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
stoker
сообщение Feb 18 2009, 21:09
Сообщение #96


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 469



Цитата(n_bogoyavlensky @ Feb 19 2009, 00:02) *
Да. Но с разъёмом я немножко напутал или не нашёл... поэтому впаял прямо кабель.

Просто от микрухи до оплетки линии далековато получается. Хотя в принципе это не high speed.

Цитата(n_bogoyavlensky @ Feb 19 2009, 00:02) *
Тантал есть (снизу платы, 100 мкФ). Правда далеко стоит, ближе к DC-DC.
Нету ферритовой бусины, как на рисунке 6.1 в даташите.
Какую катушку лучше и как включить??
Тантал лучше ближе к микрухе.
Катушку у себя поставил 2,2мкГн, но думаю и без неё тоже будет работать.

Цитата(n_bogoyavlensky @ Feb 19 2009, 00:02) *
Там же резисторы внутри, не должно...

Я походу не только +/-D замкнул. Видимо что то ещё.
Go to the top of the page
 
+Quote Post
_3m
сообщение Feb 18 2009, 21:14
Сообщение #97


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(galjoen @ Feb 18 2009, 23:31) *
А что там за Clear Port Feature (3, Enable/Disable Change) в логе? Какой SetupPacket ему соответствует? Наверное подобным образом сделать следует.

Код
3946-3945:
Clear Port Feature
This request resets a value reported in the port status.
Offset Field Size Value Description
0 bmRequestType 1 23h  
4..0: Recipient  ...00011  Port
6..5: Type  .01.....  Class
7: Direction  0.......  Host-to-device
1 bRequest 1 01h Clear Port Feature
2 wValue 2 0011h Feature: Enable/Disable Change
4 wIndex 2 0003h Port
6 wLength 2 0000h


Цитата
Не должен. По логу это видно. Set Port Feature (3, Reset) - это видимо и есть IOCTL_INTERNAL_USB_RESET_PORT, который мы собираемся использовать. Хотя с уверенностью утверждать не могу - на сам пакет тоже не мешало бы посмотреть.

Код
3959-3958:
Set Port Feature
This request sets a value reported in the port status.
Offset Field Size Value Description
0 bmRequestType 1 23h  
4..0: Recipient  ...00011  Port
6..5: Type  .01.....  Class
7: Direction  0.......  Host-to-device
1 bRequest 1 03h Set Port Feature
2 wValue 2 0004h Feature: Reset
4 wIndex 2 0003h Port
6 wLength 2 0000h
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 18 2009, 21:50
Сообщение #98


Знающий
****

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



Цитата(_3m @ Feb 19 2009, 00:14) *

Получается, что Clear Port Feature (3, Enable/Disable Change) это CLEAR_FEATURE + C_PORT_ENABLE. Её два раза вызывают чтобы изменить и сделать как было.
А Set Port Feature (3, Reset) это SET_FEATURE + PORT_RESET. Это видимо самое кардинальное лекарство от всех болезней, типа гильотины. Напоследок приберегли.
Go to the top of the page
 
+Quote Post
AndreyS
сообщение Feb 19 2009, 14:27
Сообщение #99


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 28-01-05
Из: Санкт-Петербург
Пользователь №: 2 276



Цитата(n_bogoyavlensky @ Feb 18 2009, 21:51) *
Хм... я не думаю, что сделал плату плохо...
Вот, вид сверху (фотография) и картинка из OrCAD'а - верх и низ платы.

Жду замечаний по качеству разводки smile.gif

Да. Вот ещё что.
Экран USB-кабеля соединён с общей цепью устройства (левая часть на приведённой мною схеме).
На нижней стороне ПП распаяны на общую цепь конденсаторы 47 пФ (в сантиметре от разъёма) и электролит по питанию +5 В (100.0).



Добрый день.

Ну первое что лично мне не понравилось это несимметричная линия D+ и D-. Зачем нужно было ставить два переходных отверстия?? Да еще и с поворотом в 90 градусов, хотя и без прямых углов. Куда именно посажен SHELL разъема?? В какую точку земли? От этого тоже зависит устойчивость. Я бы поставил ее к общему проводу в районе источника питания. Там же поставил шунтирующих емкостей (керамику 0.1 и тантал на десяток uF). Потом что-то не помню я чтобы у FTDI были внутренние последовательные резисторы по шине D+ и D- (везде вешали внешние), но быть может уже все и изменилось. Поставил бы еще по шине D+ и D- защитные диоды. LC фильтр и варистор по USB питанию.

Попробуйте немного поиграться с переносом точки земления экрана кабеля и установкой защитного диода по питанию USB (ну варистор поставьте).
Еще хороший вариант (в качестве эксперимента) положить вашу плату в железную коробочку. Корпус объединить с общим проводом и до кучи его заземлить (в землю). Экран кабеля так же подключить к корпусу. И дальше в таком исполнении поиграться на предмет устойчивости. При этом всю схему питать уже не от USB, а от собственного источника, который будет сидеть на другой фазе по отношению к компьютеру. На мой взгляд если сбоить будет, то это уже точно помеха прикладываемая к USB хабу (неустойчивая работа хаба). Что в принципе сейчас в этой ветке и обсуждается(лось).

Вот такое мое мнение.


--------------------
Удачи.
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 19 2009, 15:20
Сообщение #100


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

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



Следующий доклад smile.gif

1. Порт закрыт. Обмена нет. Тыркаю вилкой - иногда возникает сбой. Т. е., ни ПК с портом не работает, ни МК в конверторе с FT245R не работает, а сбои возникают...
2. Ток потребления от USB левой части конвертора (по схеме) - не более 43 мА в режиме обмена.
3. Электролит по питанию переставил почти вплотную к распаянному на плату USB-кабелю.
4. Существенно утолщил цепь +5 В от USB-кабеля (пропаял приличным проводом сверху по дорожкам).
5. На вывод VCCIO FT245R повесил 0.1 мкФ (около 5 мм от вывода, ближе не получилось).
6. Сбои возникают даже при незапитанной правой части конвертора, т. е., кабель питания к разъёму питания конвертора не подключен. Вилкой источника питания дёргаем как обычно туда-сюда (напоминаю, что правая часть у меня сейчас запитана через обычный источник питания БПС 5-0.5).
7. Попробовал работать на рядом стоящем компьютере, подключенном к той же розетке, что и первый компьютер. Сбоев нет!

Цитата(AndreyS @ Feb 19 2009, 17:27) *
Ну первое что лично мне не понравилось это несимметричная линия D+ и D-. Зачем нужно было ставить два переходных отверстия?? Да еще и с поворотом в 90 градусов, хотя и без прямых углов.


Для USB это критично?
Что значит "несимметричная"?
Всё объясняется просто smile.gif
Плата собственного изготовления, без металлизации отверстий. Предполагал ставить USB-разъём. А разъём можно распаять только с обратной стороны платы...
Разъём не поставил, впаял в плату USB-кабель...

Цитата
Куда именно посажен SHELL разъема?? В какую точку земли?


Распаян на общий сразу за проводами. Провода без экрана - около 8 мм.

Цитата
От этого тоже зависит устойчивость. Я бы поставил ее к общему проводу в районе источника питания. Там же поставил шунтирующих емкостей (керамику 0.1 и тантал на десяток uF).


Левая часть конвертора (смотри схему) питается от USB. Внешний источник питания используется только для правой части конвертора.

Цитата
Потом что-то не помню я чтобы у FTDI были внутренние последовательные резисторы по шине D+ и D- (везде вешали внешние), но быть может уже все и изменилось.


У микросхем с индексом "R" всё изменилось smile.gif

Цитата
Поставил бы еще по шине D+ и D- защитные диоды. LC фильтр и варистор по USB питанию.


Какие именно, любые? Катодами на линии, а анодами на общую цепь?
Ёмкость возле +5 В кабеля уже 100.0 стоит. Можно, индуктивность поставить. До конденсатора или после?
А варистор как выбрать? Какой, например?

Цитата
Попробуйте немного поиграться с переносом точки земления экрана кабеля и установкой защитного диода по питанию USB (ну варистор поставьте).


Смущает то, что на рядом стоящем компьютере (более простом и старом) работает без сбоев (по крайней мере весь вечер).
А на первом компьютере - со сбоями. Я уже наловчился сбой с первого раза вызывать: выдёргиваешь вилку из удлиннителя и получаешь приличный зависон! smile.gif

Цитата
Еще хороший вариант (в качестве эксперимента) положить вашу плату в железную коробочку. Корпус объединить с общим проводом и до кучи его заземлить (в землю). Экран кабеля так же подключить к корпусу. И дальше в таком исполнении поиграться на предмет устойчивости. При этом всю схему питать уже не от USB, а от собственного источника, который будет сидеть на другой фазе по отношению к компьютеру. На мой взгляд если сбоить будет, то это уже точно помеха прикладываемая к USB хабу (неустойчивая работа хаба). Что в принципе сейчас в этой ветке и обсуждается(лось).


Где бы её ещё взять, другую фазу-то smile.gif
А если неустойчивая работа хаба, то что же делать-то... не компьютер же бегать подбирать...

Цитата
Вот такое мое мнение.


Спасибо всем большое за их мнения! Надеюсь, сообща разберёмся! smile.gif


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


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(AndreyS @ Feb 19 2009, 17:27) *
Ну первое что лично мне не понравилось это несимметричная линия D+ и D-. Зачем нужно было ставить два переходных отверстия?? Да еще и с поворотом в 90 градусов, хотя и без прямых углов.

Для Full speed устройств сильно париться с разводкой не надо. Для 480 мегабит - да, надо аккуратно разводить.
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 20 2009, 05:16
Сообщение #102


Местный
***

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



Цитата(_3m @ Feb 19 2009, 20:53) *
Для Full speed устройств сильно париться с разводкой не надо. Для 480 мегабит - да, надо аккуратно разводить.

ИМХО.Чтобы потом не было мучительно больно, с разводкой нужно "париться" всегда, на любой плате.

Сообщение отредактировал Седой - Feb 20 2009, 05:37
Go to the top of the page
 
+Quote Post
koluna
сообщение Feb 25 2009, 10:10
Сообщение #103


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

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



1. Запитал ещё и левую часть конвертора от внешнего источника. Настроил в Self powered.
2. На RESET# FT245R повесил 10 нФ керамику, по одной из рекомендаций.

Сбои не исчезли.

Пробую с D2XX.
После возникновения сбоя функции чтения/записи возвращают ошибку FT_IO_ERROR = 4.
Пробовал сразу после их вызова в обработчике ошибок FT_CyclePort, FT_ResetPort - возвращают то же самое. Т. е., не работают они...

Цитата(Седой @ Feb 10 2009, 20:08) *
Сейчас просмотрел документацию на драйвера FTDI.
Можно же работать не через COM порт, а через D2XX интерфейс и попробовать воспользоваться функцией FT_ResetPort (FT_ResetDevice,FT_CyclePort) для выхода из ошибочного состояния.


Вот не работают они...
Да и описание какое-то скудное у них в Programmers Guide...


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


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

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



Следующее.

Продолжаю работать с D2XX.
При возникновении сбоя теперь моё приложение не виснет как с VCP.
Обмен данными отменяется. Устройство закрывается. Но при открытии устройства вновь возникает ошибка (FT_INVALID_HANDLE = 1)!
После передёргивания шнурка или после выбора в Диспетчере устройств пунктов меню "Отключить/Задействовать" устройство нормально открывается и функционирует...

Кстати, есть у кого-нибудь подробное описание функций D2XX?
Ошибок, возвращаемых функциями D2XX?

Вот, например, "FT_INVALID_HANDLE", "FT_IO_EROR" - что это значит?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Mar 5 2009, 09:13
Сообщение #105


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

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



Что-то заглох топик...

Проведено множество экспериментов и доработка устройства.
Сбои не удалось устранить.

Задачу решил следующим образом.
Отлавливаю возникновение сбоев и программно с помощью SetupAPI отключаю и включаю устройство. Как советовали.
Если интересно - могу код приаттачить.


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

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

 


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


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