Left Radio 0 14 августа, 2009 Опубликовано 14 августа, 2009 (изменено) · Жалоба Устройство сделано на C5081F321, софт на компе написан на шарпе. Так вот, запускаю программу на компе, все работает, данные принимает, но через пару секунд все зависает.... Иногда так, что диспетчер задач не спасает.... Также прошивал в мк Silab-овские примеры, при запуске Host программы тоже самое :( В чем может быть причина? Изменено 14 августа, 2009 пользователем Left Radio Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 18 августа, 2009 Опубликовано 18 августа, 2009 · Жалоба Ну раз никто мне не отвечает, то придется самому себе ответить.... Может еще у кого-то будут подобные проблемы... Собственно за три дня мозголамания и чтения всего что касается UsbXpress, причина зависаний так и не была найдена. А оказалось что проблема была скрыта в БИОСе компа, а точнее в опции USB Legacy Suport(USB Keyboard & USB Mouse). После ее отключения все заработало без проблем, хоть это и очень странно :( Проверялось на нескольких компах(Atlon X2, Semptron) везде одно и тоже, неужели у всех так ? Или у всех нормально, а я такой невезучий ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 19 августа, 2009 Опубликовано 19 августа, 2009 · Жалоба У меня проблема была (есть) поинтереснее. Между основной программой и устройством идет очень интенсивный обмен данными, на одноядерных процах все работает просто замечательно. На двухядерных (Athlon X2, со всеми заплатками), периодически, SI_Write задумывается на неопределенное число секунд, затем продолжает работу. Данные при этом не портятся и не теряются, сама функция возвращает SI_SUCCESS. Таймауты установлены. Проблема была на разных мат платах (чипсеты от NVIDIA и AMD) и на разных процессорах. Отписал в Silab - молчат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 19 августа, 2009 Опубликовано 19 августа, 2009 (изменено) · Жалоба Очень похоже на мою проблему, только функция у меня не возвращала SI_SUCCESS, попробуйте в биосе отключить USB Legacy и/или USB2.0 support. Изменено 19 августа, 2009 пользователем Left Radio Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 19 августа, 2009 Опубликовано 19 августа, 2009 · Жалоба USB Legacy еще можно попробовать отключить, но по-моему эта штука работает только во время загрузки компьютера. А вот за отключение USB 2.0 можно узнать о себе массу нового и неприятного от конечных пользователей. Да и не решение это проблемы. Не могут, гады, дать исходники, хотя бы под NDA - больше чем уверен, что это где-то у них... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Left Radio 0 19 августа, 2009 Опубликовано 19 августа, 2009 · Жалоба Понятно что это не решение проблемы... Это так ради эксперимента, а вдруг заработает? У меня проблема решилась именно отключением USB Legacy, хотя ни где об этом производитель не упоминает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 19 августа, 2009 Опубликовано 19 августа, 2009 · Жалоба Ну если бы проблема хоть как то четко вылавливалась.. Просто был случай что 48 часов и ни одной заминки и на двухядерном, а после буквально в течении каждого часа задержки на несколько секунд. Так что отпишу о результатах попозже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 9 сентября, 2009 Опубликовано 9 сентября, 2009 · Жалоба Отключение USB Legacy - не помогло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 9 сентября, 2009 Опубликовано 9 сентября, 2009 · Жалоба А какой у вас USB кабель и электромагнитная обстановка рядом? Я решил использовать дешевый китайский USB кабель без экрана для CP2103 (это наверно тоже какой-то микроконтроллер). При выходе на передачу с радиостанции мощностью 5 Вт в радиусе примерно до 2 метров микросхема зависала, хотя сама она внутри металлического корпуса. Заменил кабель на нормальный с экраном, щас можно даже намотать кабель на антенну и выходить на передачу - микросхема не виснет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 9 сентября, 2009 Опубликовано 9 сентября, 2009 · Жалоба Если вопрос был адресован мне, то сообщаю: Кабели используем достаточно хорошие: http://www.nix.ru/autocatalog/cables/Defen...0406_56778.html Когда только начинали работать с этими МК, достаточно быстро обнаружили, что с обычными лучше не связываться. Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять ;) ). Не думаю что дело в помехах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_AM_ 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Ставили 2 компа, отличавшихся только процессором - двухядерный достаточно часто "замирал", с одноядерным таких проблем не было. Эксперимент многократно повторялся с разными процессорами (надо же и рабочие компы обновлять ;) ). Не думаю что дело в помехах. Пару лет назад при работе с USB-мс FT2232 от FTDI (интенсивный обмен с использованием D2XX-драйвера) обнаружилась такая же проблема (одноядерный ЦП - OK, двухядерный (Pentium HT) - сбои и зависы). Было найдено "гениальное" решение - лишить ЦП многоядерности (естественно только для свого приложения). А недавно, уже при работе с USBXpreess Silabs (ЦП - Athlon X2), - та же беда! Но и решение - то же! Для проверки эффективности решения производим следующие манипуляции: - запускаем приложение; - запускаем Диспетчер задач; - на вкладке "Процессы" находим своё приложение, правой кнопкой вызываем для него контекстное меню, выбираем там "Задать соответствие" и оставляем галочку только у одного из ЦП. В случае положительного результата проверки - добавляем в приложение несколько строк, лишающих ЦП многоядерности уже программно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 10 ноября, 2009 Опубликовано 10 ноября, 2009 · Жалоба "Лечили" с помощью SetProcessAffinityMask? PS Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_AM_ 0 12 ноября, 2009 Опубликовано 12 ноября, 2009 · Жалоба "Лечили" с помощью SetProcessAffinityMask? Да. PS Может ребята из Silabs "одолжили" часть кода драйвера у FTDI и по этому не хотят показывать, или просто у дураков мысли сходятся? )) Возможно, они пользовались одними и теми же рекомендациями и ЦУ от Microsoft , и не всё в них поняли :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exeron 0 26 ноября, 2009 Опубликовано 26 ноября, 2009 · Жалоба Похоже Silab все же соизволили посмотреть на баги в USBXpress - во всяком случае в свежей версии копали именно в направлении многопоточности, насколько хорошо поработали пока не проверял, благо AMD еще производить одноядерные процы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
62256 0 11 декабря, 2009 Опубликовано 11 декабря, 2009 · Жалоба Проверил старый (2й) USBXpreess на четырехядерном Атлоне под Windows 7 - работает нормально с CP2102! Следовательно, нет смысла переходить на третий USBXpreess - он (третий) не поддерживает Windows 98. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться