Почему платы ESP ломают контакты флэш-памяти SPI?
У меня есть плата для разработки ESP32 и плата NodeMCU. Оба выламывают контакты для прошивки SPI ESP. Эти контакты упоминаются в стандартных описаниях выводов как обязательные/не должны подключаться. В этом описании распиновки указано, что они
не рекомендуются для других целей. Так что не используйте эти пины в своих проектах
Ответ на этот вопрос предполагает, что вы можете каким-то образом подключить другие устройства SPI к той же шине, что и флэш-память SPI. Связанная документация из этого ответа гласит, что в этом случае вы не можете контролировать выбор микросхемы для дополнительного устройства SPI через цифровой контакт, но пусть «аппаратный арбитр» (что бы это ни было) решает, когда подключаться к дополнительному устройству SPI.
Это единственное применение этих булавок, которое я смог найти, и даже это кажется довольно нишевым. Кажется, это нестандартный способ использования булавок, а также довольно сложный.
Учитывая очень ограниченное и сложное использование выводов SPI Flash, почему платы ESP раскрывают их пользователю? Почему бы их просто не оставить внутри, сделав плату немного меньше?
Возможно, контакты используются по-другому, или я просто недооцениваю важность добавления дополнительных SPI-устройств к шине.
@chrisl, 👍3
Обсуждение1 ответ
Лучший ответ:
Учитывая очень ограниченное и сложное использование выводов SPI Flash, почему платы ESP раскрывают их пользователю? Почему бы их просто не оставить внутри, сделав плату немного меньше?
ESP32 не предназначен специально для Arduino. Существуют и другие режимы загрузки, такие как загрузка с SD-карты, при которых внутренняя флэш-память напрямую не используется. В этой ситуации вы можете использовать эти контакты по своему усмотрению (при условии, что к ним подключен флэш-чип).
«Отладочная плата ESP32» изначально не предназначалась для Arduino. Вместо этого это универсальная плата, разработанная Espressif (и многократно копируемая), и ее можно использовать с ядром Arduino в качестве одного из многих вариантов.
Короче говоря, контакты предназначены не для пользователей Arduino, а для других пользователей.
Дополнение:
Выводы флэш-памяти SPI также могут использоваться (и чаще всего используются для):
- Добавление дополнительных микросхем флэш-памяти SPI, которые затем интегрируются в обычное пространство памяти и во внутреннюю систему кэширования, а также
- Добавление PSRAM для увеличения объема оперативной памяти.
Хорошим примером последнего является ESP32-CAM, который имеет микросхему PSRAM, подключенную через SPI, для буферизации кадров и анализа изображений, подключенную к контактам SPI.
Вы можете думать о них не столько как о выводах SPI, сколько о выводах EBI PIC32MZ или EMB ATMega2560 и т. д. Они используются для расширения памяти, а не для добавления случайных периферийных устройств.
+1. Тем не менее, я считаю глупым выламывать эти контакты на потребительских devboards..., @dandavis
@dandavis Что такое «плата разработки, ориентированная на потребителя»? Плата разработки по определению не ориентирована на потребителя. Она ориентирована на разработчиков. Потребитель никогда его не увидит., @Majenko
Честно говоря, я имел в виду что-то вроде Wemos D1, ESP-CAM и других, которые вы можете купить на потребительских сайтах, таких как ebay/amazon/ali, по сравнению с «профессиональными» вещами для разработчиков от digikey, mouser, TI и т.п., @dandavis
Большинство из них являются дешевыми китайскими копиями оригинальной панели разработки Espressif. Вы можете хотеть их, поэтому они дают их. Почему бы и нет? Если они вам не нужны, просто игнорируйте их. Если они вам нужны, то они для вас. Чем большему количеству людей может понравиться плата, тем больше людей ее купят., @Majenko
@dandavis, эти контакты есть только на плате разработки NodeMcu. Использует ли его прошивка NodeMcu Lua? Сомневаюсь., @Juraj
Вау, не знал о загрузке с SD-карты. Звучит действительно интересно. Я думаю, что границы между потребителем и разработчиком очень размыты для любителей. Это объясняет это для меня. @Majenko Спасибо за ваш опыт, @chrisl
@chrisl, SDIO-карта/устройство, а не SD-карта, @Juraj
Я рад видеть ответ на это. Меня всегда смущало, почему эти контакты присутствуют, а также меня смущало, когда я пытался понять, как подключить периферийное устройство SPI!, @RDragonrydr
- NodeMCU - Vin контакт как выход 5V?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- ESP32S v1.1 NodeMCU vs ESP32 DevKitV1
- Какие входные контакты я могу использовать на ESP8266 NodeMCU
- INPUT_PULLUP не работает для D8 в моем NodeMCU v3
- Az Delivery ESP32 DevKitC V2 номера PIN
- Не могу отключить внутренний интерфейс I2C подтягиваний на ESP32
- Можно ли запитать ESP8266E-12 любым из контактов 3,3 В?
Ответ Маженко относится к модулям esp8266. Но вопрос "почему именно на NodeMcu" остается? Можно ли его использовать в прошивке NodeMcu Lua?, @Juraj