PDA

Просмотр полной версии : Компьютер "ZXM-Amethyst" - Обсуждение



Mick
18.03.2021, 13:00
Тут на досуге размышлял, вроде не так уж и плох процессор КР580ВМ80А, но про него все пытаются забыть. А ведь многие на нем начинали. И хотелось бы ему как то продлить жизнь.
Понятно что 3 питания не сильно радуют, но при наличии современных деталей, как например преобразователь MC34063 это становится не проблемой.
А в свете последних опытов (тема по даунгрейду Ленинграда), то вообще вполне себе проц может тряхнуть стариной, некоторые отечественные экземпляры разгоняются до 5МГц, а импорт вообще до 7МГц.
Так вот изначально я планировал сварганить клон Ориона на повышенной частоте ВМ80А, но похоже надо немного повременить, а лучше попытаться сделать некую девборду-комп по типу ZXM-Jasper - https://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html
Там идея заключалась в том что на основной плате находились процессор, память, слоты расширения, разъемы, а вся логика была в сменяемом модуле. Изначально я ориентировался на модули формата игрового автомата Игрософт.
Так же и тут поступить. Вся логика в сменяемом модуле, а на основной плате процессор и микросхемы ввода вывода. Но в отличии от собрата на Z80, тут планируется применить олдскульные микросхемы ввода-вывода.
Я прикидывал размеры, к сожалению надо ориентироваться на формат микроATX 190x190мм, иначе не влезут слоты и буферы.

Спецификация в основном будет повторять ZXM-Jasper, но со своими особенностями:

1. Процессор КР580ВМ80А или импортный аналог
2. ПЗУ 512кб
3. ОЗУ две микросхемы статического ОЗУ по 512кб
4. Музыкальный сопроцессор AY-3-8912
5. Аналоговый пред усилитель
6. Магнитофонный вход на 561ЛН2, магнитофонный выход
7. Выход VGA разъем
8. 8 битный видео (максимально 256 цветов)
9. ОЗУ палитры
10. Слот SD карты
11. PS2 клавиатура на микроконтроллере PIC16F88
12. Слоты шины NemoBus (адаптация) для унификации оборудования
13. Управление питанием ATX на микроконтроллере PIC16F88
14. Контроллер шины I2C на микросхеме PCF8584
15. Часы на микросхеме DS1307
16. Датчик температуры процессора на DS1624
17. Микросхема памяти NVRAM AT24C256
18. Форм фактор microATX 170x190мм

Итак несколько моментов подробнее. Как я сказал вся логика располагается на сменном модуле, т.е. можно создавать и разгонять комп как сами захотите.
Шина NemoBus подразумевает естественно адаптацию. если например сигналы MREQ и IORQ мы можем получить из статусного регистра ВМ80А, а вот с о старшими адресами при обращения к портам тут придется извернуться.
Идея такова, ставится регистр старшего адреса порта и в момент обращения к портам он будет перехватывать старшие адреса. Для этого нужно как минимум старшие адреса буферизировать.
Есть некое неудобство в обращении к портам например звуковой карте на которой стоит AY с портами BFFD и FFFD. В них придется писать/читать в два захода, сначала старший адрес, затем уже данные.
Но это плата за унификацию. Конечно, это можно сделать только на слоты, а на внутренние ресурсы оставить обычные 8 битные порты.

В общем, если есть интерес, высказываемся. Можете для начала поглядеть как выглядит ZXM-Jasper, для представления что планируется.
Короче, КР580ВМ80А должен достойно уйти на покой :)

Проект схемы - https://disk.yandex.ru/i/OYJDziE0Au_D4A

Эскиз платы

https://i.ibb.co/xfwphjW/zxm-amethyst-top.png (https://ibb.co/xfwphjW)

https://i.ibb.co/DgmJhrp/zxm-amethyst-bot.png (https://ibb.co/DgmJhrp)

Xrust
21.03.2021, 23:31
11. PS2 клавиатура и мышь на микросхеме типа 80C42 (от старых материнок)
Я бы предложил атмегу поставить. Во-первых 80C42 сейчас уже сложно найти, во вторых на атмегу можно и управление питанием повесить, в том числе от клавиатуры, можно и мышь подключить.

CodeMaster
22.03.2021, 00:31
В общем, если есть интерес, высказываемся.
Знаешь, а мне вот сейчас стало жутко интересно, а как ты имена своим компам выбираешь?

Mick
22.03.2021, 07:56
Я бы предложил атмегу поставить. Во-первых 80C42 сейчас уже сложно найти, во вторых на атмегу можно и управление питанием повесить, в том числе от клавиатуры, можно и мышь подключить.

Можно конечно, все обсуждаемо. Я выбирал тот вариант исходя из немногочисленности плат, которые могут быть выпущены на которые можно найти те самые 80С42, вернее их аналоги.
Во вторых, мегу же надо программить, а с этим могут быть проблемы. Если конечно кто то возьмется, то не против.
Безусловно на нее можно было повесить много чего. Но в любом случае я не отказываюсь. Схему я потихоньку рисую, посему еще не все определено.
Так что высказываемся что будет лучше. У меня также куча есть AT89C52, которые тоже можно пристроить на это дело, но там еще все туманнее в плане кодинга.

- - - Добавлено - - -


Знаешь, а мне вот сейчас стало жутко интересно, а как ты имена своим компам выбираешь?

Тут как мысль ляжет, но в данном случае, я решил пройтись по камням, вернее продолжить тему, так как похожим был комп ZXM-Jasper (яшма). Вот очередь дошла до аметиста

TomaTLAB
22.03.2021, 21:17
Во вторых, мегу же надо программить, "Дуньку" туда воткнуть бутербродом, как вариант, для совсем ленивых - pro nano - на ней уже конвертер USB - UART_TTL есть и бутлодер, для прошивки.


... ZXM-Jasper (яшма). Вот очередь дошла до аметиста От Я до А :)

Xrust
22.03.2021, 23:48
Во вторых, мегу же надо программить, а с этим могут быть проблемы. Если конечно кто то возьмется, то не против.
Можно Атмегу 328 из ардуины использовать. Библиотеки все необходимые есть, только выбирай, с какой работать удобнее. Прошить можно программатором Громова на худой конец.

Еще меня сомнения берут на счет слотовой конструкции. Я вот столкнулся с лужеными платками памяти на Орион-128, их приходится перетыкать через день, чтобы не глючили. А золоченые платы удовольствие дорогое. Может лучше что-то другое использовать? Например, такой сквозной разъем и собирать бутербродики.

74996

Mick
23.03.2021, 07:25
Еще меня сомнения берут на счет слотовой конструкции. Я вот столкнулся с лужеными платками памяти на Орион-128, их приходится перетыкать через день, чтобы не глючили. А золоченые платы удовольствие дорогое. Может лучше что-то другое использовать? Например, такой сквозной разъем и собирать бутербродики.

По сути так и было в ZXM-Jasper как второй вариант, он имеет право на жизнь. Только там двухрядные разъемы.

https://d.radikal.ru/d34/1801/99/c060db5d9550t.jpg (https://d.radikal.ru/d34/1801/99/c060db5d9550.jpg)

https://a.radikal.ru/a00/1801/12/64933a8e3de0t.jpg (https://a.radikal.ru/a00/1801/12/64933a8e3de0.jpg)


Но слоты я ставлю затем, чтобы штатное железо от Спектрума (звуковые карты, контроллеры) можно было бы использовать. Так сказать унифицировать.

- - - Добавлено - - -


Можно Атмегу 328 из ардуины использовать. Библиотеки все необходимые есть, только выбирай, с какой работать удобнее. Прошить можно программатором Громова на худой конец.

Можно как вариант нарисовать два варианта схемы, для олдскульщиков с 80с42 и для ардуинщиков на AVR.
А потом выбрать какой или не выбирать :)

