Как подключить rs232 к ноутбуку
Как подключить rs232 к ноутбуку
Однако, если новые модели ноутбуков появляются на свет, образно говоря, каждый день, то, устройства, управляемые при помощи этих самых ноутбуков, могут иметь гораздо меньшую скорость обновления. Как сделали какое-либо устройство подключаемым к компьютеру через COM-порт, так оно таким и останется на всю жизнь. И под час никакой технологический прогресс не может заставить разработчиков и производителей периферийного устройства заменить COM на USB, тем самым облегчив жизнь будущим пользователям.
Что же делать в таком случае? Можно использовать старенькие ноутбуки с COM-портом, в которых, обычно, стоят процессоры Pentium I-III и частотой 100-1200MHz. Наиболее быстрые из них вполне легко справляются с Windows XP и офисными приложениями. Кроме того, периферийные устройства на COM-порт не требуют от управляющего компьютера высокой производительности, поэтому ноутбуки б.у. вполне справляются с ролью, например, программаторов таких устройств.
Наиболее полноценно COM-порт воспроизводит переходник PCMCIA Serial Card SP 320-232 производителя Argosy:
Также существую переходники с PCMCIA на два COM-порта (PCMCIA to RS-232 adapter with 2-port). В комплект переходника входит само устройство, инструкция по установке и дискета с драйверами.
При работающем ноутбуке вставляем PCMCIA-разъем переходника в соответствующий слот (обычно ноутбук имеет два PCMCIA-слота и использовать можно любой из них):
|
Вот и всё, COM-порт готов к работе.
Также, существуют переходники USB-COM:
Однако наиболее полное воспроизведение COM-порта дает только PCMCIA-переходник описанной выше модели: SP 320-232, производитель Argosy. Только этот переходник будет работать с программируемыми периферийными устройствами.
Допустим ваш ноутбук настолько новый, что в нем не только отсутствует COM-порт, но и вместо разъема PCMCIA уже установлен разъем ExpressCard. В таком случае вы можете воспользоваться переходником ExpressCard – COM:
Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)
Вместо вступления
Как обычно я предлагаю заняться странным — попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.
Зачем?
Нужно это бывает когда некий специальный аппаратный комплекс, состоящий из отдельных устройств и который выполняет какую-то единый функционал, вдруг начинают модифицировать. Разумеется что можно попробовать найти комплекс оборудования по новее, но в реальной жизнь на это идут очень редко. Начинают модифицировать то что есть. Иногда вдумчиво, но чаще как получится.
Как правило «мозгами» такого комплекса является компьютер у которого 100500 выходов RS232. Из примеров могу привести место кассира в супермаркете, банкоматы и тому подобное. С первым случаем столкнулся я.
Эти компьютеры не блещут мощностью, но отличаются космической стоимостью. Естественно он перестает отвечать требованиям современных технологий и многим приходит в голову идея заменить их на обычный ПК и получить приличную мощность по адекватной цене, однако быстро выясняется что RS232 на новых ПК вымер как класс. Теперь этот интерфейс стал сугубо специализированным. Соответственно надо или самостоятельно прикручивать кучу RS232 или искать уже готовое спец решение.
Разумеется что можно заменить само оборудование, но если вы посмотрите сколько стоит стационарный лазерный сканер приличной фирмы и помножите эту цену на их количество то передумаете.
Люди не посвященный в тему сразу радостно покупают пучок китайских USBtoRS232 переходников, а дальше все идет очень печально. Лучше этого не делать. Вторым вариантом является покупка специализированной платы расширения с кучей RS232. Этот вариант уже лучше и имеет право на жизнь, но тоже имеет свои недостатки. Например стоимость и проблемы с дровами если используется не Windows или не та версия. Так же не маловажным фактором является доступность в будущем, так как что-то выходит из строя и парк может расширятся в будущем. Потом оказывается что конкретная модель уже не выпускается или не постановляется в конкретную местность и т.д. В общем привязывать себя к конкретному устройству это всегда опасно, особенно если можно этого не делать.
Пробуем что-то сделать
Может показаться странным что примитивные RS232 устройства так сложно и дорого подключить по нормальному если по сути там обычно простые протоколы и примитивный физический уровень. А все потому что обычно подобные аппаратные комплексы используются в коммерческих доходных сферах и покупка оборудования по таким ценам оправдана, а само оборудование уже перешло в разряд специального. Спец оборудование = спец цена вопроса.
Однако все это не мешает попробовать собрать свой бюджетный велосипед. Бонусом получим возможность менять поведение такого своеобразного RS232 мультиплексора и полностью обойдем проблему написания USB драйверов. HID профиль поддерживается почти везде.
Однажды я прочел отличную статью автора RaJa До этого я интересовался USB, но до практики не доходило. В наличии у меня было несколько дешевых отладочных плат, китайских клонов Blue Pill на микроконтроллере Stm32f103c8t6. Сама история и идея создания этой платы очень интересная, стоит поинтересоваться.
Этот микроконтроллер отличается тем что имеет три UART и аппаратную поддержку USB. Это то что может быть нам интересно в разрезе нашей задумки, а вообще микроконтроллер на этой плате, работает на частоте 72Mhz и по характеристикам порвет любое Arduino схожего формфактора. Но самое главное преимущество это повсеместная распространенность этой платы. Я не знаю более простых и дешевых способов пощупать «железный» USB.
Добавив три дешевых преобразователя RS232toUART MAX2323 и немного «рассыпухи» можно собрать своеобразный конвертер интерфейса 3хRS232 USB.
В моем случае нужно было подключить три RS232 устройства к Raspberry Pi 3. Если использовать обычные RS232 USB переходники то в итоге сталкиваешься с тем что в системе куча одинаковых устройств к которым не понятно что подключено и все это дико глючит, а выглядит еще более печально.
Если вы немного капнете в сторону какие микросхемы USB to UART доступны повсеместно, то обнаружите что там полно подделок. Думаю не стоит объяснять как это все потом себя ведет с оригинальными драйверами. И никто не сможет гарантировать вам что даже брендовые переходники вдруг не закупят левую партию микросхем. Удешевление производства оно происходит повсеместно.
В итоге придумалась примерно такая простая схема коммутации ее даже можно изобразить в стиле Arduino:
Я отломал резистор который подтягивает D+ к питанию и сделал эту подтяжку управляемой с помощью транзистора. Она отвечает за опознание устройства на USB шине.
Распиновка разъемов RS232 в программе (Fritzing) где я набрасывал схему странноватая, но думаю никому не составит труда найти ее в интернете, контакты задействованы как обычно 2,3 и 5. А еще удобнее будет использовать платы конвертера UART to RS232 котором уже присутствует разъем RS232.
Low Level
Код для микроконтроллера я писал и отлаживал с помощью IDE EmBitz (если честно то я был удивлен как легко завелась эта IDE, особенно после танцев с бубном вокруг CooCox. ). За основу взял проект из статьи выше. Это первый пример который у меня заработал сразу после заливки.
Я добавил работу с тремя UART и изменил структуру HID репортов так чтобы обмен с ПК шел всегда по 64 байта с контрольной суммой (crc8).
Попытался организовать автопереподключение устройства если соединение по USB не прошло корректно. Не претендую на супер алгоритм, должен признать что не являюсь специалистом по USB. Отдельный транзистор, отображенный на схеме, управляемый отдельным пином B5 подтягивает одну из сигнальных линий USB к питанию что имитирует включение устройства и хост проводит инициализацию устройства. Если попытка не удачная то происходит переподключение.
Было замечено что в Linux (Raspbian) процент не успешных подключений значительно меньше чем в Win 10, возможно этот результат получился из-за моих локальных технических условий.
Общий алгоритм похож на примитивный маршрутизатор, принимая пакет по USB мы смотрим какому UART оно предназначено и пересылаем туда, в обратную сторону аналогично. Есть немного обработки самих пакетов но это относится к конкретному RS232 оборудованию которое я подключал. Это были: экран покупателя Datecs dpd-201, стационарный лазерный сканер штрихкодов Datalogic Magellan 8300 и весы Digi DS890.
На фото выше тестовый образец устройства содержит еще DC-DC шим преобразователь питания на микросхеме MP2307.
Это нужно для того чтобы питать устройство от напряжения 10-24В (входное) и иметь возможность подключить дисплей покупателя который питается от такого же напряжения. После DC-DC шим преобразователя поулчаем 3.3В для всех остальных модулей. Для этого дисплея так же установлен «телефонный» разъем вместо RS232, не хотелось перепаивать стоковый штекер.
High level
Вторая часть софта это примеры и тесты собранные в сумбурный проект на Java написанный IDE IDEA. Предполагается что работа с устройством интегрируется в софт высокого уровня используя различные обертки по работе с USB стеком в зависимости от языка на кортом этот софт пишется. Сейчас сложно найти такой ЯП чтобы под него не существовало таких оберток. Отдельно для староверов отмечу что java и usb совместимы если готовить правельно, это доказано практикой и используется в коммерческом проекте.
В процессе тестирования выяснилось что работа в Linux и Windows с USB HID несколько отличается, работа отлаживалась через две библиотеки usb4java и hid4java. Работа через последнюю используется в Linux (Raspberry Pi 3).
Разница заключается в том что в Windows можно обратится напрямую к USB устройству даже если оно зарегистрировано как HID и писать\читать его конечные точки (endpoint). В Linux же приходится работать с hid устройством. То есть устанавливается стандартный драйвер hid и всё, работайте только с ним пожалуйста. Работа таким образом происходит немного медленнее чем напрямую, но напрямую тоже возможно если убедить систему не ставить драйвера. Это реально.
Как и обещал не растягиваю статью и не привожу подробное описание кода, те пару человек кому интересно могут посмотреть проекты и поиграться в живую, а остальным думаю будет полезнее принять к сведению что есть такое решение и прибегнуть к более глубокому изучению в случае необходимости.
Заключение
Представленное устройство это лишь одни из примеров как довольно легко можно приобщится к процессу создания нативных USB устройств и перестать наконец использовать переходники.
Не забываем плюсовать RaJa автора статью в которых на пальцах объясняется как пощупать железный USB и сохранить желание разбираться дальше.
Проблемы при «прошивке» ресиверов. Отсутствие COM порта. Использование ноутбука
В большинстве «старых» компьютеров и ноутбуков, приобретенных более 5лет назад, всегда было несколько COM портов (RS-232). По крайней мере, всегда был хотя бы один разъем «RS-232».
Рис. 1. Разъем на корпусе компьютера
К нему подключали различное внешнее оборудование: мыши, принтеры, модемы, специализированное оборудование. Поэтому проблем с подключением ресивера к компьютеру для «прошивки» не возникало. Достаточно было просто подключить, запустить программу для обновления ПО ресивера и спокойно сделать все необходимое.
В современных компьютерах разъем «RS-232» нередко отсутствует. Тут и возникают проблемы, зачастую весьма неприятные. В большинстве ресиверов нет иных способов «прошивки» кроме использования «RS-232». И «USB» вход для подключения внешнего флешь-накопителя есть не у всех ресиверов.
А иногда имеется и другая проблема: ноутбук имеет «COM» порт, но с ресиверами одной модели он работает, а с другими — нет. Это связано с нарушением производителем ноутбука стандарта передачи данных «RS-232». На это они идут в целях экономии энергии заряда аккумуляторной батареи. Если производитель ресивера был технически щепетилен и точен, то в ресивере будет установлена специальная микросхема для «COM» порта. Благодаря этой микросхеме ресивер будет работать и с ноутбуком, и с компьютером. Но установка микросхемы увеличивает общую стоимость изделия, а в последнее время производители экономят даже на этих мелочах! Поэтому и возникает проблема несовместимости ноутбуков и большинства ресиверов.
При использовании компьютера проблема отсутствия необходимых портов«RS-232» решается просто: необходимо приобрести дополнительный модуль с «COM» портами. Это плата, устанавливаемая в компьютер, называется «PIC—COM» или просто «плата СОМ портов».
Рис. 2. Плата PCI для компьютера с двумя «COM» портами
Если вы не сильны в компьютерах и ранее никогда не имели дело с установкой дополнительного оборудования в компьютер, то обратитесь к специалисту! Иначе можете «умертвить» дорогостоящее оборудование.
После установки платы в компьютер операционная система «Windows» — «ОС» присваивает новым установленным портам номер, например, «1», «2»…«25».
При использовании ноутбука обычную плату от компьютера установить нельзя: не тот стандарт и размер. Имеется два способа решения этой проблемы: дорогой, но качественный, и дешевый, но не полностью совместимый. В первом случае необходимо приобрести для ноутбука специальную плату с портами. Цена на эти платы высока, и приобрести, даже под заказ, эту плату мне не удалось
Рис. 3. Плата для ноутбука с «COM» портом
И тут есть подвох: в «старых» и «новых» ноутбуках два разных стандарта для дополнительного оборудования! Перед приобретением сверьтесь с инструкцией к вашему ноутбуку!
Ссылки по теме
Поехали!
Для сборки вам потребуются следующие детали:
Схема переходника
Печатная плата
Файлы схемы и печатки в формате Eagle PCB Editor можно скачать по этой ссылке
Плату, чтобы не окислялась, можно задуть полиуретановым лаком или любым быстросохнущим автомобильным лаком, какой есть под рукой.
Далее этот девайс подключаем к порту USB компьютера.
Windows обнаружит новое устройство и попросит драйвера
Идем на сайт пролифика и выкачиваем самую последнюю версию дров
Теперь необходимо проверить работоспособность переходника
Далее запускаем программу «Гипертерминал» (Пуск->Программы->Стандартные->Связь->Гипертерминал)
На висте и семерке гипертерминала нет! Поэтому придется сходить в гугл/яндекс выкачать гипертерминал или любой его аналог.
Выбираем в настройках соединения наш новый сом-порт:
Далее гипертерминал предложит настроить параметры порта.
Выставляем :
-115200
-8
-N(нет)
-1
-управление потоком отсутствует
Теперь запускам соединение, выбираем английскую раскладку и пробуем чего-нибудь печатать.
На экране должны появиться символы нажимаемых клавиш:
Если буквы не появляются, то проверяйте монтаж
Вот собственно и все!
Теперь остается убрать перемычку с контактов 2-3 и можно пользоваться переходником по прямому назначению.
Рисунок 1. Общий вид |
Предлагаемый блок в собранном виде позволяет реализовать принцип: купил – подключил. Устройство позволит пользователям персональных компьютеров подключить к USB-порту устройства, работающие от COM-порта (RS232C).
Ориентировочная розничная цена: 540 руб
Технические характеристики
Напряжение питания от USB порта: 5 В.
Ток потребления: 20 мА.
Скорость соединения RS232C: 110-230000 бит/с
Интерфейс: USB1.1, USB2.0.
Поддерживаемые операционные системы: Win98, Win2000, WinXP, Vista, Linux и др.
Габаритные размеры устройства: 60×30 мм.
Комплект поставки
Блок переходника в сборе: 1.
Конструкция
Конструктивно переходник выполнен на двусторонней печатной плате из фольгированного стеклотекстолита, защищенной прозрачной термоусадочной трубкой.
Переходник обеспечивает все модемные сигналы: DSR, DTR, RTS, CTS, RI, DCD, а также основные сигналы RXD и TXD.
Описание работы блока
Принципиальная электрическая схема приведена на рис 2.
Центральная часть устройства – микроконтроллер CP2102 производства SILICON LABORATORIES. В качестве микросхемы драйвера уровней применен преобразователь MAX3243 производства фирмы Texas Instruments. Переходник обеспечивает все модемные сигналы: DSR, DTR, RTS, CTS, RI, DCD, а также основные сигналы RXD и TXD.
Установка устройства в ОС
Для установки драйверов для компьютера следует сначала скачать соответствующий вашей операционной системе драйвер.
Далее инсталлируйте драйвер на свой персональный компьютер. Подключите переходник. Операционная система обнаружит его и «попросит» драйвер, следует указать ей месторасположение этого драйвера (то место, куда он был распакован).
После успешной установки на переходнике должен засветиться светодиод, сигнализирующий готовность устройства к работе!
NEW Обновлённый драйвер от 25.01.2011 г. качать здесь.
1. Драйвер для Win Vista Вы можете скачать здесь.
2. Драйвер для Windows 2000/XP/Server 2003/Vista (v5.0) Вы можете скачать здесь.
3. Драйвер для Linux Вы можете скачать здесь.
4. Драйвер для Win98SE Вы можете скачать здесь.
5. Драйвер для OC Mac Вы можете скачать здесь.
ПРОВЕРКА РАБОТОСПОСОБНОСТИ BM8050 БЕЗ ВНЕШНЕГО ОБОРУДОВАНИЯ
— Соедините устройство c USB-портом ПК.
— В этом же окне убедитесь, что выбрано управление потоком «Аппаратное» в программе, для чего нажмите кнопку в центре «Настроить» и в нижнем окне «Управление потоком» выберите «Аппаратное».
— Выйдите из настройки программы, для чего нажмите ОК, еще раз ОК.
— Напечатайте текст «Текст» в программе HiperTerminal, при этом на экране печатается текст «Текст», что подтверждает исправность устройства.
— Напечатайте текст «Текст» в программе HiperTerminal, при этом на экране печать отсутствует, что подтверждает исправность устройства.
Настройка драйвера и выбор порта для переходника USB-COM
Если первая проблема устраняется изменением номера порта в настройках ОС, то проблему совместимости оборудования, программы и преобразователя устранить нельзя.
Для изменения присвоенного ОС номера необходимо изменить его вручную. Для этого необходимо войти в «Диспетчер устройств»: «Пуск» — «Настройка» —«Панель управления» — «Система».
Рис. 15.6. «Панель управления»
Рис. 15.7. Список имеющихся портов
Щелкните по этой строчке ПРАВОЙ кнопкой мыши, в открывшемся окне выберите стройку «Свойства».
Рис. 15.8. Настройка выбранного порта
В появившемся окне выберите вкладку «Параметры порта». В строчке «Скорость» выберите «115200», затем щелкните по кнопке «Дополнительно».
Рис. 15.9. Настройка параметров порта
В нижней части открывшегося окна найдите вкладку «Номер COM порта».
Рис. 16. Изменение номера COM порта
Щелкните по вкладке и выберите необходимый номер COM порта.
Обратите внимание, что некоторые номера порта могут быть заняты уже имеющимся оборудованием, например, встроенным модемом. Использовать одновременно один порт нельзя!
Готовые решения USB-COM адаптеров от производителей.
Кабель-адаптер TRENDnet COM9M—>USB AM 0.6м
Размеры упаковки (измерено в НИКСе) 23 x 16.8 x 4.6 см
Вес брутто (измерено в НИКСе) 0.135 кг
Внешние источники информации
Ссылка на сайт производителя www.trendnet.com
Оборудование для автосервисов, автодиагностика, диагностическое оборудование, диагностика авто, автомобильный сканер, автосканер, диагностический пост, чип тюнинг, оборудование для автодиагностики Carbrain, UNISCAN, ADP-504, KKL-USB, KKL-COM, сканер BMW, сканер Opel, BMW 1.3.6, Automan, Opel scanner, BMW scanner, мотор тестер, газоанализатор, диагностика двигателя, диагностика панели приборов Программатор транспондеров, OBD-2, OBD2, корректировка одометра, U-581, запуск двигателя, crash data, креш дата, крэш дата, спидометр, тахометр.
К переходнику добавляете USB удлинитель вот вам и прямой нуль-модемный кабель.
Но для остальных ресов нужен «перевёрнутый» нуль-модемный кабель.
Комментарии
Добрый день. Прошу прощения за беспокойство и повторы.