SoftFelix, попробуй емкость разную подобрать.
у меня тоже не сразу получилось.
Вид для печати
SoftFelix, попробуй емкость разную подобрать.
у меня тоже не сразу получилось.
Именно на /IORQ Z80? Я от 100 пФ начинал - SMUC уже переставал определятся. Я думаю, что в моём случае надо задерживать /IORQ только для ZX BUS TEE, но там с поножовщиной дорожек. На самом деле, где-то всё очень близко, совсем чуть-чуть что-то надо задержать... На материнской плате сабжевого КАЯ, /IORQ для слотов XS7,8,9 подаётся через ДВА элемента КР1533ЛЛ1 (имхо задержка не более 20 нс), и только на XS6 и первый слот ZX BUS TEE /IORQ идёт напрямую от Z80. Есть ещё желание поменять 74F32 в ZX BUS TEE на КФ1533ЛЛ1. Завтра возьму плату ZX BUS TEE на работу, резанУ приход /IORQ на плату и буду задерживать его последовательно цепочкой TTL-вентилей-повторителей, чтоб фронты не уплывали. Начну с 2-х элементов. p.s. Я так задержку /RAS подбирал для аватарного Ленинграда-1, чтоб память надёжно работала. Поставил 555АП5 и все его 8 вентилей соединил последовательно. Далее гонял ТЕСТ-ПЗУ, нагревал комп и подобрал точно 4 вентиля - комп заработал офигенно стабильно.
NemoBus изжил себя, максимум корректно и повторяемо 2 иногда 3 девайса на шине работают, надо на синхронную буфферированую шину переходить, вон ISA до 8 устройств на плате то что я живьем видел
Да, к сожалению это так (прошивка дешифратора ATF16V8). Но там показаны задействованные сигналы для дешифрации портов. Может в прошивке для формирования IORQGE не задействован /IORQ? Надо caro спросить. Но ещё caro уверяет, что с последней актуальной прошивкой 2.07 для ZXMC2, если PS/2-клава не задетектиласть, то контроллер вообще не тревожит порт #FE во время дальнейшей работы. У меня PS/2-клава подключена к интегрированному контроллеру на плате КАЯ.
---------- Post added at 14:14 ---------- Previous post was at 14:11 ----------
Может ли спасти положение установка в диспетчере IORQGE микросхем с максимальным быстродействием? К примеру, вместо КР1533ЛЛ1 на плате КАЯ, поставить КР1531ЛЛ1 (74F32)?
Сейчас схему ZXMC2 глянул-вспомнил... Там ещё /WR стробирует /IORQGE... :(
---------- Post added at 14:28 ---------- Previous post was at 14:22 ----------
p.s. На самом деле, всё довольно ясно-понятно. В смысле, откуда растут ноги глюкодрома. Но в данном случае, хрен с ним, с изяществом схемотехники. Задача только одна: стабильная работа компа на холодном компе в турбе. Пускай будет "сарай" с конденсатором.
---------- Post added at 15:23 ---------- Previous post was at 14:28 ----------
Работало бы оно стабильно, если бы каждый производитель плат расширения использовал для формирования IORQGE только линии адреса и /M1. Это не первом месте при проектировании под NEMO-BUS.
в кае 2010 схема формирование IORQ на слоты вносит задержку, если тупо замкнуть вход выход через инвертор 42нс если брать 1533 серию, время одного цикла проца при 7мгц = 140нс, фактически формирование на 3 слота, съедает 1 такт проца, добавляем сюда еще время формирование IORQ в платах, там не просто инвертор стоять будет, получи влегкую на 3х слотах 2 такта, что уже впритык, даже начали вылазить за зону допустимого окна
ZEK, согласен. 3 слота максимум для турбо. При корректном формировании IORQGE. Тогда применять логику в этих цепях с максимальным быстродействием. У меня сейчас нет по рукой растактовки циклов Z80 при чтении-записи в порты. Сколько там тактов (и по времени) от начала появления адреса до появления /IORQ? Два?
Глянул тут схему КАЯ-2010. Там предпринята попытка буфернуть /IORQ на элементе DD56.1 (КР1533ЛЛ1). Имхо, не надо было это делать из-за такой критичности по времянке, достаточно было взять /IORQ от Z80 сразу на диспетчер IORQGE. 12...15 нс бы выиграли (или как правильней считать?). В следующий раз полезу в КАЙ - подам /IORQ в обход этого элемента.
http://photo.qip.ru/photo/softfelix/.../106017403.jpg
Если все карточки вытащить и оставить только ZXMC2, тоже в турбе глючит?
Грузится-то надо с чего-нить. :) Как минимум надо оставить NEMO-FDC. Я на DIZZY SUCK (или как он там?) проверяю срабатывание any key. Кстати, клавиши-то сами нажимаются, так и комп ещё во время этого глюкодрома сбрасывается в BASIC_48 (после очередного any key и декранчинга игры). Вот это мало понятно. Почему?
Я раньше думал, что причина этих самонажатий только в ZXMC2, но вот в минувшие выходные экспериментировал, оставлял в ZX BUS TEE только ГС - всё те же самонажатия и сброс.
по заднему фронту третьего такта проц защелкивает
ну если по нагрузке потянет то можно попробовать выкинуть, я когда считаю беру максимальное время, еще как вариант, посмотреть, подумать, и выкинуть из цепочки IORQGE устройства которые безконфликты по адресам
---------- Post added at 16:04 ---------- Previous post was at 16:00 ----------
Может есть смысл турбу вырубать по IORQ
в идеале вырубать если A0 == A1 == 1, тогда и демка под турбу не поломается
поверю, забыл уже :) тогда странно что таращит именно в turbo, мож позно выключается и 1 такт 7мгц съедает, по схеме некогда разбираться, если turbo выключается низким уровнем, попробовать поднять сопротивление подтяжки turbo?
---------- Post added at 16:24 ---------- Previous post was at 16:22 ----------
лог анализатором посмотреть как себя ведет dd2, turbo, iorq в комплекте
Во втором варианте подключения в цепи формирования IORQGE добавляются два элемента ЛЛ1, по сравнению с первым. Может конденсатор надо на сигнал IORQGE от GS? Схемку бы посмотреть, как там сделано.
---------- Post added at 19:37 ---------- Previous post was at 19:30 ----------
Наверно вы правы.
скорее дает разрешение на формирование IORQGE, когда идет операция "не записи" в порты, т.е. когда /WR в 1.
к сожалению это не совсем верно. да, это бы сработало, если бы допустим на одном устройстве совмещались бы все устройства как на чтение, так и на запись этого порта, но если на этом устройстве ТОЛЬКО чтение порта или ТОЛЬКО запись в порт и формирование IORQGE идет по адресу, то ессно все остальные карты c низшим приоритетом, в которых есть этот порт, но по функционалу наоборот (ТОЛЬКО запись, или ТОЛЬКО чтение), не откликнутся и имеем облом. Такая проблема есть допустим с SounDrive в ZX-Evo. В ZX-Evo все внутренние порты блокируются по только адресу, и получается так, что порт 1F кемпстона, который только на чтение, блокируется и не проходит обращение к порту 1F на запись в SounDrive.Цитата:
Работало бы оно стабильно, если бы каждый производитель плат расширения использовал для формирования IORQGE только линии адреса и /M1. Это не первом месте при проектировании под NEMO-BUS.
solegstar, имхо, это исключение. Причина - непродуманный выбор адреса порта для SoundDrive'а. Для автора этого девайса так было удобнее. В приципе, согласится с этим можно, ибо в #1F ничего не пишется. У меня самогО в аватарном компе установлена КР580ВВ55А с портами от ПРОФИ (1f, 3f, 5f, 7f) - удобно - три порта. Ковокс туда подключал, Кемпстон джой. Даже программатор MPPS пропатчил под эти порты. А затем туда и Кемпстон Маус подключил. Понятное дело, что НЕМО-БАС в этом компе нет и не будет. Но НЕМО-БАС не может функционировать по другому. Там изначально оговорен географический приоритет по слотам и способ формирования IORQGE.
Можете попробовать немного доработать плату ZXMC2. Нужно аккуратно процарапать дорожку между выводами 9 и 10 микросхемы DD3 (LA3). Затем подать на ее 9 вывод сигнал A0. Тогда при обращении к порту FE и другим с A0=0 все остальные слоты и порты компьютера будут заблокированы раньше, чем сейчас.
Сделал сегодня задержку /IORQ только для ZX BUS TEE. На плате ZX BUS TEE в разрыв между ламелью 17В краевого разъём и остальной схемой (контакт 17В слота 1 и 1-13DD1 (74F32)) установил два последовательно включённых вентиля 74ALS32 (микросхема в SO-14, импорт).
http://photo.qip.ru/photo/softfelix/.../106017414.jpg
Стало хуже. :( ГС теперь вообще не работает в прежнем месте (1-ый слот ZX BUS TEE). В Z-PLAYER'е MOD не может загрузиться. В DIZZY SACK any key самосрабатывает более очевидно с последующим сбросом игры в BASIC_48.
Мысли есть?
Есть ещё три варианта.
1. Всё-таки ещё раз попробовать задержать IORQGE от ZX BUS TEE на плату КАЯ. Хотя я это делал. 1000 пФ не оказали вообще никакого воздействия. Задержку сделаю опять на двух ветилях 74ALS32 - так надёжнее.
2. Заменить в ZX BUS TEE микросхему 74F32 на 74ALS32.
3. На плате КАЯ исключить элемент DD56.1 (/IORQ от Z80 сразу пустить на диспетчер /IORQGE). Заменить микросхемы DD55 и DD56 (КР1533ЛЛ1) на КР1531ЛЛ1.
---------- Post added at 20:02 ---------- Previous post was at 19:56 ----------
zst, мысль интересная. Обязательно попробую, когда варианты совсем закончатся. Тут ведь вот какое дело: самосрабатывание клавиатуры при при опросе ANY KEY происходит и _без_платы_ZXMC2_ в слоте ZX BUS TEE. Т.е. только с одним ГС в первом слоте.
Можете попробовать доработать формировать IORQGE в GS. Ориентироваться по этой схеме (http://zx.pk.ru/showthread.php?t=6007)
Там есть свободный инвертор D17. На 9 вход подать A3, c 8 выхода подать на резистор R12, предварительно отсоединив его от выхода 8-DD38.
PS. Только при такой грубой модели могут не заработать некоторые контроллеры, например, NemoIDE...
Более сложный, но точный метод.
Нужно сформировать сигналы, аналогичные /CSDD и /CF, которые подаются на входы DD38, но без использования сигналов /WR и /IORQ.
Это можно попробовать реализовать на дешифраторах ИД7, аналогично DD6 и DD10. В итоге должен получиться более правильный IORQGE. Вместо /WR и /IORQ подать на дополнительные дешифраторы нули.
PPS. Уточнение полярности сигнала. При грубом методе адресации А3 подавать на R12 без инверсии. Возможно потребуется добавить еще резистор, чтобы не перегрузить Z80.
По одному адресу совсем жестоко. :) Если совсем труба будет, то буду дорабатывать ГС по схеме Блек-котА:
http://photo.qip.ru/photo/softfelix/.../106042590.gif
Или допаять сверху на имеющиеся еще два дешифратора ИД7. Начало более сложной доработки описал выше. Откусить у дополнительных дешифраторов лишние выходы и отогнуть входы, который были подключены к /WR и /IORQ.
Входы новых дешифраторов, которые были подключены к /WR или /IORQ можно соеднинить так:
2-DD6' нового дешифратор можно соединить с 1 или 3 выводом.
4-DD6' нового дешифратор можно соединить с 5 выводом.
5-DD10' нового дешифратор можно соединить с 4 выводом.
На входы 9 и 10 DD38 подать новые сигналы с выходов 13-DD6' и 11-DD10', предварительно отрезав старые.
Таким способом меньше проводов надо тянуть.
zst, я вчера вернул ZX BUS TEE в исходное состояние (убрал задержку /IORQ) и сделал доработку IORQGE для GS по такой схеме:
http://photo.qip.ru/photo/softfelix/.../106042588.gif
В принципе, она правильная и легко реализуемая. IORQGE тут формируется только из нужных адресов и /M1. Для доработки использовал быструю КР1531ЛЛ1. Что получилось.
http://photo.qip.ru/photo/softfelix/.../106058639.jpg
1. ГС так и не работает в XS6 КАЯ, только в 1-ом слоте ZX BUS TEE. Хотя у меня была полная уверенность, что в XS6 заработает.
2. Теперь комп глючит даже после длительного прогрева. Вот это неприятно и не понятно.
Сегодня хочу сделать нормальный дешифратор адреса в ГС на 74F521, КОЕ вот тут выявил глюки диодно-резисторного дешифратора адреса в ГС. У меня ведь основной глюкодром в ТУРБО начинается только при установке ГС в слот ZX BUS TEE.
На мой взгляд, /M1 нужно исключить из формирователя синала IORQGE, иначе он будет его отключать в начале такта M1. А у нас сигнал IORQ задержан несколькими элементами и может быть активным до начала M1. Поэтому могут быть ложные срабатывания контроллеров после GS.Цитата:
В принципе, она правильная и легко реализуемая. IORQGE тут формируется только из нужных адресов и /M1.
Ну и нужно убрать задержку IORQ в элементе DD56.1 в КАЕ. Видимо, из-за этого глюки в режиме TURBO.
zst, /M1 у нас вводится в дешифратор для исключения попадания на шину данных кАки в цикле подтверждения прерывания (находится в нуле 4 такта). В циклах ввода-вывода /M1 вообще не используется. Если честно, я не вижу проблемы. Если не влом, сможешь на диаграмме нарисовать, а то, возможно, я не до конца врубаюсь.
НЕМО-ИДЕ, кстати, его использует.
Я тут сегодня на работе фигнёй занимался, было время. Решил сделать дешифратор в ГС по схеме Блэк-КатА, в надежде, что убирание диодов, исключение /IORQ и применение быстрой логики решит часть проблем (а может и все). Быстрой 8И-НЕ (74ALS30/74F30) у меня не оказалось, поэтому собрал на 74F521 (задержка не более 10 нс) аналог этой схемы:
http://photo.qip.ru/photo/softfelix/.../106042590.gif
Получилось так:
http://photo.qip.ru/photo/softfelix/.../106063379.jpg
Оно, конечно, работает... Но _ничего_ не изменилось в лучшую сторону! Более того, как я писал про предыдущую доработку IORQGE, комп так и продолжает глючить даже после прогрева. И теперь +ещё отвалился NEMO-IDE. Последнее очень странно, несмотря на то, что GS стоИт первым в приоритете. NEMO-IDE у нас выбирается A1=A2=0, а GS - A1=1 A2=0. По идее, GS не должен блокировать порты NEMO-IDE. Ничего не понимаю...
---------- Post added at 23:18 ---------- Previous post was at 23:18 ----------
Вот это я точно сделаю.
---------- Post added at 23:44 ---------- Previous post was at 23:18 ----------
Отбой. IDE-шлейф плохо контачил.
Я имел ввиду исключение сигнала M1 из схемы формирователя IORQGE, а не из дешифратора портов. У вас ведь нет контроллеров прерываний в контроллерах ZX-BUS, поэтому можно блокировать порты следующих контроллеров и во время M1. Это избавит от лишних глюков. А в дешифраторе портов ничего менять не надо - пусть М1 там остается.
Попробуйте эту схему использовать только для формирователя IORQGE, убрав M1. А дешифратор портов GS оставить по старой схеме, или добавлять для дешифратора M1 с помощью дополнительной микросхемы.Цитата:
Решил сделать дешифратор в ГС по схеме Блэк-КатА, в надежде, что убирание диодов, исключение /IORQ и применение быстрой логики решит часть проблем (а может и все)... Оно, конечно, работает... Но _ничего_ не изменилось в лучшую сторону! Более того, как я писал про предыдущую доработку IORQGE, комп так и продолжает глючить даже после прогрева.
Попробую. Это не сложно: отключаю /M1 от 74F521 и подаю его на 6нDD6 (ИД7 в ГС).
У меня тут ещё мысли появились.
1. Сделать формирователь IORQGE в ГС на 74F(ALS)125 (КР1533ЛП8), убрав транзистор.
2. А может все проблемы из-за локальной перегрузки по питанию на плате КАЯ? В XS6 ставятся два довольно энергоёмких девайса (GS и ZXMC2). Площади печатных проводников на плате КАЯ не хватает для такого отбора тока и в этом месте платы получаются сильные импульсные просадки напряжения - глючат и близлежащие микросхемы.
Отписал тут о мытарствах ГС + КАЙ. :)
UP!!!
Дополню: Что характерно, мельтешение пикселей напрямую зависит от загрузки процессора, когда по ШД гоняются данные - экран "рябит", когда проц в хальте или зажат Reset, то картинка нормальна.
Появилось время и снова взялся за эту плату. Начал смотреть в сторону сдвигового регистра пикселей (т.к. именно пиксели у меня рисовались хаотично), потыкался щупом осциллографа по ножкам и удивился, что когда касаешься сигнала SCR/ картинка улучшается. Как сказал UEA - "как будто хочет кондер на землю". Причем если дотронуться 15DD39 (ИР10), то картинка стабилизируется полностью. А если коснуться щупом 12DD31 (ЛА4, источник сигнала SCR/), то мельтешат лишь отдельные пиксели, но все равно не идеально. Имхо дело именно в DD39. Подцепил к этому сигналу кондер в 22пФ на землю и картинка стала стабильной, пиксели более не мельтешат. Возможно дело в самой микросхеме - т.к. наслышан, что Кай у Немо заводится с полоборота при исправных компонентах и настройки не требует... но оказалось наоборот. Т.к. замены ИР10 у меня нет, то оставил пока такое решение проблемы.
Дмитрий, тоже самое было у ZEK'а. Жаль, что он тут сейчас не появляется. Он свой КАЙ так и не отладил из-за этой проблемы. А не пробовал этот сигнал подтягивать к +5В? Т.е. не кондёр не землю, а резистором к плюсу? ИР10 у тебя какая (серия, завод, год выпуска)?
Вечером попробую.
КР1533ИР10 - 9104 Интеграл. Микрухи мы с ZEK-ом покупали в одном месте, так что глюк скорее всего из одной серии.
---------- Post added at 09:49 ---------- Previous post was at 09:48 ----------
Если 1533 "шустрит", то может стоит попробовать поискать 555, не?
Кстати, вопрос по взаимозаменяемости PIC-ов. Не нашел МК PIC12F683 для PowerManager-а в планарном корпусе, есть только в DIP. Перекомпиливать прошивку требуется или пойдет стандартная?
Пойдёт стандартная. +Willem (если им будешь шить) сам берёт конфигурацию из HEX'а.
---------- Post added at 10:03 ---------- Previous post was at 10:01 ----------
Они раньше очень часто использовались в совместимых чипах для картриджей НР. Есть знакомый заправщик-сервисник?