NEO SPECTRUMAN
23.03.2021, 10:22
Знаешь, а мне вот сейчас стало жутко интересно, а как ты имена
вон буржуины вообще обзывают свои спектрумы гомодосами :v2_lol:

Mick
26.03.2021, 08:12
Можно как вариант нарисовать два варианта схемы, для олдскульщиков с 80с42

Первый лист схемы нарисован, ссылка в первом посте. Это пока теоретический вариант для обсуждения.
После прочтения этой темы https://zx-pk.ru/threads/13148-radio-rk-86-kompyuter-s-protsessorom-1821vm85.html не так прост оказался PS/2 контроллер.
Если мы хотим использовать мышь то выбор таких микросхем резко сокращается.
К сожалению даташита на JetKey не нашел, остаются только два варианта - VT82C42 от VIA и W83C43 от Winbond. Они на али есть, правда по цене 300-400руб за чип.

Касательно схемы, есть некая избыточность в микросхеме ОЗУ палитры, там по идее надо микросхему меньшей емкости надо искать но чтобы была шустрой (12-20нс), но не нашел сходу. Вроде у cypress они были.
Сигналы M1/, MREQ/, IORQ/ формирует CPLD на основе статуса данных CPU и нужны для шины NemoBus.
Также введен регистр старшего адреса, который будет подменять старшие адреса при обращении к портам.

Короче, смотрим обсуждаем.

- - - Добавлено - - -

Касательно atmega328 я так понимаю предлагается использовать готовые модули типа такого? - https://aliexpress.ru/item/32807103267.html?spm=a2g0o.productlist.0.0.70481a5 8bfNSxM&algo_pvid=dddae142-4732-44ee-b313-e50fb76897a3&algo_expid=dddae142-4732-44ee-b313-e50fb76897a3-48&btsid=0b8b036316167352800181549e4e5d&ws_ab_test=searchweb0_0,searchweb201602_,searchweb 201603_&sku_id=64430584531

TomaTLAB
26.03.2021, 21:06
Вот такого: https://aliexpress.ru/item/32840745322.html?spm=a2g0o.detail.0.0.391f1f71QD4Q 3k&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.169870.0&scm_id=1007.13339.169870.0&scm-url=1007.13339.169870.0&pvid=4aa55beb-4e42-449d-a693-434a80f19439&_t=gps-id:pcDetailBottomMoreThisSeller,scm-url:1007.13339.169870.0,pvid:4aa55beb-4e42-449d-a693-434a80f19439,tpp_buckets:21387%230%23218179%230&_ga=2.70362131.2085106457.1616780147-446216667.1577308968&sku_id=65081315272 бонусом получаем USB-UART и для прошивки меги, и возможно, для отладки. Или для работы вообще без руля и ветрил клавы и дисплея через терминал.

Mick
27.03.2021, 08:10
бонусом получаем USB-UART и для прошивки меги, и возможно, для отладки. Или для работы вообще без руля и ветрил клавы и дисплея через терминал.

Там вроде есть такие же модули только с WiFi на NRF24l01.
Это конечно хорошо, но как связывать с основной платой. Если у контроллера PS/2 есть шина данных, то тут вроде как нет. Тогда либо ее имитировать, либо через SPI но получится через ПЛИС.
И сколько там свободных ног останется, если навесить на нее управление питанием, PS/2 клава и мышь. Схему бы этих модулей.

Кстати изначально в варианте с контроллером PS/2 подразумевал использовать attiny для управления питанием ATX и связываться с ней по I2C через PCF8584P.
Функции attiny планировал такие:
- управление питанием;
- анализ датчика температуры процессора (размещается под процессором);
- управление вентилятором (это так сказать проба пера, чтобы при разгоне процессора не так ему было жарко, в принципе может и не понадобиться);
- обмен информацией по I2C (какая температура, программное выключение компьютера).

TomaTLAB
27.03.2021, 16:36
либо через SPI но получится через ПЛИС. Тогда уж проще в самой ПЛИС и PS/2 и UART организовать. Побудка с клавы - буржуазное излишество :) есть - хорошо, нет - ну и хрен с ним.

