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

Все вопросы, связанные с ресурсом micklab.ru

Moderator: Mick

Postby Mick » Fri, 20.04.2018 18:25:08

В этом году будет как 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 мб памяти.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby MVV » Fri, 20.04.2018 22:16:43

Mick wrote:Фото платы:

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

Postby TS-Labs » Sat, 21.04.2018 01:49:23

Mick, клади фотки в форум.
User avatar
TS-Labs
 
Posts: 5301
Joined: Thu, 26.07.2012 01:29:56

Postby Mick » Sun, 13.05.2018 08:55:15

Итак, вчера дособрал Феню и промыл. Пока не включал.

Image
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Voyager » Mon, 14.05.2018 15:56:03

Красиво. Теперь, что бы взлетела, надо об не стакан шампанского разбить. Тонким слоем конечно. XD
User avatar
Voyager
 
Posts: 21
Joined: Tue, 16.08.2016 09:24:14
Location: Я быть из московская область однако.=-)

Postby Mick » Mon, 14.05.2018 21:53:29

Voyager wrote:Теперь, что бы взлетела, надо об не стакан шампанского разбить. Тонким слоем конечно


А вот сглазил ты. Не взлетел. Похоже что то с синхрой. надо будет доставать осцил. :(
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Voyager » Wed, 16.05.2018 10:34:41

:whine:
User avatar
Voyager
 
Posts: 21
Joined: Tue, 16.08.2016 09:24:14
Location: Я быть из московская область однако.=-)

Postby Mick » Mon, 21.05.2018 22:24:50

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

P.S. Запустил для интереса DiagROM в турбо режиме. О чудо, похоже турбина работать возможно будет без шаманства и на КР1533ИР33.
Но это будет видно когда нормальная ПЗУ работать станет.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Tue, 22.05.2018 21:46:12

Забавно. Зашил сегодня систему в ПЗУ с 90 нс и вуаля - работает. А вот с 70нс ПЗУ сваливается в 48 бейсик.
Уточню, что пока речь идет о AT29C512-90 и AT29C512-70. Так вот вторая похоже слишком быстрая.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby TS-Labs » Wed, 23.05.2018 12:30:21

Mick wrote:Так вот вторая похоже слишком быстрая.

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

Посмотри осциллом, что на выходах обоих микрух.
User avatar
TS-Labs
 
Posts: 5301
Joined: Thu, 26.07.2012 01:29:56

Postby Mick » Thu, 24.05.2018 20:08:33

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


Нашел другую микруху 70нс. С ней нормально. Проверил на программаторе проблемную. А у ней часть прошивки слетело. Похоже померла от старости.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Sat, 26.05.2018 10:17:19

В первом посту начал выкладывать описание косяков. Они будут добавляться по мере дальнейшего исследования платы.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Sat, 26.05.2018 11:14:45

Наваял прошивку для альтеры. Предупрежу сразу, что она только для этой ревизии плат. В ней добавлена поддержка ПЗУ 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;
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Mon, 28.05.2018 20:49:58

Сегодня что то сотворил непонятное, теперь при загрузки диска пишет постоянно

C Nonsense in BASIC, 10:2

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

В каких случаях происходит эта неразбериха?
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Tue, 29.05.2018 18:07:26

Гы гы, опять слетела прошивка в ПЗУ. Сегодня проверил ее на программаторе, она опять побилась. Вот отсюда и взялась неразбериха в Бейсике.

Тут либо совсем стали старые AT29C512 (2001 года выпуска), что рушится прошивка, либо фиг его знает.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Mon, 22.06.2020 21:48:02

Немного официальности :)

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


Image

Image

По существу, утолщил где можно шины питания, добавил еще несколько шин питания. Но без глобальной переразводки не обойтись. Но это так сказать кто захочет это сделать, я возражать не буду. После как выложу все материалы по последней ревизии, проект станет открытым.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Fri, 03.07.2020 08:45:54

Немного отчетности.

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 летней работы в общей теме про Феникс.
User avatar
Mick
 
Posts: 1085
Joined: Thu, 19.06.2014 11:25:00


Return to Mick Laboratory

Who is online

Users browsing this forum: No registered users and 1 guest

x