ESP32-S3 - пользовательское описание контроллера

ESP32-S3 - пользовательское описание контроллера

Контроллеры на основе ESP32
Ответить
JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ESP32-S3 - пользовательское описание контроллера

#1

Сообщение JonyBest » 17.11.2023{, 10:33}

У китайцев давно появились модули на ESP32-S3. Поддержка этих модулей в ардуино ИДЕ уже реализована. Для удобства работы сделал описание контроллера. Интерфейсы I2C и SPI совпадают с указанными в библиотеке в файле pins_arduino.h для ESP32-S3. Сделал несколько проектов - проблем пока не обнаружено.
ESP32-S3 — это микроконтроллер «система-на-кристалле» (SoC), выпущенный Espressif, объединяющий возможности Wi-Fi 2,4 ГГц и Bluetooth 5 (LE), включая поддержку большого радиуса действия. Он оснащен мощным 32-битным двухъядерным процессором Xtensa® LX7 с тактовой частотой до 240 МГц и имеет встроенную SRAM (TCM) емкостью 512 КБ. Кроме того, чип предлагает 45 программируемых контактов GPIO и широкий спектр коммуникационных интерфейсов. ESP32-S3 также поддерживает более высокоскоростную флэш-память Octal SPI и внешнюю оперативную память, что позволяет пользователям настраивать кэширование данных и инструкций для повышения производительности.
Кроме выше перечисленного, ESP32-S3 — это первый беспроводной процессор Espressif в котором добавлены новые инструкции, ориентированные на искусственный интеллект (ИИ), и функции безопасности с аппаратным ускорением, но скорее всего в flprog это реализовано не будет.
Обещают мощный FPU, но сравнение быстродействия в целочисленных и с плавающей точкой расчетов в esp32s и esp32s3 большой разницы не выявило.
СпойлерПоказать
The S3 running at 240 MHz:

Код: Выделить всё

Integer Addition 	 239.826126 MOP/S   	CPI=1.000361
Integer Multiply 	 239.862076 MOP/S   	CPI=1.000316
Integer Division 	 119.944527 MOP/S   	CPI=2.000295
Integer Multiply-Add 	 159.904053 MOP/S   	CPI=1.500432
Float Addition  	 239.862076 MOP/S   	CPI=1.000338
Float Multiply  	 239.862076 MOP/S   	CPI=1.000328
Float Division  	 4.504891 MOP/S   	CPI=1.434796
Float Multiply-Add 	 479.760132 MOP/S   	CPI=1.000149
Double Addition 	 6.232046 MOP/S   	CPI=1.485305
Double Multiply 	 2.388438 MOP/S   	CPI=1.480190
Double Division 	 0.548398 MOP/S   	CPI=1.403033
Double Multiply-Add 	 5.652522 MOP/S   	CPI=1.522879

Код: Выделить всё

   Подводя итог - неоспоримые преимущества по сравнению с esp32s :
1. Самый мощный чип из линейки с радио модулем.
2. 45 программируемых контактов GPIO
3. Чуть быстрее.
4. Bluetooth 5 (LE)
5. Новое ядро Xtensa® LX7
6. Встроенный датчик температуры
7. Скорость соединения по ВиФи 150 Mbps, на esp32s - 70 Mbps.
8. Оснащен полноскоростным интерфейсом USB OTG и JTAG Controller !!!

Известные проблемы:
1. Если в настройках IDE задействовать USB CDC On Boot "Enabled", то со штатными блоками UART FLPROG при компиляции ошибка. Здесь большая надежда на  библиотеки ecoins. 
Дополнительные пункты меню в настройке платы:
СпойлерПоказать
USB CDC (Communications Device Class)- включает виртуальный COM-порт, в который можно производить загрузку без нажатия BOOT/RESET, а также обмениваться информацией через интерфейс Serial в скетче. При этом в системе появляется последовательно два порта, один для прошивки (какой появлялся при нажатии BOOT/RESET), второй для ввода/вывода Serial интерфейса при работе. Данный режим похож на работу с платой Arduino Leonardo на Atmega32U4.

USB Firmware MSC (Mass Storage Class) — создает в системе USB диск, через который мы получаем прямой доступ к прошивке файла. То есть для загрузки прошивки мне достаточно скомпилировать файл (Экспорт бинарного файла в Arduino IDE), переименовать этот файл в FIRMWARE.BIN и переписать его на этот USB диск

