Графический калькулятор Numworks для студентов

Графический калькулятор Numworks для студентов.
Numworks

...Physically, Numworks is much smaller than most scientific calculators, weighing just 5.9 ounces with a thickness of 10 millimeters (0.4 inches). It's rechargeable via a micro USB port (a cable, but not a charger, is included), and can go 20 hours between charges under normal operation. When not in use, it can hold a charge for "years" in deep sleep mode. The 2.8-inch diagonal (2.2 x 1.7 inch) screen can display over 262,000 colors.
...
The keyboard is split into three distinct areas: navigation, advanced calculations and a numeric keypad with widely spaced keys to reduce entry errors. There's also a home, back, and standard On/Off button.

nw2

Русский

Комментарии

Занятное изделие, судя по экрану - энергоемкое. А какова цена?

P.S. У тебя в опция стоял язык English, поэтому пост был не виден на главной странице с русским языком.

Как в комментариях пишут, дизайн выглядит как сделано в Европе, или by Apple или by ... Fisher Price :D

Экран 320x240, чудес особых ждать не нужно, на сайте утверждается, что

Autonomy
20 hours in use, several years in standby

Но выглядит хорошо. И то, что Python уже бета в прошивке, тоже неплохо.

Онлайн-симулятор, на уровне.

Руки зачесались уже прихватить за шею жабу и подушить ее немножко. Но после покупки DM42 в бюджете на калькуляторную статью у меня дыра...

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

20 часов - да, ожидаемо, у HP Prime столько же заявлено было.

бюджетный вариант

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

Интересно. Операционка этого калькулятора на Гитхабе.

Epsilon is a high-performance graphing calculator operating system. It includes eight apps that cover the high school mathematics curriculum.

Тут они рассказывают о выборе инструментов и решений для своего калькулятора:

C++
The choice of a programming language is a controversial topic. Not all of them can be used to write an operating system, but quite a few can. We settled on C++ for several reasons:

It is a system programming language, which is something we need since we have to write some low-level code.
It has excellent tooling: several extremly high-quality compilers
It is used for several high-profile projects LLVM, WebKit, MySQL, Photoshop, etc... This ensures a strong ecosystem of tools, code and documentation.
It easily allows Object-Oriented Programming, which is a convenient abstraction.
Of course knowing a tool means knowing its limits. C++ isn't exempt of defaults:

It is a complicated language. The C++ 11 specification is 1300 pages long.
It allows for a lot of abstractions, which is a double-edged sword. It can allow for some very tricky code, and it's very easy to have complex opeartions being run without noticing.
If you want to contribute to Epsilon, you'll need to learn some C++.

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

C++ это хорошо. Но для портабельности хотелось бы запилить некую виртуальную Форт машину, которая будет 1) на всех платках работать единообразно 2) код можно собирать прямо на самой машинке, что важно для концепции минитерминал <-> контроллеры. Здесь какой то Питон приделан, его будет очень неудобно набирать на такой клавиатуре. Кстати ещё ожидается релиз WP-34s на платформе DM-42 !!! Замечаете, калькуляторы то попёрли, оживает рынок наладонных штуковин типа ПМК. CASIO выпустило новый fx-CG50 продолжение Prizm, TI хвастает микропроекторами в применении с их калькуляторами !!!

А я тут fx-CG50 прикупил, дизайн мне понравился и давно хотел пощупать, а стоит он дороже. А тут 256К, всё лучше, открытая схема, понятный STM32 вместо странного SH-4. То есть для экспериментов с программированием вроде как больше подходит, особенно как заготовка для своего калькулятора. Но всё равно цель - создать свою отечественную заготовку и "референсный" калькулятор типа МК-163С с символьным программированием (в математическом смысле) и поддержкой режимов для всяких старых советских программ. Если забить на излишний глянец, то себестоимость в 3000 рэ для полного набора вполне реальна для мелкой партии. Если брать компоненты бОльшими партиями и разработать свою печатную плату для всех составляющих, то можно упасть ниже этого числа. Может тогда и СЕМИКО со своими 14 тысячами за штуку придёт в чувство.

это вполне привлекательно, если качество компонентов будет не сильно хуже Numworks.

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

Процессор STM32F412VGT6 не мобильный. Потребление на 20%-30% больше на мегагерц, чем у серии STM32L4, в ожидании потребление НА ДВА ПОРЯДКА больше !!!

Экран не энергосберегающий, но FPS хороший и цветность миллионы цветов (кстати как можно это использовать на калькуляторе ???).

Под впечатлением от 256Kb памяти на этой штуке, я к своей коллекции платок заказал ещё NUCLEO на STM32L496ZG, у которого 320Кb SRAM и у китайцев - экранчик 264x176, 2.7inch E-Ink display HAT for Raspberry Pi, двухцветный (умеет чёрным и красным поверх белого показывать). Думаю можно будет собрать топовый аппарат. Скоро приедут SMD мембраны, попробую скомпоновать стоковые платки в напечатанном корпусе.

Конечно при такой единичности у меня цена топового экземпляра не сильно меньше их 99 баксов (без учёта доставки) будет. Зато есть плюс - можно будет брать стоковые отладки в любой пропорции и получить от устройства с корпусом, экранчиком и клавиатурой (+ всякие прибамбасы вроде Wifi, BT) до платки контроллера, который без корпуса, клавиатуры и экранчика делает свою работу. Причём устройства с корпусами будут на серии STM32L4, а устройства контроллеров могут быть на STM32F103 (ядро системы должны быть портативным и маленьким).

3ГГ0Г wrote: 264x176, 2.7inch E-Ink display HAT for Raspberry Pi, двухцветный (умеет чёрным и красным поверх белого показывать). Думаю можно будет собрать топовый аппарат. Скоро приедут SMD мембраны, попробую скомпоновать стоковые платки в напечатанном корпусе.

Вот это было бы очень интересно посмотреть в скомпонованном виде!

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

Снова вы мне помогли. Я тут ломал голову, для некого общекалькулятора какая должна быть клавиатура, в смысле назначения кнопок. Так у этого Numworks самая общая, вроде бы должно для всего подходить. И главное корпус технологически не сложен. Я тут пилил со всякими скруглениями и то сложнее вышло. В общем возьму их набор кнопок за основу (может чего от HP 50g добавлю). Правда отверстие под экранчик и сами кнопки надо будет проектировать под конкретные платки. Их плоский дизайн кнопок и корпуса по идее упрощает нанесение шелкографии. В плане питания приобрёл мелкие платки защиты LiPo от перезаряда, по идее можно питать 3.7В мелкими аккумуляторами, если таблеточных станет мало, отсек будет примерно одинаковый по глубине. На стоковых платках Nucleo ещё всяких разъемов много торчащих, как-то выпаивать их придётся. А так они плоские, думаю даже если не делать спец. материнку всё влезет как минимум в корпус fx-CG50 (он довольно толстый из-за батареек).

Цена 99 баксов или эквивалентно сколько то там в евро. Но у этих ушлёпков нет России в Европе (и Украины тоже нет). Так что напрямую выслать не получится. Цена ИМХО слегка завышена. Этой заготовке красная цена баксов 50-60. К тому же 20 часов просто в режиме ожидания (видимо в режиме активной работы вряд ли продержится дольше 4 часов) - сильно сужает область его применения до настольного или хоббийного. Имхо математической штуковине нужна большая автономность, в режиме ожидания нажатия клавиши, если нет фоновых задач, потребление должно падать до наноамперов (25 нА у STM32L496 + e-ink от 5 мкА до полного нуля) !!! Т.е. с пары таблеточных батареек оно должно годами не "выключаться", чтобы можно было обдумать и записать результат не спеша !!!

Numworks Python (MicroPython 1.9.1) в симуляторе:
pythonpython1python2python3

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

Вроде как Numworks использует бинарную арфиметику?

Если так, то не гуд для калькулятора

Forensics результат в эмуляторе:

-4.377387e-10

Free42 выдает

-6.2466e-29

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

Обидно что в STM32 (и вообще в ARM) нет аппаратной поддержки BCD арифметики. Хотя её в новых калькуляторах на ARMах нигде нет. Но они все жрущие. Может быть менее затратно использовать современную FPGA и спец. процессор на ней ? Частоты не высокие, как и контроллеров, но зато спец.поддержка всей арифметики, возможность параллельных вычислений и т.п. Современные FPGA жрут уже не амперы, а миллиамперы :-)

я как раз начал трогать Spartan-6, в плане самообразования :)

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

А уж Zynq-7020 пощупал, отличные штуковины, правда жрут много. Но допустим комплект микросхем МК-61 наверное лучше реализовать на ПЛИС и разгонять до предела. Кстати я как то прикупил модуль Spartan-3E (XC3S500E), он довольно мелкий. Если сдуть разъёмы, то можно сделать сопроцессор для калькулятора (влезет в корпус), жаль прошивку на нём же не сделаешь, нужен ISE, но можно наложить примитивов. Есть даже проект "ПЛИС на ПЛИС" :-) Как минимум, если потребовался например вывод VGA или HDMI прицепился к платке и вуаля ! Там ещё на борту память SDRAM несколько мегабайт.

Ещё например продаётся модуль 24 битного многоканального АЦП/ЦАП, надо тебе собрать данные прицепил к калькулятору и вжжжжжжжжжжик, можно подключить SD карту, теоретически даже не одну. А если совсем захочется извратиться, то SATA винт.

В общем будущее наверное за модульными устройствами! Мне кажется это ответ на вопрос "зачем нужны ПМК" - нужны чтобы быть не только специализированными математическими устройствами, но и чтобы в составе модульной системы взаимодействовать с миром, управлять чем то и т.п. Кстати та же концепция была у HP-41, у него была куча модулей, а потом пошли по пути компактизации и теперь имеем запаянные капоты как у HP Prime. СЕМИКО было на правильном пути, только понятие о компактности и современности у них оказалось своеобразное :-)

тоже не редкое явление. например в проекте Gameduino1 встроенный J1 Forth CPU используется для поддержки графики с выводом на VGA. Forth CPU, как наименее затратное по ресурсам FPGA.
http://excamera.com/sphinx/gameduino/
http://microsin.net/programming/avr/gameduino-game-adapter.html

Цена в терраэлектроника https://www.terraelectronica.ru/catalog_info.php?CODE=1134110

P.S. также уже давно лежит не освоенная Nexus2 от Digilent плата.
В ней всё есть для создания микрокомпьютера.
У производителей есть и специальные серии малопотребляющих FPGA,
а также отдельные микросхемы поддерживающие плавающие числа и арифметику с ними.

Вряд ли J1 переплюнет msp430 в потреблении на МГЦ. Тут именно что в "железную логику" надо переложить.

MSP430 мёртв. Зачем он нужен после появления нормальных 32-битных ARMов ультранизкого потребления STM32 M и L серий.

Вот уж нет STM32 даже L не переплюнет msp430 по потреблению (даже не сравнивайте), к тому же при совершенно живом и здравствующем 8-битном AVR, даже не стоит и заикаться о смерти 16-разрядного. msp430. Кроме того серия FRAM... как бы вообще аналогов не имеет.

P.S. Хотя вот странно при чем тут STM32 говорили то вроде о J1.

MSP430
126 микроампер при активном режиме на Мгц
1.5 микроампер при ожидании
STM32L432 84 микроампер на мегагерц - заметьте мегагерц 32-битного процессора !!!
1 микроампер в режиме STOP2 (SRAM сохраняется, проц, стоит, периферия работает)
280 наноампер Standby mode with RTC
8 наноампер Shutdown mode (2 ноги на пробуждение)

В общем, как видите MSP430 можно смело выбросить, как устаревший 16-битный хлам. 16 мегагерц тактовая частота, когда у STM32L432 можно раскочегарить до 80. MS430 это тупиковая ветвь эволюции в интернете вещей :-) Серия FRAM ничего не решает, всегда можно добавить внешнюю FRAM.

Откуда такая дичь про msp430

115 µA/MHz (Typical) at 8 MHz, 3 V

И для тумбы смело делите на два частоту, ничего там полезного за один такт не сделать :)

И это мы еще не говорили о по настоящему мало потребляющих msp430.

Кроме того STM32L4 имеет режим SMPS,
37 мкА на Мгц, как не дели, STM не догнать.
В режиме ожидания STM32 тоже экономичней, спящие режимы до 25 наноамперов,
MSP430 не нужен. По архитектуре STM32 гораздо лучше и 32-битный.
И что такое "по настоящему малопотребляющие MSP430" я смотрел Datasheet
в активном режиме ни одна из моделей не жрёт меньше STM32L4. Допустим даже они жрут одинаково,
но STM32 выигрывает архитектурно (всякие там ирерархические контроллеры прерываний и гибкие контроллеры статической памяти), не говоря уж о том, что 32 бита позволяют удобно адресовать большое пространство в которое прозрачно мапится внешняя память.

Это совершенно бесполезное дело, сразу видно что с этой архитектурой дела Вы не имели никогда. Он порой питание сосет с подтяжки и работает при этом. Как всегда за кадром остались низкопотребляющие msp430. И я уже привел потребление в активном режиме msp430f5310 - а это монстр по хорошему. STM не догоняет по потреблению даже его. По спящим режимам STM вообще не пляшет от слова совсем, тот же msp430f5310 1,9 мка в стандбай с полным фаршем это вам не в тапки извините испражняться. А про спящие режимы в 25 наноампер - это Вы кому нибудь другому расскажите, с таким же успехом я скажу и про 0 наноампер :).

Особенностью является тот факт, что STM32L4 умудряется достигать уровня потребления в наноамперном диапазоне и сохранять минимальное время пробуждения. Так, например, в режиме Standby с отключенным ОЗУ ток потребления составит всего 130 нА, а время пробуждения оказывается равным 14 мкс.

Для монстра 5310 эти характеристика 180на и 5 мкс. Сравнивайте что называется.
А вот для UltraLowPower серии msp430 про которую Вы оказывается ничего не знаете, этот самый режим сна как у вашего STM32L4 называется Shutdown (LPM4.5): 34 nA Without SVS. Вот тут то действительно 34 nA и FRAM, которая по выключению не забывает данные и во флеш лить их тоже не надо.

А про 32 бита в любительских поделках забудьте, я уже говорил, что а) не везде нужна 32-битность б) Тубма это вам не настоящий АРМ и что либо путнее из нее вытягивается за 2-3 инструкции, про эффективность Си для АРМ Thumb я вообще умолчу.

Короче реальные потребления STM32 они в виде графиков тут
https://chlb.terraelectronica.ru/files/news/NE_2016_2_5(1).pdf

Уж я то "накувыркался" с STM32 по самое не балуйся, знаю что это за чудо.
С прозрачностью адресного пространства АРМ на ноги - не надо увлекаться, это все так снизит производительность что даже за msp430 не успеть. И к чему кстати вообще этот режим нужен, Вы же не путаете микропроцессоры с микроконтроллерами?

Если уж что и выбирать то msp432 если вот уж прям край нужна 32-битность.

Вообще приведённый файл говорит не в пользу MSP430а5310, там 430 нА в Standby режиме и ещё часть SRAM сохраняется, которая в два раза больше объемом через у MSP430, что более чем достаточно. Время пробуждения вообще смысл сравнивать, что 14, что 5 мкс не заметно.

UltraLowPower серии msp430 про которую Вы оказывается ничего не знаете

Посмотрел я даташит на MSP430F5244 который на сайте TI называется "Ultra-Low Power MSP430"
в активном режиме он сливает STM32L4 или жрёт столько же, режимы сна неплохие, но также Full RAM retention, а этого RAM в два раза меньше, чем сохраняемой в STM32L4 в режиме Standby (16Kb).

А про 32 бита в любительских поделках забудьте, я уже говорил, что а) не везде нужна 32-битность б) Тубма это вам не настоящий АРМ и что либо путнее из нее вытягивается за 2-3 инструкции, про эффективность Си для АРМ Thumb я вообще умолчу.

Разве "любительская поделка" синоним слова "халтура". Есть разные поделки и в целом в хорошего уровне поделках уже не используют AVR, но вряд ли будут использовать MSP430 ибо смысл инвестировать в переходную 16-битную архитектуру ? Даже если STM32L4 отстаёт в чём то по потреблению, то уж значительно выигрывает по архитектуре, гибкости настройки прерываний, всяким DMA и FSMC, и средства разработки для него доступнее и дешевле. В любительских поделках я вижу STM32, а вот MSP430, что то не встречалось.

А где НУЖНА 16-битность, что она даёт кроме проблем ? Кто при прочих равных условиях откажется от 32-битности при более мощной архитектуре ? 2-3 не 2-3, а вычислительной мощности явно у STM32 больше. Что делать если надо будет разогнать решение не считаясь с потреблением? Выше MSP430 по производительности уже ничего нет, придётся переписывать весь код под какую нибудь другую архитектуру. А с STM32 можно сделать так чтобы поставить какой нибудь STM32F7 с 200Mhz и тот же код будет летать.

И к чему кстати вообще этот режим нужен, Вы же не путаете микропроцессоры с микроконтроллерами?

Не все задачи примитивные, есть микроконтроллеры, которые работают во всяких телекоммуникационных железках, там вообще довольно развитая ОC. Что плохого в умении контроллера прозрачно подключать внешнюю память в своё адресное пространство по разным интерфейсам ? Латентность у Flexible Static Memory Controller наверняка выше, но для оперативности есть бортовая ОЗУ. Короче говоря, современные программируемые калькуляторы хоть и не настольные компы и даже не смартфоны, но явно им ресурсов MSP430 будет маловато. Куда там с этими 8Кб ОЗУ сунуться то. Да и примеры использования от HP 30b до DM 42 говорят не в пользу MSP430. Хотя для каких то штук вроде реплик МК-61 и МК-52 - MSP430 смотрится интересно.

Ну ДШ открываем на 5310 и смотрим

– Active Mode (AM) – High-Frequency Crystals up to 32 MHz All System Clocks Active
– 195 µA/MHz (Typical) at 8 MHz, 3 V, Flash Program Execution
– 115 µA/MHz (Typical) at 8 MHz, 3 V, RAM Program Execution

И это не standbay, это Active!

А standbay там от 1,9 мка до 0,18 мка

Опять же это не FRAM серия, там все значительно интересней. Вот например FR573x или FR572x

Active Mode 81.4 µA/MHz

Понятно что от кол-ва FRAM это число будет зависеть очень сильно, ее же питать надо.
Кроме того там FRAM от 64К до 256К, совсем про RAM можно забыть, он там чисто номинально что бы уж совсем снизиться до неприличных значений потребления.

Кроме того мы можем снизить частоту хоть до сотен герц если уж так понадобиться, а какие тут будут числа не берусь прогнозировать. Любая запись во флеш будет значительно больше отъедать и по времени и по потреблению.

Любительская поделка ни в коем случае не синоним слова "халтура", я бы сказал так про профессиональные поделки по крайней мере в России :)

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

Но 32 бита это сильный избыток, очень сильный. Как правило разрядность чаще всего связывают с возможностью адресации, 32 бита - соответственно 4Гб. Мне в повседневной жизни такое видится только на серьезных устройствах, где микроконтроллерам не совсем место. Кроме того msp430 это все таки 24-разрядное по адресному пространству ядро. Это очень важно, так как 64К (максимум возможной адресации в 16 разрядах) я соглашусь крайне малое адресное пространство даже для любительских задач!
Второй аспект, с которым очевидно связывают разрядность это ширина ШД и это правильно, потому что сложение и умножение 32 битных величин в некоем роде преимущество. Но вот интересный вопрос, а как часто нам приходится в любительской практики прибегать к таким большим числам? Как правило мы крутимся в разрядности от 8 до 16. Что же произойдет если на 16 разрядном МК вдруг понадобится сложить 32-битное целое? Да ничего особенного мы просто сделаем это за два такта в отличии от АРМ-Cortex. Но.... и дьявол в мелочах, оперировать с байтом и словом нам приходится на много чаще, а значит по тактно мы от АРМ не отличаемся в этом случае. Что же в итоге только тактовая частота, 80МГц АРМ-Cortex против например 25МГц msp430. На вид казалось бы трехкратное превосходство, но.. на самом то деле индиректная константа в АРМ это поход за извращениями и превращается либо в загрузку из памяти, либо в заглатывания менее разрядного ее обрубка. И еще что характерно я говорил про "тумбу" а ведь "тумба" это не 32-разрядные машинные слова, это 16-разрядные машинные слова. Это сделано для того что бы сильно рыхлый код ARM поджать. Но соответственно это так же зажимает диапазон индиректной константы. И она становится сильно куцей да еще и разной для разных типов операций. Это конечно же потеря функциональности системы команд. И вот тут преимущество АРМ Thumb слегка стирается, как правило константы мы глотаем очень часто - особенно если это ЯВУ и не очень качественная оптимизация в нем.
Таким образом не такое уж и высокое превосходство у ARM-Cortex против msp430. Скажем от 1,5 до 2,5 раз. Да оно есть, и между прочим оно еще и заключается в цене - что для любителя ОЧЕНЬ ВАЖНО! Но мы не говорим тут напрямую о превосходстве 32 р-р против 16. И 32-бита Thumb это так скажем что то очень виртуальное. Это особенно понимаешь если до этого видел и работал с ARM в его родной системе команд.

А вот тут бы я как раз настаивал на применении STM32 потому что это 1,5-2,5 превосходство все таки очень важно, уж больно реплика с эмулятором МК-61 получается медленная по сравнению с МК-161.

А вот и для FRAM - Active Mode 81.4 µA/MHz

Хотя если у MSP430 вся память сохраняется в режиме 100-200 наноАмпер, то STM32L4 так не может, чтобы хранить всю память ему требуется на порядок больше. Но и памяти у MSP430 с гулькин нос. ИМХО для калькулятора это как то уныло. Для STM32 всегда можно взять более мощный чип, а для MSP430 по производительности и количеству памяти упираемся жёстко. Хотя какая разница, я вообще за модульность, может быть можно написать такую же виртуальную Форт машину для MSP430 (или приспособить уже готовый Форт) и оно будет работать одинаково и на STM32. Клавиатура, экранчик и прочие штуки общие, а процессорные модули можно менять (да и экранчики тоже).

MSP430 хороший контроллер как архитектурно так и по системе команд и периферии (всё таки близок к идеям PDP-11)
Предполагаю STM32 может легко ему "слить" если рассмотреть + потребление периферии и её качество.
В целом кристалы MSP430 дороже кристалов STM32
Для MSP430 есть как открытые реализации Форт так и коммерческие.
Например http://www.mpeforth.com/arena.htm с ограничениями в Lite версии, которые можно нивелировать.
Количество памяти для реализации полноценного ядра Форт системы нужно не много.
и это вполне жизнеспособный вариант контроллера, особенно если вычисления укладываются
в целочисленную арифметику с фиксированной точкой (масштабируемую).
У Броуди в книге они достаточно хорошо рассмотрены.

P.S. Но в калькуляторе может быть и применение вместе разных контроллеры одновременно. :)
Даже 32-разрядный SPF4 под Windows занимает в exe файле порядка 110 Kб, но это сложный Форт
со многими уже встроенными возможностями и при этом больше половины этого кода встроенный макрооптимизатор.
Сжатие подобного варианта SPF4 для КолибриОС в исполняемый файл приводит к размеру около 24Кб! (не убирая оптимизатор)

Очень эта шутка понравилась может читать с SD словари Форта, да и вообще FAT встроена в Forth.
https://gitlab.com/Jean-Michel/FastForthForMSP430fr5xxx

Вы наверное думаете что у msp430 - 16 битное адресное пространство, нет это не так, оно давно уже 24-битное. Один из последних SDK на FR-ке, FRAM - 256К. Куда больше то?

Забавно, что я сам недавно был ярым сторонником этой архитектуры, у меня есть и отладка с экранчиком. Но как и с AVR по большому счёту STM32 победил. Совсем низкое потребление MSP430 во время сна может быть оправдано только в простых устройствах вроде датчиков, работающих годами от таблеточной батарейки, для калькулятора режима STOP1 ~микроампер STM32L4 с сохранение памяти более чем достаточно, для 1 таблетки 220мА.ч оно может ждать около 20 лет!!! Арви вон вообще с MCS-51 мучается. Кто на чём умеет, однако.

Не умею я MCS-51. Для меня все эти три архитектуры одинаково незнакомы. Каллисто-2 будет первым моим серьёзным приложением под 8051. Если бы дело заключалось в «умениях», здесь безразлично, с чего начинать.

«Мучаюсь» я с W77, как вы выразились, лишь потому, что устройство на них серийно выпускается — пусть и мелкосерийно. Здесь уже пройден тот длиннющий путь от задумки и рабочего прототипа до конечного продукта, который сторонники других архитектур ещё даже и не начинали.

Ну и белорусские, украинские и отечественные аналоги МК51 — как приятный бонус!

и как они смогут перепрошить свои "калькуляторы"
на другую прошивку? От Семико ждать поддержки не приходится.

У кого кристалл на панельке — его можно вынуть и заменить на кристалл с загрузчиком. После чего апдейты прошивки будут заливаться по COM-порту.

У кого новые модели, где кристалл распаян, там придётся отнестись к делу творчески. Вчера, например, наблюдал «прошитую» Nintendo 3DS, на которой была запущена русифицированная «Зельда». К её русификации японский производитель не имел никакого отношения. Это большой труд независимого коллектива переводчиков, «компьютерных» художников и хороших программистов.

Сперва для таких прошивок 3DS'ок требовалась работа с железками. Потом научились делать программно.

Именно msp430 используется в нашей телеметрии (СКЗ, БГРП) отечественной наиболее широко, но не шире конечно чем AVR. Датчики давления НПК ВИП весь спектр на нем. Это очень хороший контроллер и великолепная архитектура, я Вас уверяю. STM32 я тоже люблю, но наибольшее удовольствие от кодирования вызывает именно msp430, потому что как совершенно верно тут уже заметили - это почти что PDP-11.

А у нас для низкопотребляющих датчиков используется STM32. Не знаю насчёт удовольствия, но
задача решается. В бизнесе про удовольствие программиста никто не хочет слышать :-)

