Программа для изменения скорости ком порта cp2102. Установка драйвера CP210x USB to UART Bridge VCP driver
Интерфейс 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 и самодельными контроллерами .
Чем он отличается от других подобных устройств
- Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
- Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
- Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
- Интересной возможностью менять 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
- Плата FOCA 2.2 взята для коммерческих проектов с контроллерами Gboard /Iboard
- Дешевый конвертер FT232 используемый до настоящего времени
- Обозреваемый 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.
Установка и подключение адаптера
- Перед установкой и подключением адаптера CP2102 убедитесь в том, что внешние устройства обесточены и подключены к контуру заземления.
- Затем, подключите внешнее устройство к разъему DB9.
- Установите адаптер в свободный USB-разъем, визуально контролируя посадку контактных площадок до упора в разъеме.
- подачи питающих напряжений на устройство ввода-вывода система готова к работе.
Приступая к установке адаптера 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, а список устройств при обретает следующий вид:
Все, драйвер установлен!