Как подключить кучу старого RS232 оборудования по USB без регистрации и sms (STM32 + USB-HID)

Рассматриваем вопрос установки драйвера CP210x USB to UART Bridge VCP driver для адаптера CP2102.

Отличительные особенности адаптера

Адаптер RS232 порта для последовательной универсальной шины (USB to UART Bridge) представляет собой высокоскоростное USB-устройство предназначенное для подключения периферийных устройств, соответствующих стандарту TIA/EIA232.

Адаптер выполнен на основе контроллера Silicon Labs CP2102 и предназначен для использования в системах, оснащенных шиной USB.

Подключение периферийных устройств выполняется с помощью стандартного разъема DB9.

  1. поддержка спецификации USB 2.0;
  2. полный набор сигналов интерфейса RS232;
  3. амплитуда сигнала RS232 не хуже ±5.5В;
  4. питание от шины USB.

Установка и подключение адаптера

  1. Перед установкой и подключением адаптера CP2102 убедитесь в том, что внешние устройства обесточены и подключены к контуру заземления.
  2. Затем, подключите внешнее устройство к разъему DB9.
  3. Установите адаптер в свободный USB-разъем, визуально контролируя посадку контактных площадок до упора в разъеме.
  4. подачи питающих напряжений на устройство ввода-вывода система готова к работе.

Приступая к установке адаптера CP2102, следует принять во внимание, что спецификация USB предполагает возможность «горячего» подключения, но ее действие не распространяется на периферийные устройства последовательного ввода-вывода.

При работе с адаптером необходимо подключать только обесточенное периферийное оборудование! Несоблюдение этих правил может привести к выходу из компонентов компьютерной системы.

Установка драйвера на базе операционных систем Windows

После подключения адаптера CP2102 к USB разъему в среде операционных систем Windows 2K/XP он обнаруживается следующим образом:

Теперь необходимо скачать  драйвер CP210x USB to UART. Запускаем его установку:

В процессе работы пре-инсталлятора пользователь может указать каталог, в котором будут храниться драйвера устройства CP210x:

Если операционная система затребует информацию о размещении драйверов устройства, пользователь обязан будет указать путь к ним. Программная модель адаптера CP2102 состоит из композитного устройства и моста USB to UART, каждая из которых описана собственным inf-файлом.

Поэтому в процессе автоматического обнаружения операционная система последовательно запрашивает оба файла.

Драйвера адаптера должны быть предложены системе для установки из каталога, указанного в процессе пре-инсталляции, если иное не предусматривает сам пользователь. Первоначально операционная система устанавливает драйвера для композитного устройства (USB Composite Device):

Если текущая версия драйверов USB Composite Device не подтверждается цифровым сертификатом компании Microsoft, пользователь предупреждается об этом следующим сообщением:

Путь к необходимым для композитного устройства файлам выбирается исходя из условий пре-инсталляции:

Следующий этап инсталляции – драйверы моста USB to UART. Как и на предыдущем шаге рекомендуется автоматическая установка.

Если текущая версия драйверов USB to UART Bridge Controller не подтверждается цифровым сертификатом компании Microsoft, пользователь предупреждается об этом со общением. Путь к необходимым файлам выбирается исходя из условий пре-инсталляции:

После инсталляции в свойствах системы появляется контроллер универсальной последовательной шины CP210x USB Composite Device, и последовательный порт COM3, реализованный с помощью CP210x USB to UART Bridge Controller, а список устройств при обретает следующий вид:

Все, драйвер установлен!

Периферия DIY или Сделай сам Электроника для начинающих Tutorial

Вместо вступления

Как обычно я предлагаю заняться странным — попробовать подключить несколько старых RS232 устройств, через один USB порт с помощью синей изоленты и смекалки. Статья не будет большой, скорее это описание что где взять и зачем вообще все это делать.

Зачем?

Нужно это бывает когда некий специальный аппаратный комплекс, состоящий из отдельных устройств и который выполняет какую-то единый функционал, вдруг начинают модифицировать. Разумеется что можно попробовать найти комплекс оборудования по новее, но в реальной жизнь на это идут очень редко. Начинают модифицировать то что есть. Иногда вдумчиво, но чаще как получится. Как правило «мозгами» такого комплекса является компьютер у которого 100500 выходов RS232. Из примеров могу привести место кассира в супермаркете, банкоматы и тому подобное. С первым случаем столкнулся я. Эти компьютеры не блещут мощностью, но отличаются космической стоимостью. Естественно он перестает отвечать требованиям современных технологий и многим приходит в голову идея заменить их на обычный ПК и получить приличную мощность по адекватной цене, однако быстро выясняется что RS232 на новых ПК вымер как класс. Теперь этот интерфейс стал сугубо специализированным. Соответственно надо или самостоятельно прикручивать кучу RS232 или искать уже готовое спец решение. Разумеется что можно заменить само оборудование, но если вы посмотрите сколько стоит стационарный лазерный сканер приличной фирмы и помножите эту цену на их количество то передумаете. Люди не посвященный в тему сразу радостно покупают пучок китайских USBtoRS232 переходников, а дальше все идет очень печально. Лучше этого не делать. Вторым вариантом является покупка специализированной платы расширения с кучей RS232. Этот вариант уже лучше и имеет право на жизнь, но тоже имеет свои недостатки. Например стоимость и проблемы с дровами если используется не Windows или не та версия. Так же не маловажным фактором является доступность в будущем, так как что-то выходит из строя и парк может расширятся в будущем. Потом оказывается что конкретная модель уже не выпускается или не постановляется в конкретную местность и т.д. В общем привязывать себя к конкретному устройству это всегда опасно, особенно если можно этого не делать.