USB DFU (Device Firmware Update) — загрузка прошивки через DFU утилиты. Этот метод загрузки широко практикуется в микропроцессорах STM32
Разница в быстродействии по сравнению с esp32s
СпойлерПоказать
esp32s_test.jpg
esp32s3_test.jpg
Чёткая документация
https://api.riot-os.org/group__cpu__esp32__esp32s3.html
https://www.espressif.com/sites/default ... eet_en.pdf
https://www.espressif.com/sites/default ... pwr-scheme
ESP32S3 WROOM DEVKIT.rar
(1.28 МБ) 66 скачиваний

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ESP32-S3 - пользовательское описание контроллера

#2

Сообщение JonyBest » 30.11.2023{, 12:31}

Добавляю блок для работы с внутренним датчиком температуры. Работает с ESP32S2, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S3.
В соответствии с документацией, ESP32-S3 имеет встроенный датчик, используемый для измерения внутренней температуры чипа. Модуль датчика температуры содержит 8-bit Sigma-Delta analog-to-digital converter (ADC) . Заявленная погрешностями измерения < 1 °C в диапазоне температур -10 ~ 80.
Внимание - есть урезанные версии модулей ЕСП без датчика температуры. Узнать об этом можно только эмпирическим способом.
Блок добавляет широкие возможности по мониторингу и предотвращению перегрева ESP32.

fefar51702
Рядовой
Сообщения: 51
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 2
Имя: Валера

ESP32-S3 - пользовательское описание контроллера

#3

Сообщение fefar51702 » 30.11.2023{, 15:35}

толку то от него
ацп полюбому такие же кривые и та же нхватка пинов

стм 103 выдаёт намного больше цыклов при своих 72 мгц с одним ядром хотя у есп тоже посути только одно ядро участвует в флпроге
лучшеб стм выложили на 103R V Z версии

есп есть смысл как вайфай модуль использовать и то 8266 ибо стоит 100р

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ESP32-S3 - пользовательское описание контроллера

#4

Сообщение JonyBest » 30.11.2023{, 16:48}

fefar51702 писал(а):
30.11.2023{, 15:35}
толку то от него
ацп полюбому такие же кривые и та же нхватка пинов

стм 103 выдаёт намного больше цыклов при своих 72 мгц с одним ядром хотя у есп тоже посути только одно ядро участвует в флпроге
лучшеб стм выложили на 103R V Z версии
Смешно слышать такие размышления от взрослых людей...
Каждый контроллер заточен под свои задачи! На флпроге программируют для дома, а не производства. Хотя есть и исключения. Есть у меня проект управления поливом, вентиляцией и мониторингом на ЕСП32 двадцати средних теплиц в фермерском хозяйстве. Отлично уже работает два года. В каждой теплице блок управления на ЕСП32. Общее управление на одном компьютере! Доступ к любой теплице с телефона! Это же удобно! Страшно подумать сколько сил нужно приложить чтобы это же организовать на стм 103...
У меня 80% всех проектов заточены на умный дом. Я искренне считаю что будущее домашних! проектов за контроллерами с сетевыми интерфейсами!
1. ацп я пользуюсь внешним, вполне точным и копеечным.
2. Не было у меня еще проектов, где не хватило бы скорости ЕСП
3. На ЕСП успешно использую второе ядро. У меня на нем вращается Веб и связь с HomeAssistant.

Теперь о минусах вашего процессора, он безусловно мощнее, больше ног, стоит соразмерно либо дороже, требует более сложной обвязки. Если покупать готовые платы, то стоят как крыло самолета.
1. Организуйте оперативное обновление прошивки проекта на стм 103 по воздуху.
2. Организуйте связь вашего контроллера с внешними датчиками, серверами, др. устройствами, элементарное - управление и контроль с телефона.
Как то так...

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

ESP32-S3 - пользовательское описание контроллера

#5

Сообщение ecoins » 30.11.2023{, 17:02}

fefar51702 писал(а):
30.11.2023{, 15:35}
лучшеб стм выложили на 103R V Z версии
На STM32F103C,R,V можно работать в FLProg.
На STM32F407VE и STM32H743VI уже можно работать - это и новее и возможно дешевле.
А вот относительно STM32F103Z - а у Вас имеется такой модуль? Пришлите фото модуля, который Вы хотели бы использовать - интересно.

