Изобретем микрокалькулятор - 3.

Первая статья на тему "Изобретем микрокалькулятор" была опубликована в НиЖ 1989-10, вторую попытку мы предприняли на нашем сайте 3 года назад. Недавний опрос, предложенный Виталием, вызвал к жизни обсуждение темы. Предлагаю попытаться формализовать пожелания, причем не отрываясь от реальностей состояния российского производства. Начнем с позиционирования.

Понятно, что МК-161 куда больше программируемый контроллер управления периферией, чем ПМК в современном понимании этого термина. Поэтому нет смысла предъявлять претензии типа "почему нет бейсика и математического пакета". Потому что для контроллера они не нужны.

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

Функционал

  1. Стековая организация вычислений, длина стека ограничена только свободной памятью.
  2. Хранение на стеке объектов любых типов в т.ч. и процедурных
  3. Переменные - именованные ячейки памяти вместо регистров
  4. Язык уровня RPL/Forth/Lisp, минимально - символьный бейсикоподобный
  5. Редактирование и отладка программ на устройстве.
  6. Простой математический пакет, минимально, работа с графиками пользовательских функций, операции с дробями, решение уравнений (возможно заимствование части функционала одного из свободных пакетов для ПК).

Мощность "железа"

Видимо, процессора с частотой порядка 100 МГц и ОЗУ/ППЗУ в десятки мегабайт должно хватить на все калькуляторные задачи. "Думаю, 640Кбайт ОЗУ будет достаточно всем" (с) Б.Гейтс :))

SDK

Архитектура включает в себя монитор и загрузчик операционной среды. С ПМК идет "стандартная" среда, реализующая функционал.
Возможность программирования на ЯВУ уровня Си/Паскаль своей среды, компоновки в двоичный модуль и последующей его загрузки.

Связь со внешними устройствами

  1. С ПК по стандартному шнурку мини-USB. При этом ПМК может быть виден как виртуальный COM-порт, это не существенно, скорее программирование COM-порта будет даже проще сторонним разработчикам.
    Возможен вариант шнурка нестандартного, тогда необходима возможность его свободной покупки в интернет-магазине.
  2. Поддержка карт SD.

На самом деле, если есть связь с ПК, то карты не так важны, можно обойтись и без них. В идеале - оба варианта (шнурок и карта), минимум - только карта или только шнурок.

Эксплуатационные характеристики

  1. Питание либо от 2-3 таблеточных батареек типа CR2032 как в CASIO FX-7000G или HP-12C, либо от 3-4 батареек/аккумуляторов ААА (нужен опрос?).
  2. Подзарядка во время подключения к ПК

Внешний вид

Хороший дизайн еще никому не вредил. Изделие даже в корпусе советского МК-61 выглядело бы весьма привлекательно, несмотря на толщину. Пожелание может быть в уменьшении этой толщины.

Цена

2000-3000 руб.

Все высказанные пожелания и уточнения будут внесены в список по мере поступления и обсуждения. Флейм будет удаляться.

Комментарии

Советский МК-61 для меня является одним из образцов дизайна. До сих пор глаз радует на моем столе :)
Я бы дополнил раздел Связь с внешними устройствами - СОМ-порт и (гулять так гулять) шинами I2C и SPI.

Питание - от батареек ААА

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

Дребезг. Лучше бы МК-61 мозги радовал, а не глаза. Дребезг клавиатуры и выключателя питания, ненадёжность разъёма питания. Дизайнер там больше о красоте думал, чем работоспособности. Довольно обидно в пятый раз набивать 98-шаговую программу исключительно потому, что выключателю пришло в голову пошалить.

В МК-161, возможно, клавиши не так красивы, зато работают надёжно. Хотя отдельная механическая кнопка на каждую клавишу это далеко не самое дешёвое решение клавиатуры. Вряд ли кто-то кроме "СЕМИКО" так сейчас делает в калькуляторах.

Не припомню проблемы с переключателями, особенно в свете постоянных издевательств над "Р-ГРД-Г" в псевдодинамических играх. Клавиши в обоих моделях 61/52 были не самые лучшие, для меня "идеалом" является клавиатура типа как МК-51/71/85.

Я в своём МК-52 1989 г. выпуска заменил собственноручно сначала переключатель П-Д, а спустя некоторое время и выключатель питания. Разобрав неработающие выключатели я выяснил, что в них при пайке на заводе попал флюс на коромысло и создал проблемы с контактами (коромысло закисло до черноты). После замены выключателей прошло 17 и 12 лет соответственно и теперь они работают безупречно.

Мои программируемые калькуляторы:
Б3-21, Б3-34, МК-61, МК-52, МК-85
CASIO: cfx-9850GB+, fx-9750G+, fx-9750GII, fx-9860G, Algebra fx-2.0, fx-5800P, fx-7400G+
HP: 50G, 48G, 35s
TI: Nspire-CAS, Voyage-200, 89Titanium
SHARP EL-9600G

30мгц хватит ,иначе будет быстро сажать батарею.

Предметно. Какой-то беспредметный разговор. В первую очередь надо определиться с архитектурой процессора. Тогда можно говорить об энергопотреблении его версий на 30 и 100 МГц. Опять же, толку от 100 МГц, если он простейшие команды выполняет за четыре такта? Да и 30МГц 8-битной игрушки заметно отличны от 30 МГц 32-битного монстра — увеличивать производительность можно также за счёт разрядности, снижая частоту.

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

Про батерейки же замечу, что это геморрой. На них не всегда есть деньги и время. У меня HP 50g валяется, некогда батарейки заменить и проверить работоспособность. Пальчиковые аккумуляторы — развлечение ещё то, многочасовое и регулярное. Тоже перестал использовать. Вот МК-161 заряжаю регулярно, как и мобильник. Для идеального решения в нём не хватает разъёма, чтобы менять убитые аккумуляторы или апгрейдить, как в ноутбуках и мобильниках.

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

А писать новый калькулятор можно на ОСи с говорящим названием: http://www.contiki-os.org/p/about-contiki.html
Заодно и сетевые возможности богатые :)

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

Кстати. Она, кстати, даже на MSP430'х существует. Если мы об энергопотреблении думаем...

Изобретём. Собственно, абстрактные мысли по поводу перспективных моделей - это замечательно.

Но кто мешает сделать шаги на пути к их реальному осуществлению.

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

2. Организовать акционерное общество "Гигантские растения" "Современный калькулятор", пусть даже неформальное. Собрать средства, достаточные для заказа минимальной партии базовых платформ. На этом этапе, кстати, можно соразмерить желаемое и возможное. Если окажется, что реальным рублём/евро идею поддержать никто не захочет - будут понятны и перспективы затеи.

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

Кроме того, если не формулировать заранее жёсткие требования к ПО, сделать запас по ресурсам и оставить платформу открытой, то вопрос о том "каким-должен-быть-любимый-калькулятор" отпадёт автоматически: "пусть расцветает сто цветов". Вдобавок, любители смогут свободно переходить из одного проекта в другой, если будут существовать альтернативные варианты прошивок.

4. Далее остаётся согласовать ТЗ, заключить договор (к примеру, с нашим предприятием ;) ) и после изготовления партии получить открытую аппаратную платформу для последующего написания ПО коллективом желающих. Практически нефункциональную на первом этапе, зато относительно недорогую и заведомо одинаковую для всех.

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

Всякое случается, например контора Чубайса начала выпуск замечательных гибких планшетов на базе "электрочернил". Если доведут дело до массового выпуска со снижением цены - молодцы. Я бы и сейчас такой за 12 т.р. купил с удовольствием.

Plastic LogicЭто такой тонкий троллинг? ;)

До обязательных закупок родителями под угрозой карательной ЮЮ доведут, конечно.

"Кроме того, ни глава «Роснано», ни журналисты, которые принялись расхваливать «убийцу айпэдов» в своих репортажах на федеральных телеканалах, почему-то не упомянули о том, что производить российские электронные учебники будет британская компания Plastic Logic, которой выпал счастливый шанс получить от российской госкомпании $700 млн. на строительство той самой фабрики в Зеленограде. Что интересно, первый продукт Plastic Logic — электронная читалка The Que ProReader — должен был поступить в продажу еще в 2010 году, однако на выходе он оказался совершенно неконкурентоспособен в сравнении с прямыми аналогами. Цена ее зашкаливала за $800, что было абсолютно нелогично на фоне вышедшего в том же году настоящего Ipad (у которого функционал на порядок больше обычной «читалки»), реализуемого от $500. Выход ProReader многократно откладывали, а через некоторое время выпуск и вовсе был отменен.

И вот провалившееся британское устройство, словно Феникс, возродилось в виде российской компьютерной разработки, которая призвана вытеснить все школьные учебники из школьных портфелей. «Роснано» в январе уже получила долю в Plastic Logic (около 25%, по данным Financial Times) в обмен на $150 млн. инвестиций и гарантии по кредитам на $100 млн. С началом строительства зеленоградского завода притекут и остальные $450 млн. Для сравнения, на эту сумму можно было бы закупить 3,5 млн. простых «читалок» за рыночные $200 (при крупнооптовых поставках) и обеспечить треть всех школьников России такими же устройствами."

http://www.mk.ru/politics/russia/article/2011/08/19/615999-uroki-shkolno...

Войны с iPad'ами > Цена ее зашкаливала за $800, что было абсолютно нелогично на фоне
> вышедшего в том же году настоящего Ipad (у которого функционал на
> порядок больше обычной «читалки»), реализуемого от $500.

Здесь можно, конечно, позубоскалить. Но выход iPad'а держался в секрете до первой минуты его презентации -- это не EeePC. И уж никто (особенно в Великобритании) не мог представить, что Джобс решит сыграть на обороте и продавать свою таблетку по $499. Раньше Apple всегда держала высокие цены, обеспечивая качеством престиж богатству.

Это был серьёзный и неожиданный удар по рынку, у Plastic Logic не было шансов. Раз проект был рассчитан на $800 за устройство, разработка была невероятно дорогой. Работали на Barnes & Noble, крупную американскую книжную сеть. Значит, и тираж хотели выпустить крупный. И ни копейки вернуть не удалось. Не удивительно, что британцам пришлось продаться Чубайсу для этих махинаций с госзаказом.

За 12 тыр ничего, кстати, в розницу не будет. Это условная сумма для поставок на гос. дотации. На сайте "коммерческой" фирмы не только нет магазина, вообще никаких упоминаний, что их устройство можно купить или заказать.

Для детей же важна защита от падений, ударов и царапин. Видели бы вы, что они с казёнными партами и стульями делают. :-) Порадовали учебники по ИЗО и физкультуре здесь:
http://plasticlogic.com/news/press-kit.php

Никаких проблем с айпадом не было, пересечение у них небольшое. Проект "похоронил" Амазон, предлагая киндл со службами за полцены, пусть даже и стеклянный.

Киндл продаётся ниже себестоимости (и окупается с ебуков) потому, что iPad установил цену, выше которой продавать читалки нет смысла. Т.к. функционал iPad'а куда выше читалки. А киндл и нук там, кстати, есть.

iPad ничего не "устанавливал". Во-первых, это другой тип устройств, появившийся много позже "читалок". Во-вторых, на рынке "читалок" - десятки конкурирующих производителей. Вот их конкуренция и определяет рыночую цену.

Прочитал. Цены 150-300 €, то есть ниже европейского iPad'а. Внутри этого типа устройств, да, идёт конкуренция между ними. Но и между разными типами идёт соревнование и за деньги покупателя, и за место в сумке.

Кстати, это общий пункт. Мы можем сколько угодно говорить, что калькуляторы или фотоаппараты это отдельный вид устройств. И это так. Но на рынке массы скажут, что и калькулятор, и фотоаппарат у них уже есть -- встроены в мобильник. И им хватает. Более того, подобный подход ограничивает объём продаж, а через это увеличивает стоимость (не удаётся выпустить много) и уменьшает цену (должна быть меньшей, чем у устройства-"киллера").

Если интересно, могу рассказать об одном типе отдельного устройства, нишу которого полностью убило приложение для iPhone. При цене приложения $5 такие устройства, стоившие $200, просто перестали покупать и производить.

У планшетов и "читалок" (универсальные ЭВМ) впереди конвергенция. А вот у калькуляторов (спецЭВМ) такого не видится.

Просто пример, что и кроме Семико в России кто-то занимается инновациями и производством. Вдруг решат, что кроме планшета российскому школьнику, как и его западному собрату, нужен современный ПМК.

Новый микропроцессор? Михаил Борисович, что Вы думаете по поводу гипотетического применения MDR32F9Q2I (аналог 1986ВЕ92У в "пластмассе") в качестве процессора для гипотетической новой модели ЭКВМ? В 2011 была выпущена опытная партия в 150 штук MDR32F9Q2I, стоимостью 165 рублей, правда, пока неизвестно, когда наладят серийное производство этой микросхемы.

Гипотетическое применение гипотетической микросхемы в гипотетической ЭКВМ выглядит весьма перспективно. :)

Если серьёзно, применять микросхему, которая не выпускается серийно, нет смысла: проблем с комплектацией и без того хватает.

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

Относительно гипотетической новой модели разговоры шли неоднократно. Только никто пока не собрался подкрепить абстрактные пожелания конкретным заказом. Делать за свой счёт узкоспециализированный калькулятор - с блекджеком и графиками - не вижу смысла. Особенно на фоне существования достаточно мощных портативных компьютеров и без каких-либо перспектив сбыта подобного устройства даже в количестве десятка-другого экземпляров.

Может кому будет интересно. Вот товарищи тоже разрабатывают калькулятор. Разница только в том, что они взяли за основу уже существующий калькулятор, в котором была обнаружена возможность изменять стандартную прошивку на свою. И вот что из этого вышло:

http://www.youtube.com/watch?v=16TedDU_gV8&feature=related

это чего, реклама Эпла? :)

не только он также рассказывал про проекты на Visual Studio, так что не только Apple. Насколько я понял, итоговая машинка получилась несколько слабее, чем МК-161 — но не в два раза.

Скорее в 6-7 раз быстрее:

-
- 15.28 MK-161 Keystroke / RPN / Ver.1.03
- 14.91 MK-152 Keystroke / RPN / Ver.1.15
- 14.65 MK-152 Keystroke / RPN / Ver.1.05
- 2.3 WP-34S Keystroke / RPN / Real Mode
- 2.1 WP-34S Keystroke / RPN / Integer Mode

Программа, регистры. По скорости, возможно. A регистров примерно столько же. Правда у МК-161 есть ещё байтовые регистры и электронный блокнот. Программной памяти половина от МК-161, причём значительная часть отдана под библиотеки.

В 5,2 и ~5,7 раза, соответственно. Доброе Утро !

МК-161 - 11,96 секунды.

Таким образом, WP-34S оказывается быстрее, соответственно, в 5,2 и ~5,7 раза, чем МК-161.

_________________
Dima Masalov
FIDO-NET - 2:461/43.9
E-MAIL - mds at ire dot kharkov dot ua

Доброе Утро !

_________________
Dima Masalov
FIDO-NET - 2:461/43.9
E-MAIL - mds at ire dot kharkov dot ua




Интернет в гостинице не очень, не досмотрел видео до конца. Так это чисто хобби проект, или HP каким-то образом спонсировала разработку?
Впечатляет.

HP-20b навскидку 43 фунта на ибэе. Ну 45 для ровного счета. 2200 рублей.

Интересно, что на Amtel-овском ARM-е сделан:
Processor
Atmel 30MHz, low-power AT91SAM7L128 ARM7 System on chip
Display
1.5 lines x 12 characters + 3 exponent; 7-segment bottom line, 8 character scrolling top line

Потребление радует:
Power supply
2 x CR2032 batteries; Battery life: average of 9 months

Да, в такое вот надо мигрировать МК-1хх

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

Это полностью кустарная разработка на чистом энтузиазме. HP никакого отношения к ней не имеет. Хоть не мешают и то хорошо.

Я читал, что они туда запихнули. Количество функций в этой машинке просто поражает воображение. Но это, конечно, делается на профессиональном уровне. У них в toolset входит GCC, Eclipse, GDB с отладкой на девайсе. Для энерго-сбережения они динамически варьируют частоту процессора. Используют разные трюки, типичные для embedded разработки.

> HP-20b навскидку 43 фунта на ибэе.

На амазоне HP-30b (у него кнопки лучше) за $30.

> Да, в такое вот надо мигрировать МК-1хх

У него примитивная система комманд. WP-34s взял за основу HP-42s, у которого была самая продвинутая система комманд для RPN калькулятора в своё время.

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

Меня вот интересует, почему устройство на 30-МГц АРМ почти в 6 раз быстрее устройства на 22-МГц 8051.

МК-161 можно тоже считать открытой платформой - даже схема доступна. Теоретически можно разработать альтернативную прошивку :)

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

Платформа > почему устройство на 30-МГц АРМ почти в 6 раз быстрее устройства на 22-МГц 8051.

Потому, что в ARM большинство команд выполняется за один такт (слово "RISC" заложено даже в название). У базового ядра 8051 - за 12, у использованного нами fast - за 4.

Ещё полтора раза даёт разница по частоте. Итого: 4*1,5=6.

При этом ARM7 имеет 32-битное ядро, а 8051- восьмибитное. Так что вопрос, скорее, как на таком хорошем ядре авторы WP-34S ухитрились написать такой медленный код. ;)

Контроллеры AT91SAM7 вполне можно использовать для калькуляторов серии МК-1xx и др. Если бы любителям китайско-калифорнийских калькуляторов всё это было нужно, разумеется:
http://pmk.arbinada.com/node/801/3878#comment-3878.

ЭКВМ, как Вы заметили, тоже открытая платформа. Никто не мешает написать к ней свою прошивку за три часа, на Java.

Кстати, контроллер в плату МК-1xx не впаивается, так что заменить его на другой несложно. Если сделать в такой прошивке загрузку через порт, некоторые владельцы, возможно, даже захотят поучаствовать в отладке.

Насчет прошивки за три часа - это круто, мы графическую морду к ВК-6 уже года два всей деревней написать не можем :)

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

Это местный юмор: http://mk-152.livejournal.com/278.html#V6

Мордочку к ВК-6, конечно, стоит написать - если руки дойдут.

P.S. Идентификатор получили? (http://mk-152.livejournal.com/41405.html )

Еще не смотрел, в командировке руки не доходят, вечером посмотрю

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

Вопрос больше для АтН, но спрошу тут: а где хостится ВК-6 проект? Может, по аналогии с mk61avr, выложить на ГуглКод? Там же и морду начать разрабатывать, опенсорсной деревней?
Как будущий владелец 161й, я бы еще сильнее был не прочь иметь полноценный (почти) эмулятор.

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

ВК-6. Хостится на сломавшемся сервере, за которым мой ученик присматривал. :-) Сейчас жду, починит он его (там код чуть новее) или буду заново с 0.30 развивать. Ссылки на релизы выкладываются в жж, потом их Михаил Борисович к себе забирает.

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

Но ничто не мешает выложить морду Лазаруса или iOS в базар ГугльКода. Просто багрепорты по самому вычислительному ядру надо будет присылать мне, чтобы новый код ВК-6 могли использовать разработчики всех остальных интерфейсов.

ЯВУ > При этом ARM7 имеет 32-битное ядро, а 8051- восьмибитное. Так что вопрос, скорее,
> как на таком хорошем ядре авторы WP-34S ухитрились написать такой медленный код. ;)

Возможно, непродуманное использование Си или другого языка высокого уровня. Или продуманное — типа «ассемблер это вчерашний день, в XXI веке всё должно тормозить!» :-)))

Язык С. На ассемблере тоже можно написать очень медленную программу, как и на С быструю.
К примеру, мой МС-1105 с системой команд МК-152 выполняет N-Queens за 3.26 секунд, выполняя при этом 30288 операций с 64-битной плавающей точкой. Причем написан на С и работает на AVR с тактовой частотой 7.37MHz. Увеличив тактовую до 20MHz, максимальную для ядра AVR, получим время выполнения 1.2 секунды.
ARM на этом же алгоритме по прикидкам даст производительность в районе 6500 оп*MHz/Cекунда
Естественно, _грамотно_ переписав это же на ассемблере, можно получить прирост производительности процентов на 30.