Page 1 of 1

Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Fri, 20.04.2018 18:25:08
by Mick
В этом году будет как 10 лет Фениксу, поэтому была выпущена новая ревизия.
Эта тема создана для обсуждения процесса сборки и настройки, а также эксплуатации

Производством занимался Павел Рябцов
Фото платы:

Image

Тема продажи: http://zx-pk.com/forum/viewtopic.php?f=7&t=10102

Косяки и методы устранения:
1.) Вместо сигнала H7 в формирователе сигнала SG/ на плате участвует BC, что неправильно. - этом мой косяк при переносе схем.
Исправляем: Необходимо отрезать дорожку от вывода 5 DD74.3 (ЛН1) и подать на него сигнал H7, например от вывода 9 DD2 (ИЕ19)
2.)При установки микросхемы DD75 (ЛП16) и панельки под DD11 (ATMEGA8515) могут возникнуть определенные неудобства. Нижняя перекладина панельки будет немного задевать. Посему либо ее аккуратно выламываем, либо острым ножом подрезаем.
3) Микросхема DD60 должна быть строго КМОП серии, я использовал КР1594ТМ9
4) Микросхема DD1 должна быть строго КР1531ЛН1
5) Микросхема DD74 должна быть строго КР1531ЛН1 иначе проблемы с 2 мб памяти.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Fri, 20.04.2018 22:16:43
by MVV
Mick wrote:Фото платы:

По решению на три года должны заблокировать активы российских сайтов "ВКонтакте", "Одноклассники", "Мейл.ру" и "Яндекс" и запретить интернет-провайдерам предоставлять доступ к указанным ресурсам. Больше читайте здесь: https://ru.tsn.ua/ukrayina/v-yandeks-uk ... 60263.html

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Sat, 21.04.2018 01:49:23
by TS-Labs
Mick, клади фотки в форум.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Sun, 13.05.2018 08:55:15
by Mick
Итак, вчера дособрал Феню и промыл. Пока не включал.

Image

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Mon, 14.05.2018 15:56:03
by Voyager
Красиво. Теперь, что бы взлетела, надо об не стакан шампанского разбить. Тонким слоем конечно. XD

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Mon, 14.05.2018 21:53:29
by Mick
Voyager wrote:Теперь, что бы взлетела, надо об не стакан шампанского разбить. Тонким слоем конечно


