На чем делать полноценную плату для BASIC-недокомпьютера?

Комментарии

Плюсы и минусы каждой платформы:
Arduino-NANO
+ Дешевизна
+ Легкая в установке (легче некуда) интегрированная среда разработки
+ Огромное количество библиотек, разработанных сообществом
- Малый объем ОЗУ
- Быстродействие
STM32F103C8T6
+ Быстродействие
+ Объем ОЗУ и программной флеш-памяти
- Не все выходы толерантны к 5В уровню
- Настройка среды разработки
- Легкость прошивки

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

ЖК индикатор вполне себе управляется уровнями 3,3В, есть даже трёхвольтовые версии. У меня ЖК индикатор нормально управляется от 1986ВЕ92, но нельзя читать сигналы с индикатора без согласования
Дешифратор клавиатуры должен нормально работать при питании 3,3В.
Микроконтроллер должен легко шиться через UART, у меня 1986ВЕ92 вполне нормально шился через схему согласования резюках и диодах Д9.
Основные трудности остаются с софтом: в среде разработки для 186ВЕ92 используется компилятор gcc, но интэковцы кучу сил потратили на адаптацию софта к ардуинософту.

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

Экран от 3.3В не работает, насколько я понимаю. А другой экран я не хочу покупать - это самое бюджетное решение за такой функционал.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Индикатор сам по себе вполне управляется 3,3В уровнями, хотя при этом может питаться от 5В. Кстати, к индикатору прилагается i2c адаптер? Тогда адаптер запитать от 3,3В, а индикатор будет питаться от 5В, но управляться 3,3В...

У меня пятивольтовый МЭЛТ MT16S2D питается от 5В (от 3В не будет работать стекло), а управляется 3,3В уровнями с выхода К1986ВЕ92, думаю 2004 + STM32 будет работать также, тем более ног у него должно быть больше)
МЭЛТ против Миландра!
Добавлено.
Вот, кстати, статейка в тему.

ЖКИ у меня через I2С адаптер. Надо будет попробовать потом через 3.3в
За статейку спасибо! Буду думать про переход на stm32

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Кстати, STM32F106T8C6 имеет преимущество перед ATMEGA328 только за счёт большей тактовой частоты, большей разрядности и большего объёма ОЗУ! Однако, по флешпамяти stm32 примерно на равных с атмелом, и для сохранения программ внешнюю флешпамять надо, внутренней еерrom у кортекса нет.

Кстати, компилировал пустой проект для платки на 1986ВЕ92, 34255 байт ПЗУ и 3116 байт ОЗУ :) а вот подключение жк индикатора, шаговика и энкодера сожрали дополнительные 2980 байт ПЗУ и 92 байта ОЗУ :) Не знаю, что там жрёт так много флешпамяти, хотя там с usb нагородили кучу функций.

Думаю, под бейсик как раз 16кБ ОЗУ останется.

Заказал на али несколько 24LC256 I2C EEPROM. Если получится прикрутить к совместному использованию с I2C дисплеем, то в этом Basic-е поддержка внешней EEPROM уже есть:

LOAD "filename", SAVE "filename, DIR, DELETE "filename" if using with external EEPROM.

А это уже таки 32 КБ для хранения программ - вполне себе серьезно.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Энергопотребление регулируется частотой,
Два ядра. Режимы сна разные, решаемо спать между нажатиями кнопок.
Памяти хоть попой кушай и оперативной и флэш. Блютус и вайфай из
коробки. Добавьте в голосование ESP32 или ESP8826 :-)

Добавьте в голосование ESP32 или ESP8826 :-)

Добавлять не буду, так как кто это делать будет? :)

Хотя сабжи явно выигрывают по многим параметрам. Даже 8266.

P.S. Однако опрос, вроде, не редактируется. Надо новый опрос делать

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Я не в курсе, какая платформа имеет более низкое энергопотребление, но проголосовал бы за такую. Если они обе не самые оптимальны в этом плане, может быть вернуться к MSP432? У меня плата так и лежит.

