Зачем он нужен
Программировать различные ардуино- и не адуино- образные контроллеры, получать информацию на компьютер со всего, что имеет последовательный интерфейс с TTL логикой.
Я в своих проектах использую его с Arduino Pro MIni, Gboard/Iboard и самодельными контроллерами.
Чем он отличается от других подобных устройств
- Дополнительным выводом DTR, который можно напрямую подключить к входу RESET на контроллерах не имеющих USB на плате. После этого при программировании давить кнопку RESET не нужно. Для меня это очень удобно, когда контроллер спрятан недрах моей поделки и доступ к кнопке бывает очень затруднительным.
- Поддержкой производителя, совместимостью с оригинальными драйверами и ПО, в отличие от поддельных FTDI, у которых проблемы с родными драйверами
- Дополнительными выводами (дырками под контакты) на плате, например, позволяющими уводить USB в энергосберегающий режим.
- Интересной возможностью менять VID, PID и текст, с которым опознается плата, собирать свой драйвер со требуемыми параметрами, что довольно интересно в коммерческих проектах. Об этом я расскажу дальше.
Где заказать?
Я заказываю в различных зарубежных интернет магазинах.
Данный модуль заказал у проверенного продавца на Ebay по этой ссылке за $1.79
Характеристики
- Чип 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. Защита конфигурационных данных.
При изменение VID и PID необходима обязательная пересборка драйверов, так как стандартный драйвер настроен на VID и PID Silicon Labs
Для этого скачиваем утилиту для настройки драйверов
И после нехитрого мастера-диалога получаем дистрибутив драйверов с требуемым набором VID и PID и желаемым названием в системе
Итог
- Данная плата одна из самых дешевых конвертеров USB/UART не использующих поддельные чипы.
- Имеет вывод DTR, позволяющий автоматически посылать RESET для загрузки ПО в контроллер
- Позволяет настраивать VID, PID и драйвера под свои проекты
Полезные ссылки
- Сайт производителя Silicon Labs
- Даташит на CP2102
- Описание, драйвера и ПО CP2102 на сайте производителя
- Хорошая статья на русском
- Что такое UART интерфейс
Кот Тимофей помогает разбираться с конвертером CP2102
здравствуйте, попался мне в руки вот такой USB UART преобразователь http://masterkit.ru/shop/laboratory/1313485, я так понимаю его можно использовать как адаптер к ардуино мини но не могу найти нормальное описание следовательно затрудняюсь подключить, вы не сталкивались с нечто подобным ?
Стандартный переходник UART/USB на FT232RL
Драйвера под все ОС там же на сайте
Четыре провода к микроконтроллеру должны идти +V, GRND, TX, RX. Есть ли DTR не вижу на картинке. С ручным нажатием REST на Arduini должен работать без проблем.
в том то и дело что есть это, можно ли его использовать ?
Исходя из описания CP1203 подключать нужно так
как и предполагал, +5 вольт многовато возьму отдельно, но из схем ардуино мини ресет помечен как DTR поправьте меня если ошибаюсь http://forums.drom.ru/attachment.php?attachmentid=1823271&thumb=1&d=1321722748 тут он тоже есть, жаль нет достойного описания
Никто не мешает попробовать. У меня DTR на 6-ти пиновом конверторе с Arduino Pro Mini работает, а на самодельных контроллерах нет, приходится REST нажимать ручками
А кондер вешали на линию reset?
монитор ком порта работает отправляет/принимает данные, но писать не получается,
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
пробовал ресет нажимать, но не задаче либо оно не работает либо нажимаю не вовремя, ориентироваться не возможно нет никакой индикации
Сдается мне, уважаемый, что фотка под №2 — это не на FTDI, а самый дешевый на CH340G. Сам по ошибке взял такой, хотя планировал СР2102.
http://www.ebay.com/itm/400488856845
Позвольте с вами не согласиться
На фотке №2 на конверторе 6 пинов (включая DTR), а на вашем по ссылке только 5 пиновый
И на фотке №5 очень хорошо видны отличия.
По моей ссылке на EBAY он сейчас стоит $1.45
Это именно тот конвертер, на который делался обзор
На фотке, где три переходника, второй точно не ft232rl! Так как, ft232 в таком корпусе никогда не выпускалась. Скорее всего это CH340G. Третий верно cp1202. Вы исправьте подпись ко второму переходнику, а то, вдруг, какой-нибудь новичок закажет китайца(ch340), опираясь только на внешний вид!
Я немного ошибся, не на фотке №2, а на 3 фотке, где подпись FT232RL, на самом деле это CH340G.
Здравствуйте. У меня точно такойже программатор CP2102, но он почему то не заливает скейч в arduino pro mini. Кроме того , что вы описали подключение проводов , есть какие-то ещё настройки, манипуляции ????
А с нажатием RESET на контроллере заливает?
При нажатии тоже не заливает.
Здравствуйте. Подскажите плз, этот переходник можно перевести в режим выходов 3.3, нужно для программирования esp8266. Именно все сигналы 3.3, вывод от стабилизатора питания 3.3 я вижу. Спасибо.
Этот переходник работает в режиме 5В TTL. 3.3В там только по питанию и то с током недостаточные для ESP-шки.
С другой стороны, через мои руки прошли десятки ESP-шек и не было ни одного, который отказался бы шиться 5-вольтовой логикой.
Все очень строго предупреждают, что после 3.6 они горят как факел. Боюсь пробовать, жалко.
Подскажи пожалуйста еще один момент. Я купил nodeMCU, там esp-12. Иглася, шил, месяц все было чудесно, вчера залил туда очередной луаскрипт и теперь оно кирпич. На все вопросы во всех режимах говорит MEM CHECK FAIL, перезаливал прошивку, ничего не помогает. Инет пишет что это внутренняя ошибка софта, капец espшке. Не сталкивались?
Я как то ESP-шку питал от 5В. Она грелась, но работала. А вот обратным питанием одну сжег.
Про NodeMCU ничего не скажу — не знаю ее схемотехнику. С LUA не дружу из за медлительности и прожорливости
Там луа ни при чем, сдохло что-то в esp, оно никак не скидывается до чистого состояния. Полностью пустые еспшки, как-то же шьются?
GPIO0 к земле и понеслось
Обычно в этом режиме ESP-шка выдает характерную «абракадабру» в порт при нажатии ресета.
Вот вот, лезет абракадабра. Спасибо.
Прошу ответить-есть вопрос
Вопрос задавайте. Можете на мыло admin@samopal.pro
Ничего, вот цены в оффлайне подтянутся, тогда быстро привыкнем. А чего у него как криво USB припаян?
К arduino UNO я так понимаю тоже подойдет?
У Ardyuno UNO есть свой USB/TTL на плате.
Алексей, в моем зоопарке есть уно и несколько нано, все на ftdi. на данный момент весь этот зоопарк определяется как неизвестное устройство. про мини шью cp2102. можно ли этой же cp2102 шить уно и нано? если да, то подскажите схему подключения
Самое простое —
TX UNO — RX CP2102
RX UNO — TX CP2102
GMD — GND
И при загрузке, когда ползунок компиляции доходит почти до конца (или в режиме отладке видно что запускается avrdude) нажать RESET
Есть ли разница между вот этим http://www.chipdip.ru/product/module-ch340/ и вот этим http://www.chipdip.ru/product/suuc0041/ или она заключается только в чипах ch340 и cp2102? А по сути они оба могут работать в serial?почему спрашиваю потому что не могу подключить телефон к компу через suuc0041.
Есть ли разница между вот этим http://www.chipdip.ru/product/module-ch340/ и вот этим http://www.chipdip.ru/product/suuc0041/ или она заключается только в чипах ch340 и cp2102? А по сути они оба могут работать в serial? почему спрашиваю потому что не могу подключить телефон к компу через suuc0041.
Разница в чипах и, соответственно, в драйверах. Если правильно их установить, то обе платы определяться как COM с каким нибудь номером.
Прошу заранее меня простить, так как я не электронщик, а химик и программист-любитель (пишу на Delphi). Сейчас по маленьку начинаю осваивать программирование портов (COM, LPT) на простейших примерах. Научился зажигать светодиоды, подключенные к LPT порту, а так же с помощью своего Delphi приложения и скетча загруженного в Arduino UNO управлять зажиганием светодиодов, подключенных к выводам Arduino UNO. Сама по себе плата Arduino UNO — сейчас очень даже не дешевая — примерно 1500 руб. Но в то же самое время она позволяет нам создать виртуальный СОМ порт, обращаясь к выводам которого мы можем и зажигать эти самые светодиоды. Насколько я понял, если конечно не ошибаюсь — данное устройство заменяет нам дорогостоящую плату Arduino UNO, так как при подключении к USB порту создает виртуальный СОМ порт с которым мы так же можем работать и программно посылать сигналы на его разьемы. Тем более, что на самой плате данного устройства видны выводы, соответствующие выводам СОМ порта. Значит ли это что просто подпаявшись к ним на плате данного устройства мы сможем программно (из своего приложения) подавать нужные нам сигналы на выводы этого порта без применения дополнительных контроллеров? Еще раз прошу меня извинить за возможно глупый вопрос. Просто очень хочется разобраться с этим вопросом.
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
Это конечно все китайские аналоги на Алиэкспрессе, но вполне надежные
Заказал с AliExpress такой же программатор вместе с таким же модулем Arduino Pro Mini 328 (5V/16MHz). Win7 сходу распознал программатор и автоматически установил драйвера. Нашел Вашу статью, подключил по Вашей схеме — все заработало с первого раза. Программируется без проблем с автоматическим нажатием Reset.
Искренне благодарю.
Всем жизненных и творческим успехов.
Странно. Почему-то на моем CP2102 только 5выводов и по бокам никаких выводов нет.
А надпись есть: CP2102 MODULES USB TO TTL. И что же тогда это такое?
Я думаю, разный дизайн плат китайцы делают
Здравствуйте. Подскажите пожалуйста как можно снять защиту конфигурационных данных. При сборке нажал «01 — Device is locked», обратно никак не удается. Буду очень благодарен за помощь, спасибо.
Терминал выдает иероглифы, что делать???
Настраивать параметры COM-порта