А вот сглазил ты. Не взлетел. Похоже что то с синхрой. надо будет доставать осцил. :(

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Wed, 16.05.2018 10:34:41
by Voyager
:whine:

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Mon, 21.05.2018 22:24:50
by Mick
Итак разобрался с синхрой. Короче не могу без мгтф видимо. При переносе в 6 ревизию узлов с 5 ревизии не туда нарисовал соединение. Так что один порез и проводок нам уже обеспечен.
Прошил в ПЗУ тест DiagROM - вроде ошибок нет. Но при прошивки обычного ПЗУ улетает в Бейсик 48. Надо смотреть дальше.

P.S. Запустил для интереса DiagROM в турбо режиме. О чудо, похоже турбина работать возможно будет без шаманства и на КР1533ИР33.
Но это будет видно когда нормальная ПЗУ работать станет.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Tue, 22.05.2018 21:46:12
by Mick
Забавно. Зашил сегодня систему в ПЗУ с 90 нс и вуаля - работает. А вот с 70нс ПЗУ сваливается в 48 бейсик.
Уточню, что пока речь идет о AT29C512-90 и AT29C512-70. Так вот вторая похоже слишком быстрая.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Wed, 23.05.2018 12:30:21
by TS-Labs
Mick wrote:Так вот вторая похоже слишком быстрая.

Если это шутка, то троллинг очень тонкий.

Посмотри осциллом, что на выходах обоих микрух.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Thu, 24.05.2018 20:08:33
by Mick
TS-Labs wrote:Если это шутка, то троллинг очень тонкий.


Нашел другую микруху 70нс. С ней нормально. Проверил на программаторе проблемную. А у ней часть прошивки слетело. Похоже померла от старости.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Sat, 26.05.2018 10:17:19
by Mick
В первом посту начал выкладывать описание косяков. Они будут добавляться по мере дальнейшего исследования платы.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Sat, 26.05.2018 11:14:45
by Mick
Наваял прошивку для альтеры. Предупрежу сразу, что она только для этой ревизии плат. В ней добавлена поддержка ПЗУ 512кб (порт 37h)
Проверил, вроде в турбе SD работает.
Но обнаружилось, что обновлять Флешку не получится программно - забыл завести два проводка. В прошиве альтеры два недостающих входа описал. Когда дойдет дела до оновлялки, то придется их подпаять.
Пока правда еще работаю с AT29C512 (64Кб), надо будет поставить 512кб на проверку.

Вот сырки:
Code: Select all
----------------------------------------------------------------------------------------------------------------------------
-- Описание:  Прошивка микросхемы CPLD
-- Проект: ZXM-Phoenix 1024kb rev07
-- Автор: Mick
-- Тип CPLD: EPM3064ATC44
-- Версия: v1.00  -  26.05.2018
----------------------------------------------------------------------------------------------------------------------------
TITLE "ZXM-Phoenix 1024kb System Array Logic";

SUBDESIGN dd71
(
   -- Входная тактовая частота CLK
    CLK_14MHZ : INPUT;

   -- Сигналы управления с CPU
   CA[6..4] : INPUT;
   CD[7..0]  : BIDIR;
   C_RD    : INPUT;               % сигнал чтения %
   C_WR    : INPUT;               % сигнал записи %
   C_MREQ    : INPUT;               

   -- Общие сигналы
    C_RESET  : INPUT;

   -- Сигналы управления
   C_DOS    : INPUT;               % вход селектора TR-DOS %
   CS_X7    : INPUT;               % вход селектора портов %
   C_A45    : INPUT;               % вход селектора обращения к ПЗУ %

   -- Сигналы SD Card
    SD_CS   : OUTPUT;
    SD_SCK  : OUTPUT;
    SD_MOSI : OUTPUT;
    SD_MISO : INPUT;

   -- Сигналы управления ROM памятью
    ROM_A16 : OUTPUT;
    ROM_A17 : OUTPUT;
    ROM_A18 : OUTPUT;
    WR_ROM  : OUTPUT;

    )

VARIABLE

   -- Регистр страниц xx37h микросхемы ROM ( страницы по 16кб)
    WR_37         : LCELL;
    ROM_PAGE_r[2..0]: DFF;
    ROM_WrEn_r      : DFF; --разрешение записи в ПЗУ(7 - бит)

    REG_sddata[7..0] : TRI; -- буфер чтения SD карты
    DATA_CPU[7..0]   : TRI_STATE_NODE;     

   -- SPI интерфейс карты
    WR_77      : LCELL;
    WR_57      : LCELL;
    RD_57      : LCELL;
    CS_57      : LCELL;
    SD_count[3..0]      : DFFE;
    SD_shift_in[7..0]   : DFF;
    SD_shift_out[7..0]  : DFF;
    SD_start_sync    : DFF;
    SD_count_en    : LCELL;
    SD_rule_r        : DFF;

BEGIN

    ------------------------------------------------------------------------------------
    --                      Управление памятью ROM
    ------------------------------------------------------------------------------------
    -- Порт xx37h = 00110111b
    ------------------------------------------------------------------------------------
    WR_37 = !(CA[6..4] == B"011") # C_WR # CS_X7;

    ROM_PAGE_r[2..0].d     = CD[2..0];
    ROM_PAGE_r[2..0].clk   = WR_37;
    ROM_PAGE_r[2..0].clrn  = C_RESET;

    ROM_WrEn_r.d      = CD[7];
    ROM_WrEn_r.clk    = WR_37;
    ROM_WrEn_r.clrn   = C_RESET;
    ------------------------------------------------------------------------------------
    -- Формирование управляющих сигналов ROM памяти
    ------------------------------------------------------------------------------------
    ROM_A16 = C_DOS # ROM_Page_r[0].q;      -- сигнал RA16 = DOS # RPage0;
    ROM_A17 = !C_DOS & ROM_Page_r[1].q;      -- сигнал RA17 = DOS/ & RPage1;
    ROM_A18 = !C_DOS & ROM_Page_r[2].q;      -- сигнал RA18 = DOS/ & RPage2;
    -----------------------------------------------------------------------------------
    -- Сигнал записи в ПЗУ
    ------------------------------------------------------------------------------------
    WR_ROM = !ROM_WrEn_r.q # C_A45 # C_WR # C_MREQ;    -- сигнал WRROM/ = A45 # WR # MREQ # !RWREN
    ------------------------------------------------------------------------------------
    --  Интерфейс SD карты, работает на частоте 14МГц   
    ------------------------------------------------------------------------------------
    -- Порт xx57h = 01010111b
    ------------------------------------------------------------------------------------
    CS_57 = !(CA[6..4] == B"101") # CS_X7;
   
    SD_start_sync.d   = !CS_57;
    SD_start_sync.clk = CLK_14MHZ;
    -----------------------------------------------------------------------------------
    -- Счетчик
    ------------------------------------------------------------------------------------
    SD_count_en = SD_count[0].q # SD_count[1].q # SD_count[2].q # !SD_count[3].q;

    SD_count[].clk  = !CLK_14MHZ;
   SD_count[].ena  = SD_count_en;
   SD_count[0].clrn = !SD_start_sync.q;
   SD_count[3..1].prn = !SD_start_sync.q;
    SD_count[].d = SD_count[].q + 1;
    ------------------------------------------------------------------------------------
    -- Входной сдвигающий регистр
    ------------------------------------------------------------------------------------
    SD_shift_in[].clk   = CLK_14MHZ;
    IF SD_count[3].q ==0 THEN
       SD_shift_in[].d = (SD_shift_in[7-1..0].q,SD_MISO);
   ELSE
      SD_shift_in[].d = SD_shift_in[].q;
    END IF;
    ------------------------------------------------------------------------------------
    -- Выходной сдвигающий регистр = xx57h = 01010111b
    ------------------------------------------------------------------------------------
    WR_57 = CS_57 # C_WR;

    SD_shift_out[].clk = !CLK_14MHZ;
    IF WR_57 ==0 THEN
       SD_shift_out[].d = CD[];
    ELSIF SD_count[3].q ==0 THEN
       SD_shift_out[].d = (SD_shift_out[7-1..0].q,VCC);
      ELSE
             SD_shift_out[].d = SD_shift_out[].q;
    END IF;
   
    -----------------------------------------------------------------------------------
    -- Вывод данных в SD
    ------------------------------------------------------------------------------------
    SD_MOSI = SD_shift_out[7].q;
    ------------------------------------------------------------------------------------
    -- Выходная частота SD
    ------------------------------------------------------------------------------------
    SD_SCK = CLK_14MHZ & !SD_count[3].q;
    ------------------------------------------------------------------------------------
    -- Процесс записи в порт управления SD карты = xx77h = 01110111b
    ------------------------------------------------------------------------------------
    WR_77 = !(CA[6..4] == B"111") # CS_X7 # C_WR;

    SD_rule_r.d = CD[1];
    SD_rule_r.clk = WR_77;
    SD_rule_r.prn = C_RESET;

    SD_CS = SD_rule_r.q;

      ------------------------------------------------------------------------------------
      -- Чтение из буферного регистра
      ------------------------------------------------------------------------------------
    RD_57 = CS_57 # C_RD;

    REG_sddata[].in = SD_shift_in[].q;
    REG_sddata[].oe = !RD_57;
    DATA_CPU[] = REG_sddata[].out;

    CD[] = DATA_CPU[].out;

END;

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Mon, 28.05.2018 20:49:58
by Mick
Сегодня что то сотворил непонятное, теперь при загрузки диска пишет постоянно

C Nonsense in BASIC, 10:2

Числа типа 10:2 меняются в зависимости от запускаемое программы

В каких случаях происходит эта неразбериха?

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Tue, 29.05.2018 18:07:26
by Mick
Гы гы, опять слетела прошивка в ПЗУ. Сегодня проверил ее на программаторе, она опять побилась. Вот отсюда и взялась неразбериха в Бейсике.

Тут либо совсем стали старые AT29C512 (2001 года выпуска), что рушится прошивка, либо фиг его знает.

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Mon, 22.06.2020 21:48:02
by Mick
Немного официальности :)

