USB-->COM. Примитивно - проблема, аднака.

Задача звучит так. Имеется некий профессиональный прибор (GPS-приемник фирмы TOPCON, если уж на то пошло). Сам отслеживает спутники и пишет данные в свою флэш-память. Для задания изначальных параметров и прочих режимов необходимо управление от компа, поскольку собственных кнопок кроме вкл/выкл на нем нет. Связь с компом (в полевых условиях - с ноутбуком) возможна только по СОМ-порту. Однако, большинство современных ноутбуков о таком забыли. Только USB.

Правда, множество фирм предлагает туеву хучу переходников разного вида - якобы, полностью совместимых. Большинство из них основаны на микросхеме, описанной здесь:

hitachi-hitec.com/jyouhou/prolific/ds_pl2303x_v11.pdf

и драйвера у БОЛЬШИНСТВА производителей, включая IBM (которая тоже сваяла "свой" переходник) являются близнецами вот этих:

tech.prolific.com.tw/visitor/v_filebrw_result.asp

И, как все хором врут, у всех все работает...

Ничего подобного. Несовместимость начинается с момента выяснения спецификаций на саму микруху, стоящую в большинстве таких девайсов: не умеет она честно переводить +5 V от USB в +/- 15 V, требуемых для передачи по СОМ. Ну, около +/- 5 V оно, может, и дает... но прибор этого не понимает. Кроме того, сама программка обмена данными, возможно, пытается работать с СОМ-портом только через прерывание. А хде ж его взять, ежели имеющиеся драйвера не желают давать этому ублюдку прерывания ? Ни под XP-юшей, ни под W2K, ME, W98. Я упорен, перепробовал ВСЕ. Не желають.

То есть, односторонняя связь еще худо-бедно получается (прием), а вот ДВУсторонней - нетути !
С древним мобильником попробовал связаться - та же ботва.

В Интернете некоторые особо "крутые" фирмы поют о каких-то полукустарных девайсах, полностью заменяющих этот СОМ даже для ДОС-а, ценой от $200 и выше... но как-то невкусно это звучит.

Так вот, вопрос звучит так: Кто наступал на подобные грабли и как из этого выкручивался ? Интересует недорогой и надежно работающий вариант, позволяющий-таки дать прерывание (пусть виртуальное) данному ублюдочному COM-порту (как это делается на многих WIN-модемах), и при этом выходные сигналы с этого порта должны иметь ожидаемый размах (порядка +/-10 V хотя бы).

Аватар пользователя ASA

NooB

не могли бы вы глянуть на какой микросхеме собран девайс

в идеале его конечно лучше разобрать (если корпус разборной) отсканировать плату или сфотографировать и выложить куда нибудь в инет чтобы люди глянули

если корпус литой или девайс гарантийный то гляньте плиз хотябы vid и pid USB устройства в inf файле драйвера или в свойствах устройства

просто легче будет разбираться

icbook

многие COM устройства очень прихотливы очень многое зависит от буфера RS-232 (производителя микросхемы а также его присутствия-отсутствия),кабеля (его качества, длинны , екрана) и очень часто даже уровни +/- 5 В (я не говорюуже о +/- 3 В)не могут обеспечить нормальной передачи данных даже на скорости 9600

кстати у вас тоже довольно таки неплохой девайс USB->COM получился поздравляю :)

Мы не алкаши, мы просто всегда немного пьяные.

Аватар пользователя icbook

Цитата:
...где же Вы, такой умный, были полгода назад, когда этот вопрос был поднят?

Оставляя за кадром Ваш переход на личности, отвечу, что пол-года назад я, как и мои коллеги по лаборатории, работали над USB-тестером. С помощью которого можно проверить сколько получено Broken пакетов на USB, сколько пакетов прошло с ошибкой контрольной суммы и т.д. Сейчас результаты нашей работы доступны в Интернет.
icbook.com.ua/hardware/_utlite/index.html
icbook.com.ua/software/utlitetest.html
Все желающие могут _БЕСПЛАТНО_ получить программное обеспечение, и за деньги купить устройство для тестирования USB. В виду того, что часть функций теста недоступна без устройства (совершенно понятно почему - эти функции реализованы собственно устройством) привожу специально для сайта www.ROM.by несколько снимков с экрана:
icbook.com.ua/screen.jpg
icbook.com.ua/device.jpg

icbook.com.ua/usb_info.jpg
Надеюсь, я на Ваш вопрос ответил. Если будут еще вопросы, в частности по протоколу RS-232, Вы можете также их задать. У нас в линейке достаточно хорошо представлены подобные устройства:
2-х портовый адаптер последовательного порта для шины PCI;
4-х портовый адаптер последовательного порта для шины PCI;
8-ми портовый адаптер последовательного порта для шины PCI;
16-ти портовый адаптер последовательного порта для шины PCI.
Есть также серийно выпускаемый адаптер USB-to-UART на чипе CP2102 с, по сути, переработанной драйверной поддержкой. Для его тестирования написан мульти-тредовый тест последовательного порта, который в ближайшее время будет выложен для всеобщего доступа. Он придет на смену DOS-тесту (функциональность которого ограничена только устройствами IC Book), описание доступно: icbook.com.ua/software/_serial/index.html
Т.е. я, как и все, работал... :) О результатах отчитался... :)

