Андрей Смирнов
Время чтения: ~8 мин.
Просмотров: 9

Установка драйвера CP210x USB to UART Bridge VCP driver

Рассматриваем вопрос установки драйвера 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, а список устройств при обретает следующий вид:

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

Думаю, вряд ли кого-то стоит убеждать в необходимости и полезности USB-UART-преобразователей — COM- порт найти в современных компьютерах всё труднее. Для большей части практических задач, использующих обмен данными между компьютером и устройством — управления, отладки, передачи небольших объёмов данных — ничего проще и удобнее, чем преобразование USB-UART, придумать, пожалуй, невозможно. Микроконтроллер общается с микросхемой по обычному UART, к компьютеру все это дело подключается по USB. Компьютер распознает подключенное устройство как COM-порт и работать с ним можно как с обычным ком-портом. Все очень удобно, не требует ни мощных микроконтроллеров с интерфейсом USB и специально подобранными кварцами, ни сложных программ. Наиболее популярной микросхемой USB-UART является FT232RL от FTDI. Все в ней замечательно, кроме цены. А вот о CP2102 от SiLabs пишут значительно меньше. Стоит она значительно дешевле, чем FT232RL. Например ТУТ я ее купил за 45 руб.

Распиновка

Корпус у неё, конечно, страшноват, но к этому мы ещё вернёмся. 🙂

Структура микросхемы

Как можно заметить из схемы — CP2102 содержит встроенный генератор на 48 МГц, контроллер UART с поддержкой всех модемных сигналов, буфуры на прием и передачу, USB 2.0 (скорость до 12Мбит/сек) контроллер и EEPROM для хранения настроек. Микросхема требует минимальной обвязки — пара кондёров по питанию. Возможные форматы данных UART

  • 5,6,7 и 8 бит данных
  • 1,1.5,2 стоповых бита
  • бит четности по четности, нечетности, установленный, сброшенный или отсутствует

Драйвер виртуального ком-порта поддерживается Windows, Mac OS и Linux. Во встроенную EEPROM прошиваются такие параметры как

  • Vendor ID (VID) — Идентификатор производителя. По умолчанию10C4 — SiLabs
  • Product ID (PID) — Идентификатор продукта. Актуально, если к одному компьютеру подключается несколько CP2102.
  • Max Power — энергопотребление вашего устройства от USB. Шаг этого параметра — 2 мА. Например, если вам нужно 200 мА от шины USB, то сюда необходимо записать 100 (0x64).
  • Release Version — По умолчанию 1.0. Можно указывать от 1 до 99 как в десятичной так и в дробной частях отдельно.
  • Serial Number — Серийный номер устройства. Это текстовое поле длинной до 64 символов. Рекомендуется назначать разные номера всем устройствам.
  • Product string — Имя устройства (текстовое поле до 126 символов). По умолчанию это «CP210x USB to UART Bridge Controller».

Настройка

Изменять все эти параметры можно с помощью фирменной программули от SiLabs. Называется она CP210x Set Ids. Понять, как ей пользоваться, не составит никакого труда. Есть только один важный момент- программа находит устройства CP2102 основываясь на Vid и Pid. Если вы их измените программа перестанет видеть эту микросхему. Как с этим бороться я расскажу чуть позже.

Набор драйверов для CP2102

Существует 2 драйвера для CP2102

  1. 1. Драйвер USBXpress. Основное назначение драйвера — работа с CP2102 в качестве USB-устройства. Для работы с данным драйвером выпускается библиотека для создания собственного программного обеспечения
  2. Драйвер виртуального COM-порта (virtual COM-port driver, VCP-driver). Данный драйвер является надстройкой над драйвером USBXpress. При установке этого драйвера в системе появляется дополнительный виртуальный COM-порт (COM3, COM4 и т.д.), работа с которым полностью идентична работе со стандартными COM-портами (COM1, COM2)

Вы можете создать собственный драйвер именно для вашего устройства с помощью программы CustomUSBDriverWizard. Он сам генерирует весь необходимый набор файлов для драйвера, даже включая графический инсталлятор. Сначала, с помощью программы CP210x Set Ids настраиваете микросхему и меняете VID и PID. Потом запускаете CustomUSBDriverWizard, находите там свою микросхему и приступаете к созданию драйвера для нее. Тут можно указать название устройства, название драйвера, название вашей фирмы и другое. В результате программа сгенерирует набор файлов драйвера вашего устройства. Теперь эти файлы можно прикладывать к вашему устройству на диске, флешке или еще как-нибудь. Пользователь же, получив эти файлы, приступает к установке драйвера. Инсталлятор гордо показывает ваше название мега-устройства, название вашей крутейшей фирмы и т. д.