В общем я предлагаю прийти к выводу, что все решения хороши, выбирай на вкус. И если делать калькулятор, то врядли там будет проблемой выбор контроллера, можно и такой и сякой установить. Я вот сейчас работаю над просто воспроизводимой любителями нормальной клавиатурой, экранчик у меня тоже не привязан к процессору. В итоге можно всем миром наделать корпусов с клавиатурой, экранчиком и т.п. и каждый приделает свою плату контроллера и будем пилить прошивки :-) У меня аж 5 вариантов контроллера(включая FPGA) и 4 варианта экранчиков :) Вообще напрашивается толстячок вроде корпуса МК-61, чтобы платы точно влезли по высоте вместе с экранчиком и клавиатурой. Стоимость клавиатуры оцениваю: 3D печатные детали допустим 100 рублей, мембраны по рублю за штуку допустим 40 рублей, плата ЛУТ, допустим 100 рублей. В общем около 250 рублей без шелкографии на кнопках, экспериментирую с отвердевающей маской сейчас. Ну может быть 300 рэ за всю клавиатуру выйдет. Явно не повод просить за всю машинку 14 тысяч :-)

А почему именно воспроизводимой любителем - тут бы лучше не колхозить получится в итоге МК-161.
Пусть клавиатура будет заказная или просто взять корпус любого более менее дешевого калька с Ali. Ну или уж в крайнем случае заказать всем миром клавиатуру-корпус что бы это было как можно дешевле. Ну даже 1 т.р. я думаю людей с Кон-Тики устроит, если это будет действительно удобная легкая клава.

Как раз корпус хочется какой надо, а не какой получится, а заказная клавиатура обойдётся небось дороже, чем МК-161. И как левая клавиатура подойдёт к корпусу от неизвестного МК ?
И МК-161 плох не "колхозным" исполнением, а тем что производитель запаял капот и ограничил его мощность выбором грустного микроконтроллера, ну и корпус страшноват конечно, но по качеству у меня претензий нет. Я вовсе не боюсь на этом этапе сделать что то некачественно и не так, я боюсь вообще ничего не сделать в итоге !!!

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

Ну а МК-161 плох именно своим исполнением. Не важно что там 8051 или STM32 одинаково не приятно жмакать на толкатели кнопок непосредственно. Это выглядит как решение "и так сойдет", разработчики МК-61 и МК-52 при том уровне технологий себе такого не позволили. А "Семико" позволил.

Это не унифицированная, а никакая клавиатура, ни один дешёвый калк с Ali не имеет клавиатуры пригодной для ПМК

3ГГ0Г wrote: Явно не повод просить за всю машинку 14 тысяч :-)

Интересно, а представители Семико читают данный тред? :)

Не хотелось бы отвечать за чей то инфракт :-)

В принципе исходники процессора на верилоге есть, осходники форта тоже. Можно сделать железку подешевле и туда его вклячить.

Forth направленности и в FPGA их можно разместить достаточно много
организовав на поддержку специфики задач системы - одно ядро на одну задачу.
(ядро ввода/вывода данных по портам, ядро работы с интерфейсами типа SPI, I2C, ядро вывода графики, и др.)
Некоторые Forth ядра перечислены здесь http://www.forth.org/cores.html

ИМХО надо выбрать простейшее решение, понятное всем и на нём отработать идею. Кроме того неплохо бы соорудить этому Форт процессору аппаратные Таймеры,UART,USART, SPI, I2С, драйверы экранчика и т.п., чтобы цеплять периферию. Я тут накачал всяких примеров на Verilog, это не слишком сложная задача, всё уже придумано до нас, надо только учесть конкретные для данной платы тайминги. Одно дело париться с этим аппаратным добром на убогом языке МК с численными регистрами, другое дело, когда ассемблером является Форт, можно удобно организовать всё железное хозяйство, дать нормальные имена и соорудить нечто вроде HAL, чтобы можно было запускать ядро и на контроллере и на ПЛИС. Форт настолько гибок и могуч, что я не сомневаюсь в такой возможности. Представляете что можно сделать в плане калькулятора аналогичного HP 50g, если процессор конструируем мы сами !!! К тому же та же BCD арифметика будет непосредственно поддерживаться в железе.

Тут я что-то сомневаюсь. В качестве примера - сфера мобильной связи. Уже не первый производитель, включая Гугл, грозился порвать рынок модульными смартфонами, но практика и здравый смысл показывают, что эта идея не идет.

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

Всё правильно - это неправильное применение модульности. Модульные смартфоны - это ж идиотизм. Видели, у них камеры на магнитиках крепятся, нифиг мне надо, чтобы при доставании из штанов у меня камера отвалилась. А вот модульные Ардуины и всякие ПЛК почему то продаются миллиардными тиражами. С умом надо применять концепцию размножения,а не в лоб.

То в качестве комплекта выбрал бы CPLD от "Хилых" CoolRunner исключительно из за микропотребления. Но тут другое имеющийся симулятор на PC и например на msp430 - это все таки программа для микропрограммного автомата. Таким образом встает вопрос а на чем же будет сделано ЗУ. Сколько оно будет потреблять. Что это будет ОЗУ или ПЗУ. Вероятно ПЗУ. Тогда имеем примерно следующую конфигурацию платформы возможно 3 шт CPLD, и ОЗУ - скажем 64-128Кб + ПЗУ. Может быть они будут SPI но это резко усложнит устройство.

