76 Отредактировано Wierzbowsky (19-05-2017 23:44)

Re: Новодел модуля ОЗУ для Агат-9

После замены ИР16 на буржуйский аналог ситуация изменилась несильно. Стало меньше ошибок в начале теста, но по мере прогрева платы ошибки начинают вылазить в каждом банке. Тупик.

Единственное что заметил, так это отсутствие ошибок управления в первом тесте при установленной LS295 и четырёх HCT253. С ИР16 одна из 253х должна была обязательно быть HC серии, иначе ошибки управления начинали вылезать уже на первых секундах теста.

77 Отредактировано Voldemar0 (20-05-2017 20:25)

Re: Новодел модуля ОЗУ для Агат-9

Поехали дальше помаленьку.

Сегодня затеял исследование, попутно ремонтируя исходный модуль.


1) ----------=-=-=-

d15. 555тл2. У меня их 10 штук купленных в ларьке и 1 - из оригинального модуля.
Исследования показали, что оригинальная реально работает практически не выходя за допуски. А вот среди 10 штук купленных есть примерно: 5 - получше (~25нс), 4 - похуже (~30нс), 1 - удивительное Г, даже номер на пузике отличается от остальных (~35нс). Оригинал держит примерно 20 нс. (только не надо воспринимать это совсем буквально: дело в том, что переход 0->1 и 1->0 заметно отличается по времени. Есть экземпляры, у которых один из переходов совпадает, а другой чуть длиннее или короче.

Это задержка сигнала. Выбрал для дальнейших ковыряний ту, которая получше.

Ещё у меня есть штук 15 микрух 74xxxx14. Они SMD, так что пришлось от программатора гнездо брать, чтобы в подставку на плате вштырить.

74f14 - супер! - переходы 10 / 5 нс. Но всего один экземпляр, так что не статистика.
74hc14 - :(( хлам. 40нс
74hct14 - тоже хлам, но получше - 35нс
74lcx14 - вообще не ясно работает оно или нет, но это КМОП, при том низковольтовый, так что и не обязан работать.
Со справочником вполне совпадает. Интересно, что у HCT (по справочнику) средняя задержка и максимальная близки, а вот у HC разъезжаются в несколько раз: 40 и 120 !

В общем, оставил 555тл2, только подобрал чуть менее паршивую.
Но на оригинальном модуле всё равно лучше.


2) ----------=-=-=-

d16. 555ир16

Тут веселее:

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=171&download=0

Почти все микрухи сняты с трупиков агатов.

Колонки микрух слева направо:
1) косячят при любых условиях (причём одинакого!)
2) косячят при 5.0 в, но при 5.2 в питания уже начинают работать нормально.
3) косячят слегка при 5.0 в, но при 5.1 в уже работают стабильно.
4) работают стабильно уже от 4.9 в.
Верхняя в третьем столбце (карандашиком буква O нарисована) - с оригинального модуля.

Выбрал 4й столбец для продолжения игр.

Чтобы было понятно, как фазогенератор должен работать, смотрим картинку:

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=172&download=0

Графики сверху вниз:
1) это на входе d15.9 - 14.3 МГц
2) это на выходе d15.8 - вроде как должен просто инвертироваться, но видно, что фазы чуть двинуты
3) это вход d16.6 - 2 МГц, вход фазы: по нолику начинаем обмен, по единичке - завершаем.
4) (желтенькая) - выход d16.13, это почти !RAS (до DRAM ещё через два инвертора проходит).
Когда d16 косячит, этот сигнал меняет скважность (высокий уровень становится короче на один такт 14.3 МГц, низкий, соответственно, удлиняется)
5, 6) выходы d16.12, d16.11: первый сигнал - это смена фрагмента адреса на входе DRAM, второй - основа сигнала !CAS (дальше ещё несколько преобразований).

И вот что ещё интересно: с правильным ир16 уменьшились и задержки тл2. Примерно ещё 5 нс выиграл. Так вот.


3) ----------=-=-=-

Подобрал микрухи DRAM для оригинального модуля (погорело больше половины),
пока подставки ставил обнаружил одну дорожку битую - она, похоже, была каплей олова залита, а когда я микрухи снимал олово стянулось пистолетом. Восстановил (а сперва по ошибке забраковал несколько микрух). И вот финальный тест первой собранной линейки (8 микр): все биты в порядке,  а один косячит. Но как: делаю запись по одному адресу , а этот бит меняется в 4 адресах!!!

A000:0
A000:FF
A001<A000.BFFEV
изменились: A000, A080, A07F, A081 !!!

Вот я чё-то такое на новом модуле наблюдал как-то. Но это -то оригинальный!
А менялась только DRAM.
Меняю микру, тестирую - всё ок.

Теперь все подобранные микрухи переставляю во второй ряд, тестирую их там (чтобы новые панельки проверить). И подбираю следующие 8 для первого ряда (Уже из свежекупленных. Первые 8 вперемежку с оригинала и недоделанной копии).
Всё норм (кстати, здорово помогает макросы в ps/2 адаптере: тупо набиваю там тестовые последовательности, микруху махнул, включил питание, F5 - и сразу на экране результат)

Запускаю лисина: на третьем же тесте фатальный отказ по куче адресов, но только в одной микрухе!
Меняю микруху - лисин уже 10й круг идёт. Ни одной ошибки.

Resume: возможно, вторая причина, по которой косячил новодел - такие вот хитрые DRAMки...
Если после отладки фазогенератора будет косячить, попробую DRAM из одного в другой перекинуть.




PS ----------=-=-=-
Несмотря на мои опасения, задержки и глюки фазогенератора совершенно одинакого проявляются и на новодельной и на оригинальной плате. Т.е. всё зависит только от конкретной микрухи, независимо от того, куда я её втыкаю.

Post's attachments

Attachment icon DSC07459.jpg 97.58 kb, 40 downloads since 2017-05-20 

Attachment icon ok-fine.png 3.93 kb, 44 downloads since 2017-05-20 

78 Отредактировано avivanov76 (20-05-2017 22:38)

Re: Новодел модуля ОЗУ для Агат-9

Да, статистика по ИР16 офигенная: без вопросов работают 2 микрухи из 13 :-/
Впрочем, тут, похоже, схема модуля влияет. Я так понял, после установки высокого уровня на входе 6 D16 (параллельная загрузка) должны 2 вещи случиться:
1) по спаду тактового сигнала записаться "1" во 2-й разряд регистра.
2) с выхода 2 разряда эта "1" должна вернуться на входы 1 и 3 разрядов и по 2-му спаду тактового сигнала записаться уже в них.
Но ко 2 разряду в сумме подключено 8 входов. Видимо, емкость нагрузки получается большая, фронт затягивается и 70нс (1/14 МГц) не хватает.

Мне кажется, все таки стоит посмотреть в сторону замены D16 на 1533/ALS серию. Потому что покупать 10 микрух в надежде, что заработает одна - это больно круто.
Или, в качестве эксперимента, можно попробовать отвязать нагрузку от всех выходов D16 через какие-нибудь повторители типа 555ЛЛ1, так чтобы выводы 2, 4, 12 D16 были соединены как есть, а мультиплексоры и все остальное шли уже через ЛЛ1.

А, не, даже проще придумал: 4-й разряд D16 ведь свободен.
Отрезаем выводы 2 и 4 от вывода 12. Вывод 5 вешаем на питание. Вывод 10 соединяем с выводами 2 и 4.
В результате у нас в 1-м такте "1" грузится во 2 и 4 разряды. Во 2-м такте разряды 1 и 3 грузятся из разряда 4. В результате на 12 ноге остается 6 входов и их емкость ни на что не влияет, а на 10 ноге висит всего 2 входа.

79

Re: Новодел модуля ОЗУ для Агат-9

avivanov76 пишет:

Да, статистика по ИР16 офигенная: без вопросов работают 2 микрухи из 13 :-/
Впрочем, тут, похоже, схема модуля влияет. Я так понял, после установки высокого уровня на входе 6 D16 (параллельная загрузка) должны 2 вещи случиться:
1) по спаду тактового сигнала записаться "1" во 2-й разряд регистра.
2) с выхода 2 разряда эта "1" должна вернуться на входы 1 и 3 разрядов и по 2-му спаду тактового сигнала записаться уже в них.
Но ко 2 разряду в сумме подключено 8 входов. Видимо, емкость нагрузки получается большая, фронт затягивается и 70нс (1/14 МГц) не хватает.

Нет записи уже на первом шаге.
Так что нагрузка на 2 разряде не имеет значения.

Больше похоже на то, что ир не успевает среагировать на подъём уровня по входу PE.
Не успевает совсем немного: как я писал выше, на новой плате с неподобранной ир всё начинало работать при снижении тактовой частоты примерно до 10 МГц.

На самом деле у меня нет твёрдой уверенности, что это всё на самом деле плохо для модуля. Есть два варианта: либо всё работает даже  с такой ошибкой (а на оригинальном модуле не было массовых ошибок даже при снижении напряжения до 4.8в, хотя фазогенератор плыл).
Второй вариант: ну ладно, мой экземпляр при этом работал, но если бы он не работал, при заводской настройке просто подобрали бы экземпляр этой микрухи. Судя по количеству этих микрух у меня, в агатах их много, далеко не все работают на критических частотах, так что при массовом производстве вполне мог быть отбор экземпляров - лучшие сюда, остальные - в другие узлы. Цех настройки (послесборочного ремонта) на ЛЭМЗ, например, был.

80 Отредактировано Voldemar0 (21-05-2017 14:32)

Re: Новодел модуля ОЗУ для Агат-9

Пока лисин роется в новом модуле (и ему, кажется, всё нравится!) я решил написать заметки о том, как, собственно, шел процесс сборки и на что нужно обратить внимание.

{ Что ещё нужно сделать: тесты при разных напряжениях питания, тесты в эпл-моде (часть модуля при этом работает по другому и с использованием других логических элементов), одновременный тест новодельного и оригинального модулей, использование памяти 4164. }

----------=---------=---------------

1) Подбор микрух:
Я ставил только СССРские микрухи, причем с точностью до эмблемы производителя и года выпуска. Не думаю, что это сильно важно, но кто знает... модуль сложный, проще было сделать так, чем искать баги во всех узлах.
Думаю, всё же можно было упростить задачу только до точного соответствия серии.
Переходить на 74ю серию можно только если твёрдо следовать соответствиям серий.
Главное: 555 = 74LSxxx, 155 = 74xxx
Почему: в общем: потому что скорости на модуле приличные (и не смотрите, что тактовая частота ЦП всего 1 МГц - на этот один такт выполняется куча операций в периферии, тем более такой как ОЗУ). И в частности: потому что некоторые элементы модуля используются (или, во всяком случае, действуют) как задерживающие цепи. Если вы в одной такой цепке поставите быстродействующую микру, а в другой - "обычную" - может случится так, что какой нибудь сигнал придёт гораздо раньше другого.

----------=---------=---------------

2) Тестирование микрух перед сборкой:
Где вы нашли 155ю серию ? Выпаяли или купили со склада, вылежанную лучше любого коньяка ? Или купили новую (да, некоторые микрухи у нас выпускаются, у меня на модуле стоит тм-ка с датой "2006"), но она оказалась отбраковкой ?
Надо проверить. Мы уже имеем примеры, когда микрухи умирали просто на хранении.

Я проверял на программаторе: tl866 проверяет процентов 90 используемых в модуле микрух.
Чтобы быстро найти аналог среди 74й серии (для настройки программатора), можно воспользоваться этой табличкой: http://www.inp.nsk.su/~kozak/ttl/ttlh01.htm

556рт: их две. Минимум одна из них используется во всех режимах работы модуля. А может и обе - не помню. Что важно: микрухи эти имеют шину данных в 4 бита и чем бы вы их не зашивали, вы должны быть уверены, что дамп, размещённый на сайте, будет правильно понят вашим программатором. У нас в дампах каждое слово размещено в байте, из каждого байта используется только 4 младших бита.

----------=---------=---------------

3) Проверка материнки:
Начнём с того, что модуль не будет работать с семёркой. Только с девяткой.
Причина банально проста: только у девятки есть сигнал полной блокировки набортного ОЗУ.
Причем он есть только во втором слоте. Если используется больше одного модуля, они ставятся рядом, в этом случае образуется Дейзи-цепочка - один модуль передаёт другому сигнал блокировки.

Вы должны начать с того, что убедитесь, что этот сигнал воспринимается платой.
Для этого нужно прозвонить омметром дорогу от d14.23 до слота.
Затем нужно убедиться, что при пустых слотах на ней будет логическая единица.
И затем, проверив что дорога не замкнута на питание (омметром, при выключенном питании) попробуйте при включенном питании замкнуть эту дорогу через амперметр на "общий". Ток должен составить единицы ма, причем любая прога (даже мерцание курсора в сисмоне) должно прекратиться (скорее всего комп зависнет до сброса).

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

Дальше вам нужно проверить лисиным работу ОЗУ на материнке, ибо биться с корявым модулем, одновременно путаясь в ошибках материнки - это уже дисциплина специальной олимпиады. Тем более если вспомнить, что лисин порядком тормозит, встречаясь с ошибками.

Будет здорово, если на материнке несколько микрух ОЗУ будут стоять на панельках: это позволит вам потестить микрухи, которые пойдут в модуль.

Что касается последней буквы 565ру5x: я встречался с буквами В Г Д на материнках (скорее всего, это именно с заводов ставились). Спектрумисты говорят, что лучше минское производство, но я не могу ни подтвердить ни опровергнуть это. Я вообще не знаю, как чьи значки выглядят. На оригинальном модуле стояли микры без буквы, но с двумя точками (то ли это Б, то ли В. Но и микры с Г тоже нормально работают и на материке и на старом модуле).

----------=---------=---------------

4) Порядок сборки предлагаю такой:
Сперва запаиваете всю логику, но не ставите DRAM. Включаете питание, можете даже моник/клавиатуру не подткыкать. Смотрите сигнал на d16.13. Важна скважность.
Снова вставлю картинку из предыдущего сообщения:
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=172&amp;download=0
Первые сверху и вторые прямоугольнички пропускаем, смотрим трети: это d16.6, ниже желтенькая - это d16.13. Дальше снова серенькие - это d16.12 и d16.11.
Если у вас желтенькая будет более узкой - пробуйте крутить питание в диапазоне 4.7..5.3 вольта. Если где-то видна смена скважности - подбирайте экземпляр d16 или попробуйте найти аналог из 74f (очень быстрая серия, так что должно заработать без подбора).
Увидеть изменение скважности можно даже имея совсем простой осцилограф.

{ разумеется, у вас может быть ещё тыщапятсот косяков в сборке, но их я не рассматриваю }

Если даже с этим вопросом ничего не получилось - попробуйте продолжить, может быть заработает и так (судя по всему, зависит от микрух DRAM). (Естесно, что всё таки сигналы на выходах d16 должны быть - пусть и чуть другой скважности).
Если ошибки будут нечастые, попробуйте параллельно дорожке d15.9 и слотом пустить толстый провод (например, от витой пары). У меня это слегка влияло на работу. Не забудьте также два жирных провода по питанию и общему в районе слота.


Дальше подключаем монитор и клавиатуру и тестим, что получилось (дисковод пока не надо, будет только мешаться):

Включаем питание, должен заработать сисмон.

{ Немного спорная ситуация: аппаратно в модуле не предусмотрен сброс карты сегментов, а именно в ней хранятся битики, которые разрешают работу модуля на шине. Сисмон их сбрасывает, но для того, чтобы сисмон вообще смог хоть что-то сделать, должны корректно работать нулевая страница и стек. Если SRAM карты сегментов будет вставать в нулевое состояние, то сисмон заработает без микрух DRAM на модуле - у меня именно так было. Если же экземпляр SRAM (531ру8 ?) будет с единицами после включения питания - может и не заработать }.

