Модифицирование преобразователя usb uart на чипе cp2102. Использование адаптера usb–to–com для подключения контроллера эсуд автомобиля к pc. Установка и подключение адаптера
Классический конвертер 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)
+ провенная годами схема
+ драйверы под все платформы, а может заработать и вовсе без них
На доллар дороже упомянутого выше конвертера
- соединительных проводов нет в комплекте
В продолжение к теме «Программатор 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
Обзор конвертера 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-порта) и, как следствие, к их неработоспособности.