Отправлено спустя 2 минуты 44 секунды:
fefar51702 писал(а):
30.11.2023{, 15:35}
стм 103 выдаёт намного больше цыклов при своих 72 мгц с одним ядром хотя у есп тоже посути только одно ядро участвует в флпроге
Любопытно каким образом и на каких тестах и какие конкретно результаты вы получили при сравнении STM32F103 и ESP32.
Напишите пожалуйста.
С уважением, ecoins.

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

ESP32-S3 - пользовательское описание контроллера

#6

Сообщение ecoins » 30.11.2023{, 17:12}

JonyBest писал(а):
30.11.2023{, 16:48}
Есть у меня проект управления поливом, вентиляцией и мониторингом на ЕСП32 двадцати средних теплиц в фермерском хозяйстве. Отлично уже работает два года. В каждой теплице блок управления на ЕСП32. Общее управление на одном компьютере! Доступ к любой теплице с телефона! Это же удобно! Страшно подумать сколько сил нужно приложить чтобы это же организовать на стм 103...
У меня 80% всех проектов заточены на умный дом. Я искренне считаю что будущее домашних! проектов за контроллерами с сетевыми интерфейсами!
1. ацп я пользуюсь внешним, вполне точным и копеечным.
2. Не было у меня еще проектов, где не хватило бы скорости ЕСП
3. На ЕСП успешно использую второе ядро. У меня на нем вращается Веб и связь с HomeAssistant.
Все это очень интересно и хотелось бы чтобы эти результаты гармонично вписались в FLProg.
К сожалению мы за Вашими результатами не поспеваем - сейчас сосредоточились на RP2040 и STM32F4,STM32H7 и на новых модулях расширения (например ADS1256 - 24-x разрядный ADC, требуется для задачи одного из важного пользователя, он и тему отдельную открыл).
Но мы попробуем наверстать.
Наверное синхронно с результатами разработчика FLProg - похоже как и в случае с Ethernet он перепишет софт (часть софта) для работы с Wi-Fi.
С уважением, ecoins.

fefar51702
Рядовой
Сообщения: 51
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 2
Имя: Валера

ESP32-S3 - пользовательское описание контроллера

#7

Сообщение fefar51702 » 01.12.2023{, 09:05}

JonyBest, я не сказал что его выбросить надо
я лиш сделал акцент на старые проблемы
а по поводу цены стм стоит 80руб а эта есп 300р
и речь шла о связке где стм как расширитель идёт с помощью которой можно значительно разгрузить есп

ecoins, явно не в глобальных тестах как у вас с кучей всего всего а по своим задачам типо несколько H711 и сбор аналога но для есп это больная тема
С не хватает а R забил почти полностью от чего у меня посыпались посути все интерфейсы завязаные на них да и всеравно пин не хватило на большее пока заказал V в кубемакс показало что у него больше пинов не привязаных к интерфейсу а про Z там обычный лкюфп корпус только на 144 пина его не брал
400 и 700 явно по дороже будут а в качестве расширителя 103 помоему выше и не надо

tema
Сержант
Сообщения: 190
Зарегистрирован: 21.09.2020{, 12:31}
Репутация: 8
Имя: tema

ESP32-S3 - пользовательское описание контроллера

#8

Сообщение tema » 01.12.2023{, 09:09}

JonyBest писал(а):
30.11.2023{, 16:48}
3. На ЕСП успешно использую второе ядро. У меня на нем вращается Веб и связь с HomeAssistant.

JonyBest очень хотелось бы узнать как ?
очень! нужно что бы веб работал на одном ядре а основная программа на другом для есп32.
надеюсь на помощь...
спс.

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ESP32-S3 - пользовательское описание контроллера

#9

Сообщение JonyBest » 01.12.2023{, 10:30}

