Задача звучит так. Имеется некий профессиональный прибор (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 хотя бы).
NooB
не могли бы вы глянуть на какой микросхеме собран девайс
в идеале его конечно лучше разобрать (если корпус разборной) отсканировать плату или сфотографировать и выложить куда нибудь в инет чтобы люди глянули
если корпус литой или девайс гарантийный то гляньте плиз хотябы vid и pid USB устройства в inf файле драйвера или в свойствах устройства
просто легче будет разбираться
icbook
многие COM устройства очень прихотливы очень многое зависит от буфера RS-232 (производителя микросхемы а также его присутствия-отсутствия),кабеля (его качества, длинны , екрана) и очень часто даже уровни +/- 5 В (я не говорюуже о +/- 3 В)не могут обеспечить нормальной передачи данных даже на скорости 9600
кстати у вас тоже довольно таки неплохой девайс USB->COM получился поздравляю![:)](http://bios.rom.by/img/smiles/icon_smile.gif)
Мы не алкаши, мы просто всегда немного пьяные.
Оставляя за кадром Ваш переход на личности, отвечу, что пол-года назад я, как и мои коллеги по лаборатории, работали над 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 секунды:
Вот как раз тот случай, когда легко и просто можно посмотреть на чем собрано USB устройство с помощью нашего софта. См. ссылку выше.
Хм. Кто бы спорил
Конечно! Но... Если бы Вы еще сказали, насколько прихотливы адаптеры USB-to-COM в смысле драйверов! По сути: нужно заставить 51-й процессор, подключенный к шине USB успевать обрабатывать и передавать в UART данные. Повторюсь: берете WinSSD (пока наш тест недоступен), выставляете 115200, и смотрите, что на пролифчике НУ МАКСИМУМ 2400. Это на LoopBack безо всяких там буферов RS-232 и их спорных
уровней. А сам пролифчик бодро рапортует - 115200 обеспечено! Кстати, старые драйвера от FTDI и CP2101/CP2102 "воздух тоже не озонируют"![:)](http://bios.rom.by/img/smiles/icon_smile.gif)
[Потупив глаза, стыдливо]: Спасибочки-и-и-и...![:)](http://bios.rom.by/img/smiles/icon_smile.gif)
Открытая книга: icbook.com.ua
icbook
Прошу пардону за столь некорректный наезд...
Виноват, ежели где-то был недостаточно точен в формулировках, спеша изложить выводы, а не суть/ход изучения проблемы, почему и был неверно понят.
Уж слишком знакомую картину нарисовал NooB, и слишком много сил/времени было потрачено нами на уличение Пролификовских переходников (собранных на единственной микросхеме, гордо объявленной достаточной) в недобросовестном поведении.
На сегодня для себя мы эту проблему решили, поскольку переходники от FTDI:
efo.ru/doc/Ftdi/Ftdi.pl?747
US232B-BLK нас вполне устроили, а основная задача нашей конторы - не разработка устройств, а все-таки картография, то бишь, производство.
Кстати, в Питере голые Пролификовские продаются в рознице в любой лавке по ~$20, а вот US232-BLK или, к примеру, SiLabs - в единственной вышеупомянутой конторе, и - по ~$28 и $35 соответственно.
У вас прекрасные дети ! Но все, что вы делаете РУКАМИ - никуда, никуда не годится !
Картина, которую нарисовал NooB действительно похожа на проблему питания. Но я же с этим фактом согласился
Кроме того, такие проблемы вызывают и драйвера, а также особенности того или иного USB хост-контроллера (проверено, но могу убедить).
FTDI - прекрасные чипы. Недостаток - нужна обвязка. Плюс -замечательные драйвера. Цена на опте - $2.65. Prolific - чудная фирма, которая сумела подмять под себя поставку дата-кабелей USB практически всем производителям мобильных телефонов. Драйвера - отвратительные. Поддержка - очень плохая, цена чипа на опте $5.05 и не на территории ex-USSR.
[Примирительно]:Ну что Вы, коллега! Все мы несколько погорячились, да и собственно Вы меня нисколько и не обидели.
Открытая книга: icbook.com.ua
Собсно, up. Посмотрел на сайте icbook - заявлено гарантированных 5,5В, что для продукции некоторых извращенцев маловато
Так есть ли вообще переходники, которые выдают не хотя бы 10В? Или только самопал клепать?
Далее, кто-нибудь пробовал адаптеры PCMCIA-RS232, типа этого? Монстры на 4-8 портов за 200-300$, конечно, интересуют мало...
PS Пока что нарыл DIY PCMCIA RS232 card. Вот ведь Самоделкин, а?
(в хорошем смысле)
Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь
И меньшее напряжение, как сказал классик своего жанра, "just enough for any application"
У нас, однако, заявлен гарантированный уровень. Это значит, что реально он выше: где-то в пределе 6,5В плюс/минус 0,5В. Я мог бы сказать, что этого вполне достаточно для обмена данными с правильно сконструированным устройством последовательного доступа. Но этого не сделаю до тех пор, пока не найду такое устройство, с которым нет обмена. Так будет правильно.
RS-уровни определяются буфером, и есть вариант установить буфер с гарантированным 12-вольтовым уровнем. Все китайские USB-to-COM не оснащаются подобными буферами - видимо, слишком дорого, да и ненадобно в виду выше означенных причин.
Открытая книга: icbook.com.ua
Отправить комментарий