Пробуем что-то сделать

Может показаться странным что примитивные RS232 устройства так сложно и дорого подключить по нормальному если по сути там обычно простые протоколы и примитивный физический уровень. А все потому что обычно подобные аппаратные комплексы используются в коммерческих доходных сферах и покупка оборудования по таким ценам оправдана, а само оборудование уже перешло в разряд специального. Спец оборудование = спец цена вопроса. Однако все это не мешает попробовать собрать свой бюджетный велосипед. Бонусом получим возможность менять поведение такого своеобразного RS232 мультиплексора и полностью обойдем проблему написания USB драйверов. HID профиль поддерживается почти везде. Однажды я прочел отличную статью автора До этого я интересовался 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 устройств и перестать наконец использовать переходники. Не забываем плюсовать автора статью в которых на пальцах объясняется как пощупать железный USB и сохранить желание разбираться дальше.

Микросхема PL2303 компании Prolific Technology  это преобразователь интерфейса USB в UART. Используется для подключения устройств с интерфейсами UART, RS232, COM к интерфейсу USB. На базе этой микросхемы выпускают модули PL2303 USB UART Board.

Модули крайне удобные в применении. Разъем USB модуля подключается через стандартный кабель к USB интерфейсу компьютера. А к 4х контактному штыревому разъему подсоединяется UART устройство.

На компьютер необходимо установить драйвер. После этого, при каждом подключении модуля PL2303 к компьютеру, будет формироваться виртуальный COM порт.

Теперь любая программа для управления устройством через COM работает с виртуальным портом, не подозревая об этом. Т.е. в системе появляется COM порт, физически размещенный вне компьютера!

Я часто использую модули PL2303 для подключения микроконтроллеров не только к персональным компьютерам, но и к Андроид совместимым планшетам и сотовым телефонам.

Для пользователей моих разработок привожу подробную инструкцию по установке драйвера PL2303 USB.

Установка драйвера для модуля PL2303 под Windows 7.

На этом этапе установки не подключайте модуль к компьютеру!

Я использую драйвер  PL2303_Prolific_DriverInstaller_v1.12.0.

Разработчики обещают, что он поддерживает:

  • Windows XP SP2 and above (32 bit)
  • Windows Vista (32 & 64 bit)
  • Windows 7 (32 & 64 bit)
  • Windows 8/8.1/10 (32 & 64 bit).

Для установки надо запустить программу инсталляции драйвера. Запустить можно непосредственно отсюда, или предварительно скопировав файл на компьютер.

Откроется мастер установки драйвера.

Нажимаете Next.

Принимаете лицензионное соглашение. Next.

Давите Finish.

Теперь подключите кабель модуля к USB интерфейсу.

Система обнаруживает новое устройство. Появляется сообщение.

Щелкните по сообщению мышью.

Пропустить загрузку драйвера из центра обновления Windows. Все равно ничего не найдет.

Давите Да.

Завершается установка.

Последнее сообщение.

Проверка установки драйвера.

Теперь необходимо проверить, правильно ли установился драйвер и, при необходимости, поменять номер порта.

Пуск  →  Панель управления  →  Система  →  Диспетчер устройств

Два щелчка правой кнопки мыши по Порты (COM и LPT)

Появилась строчка  Prolific USB-to-Serial Comm Port (COM3).  Это и есть наш виртуальный порт с номером 3.

Если в этом есть необходимость, номер можно поменять.

Два щелчка правой кнопкой мыши по Prolific USB-to-Serial Comm Port (COM3).

Параметры порта.

Дополнительно.

Выбираем через поле Номер COM порта.

Необходимо помнить, что если к компьютеру будет подключен другой модуль или тот же модуль будет подключен к другому USB порту, система может определить виртуальный порт с другим номером. В этом случае обязательно дождитесь установки нового виртуального COM.

Где купить модуль PL2303?