fefar51702 писал(а):
01.12.2023{, 09:05}
а по поводу цены стм стоит 80руб а эта есп 300р
корректно сравнивать по мощности ESP32-S3 и STM32F407. Таки по цене сравнение не в пользу STM32. STM32F103C по 100-200руб нет смысла рассматривать как МС для проекта, только как ПЛИС.
СпойлерПоказать
Скриншот 01.12.23_09.40.55.png
Скриншот 01.12.23_09.52.32.png
Скриншот 01.12.23_09.45.52.png
fefar51702 писал(а):
01.12.2023{, 09:05}
речь шла о связке где стм как расширитель идёт с помощью которой можно значительно разгрузить есп
Пробовал я использовать STM32 как ПЛИС, не понравилось. Мне проще использовать мс расширители портов - вход-выход -mcp23017 или pca9555. Если нужен шим то pca9685 или SX1509
tema писал(а):
01.12.2023{, 09:09}
очень! нужно что бы веб работал на одном ядре а основная программа на другом для есп32.
Вы, вроде бы, видели тему, блоки вполне рабочие. Или использовать блоки aidar_i для 2х ядер ESP32

fefar51702
Рядовой
Сообщения: 51
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 2
Имя: Валера

ESP32-S3 - пользовательское описание контроллера

#10

Сообщение fefar51702 » 01.12.2023{, 12:35}

JonyBest, ну как же
взять просто бегущий огонь по пинам
2023-12-01_153357.png
2023-12-01_152418.png
тут не понятно на какой частоте стм работает автор не добавил настройку MCO на вывод частоты и не ясно к регистрам он обращается или нет сразу собственно как и по есп типо работает да и ладно

но если на есп включить вайфай то выдаёт уже жалких 4500 цыклов ... я не имею в виду что это мало ведь порой в ардуино напихаеш всего и вовсе 200 цыклов даёт и даже с этим можно спокойно жить незаморачиваясь но в переащёте многократного уменьшения от былого то да
возможно автор что то напутал там ведь второе ядро у есп как раз и заточено на вайфай и на первое не должно влиять но хз

Отправлено спустя 14 минут 33 секунды:
mcp23017 дорого очень
pca9685 не зашло не умеет работать с 1гц
pcf8574 почти подошло но добавление буферок на инверсию и в итоге по цене всё улетело да и ещё большая пролема у них корпуса огромные как у ds3231

Отправлено спустя 2 минуты 37 секунд:
и опять же если есп использовать как отправка статистики то норм можно и на ней
но когда на ней крутится браузер то любое обращение к нему по логическому анализатору видны большие задержки
на 32 не знаю но на 8266 порой достигали 2сек и попробуй тут по регулируй по управляй когда кругом преырывания

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ESP32-S3 - пользовательское описание контроллера

#11

Сообщение JonyBest » 01.12.2023{, 13:05}

fefar51702 писал(а):
01.12.2023{, 12:35}
если на есп включить вайфай то выдаёт уже жалких 4500 цыклов
Обратите внимание на первый пост, "Разница в быстродействии по сравнению с esp32s" Веб крутится на ядре 0, не мешает выполнять код на ядре 1.
Честно говоря, я не понимаю вашего противостояния. Я же писал выше "каждый контроллер заточен под свои задачи". К чему этот спор?
В рамках моих задач, мне нужен сетевой интерфейс. Быстродействие и стоимость - соразмерные = контроллеры esp32 идеальны для решения задачи.
Если у вас проект простой "бегущий огонь" - отлично подходит STM. Но если устройством "бегущий огонь" хочется управлять с дивана - лучший вариант esp32.
Хочется пообсуждать что лучше? Создайте свою тему. Многие Вам за это спасибо скажут. Новичкам будет проще определится на чем собирать свои проекты...
В чем вопрос то?!
Последний раз редактировалось JonyBest 01.12.2023{, 14:06}, всего редактировалось 1 раз.

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

ESP32-S3 - пользовательское описание контроллера

#12

Сообщение ivansidor012 » 01.12.2023{, 13:39}

fefar51702 писал(а):
01.12.2023{, 12:53}
на 8266 порой достигали 2сек и попробуй тут по регулируй по управляй когда кругом преырывания
использовать MQTT или UDP в нагруженных проектах....хотя wifi (само подключение к сети) все равно использует прерывания со всеми вытекающими)))

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

ESP32-S3 - пользовательское описание контроллера

#13

Сообщение Ivan_Kornege » 03.03.2024{, 14:31}

JonyBest писал(а):
17.11.2023{, 10:33}
сделал описание контроллера
под какую версию FLP , под 7.3.8 будет работать?

Ответить

Вернуться в «ESP32»