Добавлено спустя 12 минут 33 секунды:

ASA писал(-а):
NooB
не могли бы вы глянуть на какой микросхеме собран девайс.
в идеале его конечно лучше разобрать (если корпус разборной) отсканировать плату или сфотографировать и выложить куда нибудь в инет чтобы люди глянули.
если корпус литой или девайс гарантийный то гляньте плиз хотябы vid и pid USB устройства в inf файле драйвера или в свойствах устройства.
просто легче будет разбираться.

Вот как раз тот случай, когда легко и просто можно посмотреть на чем собрано USB устройство с помощью нашего софта. См. ссылку выше.

ASA писал(-а):
icbook
многие COM устройства очень прихотливы очень многое зависит от буфера RS-232 (производителя микросхемы а также его присутствия-отсутствия),кабеля (его качества, длинны , екрана) и очень часто даже уровни +/- 5 В (я не говорюуже о +/- 3 В)не могут обеспечить нормальной передачи данных даже на скорости 9600.

Хм. Кто бы спорил:) Конечно! Но... Если бы Вы еще сказали, насколько прихотливы адаптеры USB-to-COM в смысле драйверов! По сути: нужно заставить 51-й процессор, подключенный к шине USB успевать обрабатывать и передавать в UART данные. Повторюсь: берете WinSSD (пока наш тест недоступен), выставляете 115200, и смотрите, что на пролифчике НУ МАКСИМУМ 2400. Это на LoopBack безо всяких там буферов RS-232 и их спорных:) уровней. А сам пролифчик бодро рапортует - 115200 обеспечено! Кстати, старые драйвера от FTDI и CP2101/CP2102 "воздух тоже не озонируют":)

ASA писал(-а):
кстати у вас тоже довольно таки неплохой девайс USB->COM получился поздравляю.

[Потупив глаза, стыдливо]: Спасибочки-и-и-и... :)

icbook

Прошу пардону за столь некорректный наезд...
Виноват, ежели где-то был недостаточно точен в формулировках, спеша изложить выводы, а не суть/ход изучения проблемы, почему и был неверно понят.

Уж слишком знакомую картину нарисовал NooB, и слишком много сил/времени было потрачено нами на уличение Пролификовских переходников (собранных на единственной микросхеме, гордо объявленной достаточной) в недобросовестном поведении.

На сегодня для себя мы эту проблему решили, поскольку переходники от FTDI:

efo.ru/doc/Ftdi/Ftdi.pl?747

US232B-BLK нас вполне устроили, а основная задача нашей конторы - не разработка устройств, а все-таки картография, то бишь, производство.

Кстати, в Питере голые Пролификовские продаются в рознице в любой лавке по ~$20, а вот US232-BLK или, к примеру, SiLabs - в единственной вышеупомянутой конторе, и - по ~$28 и $35 соответственно.

У вас прекрасные дети ! Но все, что вы делаете РУКАМИ - никуда, никуда не годится !

Аватар пользователя icbook

Картина, которую нарисовал NooB действительно похожа на проблему питания. Но я же с этим фактом согласился:) Кроме того, такие проблемы вызывают и драйвера, а также особенности того или иного USB хост-контроллера (проверено, но могу убедить).

FTDI - прекрасные чипы. Недостаток - нужна обвязка. Плюс -замечательные драйвера. Цена на опте - $2.65. Prolific - чудная фирма, которая сумела подмять под себя поставку дата-кабелей USB практически всем производителям мобильных телефонов. Драйвера - отвратительные. Поддержка - очень плохая, цена чипа на опте $5.05 и не на территории ex-USSR.

Цитата:
Прошу пардону за столь некорректный наезд...

[Примирительно]:Ну что Вы, коллега! Все мы несколько погорячились, да и собственно Вы меня нисколько и не обидели.

Аватар пользователя DanZer

Собсно, up. Посмотрел на сайте icbook - заявлено гарантированных 5,5В, что для продукции некоторых извращенцев маловато:( Так есть ли вообще переходники, которые выдают не хотя бы 10В? Или только самопал клепать?

Далее, кто-нибудь пробовал адаптеры PCMCIA-RS232, типа этого? Монстры на 4-8 портов за 200-300$, конечно, интересуют мало...

PS Пока что нарыл DIY PCMCIA RS232 card. Вот ведь Самоделкин, а? lol (в хорошем смысле)

Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь

Аватар пользователя icbook

Цитата:
Посмотрел на сайте icbook - заявлено гарантированных 5,5В

И меньшее напряжение, как сказал классик своего жанра, "just enough for any application":)
У нас, однако, заявлен гарантированный уровень. Это значит, что реально он выше: где-то в пределе 6,5В плюс/минус 0,5В. Я мог бы сказать, что этого вполне достаточно для обмена данными с правильно сконструированным устройством последовательного доступа. Но этого не сделаю до тех пор, пока не найду такое устройство, с которым нет обмена. Так будет правильно.
RS-уровни определяются буфером, и есть вариант установить буфер с гарантированным 12-вольтовым уровнем. Все китайские USB-to-COM не оснащаются подобными буферами - видимо, слишком дорого, да и ненадобно в виду выше означенных причин.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей