Вход

Просмотр полной версии : Самопальный ZX Riser. Вопросы



izzx
09.03.2023, 18:47
Решил я себе сделать самодельный расширитель шины на 3 разъёма, 2*30 пин с шагом 2,54.
Он работает, но не совсем стабильно. Например, иногда затыкается загрузка больших мелодий в GS. Этак по 200-300Кб если.
Что теперь можно бы сделать? Общие советы? Или дело гиблое?

Подробнее: Подключены всего 4 устройства. В системную плату воткнуты SMUC и фирмянный контроллер клавиатуры.
А через райзер подключены DivGMX (GS) и ZX WiFi. Причём, в самый ближний слот райзера к процессору ничего не включено. Только в два дальних.
Никаких активных элементов на райзере нет, потому что карта WiFi не формирует сигнал IORQGE и я подумал, что активные расширители с ней работать не захотят.
Дополнительное питание подводил прямо на расширитель. Напряжение там хорошее, около 5.03.
Шину данных D0-D7 усиливал проводками. Там довольно тонкие дорожки. Не помогло.
Процессор Zilog, наверное CMOS, на 6 гигагерц. Шёл с завода.

Как это всё подружить?

https://pic.maxiol.com/thumbs2/1678375601.3165277443.img20230121180734.jpg (https://pic.maxiol.com/?v=1678375601.3165277443.img20230121180734.jpg&dp=2)

https://pic.maxiol.com/thumbs2/1678375650.3165277443.img20230123124702.jpg (https://pic.maxiol.com/?v=1678375650.3165277443.img20230123124702.jpg&dp=2)

ALS
09.03.2023, 20:02
Первое, что приходит в голову - повесить конденсаторы по питанию.

izzx
09.03.2023, 21:07
повесить конденсаторы по питанию
а каких?

Gutten
09.03.2023, 22:58
У меня на новодельном скорпе и на аналогичном райзере (3 слота в параллель, кондёры на питании) такая же проблема и тоже с GS!

1) Райзер воткнут в слот у края:
1.1) смук в нижнем слоте, GS в среднем слоте - GS чаще может затупить при загрузке мода (судя по теневику, ждёт чего-то из порта #BB).
1.2) смук в нижнем слоте, GS в верхнем слоте - GS обычно не тупит и работает.

2) Райзер воткнут в слот у процессора: GS не тупит в любом слоте. Но при этом крайний слот скорпа не доступен.

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

Такая ситуация была у меня с GS классическим, такая же и с ZXM-GS. Все контакты райзера прозванивал-пропаивал, контакты слотов на скорпе прозванивал-пропаивал, всё отлично звонится.

r3d
10.03.2023, 00:37
Про емкости по питаю все знают, но почему-то никто не вспоминает про емкость нагрузки и коэффициент разветвления Z80.

ALS
10.03.2023, 04:39
а каких?Три штуки по 100-330 мкф каждый. Запаять прямо в те отверстия, что между слотами (скорее всего, они именно для этого и предназначены).
Еще можно легонько приподнять само напряжение питания, напр., до 5,25 вольт. Все используемые микросхемы (и Z80 в том числе) вполне держат такое повышение без каких-либо последствий.

SoftFelix
10.03.2023, 09:07
Процессор Zilog, наверное CMOS, на 6 гигагерц. Шёл с завода.
Фото маркировки в студию. С таким количеством периферии будет работать только CMOS, и, желательно на 20МГц.

Никаких активных элементов на райзере нет, потому что карта WiFi не формирует сигнал IORQGE и я подумал, что активные расширители с ней работать не захотят.
А зря. Диспетчер IORQGE обязателен. Для примера уже есть готовое ZX-BUS TEE (https://zx-pk.ru/threads/13950-zx-bus-tee.html).

Вообще, когда втыкается такое количество плат, то там уже начинается шаманство. Тут и нагрузочная способность, и просадки по питанию, и задержки в диспетчере (диспетчерах) IORQGE, и очерёдность заполнения плат в слотах...

izzx
10.03.2023, 10:15
Фото маркировки в студию.
Через недельку попытаюсь оторвать радиатор с проца, и увидим. Наклеил в 90х с термопастой, и теперь думаю как оторвать. Когда проц нагревается, радиатор немного шевелится. Попробую может нитью поддеть... Или спиртом растворить.

А что, сейчас реально купить проц на 20 герц в DIP?

r3d
10.03.2023, 10:21
Процессор Zilog, наверное CMOS, на 6 гигагерц.

А что, сейчас реально купить проц на 20 герц в DIP?
:)

SoftFelix
10.03.2023, 10:25
Через недельку попытаюсь оторвать радиатор с проца, и увидим. Наклеил в 90х с термопастой, и теперь думаю как оторвать. Когда проц нагревается, радиатор немного шевелится.
Настоящий CMOS Z80 на 20МГц всегда холодный, даже в ТУРБО-режиме (7МГц)!

Gutten
10.03.2023, 12:11
я у чипкина купил кмос на 20 МГц в дип.

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

но на самом скорпе ведь не предусмотрен диспетчер иоркге, а смук и гс на нем должны были работать. думаю, дело не в этом.

Gutten
11.03.2023, 13:40
Диспетчер IORQGE обязателен.
Кстати, подумалось... А у буржуев ведь плат вставляются этажерками, там же нет диспетчера iorq/iorqge? и всё работает?

izzx
11.03.2023, 14:35
я у чипкина купил кмос на 20 МГц в дип.
И с ним так же работает?

Gutten
11.03.2023, 15:22
И с ним так же работает?

да.
т.е. дело вряд ли в проце - фирменный скорп ведь работал с смуком, гс, их райзером, контроллером клавы? ведь скорповцы это всё делали и у себя проверяли

izzx
11.03.2023, 16:20
их райзером
Так у них райзер с буферизацией был. Наверно и с диспетчером iorqge.

Gutten
11.03.2023, 16:24
Так у них райзер с буферизацией был. Наверно и с диспетчером iorqge.

ну хорошо, вот фирменные спектурмы вообще iorqge не имеют. а уж сколько этажерок иногда собрано - мрак. и проц там поди ещё из древних времён.

izzx
11.03.2023, 16:51
ну хорошо, вот фирменные спектурмы вообще iorqge не имеют.
Согласен. Это возмутительно. Как у них работает? Жду пояснений специалистов.

Evgeny Muchkin
11.03.2023, 20:44
Проц! Удивительно, что на греющемся (т.е. НЕкмос) процессоре вообще такая гирлянда без буферизации хоть как-то работает.

Если платы не конфликтуют по портам, то IORQGE по слотам без надобности.

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

Если в GMX КМОС процессор не захочет работать, то надо будет заменить ЛН1 (LS04) на 74F04. Именно F серию!

В идеале, конечно, ёлка с буферизацией + kмос проц. Но сам я некмосы люблю, поэтому использую только ёлку. :)

reddie
12.03.2023, 12:04
Настоящий CMOS Z80 на 20МГц всегда холодный, даже в ТУРБО-режиме (7МГц)!
в моем родном древнем ГС 97-го года выпуска стоит кмос 6-мегагерцовый и тоже не греется =) ГС, напомню, на 12 работает

solegstar
14.03.2023, 20:27
Кстати, подумалось... А у буржуев ведь плат вставляются этажерками, там же нет диспетчера iorq/iorqge? и всё работает?

Есть.
https://i0.wp.com/projectspeccy.com/documents/ZXSpectrum_Edge_Connector_Diagram_48K.jpg

Gutten
14.03.2023, 22:34
Есть.
https://i0.wp.com/projectspeccy.com/documents/ZXSpectrum_Edge_Connector_Diagram_48K.jpg

Сигнал есть, диспетчера же нет (типа на ЛЛ1). Все платы вставляются этажерками, сигналы параллельно на все карты сразу, нет?

r3d
14.03.2023, 23:02
Все платы вставляются этажерками
Этажерками это как – параллельно или последовательно?

Gutten
14.03.2023, 23:37
Этажерками это как – параллельно или последовательно?

Я даже не знаю как это правильно и культурно назвать:
https://i0.wp.com/projectspeccy.com/wp-content/uploads/2017/11/backplane.jpg

