Добрый день, уважаемые читатели!
В данной статье рассмотрены некоторые из имеющихся на рынке USB – UART адаптеров (их еще называют USB-RS232 или USB-TTL преобразователями), которые можно безопасно использовать для работы с ESP32, ESP8266 или другими трех-вольтовыми микроконтроллерами, не имеющими собственного USB-интерфейса. Под словом “безопасно” понимается то, что логические уровни не превышают 3.3В и нет риска повредить микроконтроллер повышенным напряжением на UART. Следует при этом понимать, что рассматриваемые в статье адаптеры не имеют гальванической развязки USB <-> UART, поэтому, возможно, плохо подходят для работы с промышленным оборудованием и станками. Это сугубо любительское оборудование для домашнего применения.
Статья рассчитана на начинающих любителей микроэлектроники, которые впервые сталкиваются с необходимостью прошивки платы микроконтроллера с ESP32, но на которой нет USB-разъема и моста USB-UART.
В данном случае я не ставил задачи измерять их скоростные характеристики, а только проверить их совместимость по допустимым уровням напряжений на сигнальных выводах, дабы не повредить микроконтроллер излишним напряжением.
Зачем это нужно?
На отладочных платах вроде ESP32-DevKit, как правило, уже установлен USB разъем и USB-UART адаптер в виде чипа, поэтому для опытов с ними не потребуется дополнительного оборудования, кроме самого обычного USB-кабеля с соответствующим типом разъема. Пример такой платы со встроенным USB-to-UART адаптером представлен на рисунке ниже:
Программировать эти платы очень просто – достаточно подключить такую платку кабелем, нажать кнопку Flash или Upload в IDE и все – встроенный адаптер сам “распознает” сигнал к началу прошивки, переведет микроконтроллер в нужный режим, а по завершении передачи данных – автоматически перезагрузит его.
Другое дело – если USB интерфейса на плате нет. Это может быть плата вашей собственной разработки или даже готовые изделия, имеющиеся на рынке. Некоторые из них я даже “обозревал” ранее:
Для программирования микроконтроллера на таких платах предусмотрен только UART интерфейс (универсальный асинхронный приемник/передатчик). Да и платы со встроенным USB-интерфейсом всегда можно прошить или отладить через UART напрямую, не используя встроенный USB-to-UART мост – например, если вы его нечаянно и отчаянно “спалили” неумелыми действиями.
Как минимум UART интерфейс должен содержать три контакта:
- GND – общий провод или “земля”
- RXD – вход приемника со стороны микроконтроллера, который закреплен за выводом GPIO 3
- TXD – выход передатчика со стороны микроконтроллера, который закреплен за выводом GPIO 1
Дополнительно на сервисный разъем могут быть выведены:
- напряжение питания +3.3В или даже +5В
- вывод RESET для аппаратного сброса чипа после прошивки
- вывод GPIO0, который используется для перевода чипа в режим программирования
Но куда подключать эти самые выводы??? Ведь прежде чем передавать данные на микроконтроллер, нужно как-то подключить этот самый микроконтроллер к компьютеру. А для этого потребуется иметь соответствующий адаптер – USB-UART (или иногда еще называют USB-TTL). Если поискать на али, озоне, или на ягодках – можно найти огромное количество вариантов таких адаптеров.
Но не все йогурты одинаково полезны © реклама. Некоторые из таких USB-UART преобразователей рассчитаны на работу с только 5 вольтовыми платами arduino, и с трех-вольтовыми ESP не работают или работают крайне плохо. При выборе также следует учитывать, что на адаптере может иметься переключатель 3,3В – 5В, но на деле он переключает только напряжение на выводе питания, а напряжение на сигнальных выводах RX/TX останется на уровне около 4,75В. Что, разумеется, не допустимо, при работе с ESP32. Один из таких имеется и в моей коллекции.
Дисклеймер.
1. Данная статья – не реклама! Все перечисленные в статье адаптеры куплены в разное время на мои деньги и для личного использования. В статье они перечислены только для вашей информации с целью облегчения выбора. Поэтому ссылок на адаптеры не будет – ибо по существующим законам это уже будет являться прямой рекламой товара.2. Следует понимать, что рассматриваемые в статье адаптеры не имеют гальванической развязки USB <-> UART, поэтому, возможно, плохо подходят для работы с промышленным оборудованием и станками. Это сугубо любительское оборудование для домашнего применения.
3. Я описал ниже только те адаптеры, которые попали мне в лапы. Я физически не могу перечислить в статье все имеющиеся на рынке варианты – ориентируйтесь по чипам. Если у вас есть подробная информация о других вариантах (фото, описания и т.д.) и вам не жалко поделиться этой информацией – можете прислать мне ее на почту и я добавлю её в статью.
Варианты исполнения
Прежде чем перейти к конкретным моделям адаптеров, стоит совсем немного остановиться на вариантах чипов, которые в них используются. Это могут быть следующие чипы:
- CH340
- CP2102
- FT232
Все указанные микросхемы в Windows “пробрасывают” UART как виртуальный COM-порт, с помощью которого потом можно работать из программатора или IDE. Разумеется, для каждой нужен свой драйвер.
Несмотря на то, что в сети не утихают споры какой чип лучше или хуже – все они работают лично у меня одинаково стабильно, так что однозначно заявить “этот берите, а этот нет” – я не могу. Работают все. А вот на конкретную реализацию китайского адаптера стоит обратить более пристальное внимание.
WCH CH340
Ссылки: datasheet #1, datasheet #2, драйвер (ссылки могут устареть со временем)
Преобразователь интерфейса USB 2.0 в UART со скоростью передачи данных от 50bps до 2Mbps. Имеет поддержку сигналов управления передачей данных RTS, DTR, DCD, RI, DSR, CTS (не во всех исполнениях). Буква после обозначения указывает на типоразмер корпуса и вариант исполнения.
Может работать как при напряжении питания 5В, так и при 3.3В.
То есть, теоретически, адаптеры на основе этого чипа вполне способный работать при напряжении питания 3.3В. Но, как всегда, всё будет зависеть от китайского инженегра, который проектировал тот или иной адаптер.
Silicon Labs CP2102
Ссылки: datasheet, драйвер (ссылки могут устареть со временем)
Преобразователь интерфейса USB 2.0 в UART со скоростью передачи данных от 300bps до 1Mbps. Имеет поддержку сигналов управления передачей данных RTS, DTR, DCD, RI, DSR, CTS.
Собственно сам сип питается напряжением 3,3В, которое получается из “входного” напряжения питания USB-порта с помощью внутреннего регулятора напряжения. То есть со стороны UART-интерфейса мы имеем логические уровни 3,3В. Идеальный мост для ESP, поэтому, он, собственно и стоит на большинстве клонов ESP32-DevKit.
FTDI FT232
Ссылки: datasheet, драйвер (ссылки могут устареть со временем)
Преобразователь интерфейса USB 2.0 в UART со скоростью передачи данных от 300bps до 3Mbps. Со стороны UART интерфейса имеет программируемый набор выводов CBUS и DBUS, которые можно использовать по разному в зависимости от конкретного применения чипа. Из-за этого функционал преобразователей интерфейсов на данных чипах может быть существенно расширен.
Поддерживается работа с логическими уровнями 5В/3.3В/2.8В/1.8В CMOS. Имеет встроенный преобразователь напряжения для питания от USB-порта.
Подключение адаптера к микроконтроллеру ESP8266 или ESP32
Все чипы-преобразователи интерфейсов имеют стандартный набор выводов RXD, TXD, RTS, DTR, DCD, RI, DSR, CTS. Кроме, пожалуй FT232, у которого данные функции задаются программными способами. Все эти сигналы пришли к нам из мира “старинных” модемов для соединения компьютеров по аналоговым телефонным линиям и COM-интерфейсов.
Давайте поподробнее остановимся на этом, так как эта информация может приходится нам в дальнейшем для подключения к микроконтроллеру.
RXD
– прием данных (Receive Data): передача данных в направлении от микроконтроллера к мосту и далее в USB-портTXD
– передача данных (Transmit Data): передача данных в направлении от USB-порта через мост к микроконтроллеруRTS
– запрос на передачу (Request to Send): выход запроса передачи данных, используется в аппаратном контроле передачи данных по каналу связи RTS/CTSCTS
– готовность передачи (Clear to Send): вход разрешения передавать данные, используется в аппаратном контроле передачи данных по каналу связи RTS/CTSDTR
– готовность приемника данных (Data Terminal Ready): выход сигнала готовности данного терминала к обмену даннымиDSR
– готовность источника данных (Data Set Ready): вход сигнала готовности к обмену данными от другой стороныDCD
– наличие несущей (Carrier Detect): сигнал обнаружения несущего сигнала другого модема (то есть когда один модем уже соединен с другим), использовался на аналоговых модемахRI
– сигнал вызова (Ring Indicator): вход индикатора вызова (звонка), использовался на аналоговых модемах
Кроме этого, на преобразователях интерфейсов, как правило, присутствуют еще два вывода:
VCC
– напряжение питания, получаемое от USB-порта или преобразователя напряжения адаптераGND
– общий провод, минус, “земля”.
Тут следуем понимать, что на адаптер не нужно подавать питание на VCC
для его работы – “свое” питание он возьмет непосредственно от USB-порта. А вот использовать напряжение с VCC
для питания самого программируемого микроконтроллера – теоретически возможно. Но делать это нужно крайне осторожно! Дело в том, что встроенные преобразователи напряжения USB-to-UART в большинстве своем очень слаботочные, а ESP “кушать любят”, поэтому ESP легко “просадит” встроенный стабилизатор преобразователя ниже допустимого уровня. Но если вы подаете напряжение питания на микроконтроллер от стороннего источника питания, то подключать вывод VCC
адаптера к микроконтроллеру нет никакой необходимости – достаточно одной таблетки соединить GND!
Подключение адаптера тремя проводами
Для подключения адаптера к микроконтроллеру минимально необходимо соединить его ESP32 (или ESP8266) всего тремя контактами: RXD
, TXD
и GND
. Разумеется, при учете того, что питание ESP32 будет осуществляться от внешнего источника – на схеме я его обозначил как DC5V. Для примера я буду использовать на схемах в примерах свою любимую отладочную платку ESP32-DevKitC-v4.
Теперь мы уже можем подключить адаптер к компьютеру, подать питание на микроконтроллер, и даже просматривать отладочные сообщения с него в мониторе com-порта. А вот нажать кнопку upload в вашей любимой IDE и прошить микропрограмму без дополнительной магии при таком способе не получится. Давайте разберемся – почему?
Закат солнца вручную Перевод ESP32 в режим программирования вручную
За “прием” двоичных данных прошивки и запись этой прошивки на flash-память отвечает программа-загрузчик. Именно эта программа-загрузчика записана в малюсенькое ПЗУ (EEPROM) ESP32 (точнее её первая часть) и именно загрузчик отвечает за то, как будет загружаться и исполняться ваша программа на ESP32. Для того, чтобы определить режим работы используется так называемый strapping pin GPIO0:
- Если при запуске микроконтроллера на GPIO0 присутствует высокий уровень, то загрузчик понимает, что это нормальный запуск, считывает прошивку из заданного раздела и запускает ее на выполнение
- Если при запуске микроконтроллера на GPIO0 присутствует низкий уровень, то загрузчик готовит микроконтроллер к получению двоичных данных прошивки через UART0 интерфейс.
То есть для того, чтобы перевести МК в режим прошивки, необходимо всего-лишь установить низкий уровень на GPIO0 при сбросе. Для этого на почти всех платах с ESP32 присутствует аппаратная кнопка, которая и подтягивает GPIO0 к “земле”. Назваться она может по разному – BOOT, LOAD, GPIO0, IO0 – суть от этого не меняется!
Соответственно, перед тем, как нажать кнопку upload в вашей IDE, вы должны будете вручную перевести ESP в режим загрузки прошивки с помощью этой самой кнопки. Для этого выполните следующую последовательность действий:
- Нажмите кнопку RESET, и не отпуская её – кнопку BOOT
- Отпустите кнопку RESET
- Отпустите кнопку BOOT
Ваш ESP готов к получению двоичных данных прошивки! Если в это время у вас открыт монитор COM-порта, то вы увидите надпись “downloading…”
Автоматический перевод ESP32 в режим прошивки
Как же так?! – спросите Вы. Я ничего не нажимаю на DevKitC, а она сама программируется без проблем!!! Правда не всегда, иногда что-то чудит и утилита-программатор не хочет её в упор видеть… И вы совершенно правы!
Дело в том, что можно использовать сигналы автоматического управления потоком данных DTR
и RTS
, подключенные к контактам GPIO0 и EN модуля ESP, для перевода микроконтроллера в режим прошивки и его сброса:
- по низкому уровню на
DTR
(Data Terminal Ready) – удерживается низкий уровень на выводе GPIO0 для перевода ESP в режим прошивки - по низкому уровню на
RTS
(Request to Send) – удерживается низкий уровень на выводе EN для сброса ESP
Эти сигналы, насколько я понимаю, формирует утилита esptool.py, которая, собственно и прошивает микроконтроллер. То есть для автоматического сброса и перевода микроконтроллера в режим прошивки мы должны сделать следующие соединения:
В этом случае ничего вручную нажимать не потребуется – достаточно добавить воды нажать кнопку upload в вашей любимой IDE, остальное сделает утилита esptool.py и электроника. Проблема в том, что не на всех адаптерах USB-to-UART имеется выведенный на гребенку сигнал RTS
, поэтому кнопку RESET все-таки придется нажимать вручную, в том числе и перед прошивкой (вместо него часто выведен сигнал CTS
, а это не одно и то же).
Есть одна потенциальная проблема – некоторые операционные системы, драйверы USB-to-UART или программы могут самостоятельно изменять уровни на выводах DTR
и RTS
, что может привести к непредсказуемому поведению подключенного к компьютеру микроконтроллера. Поэтому в таких случаях рекомендуется отключать аппаратное управление потоком для виртуальных COM-портов, через которые “прошивается” ESP.
Дабы избежать этого, в esperssif применяют “электронный блокиратор”, который разрешает сброс микроконтроллера только если уровни на выводах DTR
и RTS
различаются между собой.
Но, если действовать осмысленно, вполне можно обойтись и без этой вспомогательной схемы, просто воспользовавшись схемой 2.
Пруфы: схема, справочная система esp32
Но всегда можно переключать режим вручную, с помощью кнопок GPIO0 и RESET, подключив программатор к плате микроконтроллера всего тремя проводами. Так что наличие сигналов DTR
и RTS
на выходе того или иного адаптера – это удобство, а не насущная необходимость.
Ну а теперь, разобравшись с “теорией”, переходим к главной цели данной статьи – обзору “годных” и “негодных” адаптеров USB2UART для работы с ESP32. Напомню еще раз – единственным условием в данном случае я считаю возможность установки логических уровней не выше 3,6В на выводах RXD
, TXD
(а также DTR
и RTS
, если вы планируете их использовать) рассматриваемого адаптера. Напряжение на контакте VCC
, которое иногда переключает переключатель на плате – нас никоим образом не интересует в данном случае, не покупайтесь на этот дешевый развод.
Принцип тестирования прост как две копейки – я буду по очереди подключать адаптеры к USB-порту, пытаться “прошивать” пустоту, а в это время замеряем уровни сигналов с помощью осциллографа на TXD. Дабы было удобнее, я выставил уровень 0В не по середине шкалы, а на 1 ячейку ниже – тогда на один экран прекрасно вмещается и 3,3В и 5В.
Адаптер №1. CP2102 USB2.0 UART TTL-адаптер
Безымянный адаптер, построенный на базе чипа CP2102. Самая миниатюрная модель в моей личной коллекции.
Заказывать нужно только максимальную “черную” версию с 6-ю пинами. Именно она обладает необходимой нам функциональностью в полной мере. На плате, кроме собственно чипа и “рассыпухи” в виде резисторов и конденсаторов, присутствуют светодиоды индикации питания и передачи данных в обе стороны.
На гребенку выведены сигналы: DTR
, RXD
, TXD
, +5V
, GND
и 3V3
.
Нажмите на фото для увеличения.
На вывод 5В, насколько я понимаю, тупо проброшено напряжение Vcc с USB-порта. Это можно использовать, чтобы запитать платки с ESP32, которые имеют свой собственный стабилизатор, например ESP32-DevKit. Таким образом мы не будет чрезмерно перегружать слабенький преобразователь напряжения адаптера.
Кроме этого, по бокам платы есть еще по 4 отверстия для дополнительных сигналов: RTS
, CTS
, DSR
, DCD
, RI
, RESET и SUSPEND. То есть реализовать автоматическое управление прошивкой с данным адаптером вполне возможно. Но следует учитывать, что на “мелких” версиях (5pin и других) этих контактов нет, да и DTR
отсутствует.
Адаптер рассчитан на работу только на работу с логикой 3.3В. Поначалу может показаться, что это не так – на это как бы намекают контакты 5В и 3.3В, выведенные на гребенку. Но на деле на всех сигнальных контактах напряжение не превышает 3,3В. А так как какого-либо переключателя логических уровней не предусмотрено, то большой вопрос – как эта плата будет работать с пяти-вольтовой логикой.
Для “наших” целей – работы с ESP – данный адаптер подходит почти идеально:
- Уровень логической единицы не превышает ~3,3В
- Куча дополнительных сигнальных выводов (без гребенки), то есть через данный адаптер можно подключить и
DTR
иRTS
контакты для управления режимом работы ESP. - Есть отдельный контакт 5В, через который можно подать питание на DevKit (со встроенным стабилизатором) напрямую с того-же USB, к которому подключен сам адаптер
- Компактные размеры – можно подпаять длинный кабель с необходимым количеством проводов, а сам адаптер затянуть в термоусадку.
Замеченные придирки:
- Некоторые обозначения сигналов не соответствуют действительности – например вместо RI китайцы написали R1, а вместо DSR – D3R, SUSpend напечатаны “кверх тормашками”, но на это можно закрыть глаза – “не ходовая часть, на скорость не влияет“
- Идеально было бы, если бы
RTS
был бы тоже выведен на гребенку, а не на боковые контакты - Для работы с 5В микроконтроллерами не подходит
- У некоторых пользователей, судя по отзывам, бывают проблемы с драйверами. У меня такой проблемы не наблюдалось, подтвердить не могу.
- В отзывах пишут, что
царьCP2102 не настоящий, и довольно высок процент брака.
Поиск: “CP2102 USB 2.0 UART TTL-адаптер“, цена около 100 ~ 150 рублей на момент написания статьи.
Адаптер №2. BTE13-009B на CH340G
Это был, наверное, первый адаптер, который я приобрел когда-то давным-давно в далекой-далекой галактике, когда еще не совсем понимал, что и как и почему. Да и покупал то я его, по сути, для программирования 5В версий arduino nano, вроде бы.
Нажмите на фото для увеличения.
У данного адаптера имеется только один разъем “со стороны контроллера”, который имеет следующий набор сигналов и напряжений: DTR
, RXD
, TXD
, VCC
(3.3В или 5В), CTS
и GND
. То есть полноценную схему автоматического перевода микроконтроллера в режим программирования собрать не получится.
Адаптер имеет переключатель 3V3 – 5В, но на самом деле, этот переключатель переключает только напряжение на выводе VCC
. На всех сигнальных выводах в любом положении переключателя остается напряжение почти 5В, что недопустимо для ESP. Дополнительная кнопка на плате адаптера при нажатии на нее снимает питание с вывода питания, что теоретически может помочь перезагрузить испытуемый микроконтроллер “по питанию”.
И тем не менее, его тоже можно использовать для программирования ESP32, если под рукой нет других вариантов, но для этого его придется дополнительно оснастить схемой согласования логических уровней, например так:
Более подробно о согласовании логических уровней в цифровой технике будет рассказано в одной из следующих статей.
Достоинства
- Чип довольно распространенный и известный, драйвера на него найти не проблема
- Есть кнопка для сброса микроконтроллера “по питанию”
Недостатки
- Переключатель на адаптере переключает только напряжение питания на выводе
VCC
- Для работы с ESP и другими трехвольтовыми микроконтроллерами не подходит (без согласования уровней), так как на сигнальных выводах всегда ~5В
- Нет сигнала
RTS
Адаптер №3. Безымянный “модуль адаптера FT232RL FTDI USB TTL”
Следующий адаптер – уже на чипе FT232 от FTDI. Имеет устаревший разъем mini USB type B, что несколько странно. Но кабелей этого типа в “запасниках” любителей еще довольно много, а само подключение к компьютеру через кабель может быть довольно удобным во многих случаях. Так что это может быть и плюсом и минусом.
Нажмите на фото для увеличения.
На гребенку выведен “стандартный” набор сигналов: DTR
, RXD
, TXD
, CTS
, VCC
(написано 5В, но это не точно) и GND
. То есть полноценную схему автоматического перевода микроконтроллера в режим программирования собрать не получится (нет сигнала RTS
) – придется переключать режим вручную, с помощью кнопок GPIO0 и RESET.
Кроме этого, присутствует желтая гребенка ISP для подключения программатора к микроконтроллеру через интерфейс SPI. Это можно использовать, например, для программирования плат Arduino Nano.
Адаптер оснащен тремя светодиодами (питание USB, RX и TX) и переключателем 3.3В – 5В. При этом, в отличие от предыдущей модели, здесь с логическими уровнями всё в полном порядке – они переключаются вместе с питанием. То есть вы с одинаковым успехом можете применять данную плату как с трехвольтовыми микроконтроллерами, так и с пятивольтовыми.
Достоинства
- Полноценная поддержка и 3.3В и 5В логики
- Разъем ISP для подключения программатора к микроконтроллеру через интерфейс SPI
- Подключение к компьютеру через кабель-удлинитель, что само по себе удобно
Недостатки
- Устаревший разъем mini USB type B, необходимость применения дополнительного кабеля-удлинителя
- Нет сигнала
RTS
для автоматического перевода микроконтроллера в режим программирования
Поиск: “Модуль адаптера FT232RL FTDI USB к TTL“, ориентировочная цена 100~125 руб. плюс доставка
Адаптер №4. WAVGAT FT232RL USB TTL
Более солидная версия на том же чипе – FT232RL. Здесь уже имеется поддержка трех напряжений – 1.8В, 3.3В и 5В, переключение осуществляется с помощью перемычки. Когда перемычка снята – на гребенке отключаются все сигналы, включая VCC
– поэтому риска спалить микроконтроллер нет.
Нажмите на фото для увеличения.
За формирование напряжения питания отвечают два достаточно мощных линейных стабилизатора, это позволяет при необходимости запитать микроконтроллер прямо от адаптера – лишь бы хватило мощности на USB-порту.
На основную гребенку выведены только четыре самых стандартных сигнала: VCC
, RXD
, TXD
, GND
, но имеется и дополнительный блоковой разъем, на котором по умолчанию нет гребенки. На боковой разъем выведены дополнительные сигналы: DTR
, RTS
, RI
, DSR
, DCO
, CTS
. Соответственно DTR
и RTS
можно использовать при программировании ESP32 (но можно и переключать режим вручную, с помощью кнопок GPIO0 и RESET, подключая к плате только тремя проводами).
Сигналы на выводе TXD
при разном положении перемычки:
Нажмите на фото для увеличения.
Достоинства:
- Полноценная поддержка логических уровней 1.8В, 3.3В и 5В
- Достаточно мощные линейные стабилизаторы на плате
- На боковом разъеме имеются нужные нам сигналы
DTR
иRTS
контакты для управления режимом работы ESP.
Недостатки:
- Идеально было бы, если бы
DTR
иRTS
были бы тоже выведены на гребенку, а не на боковые контакты
Поиск: “WAVGAT FT232RL USB к TTL“, ориентировочная цена ~300 руб.
Адаптер №5. WAVGAT FT232RL USB TTL
“Дизайнерская” версия от того же магазина и на том же самом чипе FT232RL, но уже с поддержкой двух напряжений логики – 3.3В и 5В, которое выбирается с помощью микропереключателя на плате. Плата выглядит довольно интересно, но имеет заметно большие габариты по сравнению с предыдущими моделями. Надписи выводов и переключателя выполнены с “инверсией”.
Нажмите на фото для увеличения.
На гребенку выведен несколько необычный набор сигналов: CTS
, RTS
, RXD
, TXD
, VCC
и GND
. Эх, если бы вместо CTS
вывели DTR
– это был бы идеальный инструмент для ESP32… Остальные сигналы вывели на два боковых пятипиновых разъема: K1 – RESET
, CBUS1
, CBUS2
, CBUS3
, CBUS4
и K2 – CBUS0
, DCD
, DSR
, RI
, DTR
. Как видим, здесь все-таки присутствует нужный нам сигнал DTR
, поэтому можно реализовать механизм автоматического перевода микроконтроллера в режим прошивки.
Что такое CBUS0~4 – я пока даже и не интересовался, вероятно это выводы которые можно использовать в “своих корыстных целях” путем перепрограммирования микросхемы преобразователя интерфейса.
Нажмите на фото для увеличения.
Достоинства:
- Полноценная поддержка логических уровней 3.3В и 5В
- На основном и боковом разъеме имеются нужные нам сигналы
DTR
иRTS
для автоматического управления режимом работы ESP.
Недостатки:
- Идеально было бы, если бы
DTR
иRTS
были бы тоже выведены на основную гребенку, а не на боковые контакты - Крупноватый размер платы, но это если сильно придираться.
Поиск: “WAVGAT FT232RL USB к TTL“, ориентировочная цена ~320 руб.
Адаптер №6. Кабель FT232RL USB TTL
На самом деле это не совсем адаптер, точнее адаптер, но снабженный кабелем и упакованный в корпус. Решение очень удобное на практике (дабы можно было подключить USB-разъем непосредственно в компьютер или USB-хаб, а к исследуемой плате уже через кабель), хотя и заметно дороже своих бескорпусных собратьев.
Нажмите на фото для увеличения.
Корпус изначально склеен, наружу выведен всего три провода:
GND
– черныйVCC
– красный ( 5В )RXD
– зеленыйTXD
– белый
Данная модель построена уже на знакомом нам чипе FT232RL, и имеет поддержку только одного напряжения логики – 3,3В. В заблуждение вводит напряжение 5В, выведенное на красный провод непосредственно с USB-разъема – это напряжение можно использовать для питания платы типа DevKit, которая имеет собственный преобразователь напряжения 5В->3.3В. Напряжение на сигнальных линиях RXD и TXD не превышает 3.3В и переключить его на 5В нельзя.
Соответственно, данную модель можно и нужно применять при программировании ESP, но вот переводить микроконтроллер в режим программирования (и сбрасывать его после прошивки) придется вручную, с помощью кнопок EN и GPIO0.
Достоинства:
- Поддержка логических уровней 3.3В
- Малогабаритный корпус и достаточно удобный кабель для подключения к устройству “с завода”
Недостатки:
- Нет сигналов
DTR
иRTS
- Не будет работать с пяти-вольтовыми микроконтроллерами
Поиск: “Кабель FT232RL USB TTL“, цена была около 600 руб.
Конечно же, на рынке сейчас можно найти гораздо больше вариантов адаптеров и кабелей со встроенными адаптерами. Но я не в состоянии все их приобрести и проверить, а вы теперь знаете, что искать и как выбирать.
На этом разрешите откланяться, с вами был ваш Александр aka Kotyara12. До новых встреч!
Пожалуйста, оцените статью:
-= Каталог статей (по разделам) =- -= Архив статей (подряд) =-
Если душит жаба, то в давние времена телефоны загружались с помощью DATA кабеля. Очень даже неплохо из них получается адаптер.