STM32F103C8T6 по даташиту потребляет не выше 50мА на 72МГц, то есть 165мВт при напряжении питания 3,3В.
ATMEGA328Р по даташиту потребляет около 10мА на 16МГц при напряжении 5В, то есть около 50мВт и втрое больше STM32.
На 16МГц STM32F103C8T6 потребляет около 11мА при 3,3В, то есть около 36мВт, что примерно на треть ниже, чем ATMEGA328Р.

Поскольку STM32 позволяет программировать умножитель тактового генератора, то можно организовать обычный режим на 16МГц, на котором микрокомпьютер будет втрое мощней Атмела при меньшем потреблении, и турборежим на 72МГц :) Так что STM32 намного прогрессивней, чем АТМега!

2х16 ЖК индикатор потребляет порядка 1мА, а подсветка индикатора 100мА)

На недавно приобретенном Касио 1987 года выпуска энергопотребление значится в 40 мВт. Неужто в 2018 году нельзя сделать лучше?

Как раз stm32 на 16МГц жрёт 36мВт, плюс 3,3мВт трёхвольтовый индикатор, в 40мВт уложиться можно. Потребление то же, а тактовая частота выросла с 1,228 до 16,0МГц, быстродействие раз в пятьдесят за счёт разрядности и однотактового выполнения команд.

Если принять ёмкость батарейки CR2032 в 200мА*ч то её хватит на 16 часов непрерывной работы трёхвольтового ЖК индикатора с микроконтроллером на 16МГц. Хотя, если в бездействии заставлять его спать, то во включённом состоянии батарейки хватит на двое-трое суток. Я как-то мерил потребление своего индикатора, и правда было чуть меньше миллиампера, это при обновлении всех символов каждые 1,6мс.

Сергей, энергопотребление этого недокомпьютера не входит в список "фич", с таким ЖКИ даже нечего и думать про долгоиграние от батареек.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

ЖКИ можно менять, а платформа остается, это главное. Поэтому я бы выбрал минимально потребляющий с максимальной частотой для перспективы. Этакая оптимизация по двум критериям.

Минимально потребляющий с максимальной частотой - думаю, DM42 является хорошим примером. И он на stm32

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Тогда выбор очевиден - STM, голосую. Осталось куда-нибудь мою платку MSP пристроить, а то без дела лежит.

STM32 постоянно всплывает в беседах о ПМК мечты. Годы проходят, но это не меняется. Похоже, что даже при неудаче проекта часть кода сможет быть кем-то повторно использована, то есть работа не будет полностью впустую.

Все знают, что я предпочёл бы использовать сообщество любителей ПМК для развития отчественных процессоров. Даже будучи в меньшинстве я настаиваю, что это верный путь. Но если выбор стоит лишь между Ардуино и STM32, он очевиден.

Возможно, какой-то код для STM32 уже даже был кем-то здесь написан. Повторюсь, что если кто захочет перенести Каллисто на более быстродействующую платформу вроде STM32 (или Адруино), поддержу это начинание.

На сегодня результат:
16 голосов за stm32, 1 голос за ардуину.

Я, кстати, думал, что за ардуину будет немного побольше :)

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Я вообще удивился, что кто-то за ардуину проголосовал :) Видимо, чтобы хоть как-то создать видимость политической оппозиции :) Вчера в радиомагазине как раз видел платку на stm32 в габаритах наноардуины.

Кстати, а какая точность у ардуино-бейсика на тригонометрии?

Да, победила :)

Точность тригонометрии определяется обычными float функциями из math.h - я не делал ничего другого

Кстати, на stm32 легко будет сделать опрос железнокнопочной клавиатуры? В ардуине у меня прерывание по таймеру этим занимается

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Да точно так же, по прерыванию таймера, так проще дребезг давить, не разбазаривая машинное время :) Если ног на плате хватит, то можно и дешифратор не ставить.

Насчет ног подумалось оставить порт наружу - светодиоды из под Васика программировать

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Кстати, для вывода байта с SPI порта отлично подходит регистр 74HC595, кроме того регистры можно наращивать до 20 штук! У неё даже аналог есть - КР1564ИР52.

MCP23017 - I2C расширялка портов на 16 входов/выходов

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/