После установки в системе появляется новое устройство. В данном случае это COM-порт, т. к. я выбрал этот тип драйвера в мастере. Кстати после установки драйвера вашего устройства микросхема CP2102 снова начинает видиться программой CP210x Set Ids, которая переставала ее видеть после смены PID и VID. Подключаем устройство и имеем счастье

Минусы CP2102

К сожалению, у всего есть недостатки. Включая божественную микросхему CP2102. В ее случае это ее корпус. Если FT232RL в корпусе TSSOP неудобна для пайки т.к. имеет мелкий шаг выводов, то CP2102 выводов не имеет вообще. Но, если руки имеют относительно небольшую кривизну, то запаять ее можно. И даже проще, чем кажется. Феном запаять ее вообще не проблема. А в качестве доказательства того, что она вполне паябельна (а еще для фана) я специально снял видос, как я паяю ее турбозажигалкой на плате, изготовленной по ЛУТ-технологии 🙂 ) Вот как выглядела платка и что получилось в результате А некоторые умельцы извращаются и так. Но я б так не стал 🙂 Микросхема достаточно дешевая, чтобы впаивать ее в каждое устройство, где она нужна, а не изготавливать один универсальный кабель-переходник для всех своих девайсов. Но иногда и отдельная платка переходника нужна. Я для себя сделал несколько таких вот милых платок.Данный метод требует прямых рук наноботов — используйте описанное на свой страх и риск. Ко мне в руки попал преобразователь USB-UART на чипе CP2102, который шел в комплекте с Arduino Pro Mini и заявлялся как программатор для него:239ca6437c384d11b24ea55ab50555ee.png Подключив к Arduino и попробовав залить скетч, я обнаружил, что заливка не происходит. Выдается ошибка:avrdude: stk500_getsync(): not in sync: resp=0x00 Поиск дал ответ на вопрос, почему это происходит. Оказалось, RST на выходе программатора разведен таким образом, что он является цифровым входом и предназначен для сброса чипа CP2102 по сигналу с внешнего устройства, а не сброса самого внешнего устройства. Дальнейшие поиски привели к статье, где было описано, как это исправить. В статье мне не понравилось, что к чипу припаивается отдельный провод. Захотелось попробовать использовать уже имеющийся выход RST. Немного разобравшись с топологией платы, я обнаружил, что дорожка от вывода RST через сквозное переходное отверстие соединена с одной из ножек чипа CP2102 и сопротивлением на лицевой стороне платы. Таким образом, необходимо перерезать участок дорожки между переходным отверстием и выводом CP2102, а также выпаять SMD-резистор над надписью POW (на резисторе надпись «1001»). Далее необходимо соединить при помощи провода вывод CP2102 «DTR» и контактную площадку, оставшуюся после выпайки резистора, расположенную ближе к надписи POW. Это соединит вывод чипа «DTR» и вывод платы «RST». Вооружившись ножом для макетирования и паяльником, я приступил к работе. В результате получилось такое вот чудо техники:fe13347782d049fcb40ca15f83092acd.png Круг слева отмечает перерезанную дорожку, а овал справа кусочек припаянного провода. Для того, чтобы выводы микросхемы на слиплись от олова, следует залить данную сторону микросхемы спирто-канифольной смесью. Спирт быстро испарится, однако, при паянии, кипящая под жалом канифоль не даст олову спаять ножки в одно целое (конечно, если не переборщить с оловом). Далее следует проверить работоспособность полученной платы при помощи программы RealTerm. Открываем вкладку «Pins» — установка и сброс пина DTR не должна влиять на работу пина DSR, однако должно управлять напряжением на выходе RST платы. Когда все проверки завершены, можно пробовать залить скетч. Подключаем Arduino Pro Mini к преобразователю: (Преобразователь) Используемые источники:

  • https://arduinoplus.ru/ustanovka-drivera-cp210x/
  • http://we.easyelectronics.ru/electro-and-pc/cp2102-preobrazovatel-usb-uart-za-45-rubley.html
  • https://habr.com/post/239401/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации