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

 

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

32 комментария на «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 с каким нибудь номером.

Ваш отзыв