Интерфейс UART поддерживается практически всеми микроконтроллерами и весьма удобен при разработке и отладке всяческих МК-девайсов: и прошивку через загрузчик залить, и дебаговые логи устройства на компьютере просмотреть. Но, увы, в современных компьютерах COM-порт постепенно исчезает из числа доступных интерфейсов, будучи вытесненным шиной USB, а в ноутбуках и подавно отсутствует. Это и заставило озадачиться вопросом изготовления переходника USB -> COM. Обычно, такие переходники делают на основе популярной микросхемы серии FT232, но есть у нее пара недостатков: 1) стоимость микросхемы ~150 рублей 2) микроскопические размеры со всеми вытекающими отсюда сложностями пайки и изготовления печатной платы.

В качестве альтернативы FT232 обнаружилась менее известная CP2102, стоящая раза в два дешевле, и имеющая раза в два меньшие размеры да еще и корпус QFN-28 (5мм х 5мм). Эта микросхема представляет собой полностью готовый USB-UART-преобразователь не требующий никакой внешней обвязки (пара фильтрующих конденсаторов на шину питания не в счет) и обладающий следующими возможностями:

  • соответствие спецификации USB 2.0, full-speed (12 Mbps)
  • интегрированная EEPROM на 1024 байта для хранения ID производителя, ID продукта, серийного номера, описания устройства и т.д.
  • скорость виртуального RS232 от 300 bps до 1 Mbits
  • поддержка форматов передачи данных 5, 6, 7 и 8 байт данных; 1, 1.5 и 2 стоп-бита, различные контроли четности
  • буфер приемника - 576 байт, буфер передатчика - 640 байт
  • встроенные источники опорной частоты, встроенный стабилизатор на 3.3В
  • Драйвера для Windows Vista/XP/Server 2003/2000, Linux, Mac OS-X / OS-9

Схема

Схема адаптера взята из даташита, опциональная периферия была выброшена и добавлен светодиод для индикации наличия питания.

Вилка DB9 распаяна аналогично выходу COM-порта компьютера, вот его распайка (направление сигналов указано относительно компьютера).

Основная проблема конструирования переходника - проблема печатной платы и монтажа QFN-28 была решена приклеиванием микросхемы вверх ногами к печатной плате и подпаивание ее выводов проводом ПЭВ 0.1мм. Несколько муторно, зато, миниатюрно. Вот, что в результате получилось:


И в корпусе от DB-9 все выглядит следующим образом:

Драйвера

Теперь, тщательно проверив монтаж, можно испытывать. Девайс обнаружился системой но драйверов windows найти не смогла. Их я скачал . После чего у меня в системе появился новый порт - COM5 в Windows и /dev/ttyUSB0 в Linux. Теперь, соединив RXD на TXD (2 и 3й выводы вилки переходника) и запустив любой COM-терминал, можно убедиться, что байты отсылаются.. и принимаются.. причем, последние совпадают с первыми..

Один важный момент: уровни сигналов на выходе переходника - ТТЛ и отличаются от уровней сигналов стандартного интерфейса RS232, поэтому, к переходнику нельзя подключить напрямую обычные устройства для COM-порта, более того, это может вывести из строя переходник. Для подключения стандартных COM-устройств необходимо добавить преобразователь уровней на микросхеме семейства MAX232.

Ниже можно скачать проект в Eagle, а также готовый рисунок печатной платы для лазерного утюга (для утюжки двусторонней печатной платы рекомендую печатать рисунок на кальке).

Обзор конвертера USB - UART TTL на CP2102

Зачем он нужен

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

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

Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.

Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых

Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.

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

Тех, кого заинтересовал, пожалуйста под кат

Заказал я на премию за обзор много всякой мелочевки у на Ebay и в том числе за $1.79

Товар ехал целых 54 дня. Ну к нашей почте я уже привык, чего не скажешь о курсе доллара к рублю (((

Обычный желтый пакет. Внутри платки в запаянных прозрачных пакетиках. Все как обычно.

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

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

  • Чип CP2102 от
  • Скорость обмена данными по 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/UART



Перед использованием платы необходимо установить

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


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

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

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

Для начала скачиваем и запускаем "> (мне для запуска утилиты потребовалось еще скачать 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. Защита конфигурационных данных.

При изменение VID и PID необходима обязательная пересборка драйверов, так как стандартный драйвер настроен на VID и PID Silicon Labs

И после нехитрого мастера-диалога получаем дистрибутив драйверов с требуемым набором VID и PID и желаемым названием в системе

Итог

Данная плата одна из самых дешевых конвертеров USB/UART не использующих поддельные чипы.
Имеет вывод DTR, позволяющий автоматически посылать RESET для загрузки ПО в контроллер
Позволяет настраивать VID, PID и драйвера под свои проекты
К покупке рекомендую

Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с 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. Защита конфигурационных данных.

В условиях, когда современные компьютеры стремительно теряют 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-порта) и, как следствие, к их неработоспособности.

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

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

  • поддержка спецификации USB 2.0;
  • полный набор сигналов интерфейса RS232;
  • амплитуда сигнала RS232 не хуже ±5.5В;
  • питание от шины 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, а список устройств при обретает следующий вид:

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