Все когда нибудь заканчивается, вот и подошел к завершению мой проект - спектрум совместимый компьютер ZXM-Phoenix
С момента рождения этого компьютера вышло 8 ревизий, начиная с пробной, которая вышла в начале 2009 и заканчивая rev07 ревизией, вышедшей в 2018 году. Я хотел завершить еще в 2018 году сей проект, но как то не срослось. И вот спустя два года, в 2020 допилил его на сколько это возможно, чтобы поставить жирную точку. Конечно комп получился не без изъянов, есть свои особенности. Так вот внес все исправления в последнюю rev07 ревизию и теперь финальная, по крайней мере я надеюсь, имеет обозначение rev07.1
Позже на свой сайт выложу все материалы по плате, а пока картинки разводки.


Image

Image

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

Re: Компьютер "ZXM-Phoenix" - Сборка и настройка платы rev07

PostPosted: Fri, 03.07.2020 08:45:54
by Mick
Немного отчетности.

1. Из 4 типов глючных планок памяти осталось две вот такие.

Image

По одной они работают, но в паре с другими и друг с другом нет. Причину пока назвать не могу.

2. Вот так я распял с обратной стороны КР1533КП7. Возможно кто то сделает более изящно, я как смог.

Image

3. Одна перемычка на землю. Кондер на всякий пожарный. Другие перемычки земли и питания глобального эффекта не дают.

Image

В общем нацарапал я документик по исправлениям 07 ревизии - http://micklab.ru/file/zxm_phoenix/z...rev07annex.pdf
Надеюсь понятно, если что спрашивайте.

Кроме того выложил все материалы по ревизии 07.1: схема, печатка и герберы. Все на странице - http://micklab.ru/My%20Computer/ZXMPhoenix.htm
За сим проект я завершаю. Об итогах 12 летней работы в общей теме про Феникс.