Альтернатива 5В Due?

Я разработал схему, управляемую Arduino Mega 2560, включающую ряд внешних компонентов, все из которых работают и посылают сигналы 5 В. Теперь я понимаю, что 8 Кб оперативной памяти на Mega 2560 недостаточно, поэтому я хотел перейти на Arduino Due. Однако Due не может принимать выходы 5 В от остальных компонентов.

Есть ли плата 5 В, совместимая с Arduino, с памятью, сопоставимой с 96 Кб на Due?

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

Я также не зациклен на совместимости с Arduino. Если есть еще одна удобная плата для разработки микроконтроллеров, я бы с удовольствием рассмотрел ее.

ОБНОВЛЕНИЕ:
Arduino используется для считывания данных с набора датчиков, которые генерируют данные изображения с постоянной скоростью. Данные записываются на Arduino, затем отправляются на компьютер по USB. Arduino необходимо сохранить все изображение перед отправкой на компьютер, потому что выполнение вызова последовательной записи задерживает процессор, из-за чего он пропускает образец данных. В ATmega2560 недостаточно памяти SRAM для хранения всего изображения сразу.

, 👍3

Обсуждение

пожалуйста, проведите небольшое исследование ... вернитесь с актуальным вопросом, @jsotola

Что вы делаете, что требует так много памяти?, @Majenko

Если ваш код действительно становится сложным для Mega, одним из вариантов также является удаление только кода из mega. Используйте Due только для управления mega, например, по какому-либо последовательному протоколу. (В этом случае я бы даже выбрал ESP32, потому что он все еще намного мощнее, чем due, если не требуется огромное количество контактов), @PMF

Re “_a вызов последовательной записи задерживает процессор_": если скорость ввода данных постоянна и ниже, чем скорость передачи данных на выходе, вы можете отказаться от объекта "Последовательный" и просто записать входящие байты прямо в регистр данных последовательного порта. Это должно занять всего пару циклов процессора., @Edgar Bonet

@EdgarBonet Я попробовал ваше предложение напрямую записать в последовательный регистр, и это быстрее, но ему все равно приходится ждать, пока буфер передачи не опустеет перед передачей. Эта переменная задержка приводит к тому, что устройство иногда пропускает входящий сигнал., @Daniel Williams


2 ответа


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

1

Teensy 3.5, кажется, именно то, что я искал.

Teensy 3.5

Это микроконтроллерная плата, совместимая с Arduino-IDE на 5 В, с огромным объемом памяти 256 Кб и 64 цифровыми входами. Это в значительной степени сводит на нет Должное во всех отношениях.

,

0

Несущая разъема Arduino MKR имеет преобразование входного уровня на аналоговых входах и преобразование логического уровня на цифровых выводах. Это делает платы MKR 3,3 В (SAMD21 MCU) совместимыми с датчиками и приводами 5 В.

SAMD21 на платах MKR имеет 256 КБ встроенной флэш-памяти и 32 КБ оперативной памяти.

,