Вопрос какую же прибавку к скорости мы получим? Вероятно по частоте в 2-3 раза (50-75МГц) и по совершенству архитектуры (т.е. при переводе последовательной программы для МК в автомат на ПЛИС) раз наверное в 100. И того 200-300 раз. При затратах на msp430 на известный тест 5-6 сек (если не забыл) получим в худшем случае 0.03 сек.

Для реализации Форт процессора потребуется пара сотен логических ячеек. Лучше подойдёт что то вроде XC3S50AN-4TQG144C , 1728 макроячеек, около 64Кб всякой памяти, 500 памяти флэша, минимальное напряжение 1.2 вольта. От 9 штук в терраэлектронике стоит около 337 рублей, дешевле чем иной микроконтроллер. Или готовый модуль Core3S250E где уже есть всё нужное для жизни, включая 216Кбит блочной памяти - у китайцев ~1300 рэ за штуку, либо 1700 у барыг в Терраэлектронике от 4 штук. Либо MOD-VGA-32MB за 1500 в Терраэлектронике (можно заказать в Olimex без памяти за те же деньги). В общем модули есть, можно использовать. Есть исходники J1, надо попробовать соорудить девайс на софтовом процессоре или комбинировать ПЛИС и микроконтроллер.

54 кбита BRAM памяти, это 6Кбайт.

Для всяких регистров процессора более чем достаточно. Для системного ОЗУ лучше приделать ещё микросхему SRAM с параллельным интерфейсом, это будет не дорого.

Для регистровой памяти пользуются триггерами ПЛИС, BRAM - для кода и данных. Но прикрепить сверху SRAM мало, нужно еще и ПЗУ, иначе откуда лить старт? Вот для этого BRAM и надо, оно заливается с конфигурационной ППЗУ.

Вообще насколько я знаю реализация регистров - это вопрос компиляции в САПР, оно может и блочной памятью реализоваться. Заливать имеет смысл разве что кэш инструкций, а потом брать код из ПЗУ, но для этого не надо много памяти, нет смысла сливать всю ПЗУ в память процессора. В общем не вижу необходимости в большом количестве блочной памяти для простого процессора.

J1 работает на ПЛИС с 32К блочной памяти. Так что судите сами сколько там спрайтовый буфер, сколько само ядро Форта.

Спрайтовый буфер нам особо не нужен, если что можно его во внешнем ОЗУ реализовать. Особенно если калькулятор будет с e-ink экраном. Лучше блочную память под какой нибудь кэш использовать, FLASH штука не быстрая, можно кэшировать инструкции как ESP8266, правда не знаю получится ли с Фортом, ибо он работает нелинейно, кэшировать слова что ли. Или можно сделать аппаратный стек. Первые уровни регистрами, а глубже - блочной памятью :-)

Для FPGA придется использовать конфигурационное ЗУ (как правило), оно содержит конфигурацию мультиплексоров шин ПЛИС, данные в LUT и конечно же данные блочной памяти. Т.е. у Вас уже есть ПЗУ по факту, которая при подаче питания заливает ПЛИСину, в том числе и ее блочное ОЗУ. Если там размещены нули, ну значит там будут нули, но мне кажется смысла терять это преимущество нет. В противном случае придется приделывать сбоку ПЗУ и будет уже два ПЗУ - конфигурационное и стартовое с загрузчиком ядра. Есть смысл?

Если регистры разместить в блочной памяти - то доступ к ним на чтение, даст потерю одного такта. В случае когда это просто триггеры и запись и чтение - 1 такт. Кроме того память блочная делится на фрагменты по 1К и 2К, и терять 1К на 8 регистров, не очень то здорово. В противном случае что бы не терять придется выставлять их в адресное пространство процессора - что опять не очень то удобно.

Спрайтовый буфер не нужен, но думаю что 6К на ядро Форта, хватит с очень сильной натяжкой, куда же девать данные и программы пользователя?

Кроме того начали то разговор вроде бы про МК-61 в ПЛИС, а закончили Форт машиной :) Так все таки что именно нужно получить и почему если Форт то обязательно в ПЛИС?

Заполнить "кэш" удобно заодно с конфигурацией плисины, но всё ПЗУ в конфигурационное не влезет. Поэтому их всё равно будет два :-) Насчёт регистров в блочной памяти вы правы, блочная память не для этого, но вообще регистры бывают разными, можно разделить их на две части, одни "оперативные" (кэш), другие типа "резервные", пускай для них будет латентность 1 такт, пока колбасишь на небольшом количестве триггерных, можно подсасывать из кэша.

Форт не обязательно в ПЛИС, но ИМХО удобно его сделать железным, быстрее будет работать, всякие спец. ништяки можно будет туда добавить. Как вариант архитектуры для любительской машинки.

Не совсем понимаю что подразумевается под кешем. Как правило это часть ОЗУ работающая на высокой частоте (небольшая по размеру поскольку дорогая) и каким либо алгоритмом дублирующая информацию из ДОЗУ. Если ПЗУ будет два то получается довольно приличный форм фактор - внешнее ОЗУ, внешнее ПЗУ (видимо параллельное), внешнее конфигурационное ЗУ. Может уж взять с запасом какой нибудь старый третий спартан с 36К-56К или свежий Spartan-6. И все внутрь - хотя бы разводить не придется кучу дорог.

Ну РОН то не бывает больше 32 регистров, по крайней мере в ембеддед это своего рода рекорд Атмела, куда больше 8 регистров для Форт машины?

Я понимаю что железный Форт это интересно! Но с потреблением любой FPGA он будет в формате калька не функциональным - просто выжрет батареи в раз. Я почему писал про CoolRunner серию потому что Хилые действительно с этими CPLD-шками добились там ощутимого прогресса. И вот там то как раз нет никакого встроенного ЗУ и придется навешивать что то снаружи, плюс - не будет конфигурационного ЗУ.

Пускай питается от розетки, будет настольным вариантом. Разве СЕМИКО может похвастать наличием FPGA, который можно использовать как систему быстрого захвата чего то или генерации цигналов и т.п. Если туда заделать Форт и какие то конфигурируемые программно примитивы, может выйти интересная штука. Как вариант модуля, основного или приставочного. Кстати я не в курсе, у них может есть режимы сна ?

у ПЛИС или у стационарного устройства (калькулятора)? У ПЛИС единственная возможность уснуть - снизить частоту до минимума, либо выключится совсем.

Если это приставка, то ориентируйтесь на Спартан-6 наборов разработчиков на нем масса на Али и стоят до от 1,3 до 2,5 т.р. Дешевле вряд ли собрать самому.

Вы забываете, что можно тактироваться медленее. Почему бы вместо сна не замедлить тактирование до килогерц ? Вот смотрю у Spartan-6 есть ещё режимы Suspend и Hibernate

У ПЛИС единственная возможность уснуть - снизить частоту до минимума

Неправильно воспринял, торопился. А по большому счёту так оно и есть у всех процессоров. У ПЛИС вероятно можно ещё один финт сделать, отключить тактирование каких то блоков, не будучи задействованными, они должны теоретически перестать кушать. А новых Xilinx есть ещё конфигурирование на ходу, например можно на ходу сконфигурировать большую часть схемы на пустоту, возможно это снизит потребление (????) Надо провести эксперименты.

платка с памятью у них продавалась дороже (на 1500 т.р),
и возможно там неразбериха с этим артикулом. У меня без памяти, но допаять можно
и не обязательно туже память на контактные площадки (можно и что нибудь более замысловатое хоть контроллерную составляющюю)

Вообще такое ощущение, что лучше найти способ самостоятельного производства таких вещей, потому что у Olimex цены какие то конские, по сути они даже больше, чем на те же платки в Терраэлектронике (видимо распродают остатки), кстати не стоит забывать Aliexpress.

Лазерным гравёром выжигать (в наличии, но не опробовал)
или УФ лазером засвечивать.
Тема уже боле менее обатана на радиокоте http://radiokot.ru/forum/viewtopic.php?f=8&t=119089
Сейчас есть условия и возможность собрать такой вариант (на механике гравёра, чтобы не мастерить свою)
и расширить функциональность авторского кода программы и убрать некоторые шероховатости интерфейса.
Код этого проекта со стороны PC написан на авторском Форте, со стороны STM32 на Keil C компиляторе.
Думаю и со стороны STM32 применить тоже Форт на оригинальном железе или на отладочных платах что есть в наличии.

P.S. Цена в терре такая наверное ещё до поднятия цен была сформирована, но товар завис на складе.

Заказать многослойные платки у китайцев. А компоненты напаивать самостоятельно. Выйдет гораздо дешевле, чем платить за готовые. ЛУТом и прочими народными средствами это будет слишком грустно (хотя тоже вариант). Если будет хороший тираж, то компоненты и платки станут очень дешёвы. Для привлечения народа можно попробовать не только Форт процессор с блэкджеком, но и что то вроде ПЛИС на ПЛИСе, чтобы из Форта можно было как бы конфигурировать железяку. Интересно можно будет какой нибудь VGA контроллер вылепить ????

+1 за многослойки у китайцев

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

Хотелось бы на него посмотреть как он выглядит в Verilog. Сумматор то куда не шло :)

Интересно. Но что не нравиться, так это то что девайс в конец осмартфонился, выпилить клавиши F1-F6, которые давно стали классикой - странная идея. Когда я на своем Casio/HP/TI могу спокойно нажать F2-F3 и, к примеру, отмасштабировать график, тут надо продираться крестовиной через менюшки. А ведь клавиатура - одно из преимуществ железного калькулятора для меня.

Есть два пути развития: интуитивные интерфейсы и продуктивные интерфейсы. Продуктивные интерфейсы требуют некой экосистемы. Таковая была в калькуляторах HP. Все эти софт-меню и функциональные клавиши - замечательная идея. Позволяет быстро организовать вещи. Второй удобной штукой является RPN стек, он позволяет разложить нужное в другой плоскости, затем клавиши для операций над этим всем. Нажатия клавиш можно записывать в последовательные программы, сами программы являются также вещами над которыми можно проводить операции. Чудесная среда и они её практически уничтожили в HP Prime превратив в дурацкий смартфон с тачскрином. Сам по себе тачскрин штука неплохая, но если убрать всё остальное получается не инструмент для удобной и продуктивной работы, а бесполезная видеоигра. Так что мы можем сделать ПМК снова великими, доделав то что не захотел сделать HP :-)