Xrust
27.03.2021, 23:05
Касательно atmega328 я так понимаю предлагается использовать готовые модули типа такого? - https://aliexpress.ru/item/328071032...id=64430584531
Нет, планировалась именно сама атмега без всякой обвязки. Корпус - кому какой нравится. Можно DIP-28, можно TQFP-32. Для программирования можно использовать SPI, либо прошить бутлоадер и через UART. Чтение кода клавиши можно осуществлять из порта, вот только я не до конца уверен в скорости работы библиотечных функций. Надо бы поэкспериментировать. В крайнем случае, можно регистр дополнительный поставить, вроде ИР22.

- - - Добавлено - - -


Кстати изначально в варианте с контроллером PS/2 подразумевал использовать attiny для управления питанием ATX
Это все можно на атмегу повесить.

Mick
28.03.2021, 08:49
Тогда уж проще в самой ПЛИС и PS/2 и UART организовать. Побудка с клавы - буржуазное излишество есть - хорошо, нет - ну и хрен с ним.

Про побудку я не говорил, а только про выключение.
Ставить ПЛИС на саму плату я не планировал, ибо это уже будет нечто похожее на ZX Evo от NedoPC. Тут концепция как бы сменяемой ПЛИС или CPLD. Как вариант можно продублировать сигналы KBD_CLK, KBD_DATA, MS_CLK и MS_DATA на ПЛИС. То есть, если толстая ПЛИС и нет W83С43 можешь реализовать там.

- - - Добавлено - - -


Это все можно на атмегу повесить.

Я думаю не стоит ибо не стоит перегружать функционалом основную мегу. К тому же можно этот вариант использовать и с PS2 контроллером.
Тут поглядел, на примете attiny26 сервисного контроллера.

- - - Добавлено - - -


Нет, планировалась именно сама атмега без всякой обвязки. Корпус - кому какой нравится. Можно DIP-28, можно TQFP-32. Для программирования можно использовать SPI, либо прошить бутлоадер и через UART. Чтение кода клавиши можно осуществлять из порта, вот только я не до конца уверен в скорости работы библиотечных функций. Надо бы поэкспериментировать. В крайнем случае, можно регистр дополнительный поставить, вроде ИР22

Тогда изложи свой вариант на схеме. Чтобы понятно было как и что.

Кстати, у PIC раньше были контроллеры с шиной данных, типа PIC16F77 (PIC16C74), если не ошибаюсь.

Xrust
28.03.2021, 18:39
Я думаю не стоит ибо не стоит перегружать функционалом основную мегу.
Ну, эти функции сильно ее не нагрузят, если что. Гораздо важнее адекватная работа с клавиатурой и мышью.


Тогда изложи свой вариант на схеме. Чтобы понятно было как и что.
Хорошо, попробую.

- - - Добавлено - - -

Планируется ли использовать прерывания для работы с клавиатурой/мышью?

Mick
28.03.2021, 21:07
Планируется ли использовать прерывания для работы с клавиатурой/мышью?

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

- - - Добавлено - - -


Гораздо важнее адекватная работа с клавиатурой и мышью.

Вот именно, пусть уж функциями питания займется мелкий таракан.

Romych
28.03.2021, 22:55
вон буржуины вообще обзывают свои спектрумы гомодосами :v2_lol:
Кто-то Мика уже опередил (https://www.hackster.io/news/amethyst-is-a-custom-8-bit-computer-built-on-an-atmega1284-microcontroller-58e3c91c0e2a)

Mick
31.03.2021, 19:58
Тут немного поразмыслил и:
- нашел микросхему статики меньшей емкости для палитры - CY7C128A (2Kx8), хотя используется только 256 байт.
- в качестве системного контроллера вместо attiny26 подумал лучше использовать atmega48V, она лучше доставаема.

Напомню, системный контроллер будет общий для обоих вариантов плат и выполняет следующие функции:
- управление питанием ATX блока питания;
- контроль температуры процессора через датчик LM35, который подается на вход АЦП
- управление включением вентилятора (лучше я так полагаю включить его на выход таймера, чтобы так сказать можно будет управлять скоростью вращения вентилятора)
- контроль напряжения питания CPU (5В, 12В и -5В)
- связь по шине I2C в режиме slave через PCF8584
- программное выключение питания

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

Кроме того по идее запитать CPU лучше как ZX-8080, то есть через преобразователи, по крайней мере есть возможность подстраивать.

Но это так фантазии и если что не так, то возражайте.

Mick
03.05.2022, 13:47
Короче, после долгих раздумий, я отказался от микросхемы PS2, а оставил текущий контроллер PIC16F88.
Убрал порт джойстика, вместе него поставлена микросхема контроллера I2C шины, а также на эту шину повесил
DS1624 - датчик температуры (он будет располагаться под процессором), для контроля температуры процессора (нужен в основном для исследовательских целей)
DS1307 - часы
AT24C256 - независимая от питания память
Никаких преобразователей питания, штатный ATX блок питания, с которого берутся +5В, +12В и -12В. Из -12В через стабилизатор 79L05 будем получать -5В
Шина адреса и данных процессора буферизирована, а при обращение к портам введен регистр старшего адреса - чтобы можно было общаться с портами в диапазоне 0000....FFFFh

Схему обновил в первом посте. Просьба посмотреть, вдруг чего упустил. И тогда начну плату разводить.

Mick
08.05.2022, 19:09
Так, коли возражений не было, посему развел платку. По сути я изменил плату от компа ZXM-Jasper в новых реалиях. В отличии от Jasper плата у Аметиста получилась шире на 2 см, то есть 170x190мм
Датчик температуры разместил под процессором.
Схему в первом посте обновил.

Ниже привожу эскиз получившейся платы.

https://i.ibb.co/xfwphjW/zxm-amethyst-top.png (https://ibb.co/xfwphjW)

https://i.ibb.co/DgmJhrp/zxm-amethyst-bot.png (https://ibb.co/DgmJhrp)

TomaTLAB
08.05.2022, 21:54
Серийный номер планируется от руки вписывать? Если так, то лучше "S/N:" оставить в металле, а поле для вписывания просто вскрыть от маски до текстолита. Тогда там можно хоть карандашом писать будет :)

Mick
09.05.2022, 09:21
Серийный номер планируется от руки вписывать? Если так, то лучше "S/N:" оставить в металле, а поле для вписывания просто вскрыть от маски до текстолита. Тогда там можно хоть карандашом писать будет :)

Да эта фишка от Феникса осталась. По сути не нужна, но оставил. Я тогда фломастером подписывал :)

TomaTLAB
09.05.2022, 14:03
Вообще, комбинируя металл, вскрытую маску и шелкуху можно весьма красивые логотипчики, например, делать. Только не забывать, что вскрытая маска и шелкуху заодно сносит. В районе DA3, кстати, R28 и еще какие-то, если производитель вскроет переходные -снесет шелкуху. Ну и черная/белая маска закрывает почти напрочь все, что под ней.

Mick
19.05.2022, 09:07
Заказал печатные платы, что же остается только ждать.

Mick
23.05.2022, 11:41
Китайцы платы сделали и отправили. Ждемс.

Mick
14.06.2022, 21:21
Ну наконец то печатные платы пешком из Китая дошли до Внуково. Надеюсь в ближайшее время их получить

Mick
18.06.2022, 14:18
Получил платы

Фото на скорую руку

https://i.ibb.co/YPkq9DF/P6180275.jpg (https://ibb.co/YPkq9DF)
https://i.ibb.co/W5CmfxF/P6180274.jpg (https://ibb.co/W5CmfxF)

Теперь сборка

Mick
29.06.2022, 21:11
Собрал плату, пока вот так

https://i.ibb.co/BG6bg63/DSCN0235.jpg (https://ibb.co/BG6bg63)