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

 
 
 
Reply to this topicStart new topic
> Виснет USBXpreess Silabs, Непонятные зависания
Left Radio
сообщение Aug 14 2009, 21:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361



Устройство сделано на C5081F321, софт на компе написан на шарпе. Так вот, запускаю программу на компе,
все работает, данные принимает, но через пару секунд все зависает....
Иногда так, что диспетчер задач не спасает....
Также прошивал в мк Silab-овские примеры, при запуске Host программы тоже самое sad.gif
В чем может быть причина?

Сообщение отредактировал Left Radio - Aug 14 2009, 21:11
Go to the top of the page
 
+Quote Post
Left Radio
сообщение Aug 18 2009, 00:30
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361



Ну раз никто мне не отвечает, то придется самому себе ответить....
Может еще у кого-то будут подобные проблемы...
Собственно за три дня мозголамания и чтения всего что касается UsbXpress, причина зависаний так и не была найдена.
А оказалось что проблема была скрыта в БИОСе компа, а точнее в опции USB Legacy Suport(USB Keyboard & USB Mouse). После ее отключения все заработало без проблем, хоть это и очень странно sad.gif
Проверялось на нескольких компах(Atlon X2, Semptron) везде одно и тоже, неужели у всех так ?
Или у всех нормально, а я такой невезучий ?
Go to the top of the page
 
+Quote Post
exeron
сообщение Aug 19 2009, 04:15
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



У меня проблема была (есть) поинтереснее.
Между основной программой и устройством идет очень интенсивный обмен данными,
на одноядерных процах все работает просто замечательно. На двухядерных (Athlon X2, со всеми заплатками), периодически,
SI_Write задумывается на неопределенное число секунд, затем продолжает работу. Данные при этом не портятся и не теряются, сама функция возвращает SI_SUCCESS. Таймауты установлены.
Проблема была на разных мат платах (чипсеты от NVIDIA и AMD) и на разных процессорах.
Отписал в Silab - молчат.
Go to the top of the page
 
+Quote Post
Left Radio
сообщение Aug 19 2009, 06:07
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361



Очень похоже на мою проблему, только функция у меня не возвращала SI_SUCCESS, попробуйте в биосе отключить USB Legacy и/или USB2.0 support.

Сообщение отредактировал Left Radio - Aug 19 2009, 06:07
Go to the top of the page
 
+Quote Post
exeron
сообщение Aug 19 2009, 07:45
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



USB Legacy еще можно попробовать отключить, но по-моему эта штука работает только во время загрузки компьютера. А вот за отключение USB 2.0 можно узнать о себе массу нового и неприятного от конечных пользователей. Да и не решение это проблемы.
Не могут, гады, дать исходники, хотя бы под NDA - больше чем уверен, что это где-то у них...
Go to the top of the page
 
+Quote Post
Left Radio
сообщение Aug 19 2009, 08:20
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 4-11-08
Пользователь №: 41 361



Понятно что это не решение проблемы... Это так ради эксперимента, а вдруг заработает?
У меня проблема решилась именно отключением USB Legacy, хотя ни где об этом производитель не упоминает...
Go to the top of the page
 
+Quote Post
exeron
сообщение Aug 19 2009, 08:28
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



Ну если бы проблема хоть как то четко вылавливалась..
Просто был случай что 48 часов и ни одной заминки и на двухядерном, а после буквально в течении каждого часа задержки на несколько секунд.
Так что отпишу о результатах попозже.
Go to the top of the page
 
+Quote Post
exeron
сообщение Sep 9 2009, 10:59
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



Отключение USB Legacy - не помогло.
Go to the top of the page
 
+Quote Post
uriy
сообщение Sep 9 2009, 16:35
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



А какой у вас USB кабель и электромагнитная обстановка рядом? Я решил использовать дешевый китайский USB кабель без экрана для CP2103 (это наверно тоже какой-то микроконтроллер). При выходе на передачу с радиостанции мощностью 5 Вт в радиусе примерно до 2 метров микросхема зависала, хотя сама она внутри металлического корпуса. Заменил кабель на нормальный с экраном, щас можно даже намотать кабель на антенну и выходить на передачу - микросхема не виснет.
Go to the top of the page
 
+Quote Post
exeron
сообщение Sep 9 2009, 17:20
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



Если вопрос был адресован мне, то сообщаю:
Кабели используем достаточно хорошие: http://www.nix.ru/autocatalog/cables/Defen...0406_56778.html
Когда только начинали работать с этими МК, достаточно быстро обнаружили, что с обычными лучше не связываться.

Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять wink.gif ). Не думаю что дело в помехах.
Go to the top of the page
 
+Quote Post
_AM_
сообщение Nov 5 2009, 00:44
Сообщение #11





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



Цитата(exeron @ Sep 9 2009, 20:20) *
Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять wink.gif ). Не думаю что дело в помехах.


Пару лет назад при работе с USB-мс FT2232 от FTDI (интенсивный обмен с использованием D2XX-драйвера) обнаружилась такая же проблема (одноядерный ЦП - OK, двухядерный (Pentium HT) - сбои и зависы). Было найдено "гениальное" решение - лишить ЦП многоядерности (естественно только для свого приложения).
А недавно, уже при работе с USBXpreess Silabs (ЦП - Athlon X2), - та же беда! Но и решение - то же!

Для проверки эффективности решения производим следующие манипуляции:
- запускаем приложение;
- запускаем Диспетчер задач;
- на вкладке "Процессы" находим своё приложение, правой кнопкой вызываем для него контекстное меню, выбираем там "Задать соответствие" и оставляем галочку только у одного из ЦП.

В случае положительного результата проверки - добавляем в приложение несколько строк, лишающих ЦП многоядерности уже программно.
Go to the top of the page
 
+Quote Post
exeron
сообщение Nov 10 2009, 09:35
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



"Лечили" с помощью SetProcessAffinityMask?

PS
Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? ))
Go to the top of the page
 
+Quote Post
_AM_
сообщение Nov 12 2009, 19:12
Сообщение #13





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



Цитата(exeron @ Nov 10 2009, 12:35) *
"Лечили" с помощью SetProcessAffinityMask?

Да.

Цитата(exeron @ Nov 10 2009, 12:35) *
PS
Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? ))

Возможно, они пользовались одними и теми же рекомендациями и ЦУ от Microsoft , и не всё в них поняли smile.gif
Go to the top of the page
 
+Quote Post
exeron
сообщение Nov 26 2009, 11:46
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-06-06
Пользователь №: 18 062



Похоже Silab все же соизволили посмотреть на баги в USBXpress - во всяком случае в свежей версии копали именно в направлении многопоточности, насколько хорошо поработали пока не проверял, благо AMD еще производить одноядерные процы.
Go to the top of the page
 
+Quote Post
62256
сообщение Dec 11 2009, 11:03
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 1-05-06
Из: Одесса
Пользователь №: 16 644



Проверил старый (2й) USBXpreess на четырехядерном Атлоне под Windows 7 - работает нормально с CP2102! Следовательно, нет смысла переходить на третий USBXpreess - он (третий) не поддерживает Windows 98.
Go to the top of the page
 
+Quote Post

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

 


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


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