Ethernet для Timex Sinclair 2068 и пр. (Sprinternet)

Старый спектрумистский форум

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

Shaos wrote:По ходу ISA-шина Спринтера быстровата для визнета - запись байта не всегда с первого раза удаётся если в турбо-режиме работаем - можно попробовать вейтать проц на немного, если визнет выбран.
Ну или чисто программно - запись с верификацией и если не совпадает, то повторная запись...
По ходу дела надо вместо 74LS ставить 74F или хотя бы 74ALS т.к. для формирования /CSWIZ у меня используется цепочка в 8 гейтов, что теоретически может дать задержку в 80нс, что уменьшит цикл шины 140нс до 60нс, что есть меньше требуемого - если всё сделать 74F, то задержка уменьшится до 30нс, что укоротит цикл шины только до 110нс, что будет ок (по документации на W5100 цикл чтения должен быть как минимум 80нс, а записи - 70нс).

P.S. Все тестовые программки я пишу прямо на Спринтере и собираю в OrgAsm - сейчас я вижу, что мне очень нужны макросы, так что наверное пришло время его расширить :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

Shaos wrote:P.P.S. Наверно с SPI EEPROM надо несколько пересмотреть схему - там SCK похоже надо инвертировать если идёт чтение - у меня SCK просто тупо с /MREQ идёт - для записи норм (на диаграмме внизу INPUT), а для чтения появляется смещение (см. OUTPUT - хотя может тоже норм - надо пробовать):

Image
P.P.P.S. Хотя наверное дело в том, что данные надо держать неизменными после фронта SCK как минимум 50 нс, а если делать как сейчас, то они пропадают сразу же. Можно скажем прозрачную защёлку поставить, чтобы сохраняло бит до следующего такта, а можно и тупо кондёр воткнуть с резистором, чтобы подержало чуток ;)
Вобщем надо ставить 74LS75 (это 4 триггера, которые попарно имеют вход разрешения защёлкивания E - оно при "1" пропускает прозрачно, а при "0" - выдаёт запомненное) - подавать инвертированный сигнал /WR ИЛИ /CSSPI, который будет прозрачно выдавать содержимое бита 0 шины данных на вход SI, а при окончании цикла записи там всё ещё будет защёлкнуто последнее значение - в этом случае /MREQ ИЛИ /CSSPI можно будет всё также использовать как SCK. В случае же чтения (OUTPUT) SCK надо бы инвертировать, но я не уверен ещё как это вообще всё вместе слепится.

P.S. Вот диаграмма записи и последующего чтения:
SPI-EEPROM-WRITE-READ.png
По идее наверное если проц читает по фронту (окончание /RD), то должно работать с тем же SCK = /MREQ ИЛИ /CSSPI:
Z80_memory_rw.jpg
(кстати тут видно, почему у WizNET проблемы с записью есть, а проблем с чтением нет - сигнал /WR у Z80 короче, чем сигнал /RD)

P.P.S. С другой стороны смотрю на диаграммы Z80 - должно SPI работать как есть прямо сейчас, но не работает - видимо надо осциллографом смотреть...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

Shaos wrote: наверное если проц читает по фронту (окончание /RD), то должно работать с тем же SCK = /MREQ ИЛИ /CSSPI:
Ну обычно так и должно быть: читают всегда в самый последний момент, когда данные окончательно
ну или максимально возможно "устаканились" на шине.
Shaos wrote:...сигнал /WR у Z80 короче, чем сигнал /RD
А вот это не факт, что причина: длительность цикла одинакова - видимо, надо посмотреть - по переднему,
или по заднему фронту идёт запись.
Если по переднему - то да, время меньше, а по заднему - примерно столько же.
Сама длительность сигнал /WR, на мой взгляд, особой роли не играет.
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

Ещё интересный момент - в то время как /RD уходит в ноль до проверки /WAIT, при записи /WR уходт в ноль ПОСЛЕ! Значит ли это, что /WR не удлиняется при вейте?...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