https://i0.wp.com/projectspeccy.com/wp-content/uploads/2019/01/IMG_6739.jpg?resize=1024%2C768&ssl=1

https://i0.wp.com/projectspeccy.com/wp-content/uploads/2017/11/Spectrum_Backplane_v2.00_EasyEDA_Front.jpg

r3d
14.03.2023, 23:54
Gutten, вообще-то к разъему edge connector подразумевалось подключать одно устройство. А уже для подключения нескольких устройств сделали расширитель, тот, что Вы привели. Интересно, а что там за микросхемы? :)

https://pic.maxiol.com/thumbs2/1678827237.3109100402.backplane3.jpg (https://pic.maxiol.com/?v=1678827237.3109100402.backplane3.jpg&dp=2)

Gutten
15.03.2023, 00:10
может буфера какие всё же стоят

solegstar
15.03.2023, 13:36
Сигнал есть, диспетчера же нет (типа на ЛЛ1). Все платы вставляются этажерками, сигналы параллельно на все карты сразу, нет?
нет. новые платы сразу идут с нормальной жесткой дешифрацией, если же есть какие-то конфликты с внутренними портами, то вырабатывают iorqge. на тех платах, которые использует ТС нельзя так сделать, так как используется мягкая дешифрация по большей части и конфликты могут быть уже между самими платами в слотах (наверное только в DivGMX может быть полная дешифрация), а не между платой в слоте и внутренними портами компа.

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


может буфера какие всё же стоят
больше на логику похоже.

izzx
15.03.2023, 19:33
Похоже, что начиная с +2A сигнал IORQGE выкинули.
В сервис мануале на +2B +3B его нет.

http://velesoft.speccy.cz/other/zx_bus_video.png

creator
15.03.2023, 19:58
Похоже, что начиная с +2A сигнал IORQGE выкинули.
Они его не поняли.
Из ZaRulem #19:

Глава 2: Адресное пространство портов ZX Spectrum.
Одним из самых распространённых заблуждений о ZX Spectrum, уступающим только мифу о том, что его изобрёл Синклер, является миф, о том, что его единственный физический порт якобы занимает все 32768 чётных адресов в адресном пространстве портов устройств ввода-вывода (УВВ). Давайте разберёмся с истоками этого заблуждения. Действительно, в компьютере ZX Spectrum, дешифрация его единственного порта #FE, осуществляется только по адресному разряду A0, что казалось бы подтверждает правильность мифа о 32768 занятых адресах. И для некоторых, не совсем правильных клонов ZX Spectrum это утверждение будет вполне справедливым, но не для ZX Spectrum. Если взглянуть на принципиальную схему ZX Spectrum, то становится ясно, что в ULA для дешифрации его единственного порта приходит сигнал не IORQ/, а IORQGE. В чём же разница? Разница в том, что сигнал IORQGE будет активным только в том случае, если ни одно внешнее устройство не заявит, что выставленный процессором адрес порта принадлежит этому внешнему устройству. Т.е. любое внешнее устройство совершенно бесконфликтно может использовать любые адреса портов из диапазона, который согласно мифу занимает единственный порт ZX Spectrum. Т.е. в действительности, единственный порт ZX Spectrum занимает не 32768 чётных адреса, а только столько, сколько ему позволят внешние устройства, вплоть до того, что внешние устройства вправе вообще не оставить ULA ни одного адреса. Конечно, в этом случае внешним устройствам придётся взять на себя функции порта #FE реализованные в ULA.

Таким образом, как видите, благодаря остроумному техническому решению Альтвассера, с одной стороны удалось выполнить требования Синклера по минимизации количества используемых микросхем за счёт упрощения дешифрации, а с другой стороны отдать ULA ровно столько адресов портов, сколько необходимо, а именно - 1 адрес на запись и 8 адресов на чтение. Правда, при этом пришлось переложить на программное обеспечение функцию определения наличия того или иного порта внешних устройств в системе. И так бы и было, если бы в Sinclair Research хоть кто-то после ухода ведущих разработчиков понимал назначение сигнала IORQGE.. Но, увы, информация о назначении и важности этого сигнала покинула Sinclair Research вместе с её ведущими разработчиками. В результате, не только для Sinclair Research, но и для всех разработчиков как программного, так и аппаратного обеспечения назначение сигнала IORQGE так и осталось неизвестным. Именно поэтому, западные разработчики до сих пор так и не научились преодолевать ограничения накладываемые неполной дешифрацией портов УВВ, и бьются в истерике над несуществующей проблемой пересечения адресных диапазонов устройств. А разработчики ПО так и не поняли, что из 256 портов в диапазоне #xxFE необходимо использовать строго один порт на запись, а не занимать весь диапазон. К сожалению, всё существующее ПО уже не исправить, чтобы вернуть бездарно занятые адреса УВВ в диапазоне #xxFE. Одно лишь радует, что нашёлся единственный человек - Вячеслав Скутин aka Nemo, кто сумел понять ход мыслей Альтвассера, и воплотить их в отечественной системной шине NemoBus для периферийных устройств - клонов ZX Spectrum, которая является единственным стандартом, корректно воплотившим в себя идеи Ричарда Альтвассера.

Рассмотрим базовые принципы функционирования арбитра шины NemoBus, изобретённые Альтвассером и повторно переизобретённые Скутиным:

1) Первый базовый принцип функционирования арбитра шины NemoBus определяет способ формирования сигнала IORQGE периферийными устройствами. Суть изобретения состоит в том, что помимо сигнала M1/, в режиме арбитрирования захвата диапазона адресов портов УВВ для формирования сигнала IORQGE используются только адресные сигналы. Таким образом, в дешифраторе сигнала IORQGE, не используется сигнал IORQ/. Это связано с особенностью формирования этого сигнала процессором Z80, состоящей в том, что он вырабатывается спустя некоторое время после установления процессором валидного адреса. Таким образом, адресные сигналы, выставленные процессором раньше IORQ/, успевают пройти по цепям дешифраторов внешних устройств, подключенных к шине NemoBus, и все эти устройства успевают сформировать свои сигналы IORQGE ещё до момента активации сигнала IORQ/. Такое, превентивное формирование сигналов IORQGE, позволяет не тратить время на дешифрацию в периферийных устройствах после прихода IORQ/, и тем самым не укорачивать этот сигнал для других устройств включенных в последовательную цепочку, что важно, если периферийных устройств несколько.

2) Вторым базовым принципом является порядок включения периферийных устройств относительно устройств самого компьютера. Суть этого принципа состоит в том, что ULA компьютера всегда стоит в очереди последней, т.е. после всех периферийных устройств. Это значит, что сигнал IORQG/ в ULA компьютера приходит, только если все периферийные устройства это разрешат.

https://pic.maxiol.com/images2/1678899149.92902239.clipboard1.jpg

Исполнение обоих этих базовых принципов определяет соответствие устройства или шины идеям Альтвассера. Эти принципы соблюдены только в отечественных клонах с шиной NemoBus, а так же в оригинальных компьютерах ZX Spectrum. На Рис.1 приведена функциональная схема арбитра портов шины NemoBus для трёх слотов периферийных устройств.

izzx
16.03.2023, 09:17
Суть изобретения состоит в том, что помимо сигнала M1/, в режиме арбитрирования захвата диапазона адресов портов УВВ для формирования сигнала IORQGE используются только адресные сигналы. Таким образом, в дешифраторе сигнала IORQGE, не используется сигнал IORQ/.
А на картинке сигнал IORQ как раз используется. Кроме того, нужны же сигналы RD и WR. Как без них?
M1 - это вообще регенерация. Если смотреть на него и на шину адреса, то словим момент обращения к адресу памяти, а не порту ввода-вывода.
Но я ж не специалист ).
Интересно, сколько там длительность сигнала IORQ и сколько слотов может быть у компа, чтобы хватило длины сигнала? Пока там прощёлкает по всем слотам и сформируется итоговый сигнал IORQGE?

HardWareMan
16.03.2023, 09:50
А на картинке сигнал IORQ как раз используется. Кроме того, нужны же сигналы RD и WR. Как без них?
Конечно. Идея в том, чтобы маскировать этот самый IORQ для других устройств, если текущий адрес твой. А он приходит раньше, поэтому по твоим адресам другие устройства даже иголки на IORQ не получат. Никто ничего тут не укорачивает. Сигналы RD и WR нужны уже для стробирования данных, они не участвуют в арбитраже и дешифрации.

