Альтернатива 5В Due?
Я разработал схему, управляемую Arduino Mega 2560, включающую ряд внешних компонентов, все из которых работают и посылают сигналы 5 В. Теперь я понимаю, что 8 Кб оперативной памяти на Mega 2560 недостаточно, поэтому я хотел перейти на Arduino Due. Однако Due не может принимать выходы 5 В от остальных компонентов.
Есть ли плата 5 В, совместимая с Arduino, с памятью, сопоставимой с 96 Кб на Due?
Я знаю, что переключение уровней-это вариант, но, учитывая, что используется почти каждый цифровой вход на плате, я бы предпочел не добавлять в схему так много переключателей уровней. Предпочтительна плата, совместимая с напряжением.
Я также не зациклен на совместимости с Arduino. Если есть еще одна удобная плата для разработки микроконтроллеров, я бы с удовольствием рассмотрел ее.
ОБНОВЛЕНИЕ:
Arduino используется для считывания данных с набора датчиков, которые генерируют данные изображения с постоянной скоростью. Данные записываются на Arduino, затем отправляются на компьютер по USB. Arduino необходимо сохранить все изображение перед отправкой на компьютер, потому что выполнение вызова последовательной записи задерживает процессор, из-за чего он пропускает образец данных. В ATmega2560 недостаточно памяти SRAM для хранения всего изображения сразу.
@Daniel Williams, 👍3
Обсуждение2 ответа
Лучший ответ:
Teensy 3.5, кажется, именно то, что я искал.
Это микроконтроллерная плата, совместимая с Arduino-IDE на 5 В, с огромным объемом памяти 256 Кб и 64 цифровыми входами. Это в значительной степени сводит на нет Должное во всех отношениях.
Несущая разъема Arduino MKR имеет преобразование входного уровня на аналоговых входах и преобразование логического уровня на цифровых выводах. Это делает платы MKR 3,3 В (SAMD21 MCU) совместимыми с датчиками и приводами 5 В.
SAMD21 на платах MKR имеет 256 КБ встроенной флэш-памяти и 32 КБ оперативной памяти.
- Распределение памяти на Arduino Due никогда не возвращает NULL
- Есть ли хороший справочник для Arduino архитектуры и использования памяти?
- Как получить размер моей программы во время выполнения?
- Портирование «дальнего» доступа к флэш-памяти с Arduino Mega на Due
- Почему информация о глобальных переменных не отображается для Arduino Due в IDE?
- Для чего нужны контакты 5V и VIN?
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как определить Arduino Mini Pro 5v vs 3.3 v
пожалуйста, проведите небольшое исследование ... вернитесь с актуальным вопросом, @jsotola
Что вы делаете, что требует так много памяти?, @Majenko
Если ваш код действительно становится сложным для Mega, одним из вариантов также является удаление только кода из mega. Используйте Due только для управления mega, например, по какому-либо последовательному протоколу. (В этом случае я бы даже выбрал ESP32, потому что он все еще намного мощнее, чем due, если не требуется огромное количество контактов), @PMF
Re “_a вызов последовательной записи задерживает процессор_": если скорость ввода данных постоянна и ниже, чем скорость передачи данных на выходе, вы можете отказаться от объекта "Последовательный" и просто записать входящие байты прямо в регистр данных последовательного порта. Это должно занять всего пару циклов процессора., @Edgar Bonet
@EdgarBonet Я попробовал ваше предложение напрямую записать в последовательный регистр, и это быстрее, но ему все равно приходится ждать, пока буфер передачи не опустеет перед передачей. Эта переменная задержка приводит к тому, что устройство иногда пропускает входящий сигнал., @Daniel Williams