А на твоих диаграммах в цикле совсем не видно wait_states.
Тут вот DimkaM (Формирование WAIT для Z80) советовал посмотреть документ: z80_UM.pdf но я его не нашел... :(

С активным wait диаграмма должна быть вот такая:
input-output-timing-1.jpg
Нашел здесь: https://smallcomputercentral.wordpress. ... nt-page-1/
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

ну это похоже, на то что я выше выкладывал, но с широким /WR
картинка выше пишут взята из доки на Z80
а вот эту я скапчил из доки на спринтеровский Z84C15 - вроде /WR тоже растягивается, хоть и начинается на полтакта позже:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

Ну, собственно, я искал картинку сугубо для тебя, потому что у нас тут любят "пруфпики"... :-?

А так-то я сам помню, да и ты, думаю, должен помнить, что когда делают схему для пошагового
прохождения, тормозя проц по входу WAIT, то обещают, что в этот момент "все сигналы на
шинах активны
", и их можно прощупать обычным пробником, следовательно: и RD, и WR на
время активного WAIT должны увеличить свою длительность.
iLavr
dvarkin
Fanat
Posts: 87
Joined: 05 Jul 2020 14:08
Location: Ижевск

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by dvarkin »

На zx-pk выяснил, что данные иногда не сразу снимаются с шины после WR. Предлагаю потестить Z80Explorer.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

dvarkin wrote:На zx-pk выяснил, что данные иногда не сразу снимаются с шины после WR. Предлагаю потестить Z80Explorer.
А Z80Explorer, если вдруг что, умеет оценить аппаратную задержку на шине после WR? :roll:
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

dvarkin wrote:На zx-pk выяснил, что данные иногда не сразу снимаются с шины после WR. Предлагаю потестить Z80Explorer.
Короче появились у меня кое-какие мысли насчёт кривости подключения ISA-шины к Спринтеру - напишу тут:

http://www.nedopc.org/forum/viewtopic.php?p=158489#p158489

Возможно именно с этим связаны мои проблемы с WIZNet и EEPROM...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

Shaos wrote:Короче появились у меня кое-какие мысли насчёт кривости подключения ISA-шины к Спринтеру
Вообще это всё странно как-то... :-? В последний раз я вешал на шину ISA таймер ВИ53 и ППА ВВ55.
Это было на 286 машине на частоте 20 МГц - и wait-стейтов не понадобилось, хотя я и припас...
А у тебя там хорошие современные ИС, насколько я вижу... :-?
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

Lavr wrote:
Shaos wrote:Короче появились у меня кое-какие мысли насчёт кривости подключения ISA-шины к Спринтеру
Вообще это всё странно как-то... :-? В последний раз я вешал на шину ISA таймер ВИ53 и ППА ВВ55.
Это было на 286 машине на частоте 20 МГц - и wait-стейтов не понадобилось, хотя я и припас...
А у тебя там хорошие современные ИС, насколько я вижу... :-?
Ну тут по сути и не ISA шина, а так - фейк по мотивам:

Image

P.S. Добавил маскирование сигнала /MEMR при обращении к SPI и визнету (включается/выключается существующим управляющим битом TX/RX) - обошёлся уже имеющимися в наличии на плате неиспользованными гейтами - надо будет заказывать новую версию платы, т.к. проводочками эти изменения напаивать на существующую плату будет немного проблематично (хотя и возможно)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
dvarkin
Fanat
Posts: 87
Joined: 05 Jul 2020 14:08
Location: Ижевск

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by dvarkin »

Lavr wrote:А Z80Explorer, если вдруг что, умеет оценить аппаратную задержку на шине после WR? :roll:
С его помощью можно легко и удобно смотреть состояние любых транзисторов и проводников в NMOS Z80 при всяких состояниях последнего с шагом в один такт. В теме по ссылке выше я показал как мониторил состояние выходных транзисторов на шине данных. Для исследования внутренних процессов NMOS Z80 нет ничего достовернее Z80Explorer, но дальше выводов Z80 эта прога оценить ничего не может, если это имелось ввиду :) .
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Lavr »

dvarkin wrote:
Lavr wrote:А Z80Explorer, если вдруг что, умеет оценить аппаратную задержку на шине после WR? :roll:
...
но дальше выводов Z80 эта прога оценить ничего не может, если это имелось ввиду :) .
Да, вы меня правильно поняли.
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Ethernet для Timex Sinclair 2068 и пр. (SprinterNet)

Post by Shaos »

Shaos wrote: P.S. Добавил маскирование сигнала /MEMR при обращении к SPI и визнету (включается/выключается существующим управляющим битом TX/RX) - обошёлся уже имеющимися в наличии на плате неиспользованными гейтами - надо будет заказывать новую версию платы, т.к. проводочками эти изменения напаивать на существующую плату будет немного проблематично (хотя и возможно)...
Вот обовлённая схемка (задействовал все вентили - ничего лишнего не осталось):
shaos-ts1-sch.jpg
и платка (даже декодер адреса туда удалось воткнуть на 74LS85 - IC18):
shaos-ts1-brd.jpg
Размер платки ограничен стандартной лицензией пятого игла 160x100 мм...

P.S. Заказал 5 платок (минимум) красного цвета у китайцев на JLCPCB - получилось всего $68 с доставкой DHL :mrgreen:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net