SoftFelix
16.03.2023, 10:03
Кстати, у Немо IORQGE в НЕМО-FDC и НЕМО-IDE формируются из кучи сигналов, включая /RD, /WR и /IORQ, вместо только адресов и /M1.

izzx
16.03.2023, 15:00
Фото маркировки в студию.
Всё-таки не cmos подсунули.

https://pic.maxiol.com/thumbs2/1678967861.2990883710.img20230316144751.jpg (https://pic.maxiol.com/?v=1678967861.2990883710.img20230316144751.jpg&dp=2)

SoftFelix
16.03.2023, 17:24
Всё-таки не cmos подсунули.
Настоятельно рекомендую обзавестись настоящим z84c0020pec. Он снимет массу проблем по загрузке шины.

izzx
16.03.2023, 17:54
рекомендую обзавестись настоящим z84c0020pec
Хорошо, будем искать. Для начала заказал на али за 100 рублей. А вообще, есть по дешёвке на чипдипе, всего лишь за 2к штука на 10 герц. Зато у него "Количество каналов Ethernet 2". Так в описании сказано.

Gutten
16.03.2023, 19:36
Ну если на Али обманут, попробуй у Чипкина

izzx
19.03.2023, 22:31
Напаял на райзер два конденсатора по 330 mF каждый.
Но попутно убедился, что есть неприятная вещь - где-то пропадает контакт.
Соберёшь всю эту конструкцию, включишь - не работает толком.
Чуть вытащишь райзер из разъёма, включишь - работает. Если повезёт. Даже по 400к модули в GS грузятся.
Придётся, наверное, с лупой рассматривать главную плату. А может и разъём менять? Разъём вряд ли виноват, я думаю.

Gutten
22.03.2023, 22:37
Есть результат? Вот неделю назад собрал всё в месте, всё пело и плясало без проблем, постояло недельку и опять - мод грузится и зплеер висит, ждёт чего-то из порта #ВВ.
При этом ГС доступен, станицы в бейсике все показывает, тестовые звуки играет.
Тоже посещают мысли о неконтакте, самое фиговое - на ламелях ёлки, туда-сюда её переставлять приходится.

izzx
23.03.2023, 08:35
Посмотрел на сист. плату через лупу, особо ничего не увидел. Раз дорожки идут от проца через все разъёмы до краевого, значит, они целые. У меня ёлка включена в ближний к процессору разъём. А в дальних разъёмах СМУК и контроллер клавы. СМУК работает стабильно, как часы. Вот у контроллера клавы изредка отваливается мышь. Приходится его тоже шевелить. Может, раз в год.
Так что я пропаял ближний разъём, но без толку. Воткнул елку - нет контакта. Чуть её вытащил - всё заработало. Посмотрю теперь отвалится ли от времени. Недели через 2-3 буду проверять.
Кроме того, прошью в DivGMX карту NGS и буду грузить модули побольше, под 2 мегабайта чтобы. Посмотрим стабильность.
А потом ещё процессор приедет другой.

SoftFelix
23.03.2023, 09:01
Вот у контроллера клавы изредка отваливается мышь. Приходится его тоже шевелить. Может, раз в год.
Я свой навороченный Спек (подпись) сейчас очень редко включаю. Так вот если он постоит 3 и более месяца (обычно пол года), то просто так он не включается. Необходимо вынуть все платы, протереть у них ламели (у всех плат они ЛУЖЕНЫЕ!) ацетоном или изопропиловым спиртом, вытащить из панелей PLCC-микросхемы для ПРОФ-РОМа и СМУКа и так же протереть их выводы такими же жидкостями. После подобного КАЙ сразу запускается и работает максимально стабильно. С чем связываю: контакты ламелей периферийных плат лужёные, а не позолоченные (или нитрид-титановые); панельки под PLCC - тоже дешёвые с серебристыми выводами (покупались 13 лет тому назад в Питерской Микронике, которой уже нет). Есть у меня какая-то плата, где PLCC-панелька с позолоченными выводами - с ней проблем никогда нет.

