6-ти пиновый конвертер USB/UART CP2102 для тех кто не любит давить ресет на Arduino

Конвертер CP2102Зачем он нужен

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

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

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

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

Я заказываю в различных зарубежных интернет магазинах.
Данный модуль заказал у проверенного продавца на Ebay по этой ссылке за $1.79

Упаковка платы CP2102

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

  • Чип 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 мм

Конвертер CP2102

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

Конвертер CP2102.

 

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

Сравнение CP2102 с другими конвертерами

 

Сравнение CP2102 с другими конвертерами

  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 в диспетчере устройств

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

Конфигуратор CP2102

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

Для этого скачиваем утилиту для настройки драйверов

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

CP2102 в диспетчере устройств с моими настройками

Итог

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

Полезные ссылки

Кот Тимофей помогает разбираться с конвертером CP2102

Кот и CP2102

 

Вы можете оставить отзыв или трекбек со своего сайта.

34 комментария на «6-ти пиновый конвертер USB/UART CP2102 для тех кто не любит давить ресет на Arduino»

  1. Сергей:

    здравствуйте, попался мне в руки вот такой USB UART преобразователь http://masterkit.ru/shop/laboratory/1313485, я так понимаю его можно использовать как адаптер к ардуино мини но не могу найти нормальное описание следовательно затрудняюсь подключить, вы не сталкивались с нечто подобным ?

    • Alexey Alexey:

      Стандартный переходник UART/USB на FT232RL
      Драйвера под все ОС там же на сайте
      Четыре провода к микроконтроллеру должны идти +V, GRND, TX, RX. Есть ли DTR не вижу на картинке. С ручным нажатием REST на Arduini должен работать без проблем.

  2. Сергей:

    в том то и дело что есть это, можно ли его использовать ?

  3. Сергей:

    как и предполагал, +5 вольт многовато возьму отдельно, но из схем ардуино мини ресет помечен как DTR поправьте меня если ошибаюсь http://forums.drom.ru/attachment.php?attachmentid=1823271&thumb=1&d=1321722748 тут он тоже есть, жаль нет достойного описания

    • Alexey Alexey:

      Никто не мешает попробовать. У меня DTR на 6-ти пиновом конверторе с Arduino Pro Mini работает, а на самодельных контроллерах нет, приходится REST нажимать ручками

  4. Сергей:

    монитор ком порта работает отправляет/принимает данные, но писать не получается,
    Sketch uses 10 464 bytes (34%) of program storage space. Maximum is 30 720 bytes.
    Global variables use 628 bytes of dynamic memory.
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4e
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x20
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x72
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x65
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x70
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x6c
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x79
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x2c
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

    пробовал ресет нажимать, но не задаче либо оно не работает либо нажимаю не вовремя, ориентироваться не возможно нет никакой индикации

  5. Александр:

    Сдается мне, уважаемый, что фотка под №2 — это не на FTDI, а самый дешевый на CH340G. Сам по ошибке взял такой, хотя планировал СР2102.
    http://www.ebay.com/itm/400488856845

    • Alexey Alexey:

      Позвольте с вами не согласиться
      На фотке №2 на конверторе 6 пинов (включая DTR), а на вашем по ссылке только 5 пиновый
      И на фотке №5 очень хорошо видны отличия.
      По моей ссылке на EBAY он сейчас стоит $1.45
      Это именно тот конвертер, на который делался обзор

  6. Антон:

    На фотке, где три переходника, второй точно не ft232rl! Так как, ft232 в таком корпусе никогда не выпускалась. Скорее всего это CH340G. Третий верно cp1202. Вы исправьте подпись ко второму переходнику, а то, вдруг, какой-нибудь новичок закажет китайца(ch340), опираясь только на внешний вид!

  7. Александр:

    Я немного ошибся, не на фотке №2, а на 3 фотке, где подпись FT232RL, на самом деле это CH340G.

  8. Роман:

    Здравствуйте. У меня точно такойже программатор CP2102, но он почему то не заливает скейч в arduino pro mini. Кроме того , что вы описали подключение проводов , есть какие-то ещё настройки, манипуляции ????

  9. Дмитрий:

    Здравствуйте. Подскажите плз, этот переходник можно перевести в режим выходов 3.3, нужно для программирования esp8266. Именно все сигналы 3.3, вывод от стабилизатора питания 3.3 я вижу. Спасибо.

    • Alexey Alexey:

      Этот переходник работает в режиме 5В TTL. 3.3В там только по питанию и то с током недостаточные для ESP-шки.
      С другой стороны, через мои руки прошли десятки ESP-шек и не было ни одного, который отказался бы шиться 5-вольтовой логикой.

      • Дмитрий:

        Все очень строго предупреждают, что после 3.6 они горят как факел. Боюсь пробовать, жалко.

        Подскажи пожалуйста еще один момент. Я купил nodeMCU, там esp-12. Иглася, шил, месяц все было чудесно, вчера залил туда очередной луаскрипт и теперь оно кирпич. На все вопросы во всех режимах говорит MEM CHECK FAIL, перезаливал прошивку, ничего не помогает. Инет пишет что это внутренняя ошибка софта, капец espшке. Не сталкивались?

        • Alexey Alexey:

          Я как то ESP-шку питал от 5В. Она грелась, но работала. А вот обратным питанием одну сжег.
          Про NodeMCU ничего не скажу — не знаю ее схемотехнику. С LUA не дружу из за медлительности и прожорливости

          • Дмитрий:

            Там луа ни при чем, сдохло что-то в esp, оно никак не скидывается до чистого состояния. Полностью пустые еспшки, как-то же шьются?

          • Alexey Alexey:

            GPIO0 к земле и понеслось
            Обычно в этом режиме ESP-шка выдает характерную «абракадабру» в порт при нажатии ресета.

  10. Дмитрий:

    Вот вот, лезет абракадабра. Спасибо.

  11. Геннадий:

    Прошу ответить-есть вопрос

  12. Ничего, вот цены в оффлайне подтянутся, тогда быстро привыкнем. А чего у него как криво USB припаян?

  13. Егор:

    К arduino UNO я так понимаю тоже подойдет?

    • Alexey Alexey:

      У Ardyuno UNO есть свой USB/TTL на плате.

      • mummykbf:

        Алексей, в моем зоопарке есть уно и несколько нано, все на ftdi. на данный момент весь этот зоопарк определяется как неизвестное устройство. про мини шью cp2102. можно ли этой же cp2102 шить уно и нано? если да, то подскажите схему подключения

        • Alexey Alexey:

          Самое простое —
          TX UNO — RX CP2102
          RX UNO — TX CP2102
          GMD — GND
          И при загрузке, когда ползунок компиляции доходит почти до конца (или в режиме отладке видно что запускается avrdude) нажать RESET

  14. Алексей:

    Есть ли разница между вот этим http://www.chipdip.ru/product/module-ch340/ и вот этим http://www.chipdip.ru/product/suuc0041/ или она заключается только в чипах ch340 и cp2102? А по сути они оба могут работать в serial?почему спрашиваю потому что не могу подключить телефон к компу через suuc0041.

  15. Temolol:

    Есть ли разница между вот этим http://www.chipdip.ru/product/module-ch340/ и вот этим http://www.chipdip.ru/product/suuc0041/ или она заключается только в чипах ch340 и cp2102? А по сути они оба могут работать в serial? почему спрашиваю потому что не могу подключить телефон к компу через suuc0041.

    • Alexey Alexey:

      Разница в чипах и, соответственно, в драйверах. Если правильно их установить, то обе платы определяться как COM с каким нибудь номером.

  16. Александр Шагаев:

    Прошу заранее меня простить, так как я не электронщик, а химик и программист-любитель (пишу на Delphi). Сейчас по маленьку начинаю осваивать программирование портов (COM, LPT) на простейших примерах. Научился зажигать светодиоды, подключенные к LPT порту, а так же с помощью своего Delphi приложения и скетча загруженного в Arduino UNO управлять зажиганием светодиодов, подключенных к выводам Arduino UNO. Сама по себе плата Arduino UNO — сейчас очень даже не дешевая — примерно 1500 руб. Но в то же самое время она позволяет нам создать виртуальный СОМ порт, обращаясь к выводам которого мы можем и зажигать эти самые светодиоды. Насколько я понял, если конечно не ошибаюсь — данное устройство заменяет нам дорогостоящую плату Arduino UNO, так как при подключении к USB порту создает виртуальный СОМ порт с которым мы так же можем работать и программно посылать сигналы на его разьемы. Тем более, что на самой плате данного устройства видны выводы, соответствующие выводам СОМ порта. Значит ли это что просто подпаявшись к ним на плате данного устройства мы сможем программно (из своего приложения) подавать нужные нам сигналы на выводы этого порта без применения дополнительных контроллеров? Еще раз прошу меня извинить за возможно глупый вопрос. Просто очень хочется разобраться с этим вопросом.

    • Alexey Alexey:

      CP1202 также как и другие аналогичные микросхемы это преобразователь USB (виртуальный порт) в UART с TTL уровнями, который имеется у микроконтроллеров, модемов и пр.
      Никаким управлением светодиодами эти микросхемы не занимаются, а служат только для обмена интформацией между устройством с USB и соответствующим драйвером и UART (или Serial) микроконтроллера.

      Ардуино это микроконтроллер (ATMega328 у UNO) с специальным загрузчиком и USB/UART преобразователь, позволяющий при помощи этого загрузчика загружать программу.

      Стоимость голой микросхемы ATMega328 около $1
      Стоимость Arduino Pro Mini (без USB) — $1.5
      Стоимость Arduino Nano (с USB) — $2
      Стоимость Arduino Uno R3 — $3.5

      Это конечно все китайские аналоги на Алиэкспрессе, но вполне надежные

Ваш отзыв