Компьютер "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) могут возникнуть определенные неудобства. Нижняя перекладина панельки будет немного задевать. Посему либо ее аккуратно выламываем, либо острым ножом подрезаем.
User avatar
Mick
 
Posts: 941
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: 468
Joined: Sun, 01.12.2013 22:48:17

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

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

Postby Mick » Sun, 13.05.2018 08:55:15

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

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

Postby Voyager » Mon, 14.05.2018 15:56:03

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

Postby Mick » Mon, 14.05.2018 21:53:29

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


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

Postby Voyager » Wed, 16.05.2018 10:34:41

:whine:
User avatar
Voyager
 
Posts: 20
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: 941
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: 941
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: 4995
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: 941
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Sat, 26.05.2018 10:17:19

В первом посту начал выкладывать описание косяков. Они будут добавляться по мере дальнейшего исследования платы.
User avatar
Mick
 
Posts: 941
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: 941
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: 941
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Tue, 29.05.2018 18:07:26

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

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


Return to Mick Laboratory

Who is online

Users browsing this forum: No registered users and 0 guests

x