Перейти к содержанию
    

Собственная плата на ESP32-PICO-D4

Коллеги, добрый день!

Сложилась тревожная ситуация, прошу помощи знающих (или догадывающихся) людей. 

Выполняю проект по разработке маленькой умной палочке, выбрал микроконтроллер ESP32-PICO-D4 (о причинах говорить не будем).

Была реализована схема внутриплатной отладки, которая дёргает Reset и Boot с помощью RTS и DTR через CP2101-GM (подробную схему найдите, пож-та, в описании).

К сожалению, плата не прошивается. Но контакт с ней есть...и это пугает. 

Я присоединился к ней И через ESP-IDF, и через Arduino IDE (по сути они вызывают один и тотже питоновский скрипт, но всё же).

Такие логи я вижу в Arduino IDE:

esptool.py v3.0-dev
Serial port COM3
Connecting........_____.
Chip is ESP32-PICO-D4 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: ac:0b:fb:56:32:fc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0x0, SizeID=0x0), defaulting to 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 1129.9 kbit/s)...

A fatal error occurred: Timed out waiting for packet header
A fatal error occurred: Timed out waiting for packet header

 

Такой лог выдаёт ESP-IDF:

esptool.py v3.2-dev
Serial port COM3
Connecting....
Chip is ESP32-PICO-D4 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: ac:0b:fb:56:32:fc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00010000 to 0x00039fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Compressed 25552 bytes to 15942...
Writing at 0x00001000... (100 %)

A fatal error occurred: Serial data stream stopped: Possible serial noise or corruption.
CMake Error at run_serial_tool.cmake:56 (message):
  C:/Users/hopel/.espressif/python_env/idf5.0_py3.8_env/Scripts/python.exe
  C:/Users/hopel/esp_idf/esp-idf/components/esptool_py/esptool/esptool.py
  --chip esp32 failed

Выглядит это странно, процессор посылает информацию о себе и своих фичах, но прошиваться не хочет. Возможно, не заходит в boot-мод, хотя я уже попробовал:

  • Вручную загонять его в бут (закорачивая бут на момент ресета)
  • Добавить 10мкФ в цепь ресета (так интернеты говорят)
  • Добавить подтяг к земле в цепь RX (думал вдруг пофиксятся шумы)

После всего проделанного контроллер шлёт в порт информацию, что его флешка пуста, то есть скетч не залит. От самого скетча, очевидно, это не зависит никак, но я пробовал разные, и пустые, и хеллоуворлд и тд. 

 

Есть ли у кого-то опыт решения подобной проблемы? ну или хотя бы идеи что вообще происходит.

Спасибо!

Schematic_KW-ST-01_RevA_Cntrl.PDF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выводы 26 и 27 не должны иметь внешних подключений, у ESP32-PICO-D4 флеш 1.8В и подключена на альтернативные пины.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ws2812 при питании 5В не берет сигнал 3.3В. Можно чуть понизить 5В диодом, чтобы попасть в диапазон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 часов назад, rkit сказал:

ws2812 при питании 5В не берет сигнал 3.3В. Можно чуть понизить 5В диодом, чтобы попасть в диапазон.

спасибо за комментарий!

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

18 часов назад, aaarrr сказал:

Выводы 26 и 27 не должны иметь внешних подключений, у ESP32-PICO-D4 флеш 1.8В и подключена на альтернативные пины.

 

спасибо за ответ!

Могли бы Вы, пожалуйста, поделиться источниками информации? Я изучил даташит этого зверя и подобной информации не нашёл (прошу прощения, если я слепой). Наоборот, обнаружил там такую интересную фразу на 11 странице:

Цитата

The operating voltage of ESP32-PICO-D4’s integrated external SPI flash is 3.3 V. Therefore, the strapping pin MTDI should hold bit ”0” during the module power-on reset.

Получается, нужно 18 пин (он же MTDI) закоротить к земле на время включения модуля?

Про 27 пин вообще не понял, как он участвует в жизни внутренней флешки. Может имелся в виду пин 37? Буду признателен, если объясните начинающему ESP-еру как правильно сделать и где про это всё узнать. Спасибо!

Изменено пользователем HWGA_PCB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, HWGA_PCB said:

Про 27 пин вообще не понял, как он участвует в жизни внутренней флешки. Может имелся в виду пин 37? Буду признателен, если объясните начинающему ESP-еру как правильно сделать и где про это всё узнать. Спасибо!

Обратите внимание на замечание в разделе 4:

Quote

External connections can be made to any GPIO except for GPIO16 and GPIO17. These two GPIOs are connected to the
module’s integrated SPI flash. For details, please see Section 6 Schematics.

И схему модуля (раздел 6, стр. 14).

 

Да, насчет напряжения флеш я ошибся, но VDD_SDIO подключать напрямую к 3.3 не следует - мало ли, сделают 1.8В вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 минуту назад, aaarrr сказал:

Обратите внимание на замечание в разделе 4:

И схему модуля (раздел 6, стр. 14).

 

Да, насчет напряжения флеш я ошибся, но VDD_SDIO подключать напрямую к 3.3 не следует - мало ли, сделают 1.8В вариант.

Спасибо, разобрался, пошел резать дорожки! Правильно я понимаю, что SDIO можно оставить в воздухе (так как это выход внутренней лдо), а остальные пины питания у меня подключены верно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, HWGA_PCB said:

Правильно я понимаю, что SDIO можно оставить в воздухе (так как это выход внутренней лдо), а остальные пины питания у меня подключены верно?

Да, VDD_SDIO в воздухе (но сейчас можно не резать), остальные к 3.3В.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, aaarrr сказал:

Да, VDD_SDIO в воздухе (но сейчас можно не резать), остальные к 3.3В.

Ура, все прошилось и работает! Спасибо огромное! на трех форумах никто не нашел ошибку, а тут сразу помогли!

но без электролита все равно не шьется, буду добирать емкость керамикой, т.к. с бочонком не залезет в корпус!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, HWGA_PCB said:

но без электролита все равно не шьется, буду добирать емкость керамикой, т.к. с бочонком не залезет в корпус!

А аккумулятор стоит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, aaarrr сказал:

А аккумулятор стоит?

аккумулятор стоит штатный, который на схеме 3.7В 400mAh Li-Ion, я припаял аккуратно 10мкФ 0603 керамику в цепь Enable - всё работает ожидаемо. Я изучал эту проблему, там косяк в таймингах "дёрганья" ресет и бут, конденсатором задаётся нужная задержка, ну вы и так наверно знаете...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, HWGA_PCB said:

Я изучал эту проблему, там косяк в таймингах "дёрганья" ресет и бут, конденсатором задаётся нужная задержка, ну вы и так наверно знаете...

Такую схему не использовал никогда. Если речь о C18, то можно с тем же успехом увеличить сопротивление R9. Или программатор исправить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...