У меня однозначное мнение – в этом интернет магазине. Не потому, что это моя партнерская программа. Просто таких цен я не видел нигде.

В августе 2016 года:

  • Модуль PL2303 USB-UART стоит 80 руб.!
  • Мост USB-UART на микросхеме CH340 по цене 90 руб.!
  • Цена модулей на микросхеме CP2102 180 руб!
  • Есть вариант преобразователя USB-UART PL2303 встроенного в кабель. Цена 170 руб.!

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

Стандартным интерфейсом плат Arduino на микроконтроллерах ATmega328P является UART, а у современных компьютеров используется USB. Чип USB-UART CH340G служит мостом между микроконтроллером и USB-портом компьютера, который позволяет загружать прошивку в плату, а также передавать между собой данные.

Список поддерживаемых плат

  • Iskra Uno / Документация
  • Iskra Nano Pro (без ног) / Документация
  • Iskra Nano Pro (с ногами) / Документация

Зачем нужен драйвер?

При подключении любого устройства к USB-порту компьютера необходимо подсказать операционной системе, как с ним общаться. На стороне компьютера таким переводчиком является специальная программа, называемая драйвером. Например, драйвер преобразователя USB-UART работает в режиме эмуляции последовательного COM-порта. Т. е. при подключении вашей платы к компьютеру чип моста с помощью драйвера попросит операционную систему открыть виртуальный COM-порт, через который начнётся общение между платой и ПК.

Каждый производитель делает свои чипы с соответствующими драйверами. К сожалению, не все драйверы предустановлены в операционных системах по умолчанию. Когда нужного драйвера нет, ОС пытается найти его для нового подключённого устройства, не находит, и вместо виртуального COM-порта вы видите надпись «USB 2.0 SERIAL» или «Неизвестное устройство». Для решения проблемы скачайте и установите драйвер для вашей операционной системы.

Установка драйвера

Рассмотрим установку драйвера на примере платы Iskra Uno в операционной системе Windows. С остальными платами ситуация будет аналогичная.

  1. Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B).
  2. Установите и настройте интегрированную среду разработки Arduino IDE.
  3. Скачайте и установите драйвер CH340 для Windows.
  4. Откройте диспетчер устройств Windows и раскройте вкладку «Порты (COM и LPT)».
    1. Если во вкладке отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и можно переходить к прошивке платформы.
    2. Если пункта не обнаружено или вкладка «Порты (COM и LPT)» вовсе отсутствует, следуйте дальнейшей инструкции.
  5. В диспетчере устройств Windows раскройте вкладку «Другие устройства» и найдите пункт USB2.0-Serial.
  6. Далее кликните правой кнопкой мыши по пункту USB 2.0 Serial и выберите раздел «обновить драйвер».
  7. Выберите пункт «Выполнить поиск драйверов на этом компьютере».
  8. Укажите путь к директории драйвера и нажмите кнопку «установить». В нашем случае: C: Program Files (х86) Arduino drivers
  9. Если всплывёт окно с текстом «Не удалось проверить издателя драйверов», кликните по вкладке «Всё равно установить этот драйвер». По завершении процесса вы должны увидеть сообщение об удачной установке драйвера.
  10. Откройте повторно вкладку «Порты (COM и LPT)» в диспетчере устройств. Если там отображается пункт USB-SERIAL CH340 (COMx) — значит, всё получилось, и теперь можно переходить к прошивке платформы.

Ресурсы

  • Установка и настройка Arduino IDE
  • Скачать драйвер CH340
    • для Windows
    • для Linux
    • для macOS
    • для Android

Каталог товаров

  • image Audi, Skoda, VW, Seat image ВАЗ, ГАЗ, ЗАЗ, Chevrolet image Универсальные адаптеры image Fiat, Alfa Romeo, Lancia image Ford image Opel, Vauxhall image BMW image Toyota Citroen/Peugeot
  • Серия Стандарт Серия Профессионал RS232 (COM) Bluetooth Аксессуары
  • Кабели Переходники OBDII Разъемы
  • Программаторы, корректировка одометра
  • Измерительный инструмент Ручной инструмент
  • Автомагнитолы Автомониторы Автоакустика Автоусилители Автосигнализации Авторегистраторы Зарядные устройства
  • New Новинки
  • Хит Хиты продаж
  • % Скидки

Будьте в курсе!

Новости, обзоры и акции

Последние статьи

  • Купить сканер ELM 327 Bluetooth
  • Какие есть адаптеры для диагностики ГБО
  • Переходники OBD-2: для чего нужны, где купить

Все статьи Главная Статьи

Иногда возникают затруднения с установкой драйверов для диагностических интерфейсов, работающих на чипах FTDI, данная инструкция поможет решить эту проблему.