Проверяем регион:

c200.c2ff

Будет 16 значений в 16 группах. В каждой группе значения совпадают.
Группы: 00 11 22 33 44 55 66 77 00 11 22 33 44 55 66 77 (??? вроде так)

Вы можете попробовать загрузить ИКП-бейсик или что нибудь ещё и убедиться, что проги, не использующие модуль, будут нормально работать. Если это не так - выясняйте, почему.

Теперь включаем нулевой сегмент модуля (всё в ПЗУшном сисмоне) и
смотрим, что нам доступно:

a000.a07f
c2d0:0
a000.a07f

Первая команда выведет содержимое фрагмента базового ОЗУ, после переключения во второй строке третья строка выдаст содержимое новодела - FF (DRAM в новоделе ещё не стоят!).

Теперь пробуем проверить выходной регистр модуля:
втыкаем перемычку между d26.14 (верхняя угловая микруха, т.е. микрухи там ещё нет, только пустая подставка) и "общим". Снова смотрим дамп:

a000.a0af

По всем адресам 7f. Замените перемычку амперметром и попробуйте замыкать на "землю" все 14е выводы верхнего ряда. Будете получать: 7f bf df ef f7 fb fd fe.
Ток должен быть около 30 мка.

Снова возвращаемся к перемычке, замыкаем d26.14 и d26.4: снова получим 7f.
Так же и для d26.14-d26.15.
Попробуйте эти же две точки на нижнем ряду: 14-4 даст 7f, 14-15 даст ff.

Посмотрите осцилографом сигналы на 4 и 15: на первом будет регулярные колебания 1-2 мгц, на втором - постоянная единица.

Этим мы проверили прохождение сигналов !CAS и !RAS.

Теперь проверяем адреса: замыкаем d26.14 и d25.n, где n перебираем по порядку: 5, 7, 6, 12, 11, 10, 13, 9.
В результате получим:
a000 -  7f ff 7f ff 7f ff....
Мы видим чередование старшего бита. Здесь чередование раз через раз (это соответствует d26.5), следующие тесты будут давать большие шаги чередования.

Этим мы проверили адресную шину (не всю, только младшие разряды, но хоть так).

Теперь втыкаем 8 микрух верхнего ряда.

Включаем питание, пишем в сисмоне:

c2d0:0
a000.a00f

видим какой-то мусор. Пишем:

a000:0 0 0 0 0 0 0 
a000.a00f

Первые байты должны стать нулями. Также проверяем запись FF.
Если получился мусор, меняем соответствующие DRAM.

Дальше можно попробовать запись в одну ячейку и в группу.
Можно вообще придумать много тестов, жуть сколько много, в зависимости от того, что именно не получается. Обращайте внимание на то, чтобы у вас читалось именно то число, которое вы записали и чтобы не портились соседние ячейки.

Как проверить соседние ячейки:

9000<a000.afffm
a000:23
9000<a000.afffv

Вы должны увидеть только одно отличие (которое внесли сами). Если увидете кучу сообщений - попробуйте оценить, что именно изменилось - если по всем адресам только 1-2 бита: возможно, поможет замена соответствующих DRAM.


Финальный тест:

a000<f000.ffffm
a000<f000.ffffv

Т.е. копируем сисмон на новодел и затем проверяем копию. Обе команды не должны дать никаких сообщений.

Большего вручную вы не проверите (разве что столкнётесь к какой-то особой ситуацией и придумаете проверку под неё).

Теперь перетыкаете микрухи верхнего ряда на нижний и проверяете всё точно также, только меняете команду включения на

c2d8:0

.
Если всё успешно, то вновь набираете микрухи для верхнего ряда.
И опять проверяете их. (Т.е. теперь у вас будет установлено все 16 DRAM)

{ На материнке два ряда DRAM отвечают за чётные и нечётные адреса, т.е. выбор идёт от младшего бита адреса. На модуле выбор ряда идёт от старшего бита, который берётся из таблицы сегментов (которая в SRAM на модуле) - т.е. первые 64 кб - верхний ряд, вторые 64 - нижний ряд. Это в режиме "Агат". В эпле - там всё по своему. Про эту особенность материнок лисин знает, а вот знает ли он про расположение микрух на модуле ?... }

Если всё успешно, то запускайте лисина и смотрите на его сообщения.
Практика показывает, что 5-8 безошибочных проходов лисина дают примерно 99% гарантии, что всё будет работать нормально.

----------=---------=---------------

5) Музыка, которую я слушал последние дни, когда возился с этой задачей: Аквариум и Александр Градский.
Ну вдруг это тоже важно :)


ЗЫ А лисин сделал уже 24 прохода, последние штук 5 на напряжении 4.8 вольта - пока всё ок.

PPS
Я в итоге так и не знаю, важны ли сбои фазогенератора или нет. Возможно, это важно для каких-то конкретных микрух (экземпляров DRAM). Но, в общем, если есть возможность: лучше добиться чтобы d15/d16 работали правильно.

http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=173&amp;download=0

PPPS
У нас неделю как выключили отопление, было 25-26 градусов в квартире, сейчас 19-20.
Я попробовал поднять напряжение до 5.2 в и некоторые биты через 2-4 прохода стали глючить.

Сдаётся мне, что когда придёт 4164 будет ещё много интересного.....

Post's attachments

Attachment icon DSC_9185.JPG 239.03 kb, 58 downloads since 2017-05-21 

81

Re: Новодел модуля ОЗУ для Агат-9

Нынешний вид модулей:

Post's attachments

Attachment icon dsc_9186.jpg 1.68 mb, 37 downloads since 2017-05-21 

Attachment icon dsc_9187.jpg 1.41 mb, 38 downloads since 2017-05-21 

82 Отредактировано Wierzbowsky (21-05-2017 19:02)

Re: Новодел модуля ОЗУ для Агат-9

Да, прямо детектив какой-то! Не знал что разные микрухи так могут влиять на работоспособность. Обычно критичны только те, что стоят в высокочастотных генераторах. Но похоже тут надо вручную подбирать всё. А для этого нужно иметь запас микросхем. Жаль, что у меня нет знакомых в магазинах электроники или на складе. ;)

Возвращаемся к модулю. Володя, ты говорил, что при 10МГц всё работает нормально. А при 7Мгц ты тестировал? Например можно оторвать дорожку 14МГц от D15 и пустить туда 7Мгц со слота тем же толстым проводом. На другом форуме мне говорили про то, что работать это не будет из-за растактовки рассчитанной на 14МГц, но что-то мне говорит, что модуль ждет определённых сигналов чтобы начать следующий цикл чтения/записи. Так что если при 10МГц всё работает, почему бы ему не заработать при 7МГц? Тогда всё проблемы решатся простым перерезанием дорожки и проводом от слота до D15. И ничего подбирать не придётся...

83 Отредактировано avivanov76 (21-05-2017 20:13)

Re: Новодел модуля ОЗУ для Агат-9

Могу ошибаться, но насколько я понял принцип работы фазогенератора, при 7 МГц он не будет работать.
Он половину такта 2 МГц находится в состоянии параллельной загрузки и за это время должно пройти 2 такта на 9 вход D16, чтобы прописалась единица сначала во второй разряд, а потом в первый и третий. Вторую половину такта 2 МГц он находится в режиме сдвига и все выходы должны последовательно заполниться нулями. Для этого нужно 3 такта на 9 входе D16.

То есть, за период одного такта 2 МГц должно пройти 5 импульсов на тактовый вход ИР16. И 10 МГц это минимум, при котором эта схема будет работать. (И то, видимо, потому что у 2 МГц сигнала скважность не 50%. Будь там строго 50%, понадобилось бы 12 МГц.)

84

Re: Новодел модуля ОЗУ для Агат-9

Wierzbowsky пишет:

Да, прямо детектив какой-то! Не знал что разные микрухи так могут влиять на работоспособность. Обычно критичны только те, что стоят в высокочастотных генераторах. Но похоже тут надо вручную подбирать всё. А для этого нужно иметь запас микросхем.

Я вот че-то почитал твой комментарий, потом поспал, потом ещё раз прочитал. Ты ведь проде про 7 мгц и резанные дорожки уже писал и тебе ответили, ты снова его же пишешь, почти слово в слово...

Собсно, чего ты ожидаешь от схемы в десятки микрух, расчитанной на работу на частотах, близких к предельным для этих микрух?

Да, логично что такая схема ожидает быть собранной из исправных деталей, причем из тех, которые предусмотрены авторами.

Подбор отдельных элементов ? Никогда не встречал на схемах деталей, обозначенных звёздочкой и сноску: "подбираются при регулировании" ?
Бывает такое. Здесь это, возможно, была только d16.

Бывает даже что-то вроде: "при замене этих деталей обращайтесь на завод-изготовитель для получения подобранных пар". Это, например, диоды измерительной головки вольтметров в3-36.

А радиостанции мотороловские (современные, цифровые, с ценником как у нескольких ноутов) после сборки требуют настройки больше десятка параметров. И, соответственно, при ремонте их радиочастотных цепей нужно делать тоже самое.

Так что этот несчастный модуль - вещь вполне несложная и никаких знакомых продавцов не требует. Нужно просто найти то, что стоит там по схеме и убедится, что оно работает. А d16, как я и писал, можно попробовать без всякого подбора заменить более быстрой серией.

Я у тебя не видел пока ни результатов независимой проверки DRAM, ни даже попытки проверить фазогенератор отдельно от остальной схемы.
Ты пишешь про ошибки лисина, хотя я тебе много раз говорил, что если ошибки в нём массовые, тем более если у тебя не идет даже первый тест, то копать нужно из сисмона, внимательно разглядывая отдельные операции записи-чтения в модуль. Надо также оценивать, идут ли ошибки по всем битам слов или по только по отдельным - мож у тебя только какие-то из DRAM косячят? Ты регулярно упоминал HC-серию, но она сливает 155 и 555й по параметрам - зачем её вообще тут использовать? .... Пока у тебя всё больше похоже на гадания.

85 Отредактировано Wierzbowsky (22-05-2017 02:16)

Re: Новодел модуля ОЗУ для Агат-9

HC серию я давно заменил на LS или HCT. Но как уже говорилось, без одной микросхемы HC в присутствии ИР16 лезут ошибки управления. С ней все нормально по крайней мере в первом тесте. По поводу собственных тестов и исследований - у меня нет знаний и навыков электронщика. Отсюда и гадания. Без базовых знаний определить неисправность по выпадению битов в дампе под силу только тебе и нескольким здешним знатокам. Поэтому я буду ждать когда будут рекомендации как устранить глюки. Заменить D16 на более быструю серию? Я не нашёл 74F295, а ИР16 бывают более быстрые? Вроде 1531 и 1533 серии побыстрее чем 555.

86 Отредактировано Voldemar0 (22-05-2017 06:37)

Re: Новодел модуля ОЗУ для Агат-9

Wierzbowsky пишет:

HC серию я давно заменил на LS или HCT. Но как уже говорилось, без одной микросхемы HC в присутствии ИР16 лезут ошибки управления. С ней все нормально по крайней мере в первом тесте. По поводу собственных тестов и исследований - у меня нет знаний и навыков электронщика.

Битовые ошибки - это область не электроники, а преобразования шестнадцатеричных чисел в двоичные.
Его может делать как виндовый калькулятор, так и просто табличка на бумажке.

И, кстати, лисин их показывает внизу по бокам теста, звёздочками.


Wierzbowsky пишет:

После замены ИР16 на буржуйский аналог ситуация изменилась несильно. Стало меньше ошибок в начале теста, но по мере прогрева платы ошибки начинают вылазить в каждом банке.

Так попробуй найти ту микру, которая реагирует на нагрев. Это тоже не имеет отношения к знаниям электроники. Просто охлаждай каждый корпус и жди, когда процент ошибок пойдет на спад. Начни с d15. Учти, что во многих тестах лисин сперва делает запись по большому блоку памяти, а потом чтение - поэтому влияние сбоев длится довольно долго. Нужно несколько минут держать микруху охлаждённой, чтобы был эффект. Или запретить длительные тесты, типа пятого.



Wierzbowsky пишет:

Поэтому я буду ждать когда будут рекомендации как устранить глюки

Собственно, почти все рекомендации уже даны. Я буду дальше изучать новый модуль на предмет разных совместимостей, но сейчас у меня результаты уже заметно больше твоих. Других рекомендаций уже не будет. Так что либо неторопливо проделай всё или, хотя бы, часть того, что я описал, либо присылай свой модуль мне.





PS И говоря о заменяемых микрухах указывай их обозначение на плате. А то "без одной микросхемы HC" - вот вообще не ясно, о чём речь.

ЗЗЫ Серия HCT - это притянутый за уши к ТТЛ-стандартам КМОП. Разве он тут нужен ?


PPPS Я пока лазил по справочникам этой 74***xxx обратил внимание, что у одна и та же микруха от разных производителей (одной серии!) бывает различной по параметрам. Не большие, но бывают различия. Я не знаю с каких конкретно микр копировали 155 и 555ю серии (может с Техаса, а может и сего другого), но это тоже может быть важно в критических участках.

87

Re: Новодел модуля ОЗУ для Агат-9

Речь шла про IC4 - при ИР16 если она HC, то работает без ошибок управления. Но стоит её поменять на HCT, то вылезают ошибки. При замене ИР16 на LS295 и установке HCT в IC4 глюки пропадают. Если ставить более быструю D26, то может попробовать 1533ИР16 или 74ALS295?

Так как плата явных дефектов всё же не имеет, могу предложить всём желающим её приобрести и собрать самим. Ну и конечно заняться увлекательным квестом под названием "подбор микросхем". Желающие, пожалуйства обращайтесь в личку. Плату отдам выше себестоимости - 12 евро за штуку.

Если честно, я крайне разочарован разработчиками этой платы. Сделать так, чтобы для нормальной работоспособности приходилось подбирать микросхемы - это жесть.

88

Re: Новодел модуля ОЗУ для Агат-9

Wierzbowsky пишет:

Если честно, я крайне разочарован разработчиками этой платы. Сделать так, чтобы для нормальной работоспособности приходилось подбирать микросхемы - это жесть.

Ну, сложно сказать, каковы были условия у разработчиков. В условиях заводского производства им наверняка было не трудно организовать отбор этих микросхем, тем более, что, например, телевизионные заводы были вынуждены проверять 100% приходящих комплектующих. Не думаю, что с цифровыми микросхемами ситуация была намного лучше.

Тем более что схемотехника фазогенератора была вроде как отработана на ДопОЗУ семерок.