izzx
23.03.2023, 10:58
Понятно. Только чистое золото спасёт отца демократии.
Надо посмотреть какие ламели на платах для моего 486го компа. Почему там работает.

SoftFelix
23.03.2023, 11:23
Надо посмотреть какие ламели на платах для моего 486го компа.
На PC-ISA-платах всегда позолоченные. Реже на дешёвых - покрытие нитрида титана. Поэтому там и проблем нет. Я не видел ни одной такой платы с лужением ламелей.

CodeMaster
23.03.2023, 13:03
На PC-ISA-платах всегда позолоченные.
Там ещё и слоты с позолотой.


Я не видел ни одной такой платы с лужением ламелей.
Заводских таких есно быть не может.

Sandro
24.03.2023, 09:57
На PC-ISA-платах всегда позолоченные. Реже на дешёвых - покрытие нитрида титана.

Из нитрида титана изготавливать покрытие контактов нельзя, поскольку он является широкозонным полупроводником и при контакте с большинством металлов образует выпрямляющий переход (переход Шоттки) с пороговым напряжением около полувольта ЕМНИМС.

Либо тут потерялась какая-то информация, либо это прямая диверсия со стороны производителя.

SoftFelix
24.03.2023, 13:13
Из нитрида титана изготавливать покрытие контактов нельзя, поскольку он является широкозонным полупроводником и при контакте с большинством металлов образует выпрямляющий переход (переход Шоттки) с пороговым напряжением около полувольта ЕМНИМС.

Либо тут потерялась какая-то информация, либо это прямая диверсия со стороны производителя.
Ну как бы вот (https://macroteam.ru/company/news/novye_tehnologii_kontaktov_v_razjomah_samtec_nitri d_titana_protiv_zolota/).

Gutten
25.03.2023, 13:53
Посмотрел на сист. плату через лупу, особо ничего не увидел. Раз дорожки идут от проца через все разъёмы до краевого, значит, они целые. У меня ёлка включена в ближний к процессору разъём. А в дальних разъёмах СМУК и контроллер клавы. СМУК работает стабильно, как часы. Вот у контроллера клавы изредка отваливается мышь. Приходится его тоже шевелить. Может, раз в год.
Так что я пропаял ближний разъём, но без толку. Воткнул елку - нет контакта. Чуть её вытащил - всё заработало. Посмотрю теперь отвалится ли от времени. Недели через 2-3 буду проверять.
Кроме того, прошью в DivGMX карту NGS и буду грузить модули побольше, под 2 мегабайта чтобы. Посмотрим стабильность.
А потом ещё процессор приедет другой.

поменял свою ZX-TEE с лужёными контактами на 2-слотовый райзер от тетроида с "позолоченными". Посмотрим, что через недельку будет.

izzx
25.03.2023, 18:23
поменял свою ZX-TEE с лужёными контактами на 2-слотовый райзер от тетроида с "позолоченными"
Какие ещё в слоте контакты..

Gutten
25.03.2023, 18:52
увы, в слоте обычные.

izzx
08.04.2023, 20:46
Спустя две недели простоя мод на 200к уже не прогружается.
Пришёл процессор C0020 с китая и почему-то даже заработал. Не греется. Может, чуть тёплый. Мод на 1.5 мега загружается хорошо, раза 3 попробовал.
Вся конструкция с райзером как воткнул, так сразу заработала. Не пришлось ничего шевелить.
Посмотрим теперь, что будет через 2 недели.

УПД.
Через 20 дней включил. Работает. Наблюдаем.

Gutten
26.07.2023, 16:41
Есть новости или всё работает?

izzx
26.07.2023, 17:38
Пару недель назад всё ещё работало. Это получается примерно месяца три держится уже. Через недельку снова проверю.

izzx
02.08.2023, 15:33
Проверил на днях - работает. Мод на 1.6Мб и другие поменьше грузятся.
В апреле как собрал эту конструкцию, так старался не трогать. Только время от времени включал и проверял.
Думаю, что решающей стала замена проца на CMOS. Сколько ещё выстоит - не известно. Но уже не плохо.