Автоматическая установка драйвера:

  1. Скачать  драйвер FTDI и двойным кликом запустить установку скаченного файла.
  2. Подключить адаптер к USB разъему ПК.
  3. Запустится стандартная процедура «Установки нового оборудования» операционной системой Windows, результатом чего должно быть – обнаружено новое устройство и для него установлен драйвер.
  4. Также возможен вариант, если ПК подключен к сети интернет, ОС Windows  проведет автоматическое обновление драйвера FTDI с узла «Windows Update» и тогда Вам не понадобится ручная  установка драйвера.
  5. В случае успешной установки драйвера FTDI для вашего usb адаптера, в «Диспетчере устройств» (Мой компьютер-пр. кнопкой мыши – СвойстваДиспетчер устройств) Вы должны увидеть следующую картинку

Она указывает на то, что драйвер установился корректно и кабель для диагностики готов для проведения диагностики автомобиля.

 Ручная установка драйвера FTDI

  1. Если автоматическая установка драйвера не произошла, тогда в «Диспетчере устройств» (Мой компьютер-пр. кнопкой мыши – СвойстваДиспетчер устройств)Вы увидите среди прочих устройств будет устройство с желтым  восклицательным значком «!», означающим отсутствие установленного драйвера. Это означает, что драйвер не установился или установился, но не корректно.
  2. Скачать драйвер FTDI для ручной установки и разархивировать папку с драйвером на винчестере вашего ПК.
  3. В «Диспетчере устройств» на устройстве с желтым  восклицательным значком «!» клацнуть правой кнопкой мыши, выбрать из контекстного меню «Обновить драйверы…»
  4. В открывшемся окне «Обновление драйверов» выбрать пункт ручного поиска.
  5. В открывшемся окне, с помощью кнопки «Обзор» укажите путь к распакованной папки с драйвером для ручной установки и нажмите кнопку «Далее».
  6. Запустится процесс инсталляции драйверов, после ее окончания появится сообщение об успешной установки драйверов.( Если появилось сообщение, что драйвера не установлены – перейдите в пункт 12 или 9).
  7. Закрываем окно и переходим обратно в «Диспетчер устройств» и повторяем пункты 3-6.
  8. В случае успешной установки драйвера FTDI в «Диспетчере устройств» Вы должны увидеть появившийся новый COM-port, который соответствует Вашему адаптеру.
  9. Если после проделанных выше процедур в «Диспетчере устройств»  на устройстве соответствующему вашему адаптеру  стоит желтый восклицательный знак «!», что говорит что драйвера, для этого устройства не установлены, тогда попробуем установить их другим способом
  10.  Скачиваем программу для удаление драйверов FTDI c Вашего компьютера – FTClean (скачать). Данная утилита позволяет правильно удалить не корректно установленные драйвера.
  11.  Запускаем программу FTClean и удаляем драйвера, согласно алгоритму, указанному на изображении.
  12. После удаления драйверов подключаем адаптер к компьютеру, в «Диспетчере устройств» на устройстве с желтым  восклицательным значком «!» клацнуть правой кнопкой мишки, выбрать из контекстного меню меню «Обновить драйверы…»
  13. В открывшемся окне «Обновление драйверов» выбрать пункт ручного поиска.
  14. В следующем окне выбрать пункт меню «Выбрать драйвер из списка…»
  15. Затем «Установить с диска»
  16. Далее «Обзор» и » укажите путь к распакованной папки с драйвером для ручной установки, выберите файл ftdiport.inf и нажмите кнопку открыть, запустится процесс установки драйвера.
  17. После появления сообщения об успешном установки драйвера закрываем окно и переходим опять в «Диспетчер устройств», теперь должно появится новое неизвестное устройство USB Serial Converter, повторяем пункты 11-14, только выбираем файл ftdibus.inf.
  18. В случае успешной установки драйвера FTDI в «Диспетчере устройств»Вы должны увидеть появившийся новый COM-port, который соответствует Вашему адаптеру.

Связанные товары Хит Адаптер диагностический VAG-COM 409.1 USB Для диагностики автомобилей группы VAG, ВАЗ, ГАЗ, ЗАЗ, Chevrolet, Fiat, Chery на чипе FTDI 347 грн. за 1 шт В наличии Хит Адаптер диагностический K-Line GM12/OBD2 улучшенный Адаптер на чипе FTDI для диагностики автомобилей по K и L-линиях в корпусе GM12 или OBD2. От 500 грн. за 1 шт В наличии Хит Адаптер для ГБО (FTDI) №7 Адаптер диагностический для ГБО (FTDI) №7 От 500 грн. за 1 шт Нет в наличии Хит Адаптер для ГБО (FTDI) 5 разъемов Адаптер диагностический для ГБО (FTDI) 5 разъемов (1,3,4,7,8 или 1,3,4,7,10, плюс опционально BRC) – серия Профессионал От 788 грн. за 1 шт Нет в наличии

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий