| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Переходники COM to USB
25.01.2008, 15:05
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 12.05.2006
Адрес: Владимир
Сообщений: 2,900
Сказал спасибо: 3,203
Сказали Спасибо 4,428 раз(а) в 1,244 сообщении(ях)
|
наверное потому что у переходника usb-485 использовалась микросхема-драйвер 485 с выходами, на которых тоже подтяжка на питание. тот же самый вариант №1
|
|
|
|
25.01.2008, 17:16
|
|
|
Частый гость
Регистрация: 25.01.2008
Сообщений: 23
Сказал спасибо: 8
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
|
Может и FTDI переходник поведет себя аналогично.
Вероятно входная точка переходника переходит в состояние
ENDPOINT_HALT из-за непрерывной подачи 0 от входного устройства. Или из-за ошибки входного формата.
Можно попробовать через функцию DeviceIoControl послать
драйверу стандартный запрос CLEAR_FEATURE. Более подробно к сожалению описать нет возможности.
|
|
|
|
25.01.2008, 18:10
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
|
При "странном" поведении юсб устройства, по моему, хост не прекращает обмен, а откладывает на милисекунду в надежде, что оно исправится. Вы уверены, что происходит выбраковка ?
Тогда было бы сообщение Винды о неправильной работе.. А кстати, автор топика, что винда молвит ?
Гы... Посмотрел на последние 3 сообщения - все курят в аватарках. Совпадение ?
|
|
|
|
25.01.2008, 18:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 27.06.2005
Сообщений: 1,387
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
|
Сообщение от urry
|
При "странном" поведении юсб устройства, по моему, хост не прекращает обмен, а откладывает на милисекунду в надежде, что оно исправится. Вы уверены, что происходит выбраковка ?
Тогда было бы сообщение Винды о неправильной работе.. А кстати, автор топика, что винда молвит ?
|
Нужно внимательно смотреть на поведение устройства анализатором USB траффика. Лучше - железячным. Если нет возможности найти таковой - софтовым. Только это даст ответ на вопрос - кто собстно виноват и почему так себя ведёт.
А теоретизирование по этому поводу можно продолжать до бесконечности.
|
Сообщение от urry
|
|
Гы... Посмотрел на последние 3 сообщения - все курят в аватарках. Совпадение ?
|
Работа нервная видать...
P.S. Когда у меня USB Serial устройства впадают в "коматозное" состояние - простое закрытие handle не даёт ничего. Даже более того - иногда вызывает BSOD. Помогает только втыкание устройства в другой порт USB. Но это с Microsoft-овским драйвером.
|
|
|
|
25.01.2008, 21:55
|
|
|
Частый гость
Регистрация: 25.01.2008
Сообщений: 23
Сказал спасибо: 8
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
|
Для мониторинга USB потоков и посылки лечебных сообщений
можно применить "Bus Hound". В google есть ссылки на сайт производителя и демо. Вообще-то ним можно контролировать много других устройств.
|
|
|
|
25.01.2008, 22:21
|
|
|
Временная регистрация
Регистрация: 28.03.2007
Сообщений: 78
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
urry не знаю что значит аваторках? Не совсем понятно, что windows отвечает. (В диспетчере устройств драйвер показывается нормально.) Я конечно не догоняю что представляет собой com to usb это МК или какая то зверская логика. Настраивает ли микруху драйвер. Самое главное что в USB я не силен и что именно надо отлавливать, подскажите. Но наблюдался следующий эффект. Программой в Win открываю порт данные передаются выключаю питание МК затем включаю, программа показывает данных нет в этом же окне программы закрываю, а затем заново открываю порт и данные снова появляются. Я конечно понимаю, что можно сделать timeouts и переоткрыть порт, но интересно решение данной проблемы.(Как тогда работает современное оборудование.  )
Нужен какойто тест который снял бы все вопросы.
|
|
|
|
28.01.2008, 10:21
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 12.05.2006
Адрес: Владимир
Сообщений: 2,900
Сказал спасибо: 3,203
Сказали Спасибо 4,428 раз(а) в 1,244 сообщении(ях)
|
|
Сообщение от urry
|
|
Гы... Посмотрел на последние 3 сообщения - все курят в аватарках. Совпадение ?
|
Я ващета в реале не курю. А хотелось бы что-то в жизни иметь, чем расслабиться, отдохнуть...
|
|
|
|
28.01.2008, 11:29
|
|
|
Прохожий
Регистрация: 14.01.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
|
Сообщение от Ritmach
|
1 вариант аппаратный. Изменить как-то схему сопряжения,
чтобы при выключении питании на переходник USB-COM приходила 1. От постоянного 0 он видимо затыкается.
Что-то вроде подтяжки резистором.
2 вариант FTDI. Пробовал USB-485. Конечное устройство включалось и выключалось. Обмен восстанавливался без проблем.
|
Я как древний электроник могу предположить следующее:
скорость USB 1.0 GBit. COM порты 0.1 GBit максимум. Значит необходим буфер между ними с каким нибудь протоколом, например на неуважаемых мною Intel xx86 используется протокол X-on/Xoff. На приличных ЭВМ использовался старт/стоп режим. Намного надежнее, т.е коллизии там исключаются в принципе.С учетом этого и надо писать драйверы. Пока неизвестно как сделано железо нет смысла рассуждать о причинах.
|
|
|
|
28.01.2008, 12:14
|
|
|
Гражданин KAZUS.RUN
Регистрация: 04.07.2005
Адрес: Киев
Сообщений: 659
Сказал спасибо: 16
Сказали Спасибо 121 раз(а) в 82 сообщении(ях)
|
Причина одна - винда. Никогда не выскакивало сообщение, что порт занят другой программой? Это из той же серии. Где-то галочку в настройках не поставили, где-то лишняя стоит с точки зрения винды... Вот и глючит. Я не раз сталкивался с тем, что в ноутах после засыпания отваливается сетевуха, если она в виде карточки PCMCIA. В устройствах видна, ошибок нет, но связи так же нету.
Да, если использовать всяческие переходники - надо смотреть на чем они построены, некоторые устройства работают только от сигналов 12 вольт, поэтому переходник тоже должен выдавать стандартные СОМ-овские уровни выходного сигнала. А большинство переходников выдает 3 или 5 вольтовый сигнал, так что проверяйте какие уровни нужны.
|
|
|
|
30.01.2008, 02:42
|
|
|
Временная регистрация
Регистрация: 28.03.2007
Сообщений: 78
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
О каких уровнях говорите шнурок типа стандартный передним MAX232 стоит тоесть с уровнями гуд. Я писал что до разрыва связи все нормально наботает.
Сделал следующий эксперимент программа для МК работает по прерывания окончания приема. Принимается символ и тут же отправляется ответ. До отключения питания МК все нориально. При отключенном питании в проге под Win нажимаю на кнопку передать байт и прога тупо зависает и восстановление питания МК не выводит прогу из каматоза. Убийственно что шнурок из USB я не разу не вынемал. Паралельно проводил тест с реальным com-1 портом все работает и не виснет как не извращался. Извините за упертость но как то неверится в глючность драйвера. Как это можно проверить.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:22.
|
|