Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
По ходу дела надо вместо 74LS ставить 74F или хотя бы 74ALS т.к. для формирования /CSWIZ у меня используется цепочка в 8 гейтов, что теоретически может дать задержку в 80нс, что уменьшит цикл шины 140нс до 60нс, что есть меньше требуемого - если всё сделать 74F, то задержка уменьшится до 30нс, что укоротит цикл шины только до 110нс, что будет ок (по документации на W5100 цикл чтения должен быть как минимум 80нс, а записи - 70нс). P.S. Все тестовые программки я пишу прямо на Спринтере и собираю в OrgAsm - сейчас я вижу, что мне очень нужны макросы, так что наверное пришло время его расширить
|
09 Jan 2021 21:08 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
Вобщем надо ставить 74LS75 (это 4 триггера, которые попарно имеют вход разрешения защёлкивания E - оно при "1" пропускает прозрачно, а при "0" - выдаёт запомненное) - подавать инвертированный сигнал /WR ИЛИ /CSSPI, который будет прозрачно выдавать содержимое бита 0 шины данных на вход SI, а при окончании цикла записи там всё ещё будет защёлкнуто последнее значение - в этом случае /MREQ ИЛИ /CSSPI можно будет всё также использовать как SCK. В случае же чтения (OUTPUT) SCK надо бы инвертировать, но я не уверен ещё как это вообще всё вместе слепится. P.S. Вот диаграмма записи и последующего чтения: По идее наверное если проц читает по фронту (окончание /RD), то должно работать с тем же SCK = /MREQ ИЛИ /CSSPI: (кстати тут видно, почему у WizNET проблемы с записью есть, а проблем с чтением нет - сигнал /WR у Z80 короче, чем сигнал /RD) P.P.S. С другой стороны смотрю на диаграммы Z80 - должно SPI работать как есть прямо сейчас, но не работает - видимо надо осциллографом смотреть...
|
10 Jan 2021 07:15 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну обычно так и должно быть: читают всегда в самый последний момент, когда данные окончательно ну или максимально возможно "устаканились" на шине. А вот это не факт, что причина: длительность цикла одинакова - видимо, надо посмотреть - по переднему, или по заднему фронту идёт запись. Если по переднему - то да, время меньше, а по заднему - примерно столько же. Сама длительность сигнал /WR, на мой взгляд, особой роли не играет.
_________________ iLavr
|
10 Jan 2021 11:44 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
Ещё интересный момент - в то время как /RD уходит в ноль до проверки /WAIT, при записи /WR уходт в ноль ПОСЛЕ! Значит ли это, что /WR не удлиняется при вейте?...
|
10 Jan 2021 18:45 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А на твоих диаграммах в цикле совсем не видно wait_states. Тут вот DimkaM ( Формирование WAIT для Z80) советовал посмотреть документ: z80_UM.pdf но я его не нашел... С активным wait диаграмма должна быть вот такая: Нашел здесь: https://smallcomputercentral.wordpress.com/2019/08/01/design-part-2/comment-page-1/
_________________ iLavr
|
10 Jan 2021 19:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
ну это похоже, на то что я выше выкладывал, но с широким /WR картинка выше пишут взята из доки на Z80 а вот эту я скапчил из доки на спринтеровский Z84C15 - вроде /WR тоже растягивается, хоть и начинается на полтакта позже:
|
10 Jan 2021 20:07 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну, собственно, я искал картинку сугубо для тебя, потому что у нас тут любят "пруфпики"... А так-то я сам помню, да и ты, думаю, должен помнить, что когда делают схему для пошагового прохождения, тормозя проц по входу WAIT, то обещают, что в этот момент " все сигналы на шинах активны", и их можно прощупать обычным пробником, следовательно: и RD, и WR на время активного WAIT должны увеличить свою длительность.
_________________ iLavr
|
10 Jan 2021 20:30 |
|
|
dvarkin
Fanat
Joined: 05 Jul 2020 14:08 Posts: 87 Location: Ижевск
|
На zx-pk выяснил, что данные иногда не сразу снимаются с шины после WR. Предлагаю потестить Z80Explorer.
|
11 Jan 2021 05:34 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А Z80Explorer, если вдруг что, умеет оценить аппаратную задержку на шине после WR?
_________________ iLavr
|
11 Jan 2021 05:51 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
Короче появились у меня кое-какие мысли насчёт кривости подключения ISA-шины к Спринтеру - напишу тут: http://www.nedopc.org/forum/viewtopic.php?p=158489#p158489Возможно именно с этим связаны мои проблемы с WIZNet и EEPROM...
|
11 Jan 2021 06:03 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вообще это всё странно как-то... В последний раз я вешал на шину ISA таймер ВИ53 и ППА ВВ55. Это было на 286 машине на частоте 20 МГц - и wait-стейтов не понадобилось, хотя я и припас... А у тебя там хорошие современные ИС, насколько я вижу...
_________________ iLavr
|
11 Jan 2021 06:28 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
Ну тут по сути и не ISA шина, а так - фейк по мотивам: P.S. Добавил маскирование сигнала /MEMR при обращении к SPI и визнету (включается/выключается существующим управляющим битом TX/RX) - обошёлся уже имеющимися в наличии на плате неиспользованными гейтами - надо будет заказывать новую версию платы, т.к. проводочками эти изменения напаивать на существующую плату будет немного проблематично (хотя и возможно)...
|
11 Jan 2021 06:36 |
|
|
dvarkin
Fanat
Joined: 05 Jul 2020 14:08 Posts: 87 Location: Ижевск
|
С его помощью можно легко и удобно смотреть состояние любых транзисторов и проводников в NMOS Z80 при всяких состояниях последнего с шагом в один такт. В теме по ссылке выше я показал как мониторил состояние выходных транзисторов на шине данных. Для исследования внутренних процессов NMOS Z80 нет ничего достовернее Z80Explorer, но дальше выводов Z80 эта прога оценить ничего не может, если это имелось ввиду .
|
11 Jan 2021 07:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да, вы меня правильно поняли.
_________________ iLavr
|
11 Jan 2021 07:54 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22412 Location: Silicon Valley
|
Вот обовлённая схемка (задействовал все вентили - ничего лишнего не осталось): и платка (даже декодер адреса туда удалось воткнуть на 74LS85 - IC18): Размер платки ограничен стандартной лицензией пятого игла 160x100 мм... P.S. Заказал 5 платок (минимум) красного цвета у китайцев на JLCPCB - получилось всего $68 с доставкой DHL
|
12 Jan 2021 03:18 |
|
|