• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Прошивка ESP через FT232RL

programmer

New member
Делаю себе dev board, чтобы было удобно прошивать ESPxx. Подключил так, как описано здесь
http://esp8266.ru/forum/threads/ocherednoj-opyt-podkljuchenija-esp8266.243/
но столкнулся с проблемой в работе UART'a на базе FT232:
Photo 1 8.jpeg

Дело в следующем. Чтобы прошить в автоматическом режиме, esptool дергает DTR/RTS:
Код:
        self._port.setRTS(True)
        self._port.setDTR(True)
        self._port.setRTS(False)
        time.sleep(0.1)
        self._port.setDTR(False)
Но FT232 никак не реагирует на это. Я добавил между строк в этом коде time.sleep, чтобы можно было измерять напряжение с помощью мультиметра, но после открытия порта мультиметр всегда сообщает мне 0.00 В на DTR и RTS.

Есть второй такой же модуль - та же картина...

Проверил другой UART на базе CP2102 - он работает как надо, т.е. напряжение на DTR/RTS меняется в процессе работы приведенного выше кода.

Кто-нибудь сталкивался с этим? Поискал в интернете и нашел только, что нужно выключить handshake (xon и xoff), чтобы управлять DTR/RTS, но оказалось, что это сразу по умолчанию делает модуль питона serial.
 

Andy Korg

Moderator
Команда форума
У меня такое было именно в результате перепрограмирования ft именно ноги adbus были перешиты и rx инвертирован. Вышеуказанные утилиты pvvx поправили дело.
 

programmer

New member
Спасибо. Попробовал обе программы - загрузили настройки, я попробовал поменять некоторые, но они не сохраняются в девайс. Т.е. отключаешь-подключаешь, считываешь их и снова те же самые.

Да и настройки такие, что я не знаю, как они могут помочь:
mprog.png
 

pvvx

Активный участник сообщества
Напишите хотя-бы полное название микросхемы (все буквы и цифры) и есть ли у неё внешняя EEPROM (или внутренняя или OTP). А то гадать будут долго, почему у вас что-то не работает. :)
 

programmer

New member
А в заголовке написал - FT232RL. Остальные буквы больше походят на номер партии: 1412-G B8908572
Там же фото и http://ru.aliexpress.com/item/Hot-s...al-Adapter-Module-for-Arduino/1722487690.html

Кроме микросхемы и обвеса ничего нету. Если там OTP, то тут полагаю проще будет выбросить этот FT и использовать CP2102.
 

pvvx

Активный участник сообщества
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf - гласит Fully integrated 1024 bit EEPROM storing device descriptors and CBUS I/O configuration.
Должно программироваться. VID/PID только не меняйте - будут сложности.
И пробуйте обновить драйвер в системе, да посмотрите, нет ли "залипов" в китай-пайке микрухи на плате.
Короткие сигналы тестером не отследить. Пробуйте открыть USB-COM порт хоть в программе https://sites.google.com/site/terminalbpp/ - там есть пимпочки ручного переключения RTS DTR.
 
Последнее редактирование:

programmer

New member
Спасибо за совет с драйвером! Сижу в основном на OS X, а на ней FT232 драйвер идет в комплекте с системой. Скачал, обновил и перезагрузил - заработало!
 

programmer

New member
Логический анализатор уже заказал, благодарю за ссылку :)

И в итоге я перешел на CP2102.
Через FT232RL заработал ресет через RTS/DTR, но дальше дело не пошло. При попытках прошить на 100 процентах всегда ошибка. Все подтянуто резисторами, питание внешнее (даже от батарейки пробовал из-за безысходности), но все тлен :) Может плохо дружит с OS X...
Когда перепаял на CP2102 (ага, я паял, потому что на белой макетке надоело, что ESP ресетится от плохого контакта или любых других вмешательств), все стало огонь - прошиваю на скорости 921600.
 
Сверху Снизу