Почему платы ESP ломают контакты флэш-памяти SPI?

У меня есть плата для разработки ESP32 и плата NodeMCU. Оба выламывают контакты для прошивки SPI ESP. Эти контакты упоминаются в стандартных описаниях выводов как обязательные/не должны подключаться. В этом описании распиновки указано, что они

не рекомендуются для других целей. Так что не используйте эти пины в своих проектах

Ответ на этот вопрос предполагает, что вы можете каким-то образом подключить другие устройства SPI к той же шине, что и флэш-память SPI. Связанная документация из этого ответа гласит, что в этом случае вы не можете контролировать выбор микросхемы для дополнительного устройства SPI через цифровой контакт, но пусть «аппаратный арбитр» (что бы это ни было) решает, когда подключаться к дополнительному устройству SPI.

Это единственное применение этих булавок, которое я смог найти, и даже это кажется довольно нишевым. Кажется, это нестандартный способ использования булавок, а также довольно сложный.

Учитывая очень ограниченное и сложное использование выводов SPI Flash, почему платы ESP раскрывают их пользователю? Почему бы их просто не оставить внутри, сделав плату немного меньше?

Возможно, контакты используются по-другому, или я просто недооцениваю важность добавления дополнительных SPI-устройств к шине.

, 👍3

Обсуждение

Ответ Маженко относится к модулям esp8266. Но вопрос "почему именно на NodeMcu" остается? Можно ли его использовать в прошивке NodeMcu Lua?, @Juraj


1 ответ


Лучший ответ:

3

Учитывая очень ограниченное и сложное использование выводов 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