Установка драйвера CP210x USB to UART Bridge VCP driver. Использование адаптера usb–to–com для подключения контроллера эсуд автомобиля к pc Установка драйвера на базе операционных систем Windows

В продолжение к теме «Программатор AVR910», про маленькое устройство, хочу предоставить вашему вниманию следующий мой «девайс».
В одно время, начиная осваивать микроконтроллер, у меня возникла цель обмениваться, с помощью него, данными с компьютером.

В контроллере АТmega16 есть UART (RS-232) или проще говоря, СОМ порт, только с уровнями 5 Вольт.
Чтобы «свести» его с компьютером необходимо повысить эти уровни до 10 Вольт.
Эту операцию, в основном, делает микросхема MAX232.

Её можно использовать в случае, когда используется СОМ порт на компьютере (аппаратный).
Но я хотел использовать порт USB. Пошёл в магазин и купил простой дата кабель к сотовому телефону.
Как я думал, тогда все кабели одинаковые и пины в них задействованы RX и TX.
Я ошибался... Кабели, попавшиеся мне, сделаны на микросхеме PL2303, которая не обеспечивает полный СОМ порт.
Из трёх купленных кабелей, попался один, который, что называется, работал «на ура».
Он основан на микросхеме CP-2102 . Это USB-RS232 адаптер.

Найдя в сети схему адаптера, основанного на этой микросхеме, я начал собирать устройство. Эта микросхема может программироваться под ваши данные (Производитель, серийный номер, название устройства, если вы хотите своё устройство связать с компьютером). Всё во вложенных файлах .

Схема его до безобразия проста.
Причём контроллер, можно сразу соединять, без переводов уровней (5-10 Вольт).
Исполнение, как всегда сверх миниатюрное.

Исключён фрагмент. Наш журнал существует на пожертвования читателей. Полный вариант этой статьи доступен только

Файлы

Образец драйвера
🕗 13/12/08 ⚖️ 3,23 Mb ⇣ 435 Здравствуй, читатель!

--
Спасибо за внимание!

Прога для изготовления ваших собственных драйверов
🕗 13/12/08 ⚖️ 238,88 Kb ⇣ 416 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

--
Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»

Схема и печатка
🕗 13/12/08 ⚖️ 41,22 Kb ⇣ 461

LPT и COM порты уже большая редкость на современных стационарных компьютерах, а про ноутбуки то и говорить нечего. USB медленно, но верно вытеснила их, усложнив жизнь разработчикам и упростив пользователям. Эх, как приятно было когда-то подключить микроконтроллер к COM порту компьютера, используя всего лишь max232 и не заботясь о драйверах. Еще чуть-чуть и это будет возможно только на промышленных компах.

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

USB-UART преобразователь на FT232RL

Микросхема FT232RL фирмы FTDI пользуется заслуженной популярностью в инженерных кругах. Она предоставляет пользователю возможность создания полноценного COM порта, имеет функцию управления отдельными выводами, драйвера, простую схему включения с минимальным количеством дополнительных элементов и приемлемый для пайки корпус. Также дополнительным плюсом этой микросхемы, является возможность программирования ее EEPROM памяти, в которой можно изменить некоторые параметры USB устройств. Из недостатков можно отметить ее высокую цену ~120-150 рублей, которая вполне сравнима с ценой на микроконтроллер atmega.
Я сделал на FT232RL свой вариант USB-UART преобразователя. Все пользовательские выводы развел на PLS`ку по краям платы. Расстояние между PLS выбрал таким, чтобы можно было втыкать переходник в макетную плату. Выводы RXD и TXD, предназначенные для подключения UART`a микроконтроллера, развел на отдельную PLS для удобства подключения. Также на плату помесил 2 светодиода, для индикации процесса передачи/приема информации микросхемой FT232RL, и перемычки для выбора напряжения питания выводов. Оно может быть пяти или трех вольтовым. USB разъем взял в мини исполнении, USB-B слишком громоздкий. Плату развел в одном слое, с тремя перемычками.

Схема USB-UART переходника на FT232RL


Внешний вид полученного девайса

Если ты соберешь этот USB-UART переходник, то не спеши сразу втыкать его в USB порт. Перед работой нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-. Возьми тестер и прозвони их. Если замыканий нет, визуально проверь другие вывода и только после этого можешь подключать переходник.

При первом включении операционка попросит установить драйвера. Их можно скачать с официального сайта производителя - драйвер для FT232 . Установка драйверов не представляет никакой сложности, поэтому говорить об этом не будем.
Когда драйвер установится, в системе появится дополнительный COM порт. Это так называемый виртуальный COM порт, но его можно использовать точно так же как и обычный. Чтобы увидеть его порядковый номер, нужно залезть в диспетчер устройств, если у тебя винда. Заходишь в панель управления, выбираешь система > диспетчер устройств. В разделе "Порты (COM и LPT)" должен находиться наш переходник - "USB Serial Port (COM10)". У тебя может быть какой-нибудь другой номер порта.
Чтобы убедиться в работоспособности переходника нужно открыть любую терминальную программу, выбрать соответствующий COM порт, замкнуть джампером выводы RXD и TXD и отправить через терминал любую последовательность символов. Если переходник функционирует, терминал примет ответ в виде эха, а на плате кратковременно вспыхнут светодиоды.
Для подключения переходника к микроконтроллеру, нужно вывод RXD микроконтроллера соединить с выводом TXD переходника, а вывод TXD микроконтроллера с выводом RXD переходника. Также нужно соединить их земли.

USB UART переходник на CP2103

Микросхема CP2103 фирмы Silicon Labs - это по сути аналог FT232. Имеет простую схему включения с минимальным количеством внешних компонентов, позволяет организовать полноценный COM порт со всеми его сигналами, имеет дополнительные пользовательские выводы и программу для их конфигурации, драйвера, маленькие габариты и более демократичную цену. Из недостатков стоит отметить мелкий и неудобный для запайки в домашних условиях корпус. Пожалуй, это главная причина непопулярности этой микросхемы в среде самодельщиков.
Ради интереса я сделал USB UART преобразователь и на ее базе. Все пользовательские выводы развел на PLS`ки по краям платы. RXD и TXD вывел на отдельный разъем. Джампер для выбора напряжения питания выводов здесь не понадобился, так как это напряжение не может быть большее 3.6 В. USB разъем выбрал в мини исполнении, плату развел в одном слое с четырьмя перемычками на обратной стороне. Светодиоды для индикации передачи/приема данных не сделал, потому что микросхема CP2103 не имеет выделенных для этих целей выводов. Можно задействовать любые пользовательские выводы, но их нужно конфигурировать с помощью специального софта. Когда я это узнал, переходник уже был готов и переделывать его было лень, особенно после мучений с запайкой. Единственное, что я добавил из индикации - это светодиод по питанию.


Схема USB-UART преобразователя на CP2103


Внешний вид полученного девайса

Я немного помучился с изготовлением этого переходника. Во первых между ножками CP2103 очень маленький зазор, нужно аккуратно делать плату. Во вторых ее сложно припаять. Если бы у меня не было фена, я бы за это вообще не взялся.
Запаивал я ее следующим образом. Залудил плату сплавом Розе. Он плавится при 100 градусах, что позволяет избегать перегрева платы и микросхемы. Обильно смочил посадочное место микросхемы флюсом и положил ее туда. Используя увеличительное стекло и пинцет, кое-как сориентировал ее по посадочному месту. Далее стал нагревать микросхему феном с температурой ~150-200 градусов. Когда припой расплавился, микросхема стала шевелиться и за счет сил поверхностного натяжения заняла точное положение на посадочном месте. Получилось очень ровно, но переходник не заработал. Я повторно нагрел микросхему и слегка придавил и пошевелил пинцетом. После этого микросхема сконтактировала с дорожками платы.
После сборки переходника нужно убедиться в отсутствии замыканий между плюсом питания, землей и выводами D+, D-, а затем между остальными выводами. Поскольку микросхема очень маленькая, между выводами легко может сесть сопля. После проверки выводов, USB UART переходник можно подключать к компьютеру.
Как и с предыдущем переходником, при первом включении система предложит установить драйвера. Скачивай их с официального сайта производителя - драйвер для CP2103 .
Установленный переходник определяется в диспетчере устройств в разделе "Порты" как "Silicon Labs CP210X USB to UART Bridge (COM6)". У тебя может быть другой номер порта.
Работоспособность проверяется аналогично, повторяться не буду.

Альтернативные варианты USB-UART адаптеров

Альтернативные варианты адаптеров можно сделать на микросхемах FT230XS и CP2102. Это урезанные и соответственно более дешевые аналоги FT232 и CP2103. Обе микросхемы имеет меньшее число пользовательских выводов и не совпадают по распиновке.

Файлы

Ссылки

Софт для настройки FT232RL - FT Prog
Софт для настройки CP2103 - Customization Utility Много весит!

В условиях, когда современные компьютеры стремительно теряют COM-порты, преобразователь USB <-> COM — штука для радиохламера очень полезная и нужная. Но и преобразователь USB <-> UART — тоже штука полезная и нужная. Мне, естественно, захотелось иметь и то, и другое, и ещё чего-нибудь, и чтобы всё это не слишком дорого.

Купить или собрать любую из подобных штуковин сегодня не проблема. В сети — куча схем, в магазинах — куча девайсов. Однако, как оказалось, — купить их можно только отдельно друг от друга! И это не смотря на то, что все, рассмотренные мной, преобразователи USB <-> COM преобразуют уровни сигналов сначала в TTL, а уже потом в RS-232. Разумеется ни одно из подобных решений не устроило меня в плане универсальности. Зачем я буду покупать отдельно преобразователь USB <-> UART, если он уже есть в составе USB <-> COM? Размышляя подобным образом, я решил, что лишних денег у меня нет и лучшим решением будет сделать свой собственный универсальный преобразователь.

В качестве основы, была взята хорошо известная микросхема cp2102. Во-первых, она позволяет эмулировать полноценный COM-порт (все линии, а не только Rx, Tx), во-вторых, она имеет минимум обвеса и позволяет сделать плату минимальных размеров, ну и в-третьих, у неё оказалась самая привлекательная цена. Схема преобразователя практически без изменений была взята из даташита к этой микрухе, я только разрезал её напополам, чтобы при необходимости иметь возможность отделить USB to UART от UART to RS-232.

Схема преобразователя USB to UART :

Схема преобразователя UART to RS232 :

В итоге получилось даже не два (как изначально замышлялось) а целых три устройства в одном. Обе части разработанного девайса можно использовать как самостоятельные преобразователи USB <-> UART и UART <-> RS232 (жаль только, что последнему требуется внешнее питание). Соединив две части вместе, получаем преобразователь USB <-> COM. Для сопряжения частей преобразователя я использовал разъёмы IDC-14F и BH-14, которые при правильной разводке очень удачно припаиваются к двухсторонним платам (ниже на фото можно увидеть, как именно).

Фото готового устройства :

Единственный трудный момент — пайка микросхемы cp2102, поскольку она выпускается в QFN корпусе. Паять её нужно феном, предварительно облудив припаиваемые контакты на микросхеме и площадки на плате. При этом вовсе не обязательно использовать какие-то специальные дорогие флюсы. Достаточно обычной сосновой канифоли, только её нужно растворить в спирте и потом наносить на площадки шприцом или специальной кисточкой. Если спирта нет — растворить канифоль можно в водке, однако в этом случае после нанесения раствора придётся немного подождать, поскольку вода испаряется значительно хуже спирта.

Разъём USB специально соединён с платой гибким проводом, а не жёстко к ней припаян. Как показывает практика, такие преобразователи очень часто используются для подключения к компьютеру различных конвертеров (COM to HART, COM to RS485 и тому подобных) и при жёсткой пайке USB-разёма именно он чаще всего отламывается, не выдерживая веса всего подключенного к преобразователю оборудования.

Отдельно хотелось бы остановиться на вопросе выбора конденсаторов. В даташите указаны номиналы конденсаторов по питанию 4,7 мкФ и 1 мкФ. Зачастую для экономии места на плате или по каким-то другим причинам вместо них ставят конденсаторы поменьше. Опять же, как показывает практика, это может привести к нестабильности питания подключаемых к преобразователю устройств (которые не имеют внешнего питания и должны питаться от COM-порта) и, как следствие, к их неработоспособности.

Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.
Я в своих проектах использую его с Arduino Pro MIni , Gboard /Iboard и самодельными контроллерами .

Чем он отличается от других подобных устройств

  1. Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
  2. Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
  3. Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
  4. Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.

Где заказать?

Характеристики

  • Чип CP2102 от Silicon Labs
  • Скорость обмена данными по UART 300Бит/сек — 1Мбит/сек
  • Буфер чтения 576 байт, записи 640 байт
  • Поддержка USB 2.0 12Мбит/сек
  • Поддержка режима SUSPENDED USB
  • Встроенный стабилизатор питания 3.3В 100мА
  • EEPROM с конфигурационными параметрами 1024 байт
  • Поддерживаемые ОС Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Возможность настройки параметров платы и драйверов под свои проекты
  • Размеры платы 26.5 x 15.6 мм

На плате есть дополнительные отверстия, куда можно впаять выводы дополнительного модемного контроля и перевода USB в режим SUSPENDED

По размеру плата мало отличается от других подобных конвертеров USB/UART

  1. Плата FOCA 2.2 взята для коммерческих проектов с контроллерами Gboard /Iboard
  2. Дешевый конвертер FT232 используемый до настоящего времени
  3. Обозреваемый CP2102

Подключение и установка CP2102

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

  • Для соединения к контроллеру нужны 5 проводов:
  • GND — GMD
  • VCC — V5.0 (V3.3) в зависимости от используемой платы
  • TX — RX
  • RX — TX
  • RESET контроллера — DTE


Теперь контроллер можно программировать не нажимая кнопку RESET.

Изменение VID, PID и др. характеристик конвертера

Плата опознается в системе как Silicon Labs CP210X USB to UART Bridge (COM35)

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

Для начала скачиваем и запускаем утилиту для конфигурирования параметров EEPROM CP1202 (мне для запуска утилиты потребовалось еще скачать Java Runtime)

Теперь можно изменить следующие параметры:

  • Vendor ID (VID). Идентификатор производителя. Значение «по-умолчанию» 10С4 (шестнадцатеричный формат). В данном случае принадлежит компании SiLabs.
  • Product ID (PID). Идентификатор продукта. Значение «по-умолчанию» EA60 (шестнадцатеричный формат). В данном случае обозначает все мосты CP210x.
  • Max Power. Максимальный ток потребления, запрашиваемая мостом на шине USB. Значение «по-умолчанию» 32 (шестнадцатеричный формат). Максимальное значение 500мА
  • Power use attributes. Режим питания. Bus-powered (питание от шины USB) или Self-Powered (питание от внешнего источника).
  • Release Version. Номер выпуска. Значение «по-умолчанию» 1.0. Поля могут принимать значения 1-99 в целой и дробной части.
  • Serial Number. Серийный номер. Значение «по-умолчанию» составляет «0001» (текстовый формат). Поле может принимать любое текстовое значение длиной до 64 символов. Нужно для подсоединение к компьютеру нескольких устройств
  • Product string. Поле может принимать любое текстовое значение длиной до 126 символов. Данный идентификатор отображается в операционной системе при первичном подключении моста CP210x к компьютеру и помогает пользователю в выборе подходящего драйвера
  • Custom Data Lock. Защита конфигурационных данных.

Классический конвертер USB-to-UART на CP2102. Если Вы не знаете, что это, значит он Вам не нужен. Остальных прошу под кат.

Сразу скажу: работает, как должен. Конвертер сделан на небезызвестной и хорошо себя зарекомендовавшей схеме от SiLabs с минимальной обвеской. Хороший вариант для тех, кому лень паять самостоятельно.

Учтите, что несмотря на все возможности самого чипа, выводы для аппаратного контроля (DTR/DSR, RTS/CTS) не разведены. Для управления потоком остается только программный метод (X-On/X-Off). Разведены:

TX/RX.
- Питание от USB (+5V) и земля.
- +3.3V от встроенного в чип преобразователя напряжения. Вольтметр показывет 3.15V. Понятия не имею, какой реально ток можно с него с нять, но по даташиту все 500 мА.
- RST.

Входы/выходы «5V tolerant», можно подавать до 5.8V. Проверялся на скоростях 115200 kbit/s и 57600 kbit/s с двумя контроллерами. Проблем нет.

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

В комплекте идет диск с драйверами. Я его просто выкинул, под Linux устройство и так встает в качестве /dev/ttyUSBx.

Работает
+ маленький (по моим замерам 42x15)
+ провенная годами схема
+ драйверы под все платформы, а может заработать и вовсе без них

На доллар дороже упомянутого выше конвертера
- соединительных проводов нет в комплекте

Планирую купить +11 Добавить в избранное Обзор понравился +14 +21 Графика