Кстати, вчера смотрел даташит на 74LS295 (http://www.applelogic.org/files/74LS295.pdf), так там время установки сигнала на ноге 6 ИР16 не менее 25 нс до прихода тактового импульса. Думаю, чтобы тут работала любая микросхема без отбора, тут нужно процентов 40-50 запаса (35-38нс). А по диаграммам Владимира выходит, что высокий уровень тактового импульса устанавливается раньше, чем высокий уровень на ноге 6, то есть микросхеме остается менее 35 нс на подготовку. То есть да, отбор нужен и чтобы его избежать, надо менять схемотехнику фазогенератора.

Интересно, почему разработчики не сделали генерацию сигнала параллельной загрузки самой ИР16, как на системной плате сделано. Хотя наверняка тому были какие-то причины, например, местный сигнал 2МГц не всегда был в фазе с системным.

89 Отредактировано Voldemar0 (22-05-2017 19:57)

Re: Новодел модуля ОЗУ для Агат-9

Я спрашивал у Игоря, насколько эта плата была распространена и считалась надёжной в работе. Он говорит, что всё было ОК. Увы, других данных у меня нет (ну кроме того, что сейчас оригинал работает вообще без намёков на сбои - я за вчера много всякого перепробовал). С одной стороны. С другой: я всё же склоняюсь к тому, что либо был подбор d16, который не представляет сложности в условиях массового полуручного производства, как было с агатами, либо мы не догадываемся о чём-то ещё.

Увы, но самое грустное здесь то, что был у Игоря знакомый (Андрей Кулаков), который работал в этом самом "цеху настройки", но он умер несколько лет назад. Сейчас бы весьма пригодились сведения из первых рук.

А о том, почему было сделано так, а не иначе: он (Андрей) рассказывал о других блоках - там такие заковыристые причины могли быть, что в жизни не догадаешся. Вообще, порой, не относящиеся к технике. Или относящиеся, но неожиданно: например, ячейку 121 пришлось частично паять проводами, потому что при эксплуатации выяснилось, что какой-то регистр часто глючил во многих материнках агата. В итоге поставили другой (что-то вроде 580ви..), он был такого же размера, но совсем с другим расположением выводов. Плату почему-то переразвести было нереально сложно (фотошаблон переделывать?), поэтому всю микруху в 20 ног подпаивали проводами.

Или другое: на вроде бы второй версии контроллера 140ки стоит узел из 2 или 3 микрух, которые можно заменить одной. Причем эта одна была в доступе у заводов, поскольку стоит в материнках девятки. Так вот вроде бы именно Андрей сказал, что просто когда проектировали девятку - эти микрухи уже были, а в момент завершения работ над контроллером 140ки - ещё нет. И всё - проект есть, никто его менять ради экономии пары микрух не будет.

Можно и тут предположить то же самое: опытная партия заработала, а то что в серии оказалось, что не вывозит слегка ир-ка - ну и ладно, проще оказалось подбирать, чем менять схему.

-------=-

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

-------=-

Это сегодня вместо котиков:
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=176&amp;download=0

-------=-

И ещё ряд картинок. Так просто.. Очень цветастые, для настроения:

Исполняется прога вида: lda #ff / sta $a005 / jmp start
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=177&amp;download=0
Первые 7 линий - оригинальный модуль, 8я - тактовый сигнал ЦП, следующие 7 - новодел.
Все сигналы (кроме 8) сняты с одной микрухи DRAM на двух модулях.

Здесь видно, что шина данных (DI) меняется только при нулевом уровне основного тактового сигнала ЦП (F0), причём с большим запозданием после перехода 1->0.
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=178&amp;download=0

Здесь "неправильная" запись при сбоях фазогенератора (на новой плате):
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=179&amp;download=0
Но видно, что ничего неправильного на шинах нет, только !RAS == 1 держится всего 70 нс.

Дальше "правильная" запись на оригинальном модуле:
http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=180&amp;download=0
Тоже всё красиво.

Тайминги:
!RAS=1 .. !RAS=0 - 140 нс (при глюке - 70 нс)
!RAS=0 .. смена адреса - 80нс
смена адреса .. !CAS=0 - 60нс
!CAS=0 .. !CAS=1 - 210 нс (при глюке - 280 нс)

Post's attachments

Attachment icon 0-общий вид.png 40.51 kb, 47 downloads since 2017-05-22 

Attachment icon 1-как меняется шина данных.png 40.45 kb, 44 downloads since 2017-05-22 

Attachment icon 2-неправильная запись.png 41.37 kb, 45 downloads since 2017-05-22 

Attachment icon 3-правильная запись.png 39.78 kb, 45 downloads since 2017-05-22 

Attachment icon DSC_9188.jpg 270.49 kb, 38 downloads since 2017-05-22 

90

Re: Новодел модуля ОЗУ для Агат-9

А почему сигналы адресов А0-А2 у новодела и оригинала отличаются?

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

91 Отредактировано Wierzbowsky (22-05-2017 20:53)

Re: Новодел модуля ОЗУ для Агат-9

Мне кажется или на второй картинке сверху на новоделе 14МГц импульсы единички (10й канал) короче чем такие же импульсы (2й канал) на оригинальной плате? В итоге время для нолика раза в 3-4 больше чем для единички. Это вроде скважность называется...

92

Re: Новодел модуля ОЗУ для Агат-9

LeoN пишет:

А почему сигналы адресов А0-А2 у новодела и оригинала отличаются?

Может, это адресные входы ОЗУ? При сбое меняется и время переключения адресного мультиплексора.

Wierzbowsky пишет:

Мне кажется или на второй картинке сверху на новоделе 14МГц импульсы единички (10й канал) короче чем такие же импульсы (2й канал) на оригинальной плате? В итоге время для нолика раза в 3-4 больше чем для единички. Это вроде скважность называется...

Это же сбоящий сигнал !RAS вроде... Только масштаб по времени другой.

93 Отредактировано Voldemar0 (23-05-2017 06:21)

Re: Новодел модуля ОЗУ для Агат-9

LeoN пишет:

А почему сигналы адресов А0-А2 у новодела и оригинала отличаются?

а потому что это рефреш, а счётчики рефреша не инициализируются же

и там ещё есть такой прикол: вроде как старший бит счетчиков подключен к младшему адресу.
Т.е. сперва пробегают все чётные адреса, потом все нечётные. Ну это так в оригинале было

94 Отредактировано LeoN (23-05-2017 07:11)

Re: Новодел модуля ОЗУ для Агат-9

А при высоком уровне на F0 (фаза ЦП) почему разные? Уж не лагает ли дслоджик?

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

95 Отредактировано Voldemar0 (23-05-2017 07:41)

Re: Новодел модуля ОЗУ для Агат-9

LeoN пишет:

А при высоком уровне на F0 (фаза ЦП) почему разные? Уж не лагает ли дслоджик?

думаю, не лагает

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

Смотри: как только F0 поднимается в 1, через 70 нс происходит и смена ситуации на адресных линиях.
В результате к !RAS = 0 все адресные уже согласованно стоят в значении 5
А к приходу !CAS = 0 все так же согласованно упали в 0 (хотя это старшие разряды и часть их формируется из таблиц сегментов модулей, так что можно было бы их запрограммить на разные значения... но чтобы это видеть уже разрядов анализатора не хватит).

70нс - это как раз один такт 14.3 МГц - всё расписано по этим тактам.

96

Re: Новодел модуля ОЗУ для Агат-9

Я про каналы 3, 4, 5 и 11, 12, 13.
Ты же одни и те же банки памяти подключал на одни и те же сегменты на новоделе и оригинале (только слоты разные)?
Одинаковая тестовая прожка, правильно?
Значит при F0=1 младшие три бита адреса у новодела и оригинала должны совпадать? Не?

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

97

Re: Новодел модуля ОЗУ для Агат-9

LeoN пишет:

Я про каналы 3, 4, 5 и 11, 12, 13.
Ты же одни и те же банки памяти подключал на одни и те же сегменты на новоделе и оригинале (только слоты разные)?
Одинаковая тестовая прожка, правильно?
Значит при F0=1 младшие три бита адреса у новодела и оригинала должны совпадать? Не?

Ну они же и совпадают через 70нс после F0=1
Про какое место речь ?

98

Re: Новодел модуля ОЗУ для Агат-9

На всех четырех картинках каналы 3-5 (А0-2) не соответствуют каналам 11-13... Согласен при F0=0 (счетчики рефреша у каждого свои). Но при F0=1 они должны совпадать.

Турбо АГАТ-9/16 (65C802 CPU, 2.8 Маха), MSX2 Yamaha YIS503IIIR.

99 Отредактировано avivanov76 (23-05-2017 14:39)

Re: Новодел модуля ОЗУ для Агат-9

А по моему все там совпадает по уровням, разница только во времени изменения.
Смотрите, при F0=1 есть 4 разных состояния на адресных линиях ОЗУ.

  • Первые 60-70нс идет старое состояние от рефреша (я так понимаю - это задержка от D15 и прохождения через мультиплексор).

  • Дальше мультиплексор подключает младшие разряды шины адреса ЦП. Сигнал меняется (это второе состояние).

  • Потом с D16 приходит сигнал (0) подключения старших разрядов ША. Это третье состояние.

  • Потом сигнал с D16 (1) снова подключает младшие разряды ША. Это четвертое состояние. Но на сбойном модуле этот сигнал на 70 нс запаздывает, поэтому кажется, что на линиях адреса что-то не то.

100 Отредактировано Voldemar0 (24-05-2017 08:27)

Re: Новодел модуля ОЗУ для Агат-9

Вчера игрался с фазогенератором на предмет всё же причин: что именно его не устраивает. Таки всё как и предсказано: всё дело в реакции на PE - ему надо примерно 25 нс единички на этой ноге до спада Clock. И тут вот что интересно: сам по себе период PE длится всего три периода Clock. Если первый период Clock будет пропущен (из-за того, что зазор между Clock и PE окажется чуть короче 25 нс), то только на втором f1 (d16.13) перейдет в единицу, на третьем f2 перейдет в единицу, а к следующему такту PE уже будет давно в нуле (почему-то ир16 на ноль PE реагирует гораздо быстрее) и f1 снова упадёт в ноль - получится сокращенный импульс на f2 (d16.12).

А, собственно, откуда берётся и чем определяется сдвиг фаз между PE и Clock ?

Оба сигнала генерирует материнка и получаются они с совершенно жесткой логики. Потом проходят по длинным дорогам материнки и дальше через d15 на самом модуле ОЗУ. Причем материнка генерирует их так, что спад Clock (d16.9) чуть-чуть опережает PE (d16.6) (буквально на наносекунды, я предполагаю, что это вообще будет зависеть от экземпляра материнки). А подъём PE примерно на 20 нс раньше спада Clock. Вот тут и кроется засада: малейший сдвиг фаз между этими сигналами приводит к тому, что d16 успевает или не успевает отреагировать на первый такт Clock.

Cдвиг может быть обусловлен и толщинами дорожек и температурой и экземпляром d15 - просто из-за разницы задержек между её инверторами.

Что можно предпринять: мне помог обычный кругленький красный кондёр на 150 пф, включенный между d15.7 и d15.8. Он даёт задержку Clock примерно на 10 нс, что обеспечивает стабильную работу фазогенератора в диапазоне 4.8 .. 5.2 в.

Сейчас провод между слотом и d15.9 удалён и стало понятно, чем он помогал : он чуть-чуть сдвигал Clock чуть вперёд, тем самым позволяя в конце действия PE (1->0) успеть отработать ещё один такт, пока PE = 1.
Его действие было плохо предсказуемо (я про это писал где-то в начале этой ветки) именно потому, что влияет он совсем незначительно, а помимо его влияния существеннен и экземпляр d15 и температура и всё остальное. Надеюсь, кондёр даст заметно более стабильный результат.

Тестим дальше...


PS Если ир16 будет медленнее реагировать на переход PE 1->0 то она тоже будет нормально работать.