Просмотр полной версии : Радио-86РК: еще раз о CAS
Поделюсь своим опытом мучений, может кому из новичков пригодится.
Собрал Радио-86РК по классической схеме (но с РУ5 и РФ5) на печатной плате от SergeyLLL, купленной на этом форуме. Чуда не случилось. После включения классическая проблема - разрушение памяти, на экране мусор. Иногда проявлялась сразу через несколько секунд после сброса, иногда через несколько минут, успевал даже загрузить коротенькую программку.
При этом тесты из тестовой ПЗУ (с проверкой 32кб) все проходили замечательно. Перечитал все темы на этом и других форумах, потом все материалы из журнала Радио. Вывод неутешительный получился: причины могут быть самые разнообразные, в основном проблемы с регенерацией памяти, а результат у всех проявляется примерно так же, как у меня - «недержание» памяти, изменение содержимого ячеек со временем.
Перечислю всё, что проделал за неделю и с каким успехом.
1). Поменял импульсный бп на бп с линейными стабилизаторами. Чтобы исключить лишний источник электромагнитных помех рядом с платой. НЕ ПОМОГЛО.
2). Непосредственно на выводы питания микросхем ОЗУ и мультиплексоров установил дополнительные блокировочные конденсаторы 0,068мкф. НЕ ПОМОГЛО.
3). Заменил микросхему ИР1 на ИР16, отодрав вывод 8 от 9-го и соединив его с питанием +5V. НЕ ПОМОГЛО.
4). По совету читателя журнала Радио зашунтировал вывод 11 ИР16 конденсатором 2200 пф. НЕ ПОМОГЛО.
5). По совету читателя Радио зашунтировал сам сигнал CAS непосредственно на выводах ближайшей к мультиплексорам микросхемы ОЗУ (вывод 15 и 16) конденсатором 120 пф. СРАБОТАЛО.
Все глюки ушли сразу. Наигрался, потом провел испытания. Директивой F монитора заполнил всю область ОЗУ пользователя (до 75FF) кодом AA. Спустя разные промежутки времени директивой С сравнивал первую половину ОЗУ (от 0000 до 3AFF) со второй (с 3B00 до конца). За сутки с небольшим ни один бит ни в одном байте памяти не изменил свое состояние.
Протокол испытаний на фото ниже.
К сожалению, не факт, что то же самое срабатывает на каждом компьютере. Насколько я понял, главная причина в разбросе параметров микросхем ОЗУ и не очень удачной схеме регенерации. Поэтому в каждом отдельном случае помогают свои методы. Тему создал, чтобы и о таком методе напомнить.
Удачи вам!
https://i.ibb.co/R3YHGKM/4827-FEC3-9170-4-EC1-82-FA-21-E0-EA6-FDF2-D.jpg (https://ibb.co/R3YHGKM)
SoftFelix
06.03.2020, 08:36
4). По совету читателя журнала Радио зашунтировал вывод 11 ИР16 конденсатором 2200 пф. НЕ ПОМОГЛО.
При таких ёмкостях там от фронта вообще ничего не остаётся. Если применяются такие задержки, то схемотехника крайне кривая: "сарай стягиваем рельсовыми костылями" (с) Немо.
5). По совету читателя Радио зашунтировал сам сигнал CAS непосредственно на выводах ближайшей к мультиплексорам микросхемы ОЗУ (вывод 15 и 16) конденсатором 120 пф. СРАБОТАЛО.
А резистор развязки /CAS какого номинала? 33 Ома, как на схеме?
Можно было ещё попробовать повесить небольшую ёмкость на 8-ую ногу ЛП5.
p.s. Я слышал о проблеме с динамической памяти у этого компа ещё на этапе публикования статей в журнале Радио. Сам собрал РК на SRAM только в 2014-ом году и сиЯ проблема (с DRAM) меня мИнула.
А резистор развязки /CAS какого номинала? 33 Ома, как на схеме?
Да, конечно.
Можно было ещё попробовать повесить небольшую ёмкость на 8-ую ногу ЛП5.
Уточните, какую емкость Вы называете небольшой. Пока у меня все это в виде открытого стенда и комп с явно выраженной этой проблемой, я могу попробовать и оценить эффективность.
Я слышал о проблеме с динамической памяти у этого компа ещё на этапе публикования статей в журнале Радио. Сам собрал РК на SRAM только в 2014-ом году и сиЯ проблема (с DRAM) меня мИнула.
Я не только слышал, но и видел. В январе 87-го мне ребята из металлостроевского НИИФА подарили плату, а через две недели я уже щупал руками эту проблему :). Мне тогда кто-то из ребят у "ЮТ" на Краснопутиловской дал дельный совет. Но вот что именно я тогда сделал, хоть убейте не помню... Тогда он исправно отработал еще два-три года, пока его Спектрумом не заменил. SRAM - нет, не феншуйно :), может позже.
Всё неправильно, конденсаторы портят фронты импульсов.
Единственно верное решение описано в ж. "Радио" 1989 № 11 с.41, автор А.Сапронов. Именно по такой схеме формируются сигнал /CAS во многих компьютерах с DRAM. Также, почему то никто не обращает внимание, что сдвиговый регистр -- это ни что иное, как устройство задержки сигнала, и все поголовно норовят реализовать его конденсаторами. У регистра имеются два свободных выхода 11 и 10, на которых сигнал задерживается ровно на один и два такта.
SoftFelix
06.03.2020, 15:31
Уточните, какую емкость Вы называете небольшой.
В пределах 100...470 пФ.
У регистра имеются два свободных выхода 11 и 10, на которых сигнал задерживается ровно на один и два такта.
Это да. Действительно это была основная доработка пол лечению глкодрома. Только у нас остаётся свободный последний разряд регистра - 10 вывод. На 11-ый ТС вешал 2200 пФ без результата. Но там, наверное, от переднего фронта вообще ничего не осталось. Из-за этого возможен дополнительный глюкодром. И ещё у ТС эффект проявился только на окончательно сформированном /CAS - выход ЛА3 (D10.2).
ppp, попробуй вариант с перекидованием сигнала с 11-ой ноги на 10-ую. Только ужЕ без конденсаторов.
Vital72, а здесь всё просто объясняется. Совет, который помог мне справиться с проблемой, опубликован в той же статье, но на стр.40, а совет Сапронова на 41. Я до него просто не дошел :). Пропала необходимость. Можно ли назвать действие неправильным, если оно привело к нужному результату - вопрос философский.
Но попробовать интересно. Даже несмотря на гораздо большую трудоемкость.
HardWareMan
06.03.2020, 16:39
Всё неправильно, конденсаторы портят фронты импульсов.
Единственно верное решение описано в ж. "Радио" 1989 № 11 с.41, автор А.Сапронов. Именно по такой схеме формируются сигнал /CAS во многих компьютерах с DRAM. Также, почему то никто не обращает внимание, что сдвиговый регистр -- это ни что иное, как устройство задержки сигнала, и все поголовно норовят реализовать его конденсаторами. У регистра имеются два свободных выхода 11 и 10, на которых сигнал задерживается ровно на один и два такта.
Шаманить ЛК конденсаторами и сопротивлениями это своего рода аудиофилия. Мы делаем потому что хотим это делать. А проектировать сразу правильно и чётко расчитанное это не наш метод.
Ну, в общем, вернул всё в исходное состояние. А именно:
1). Убрал конденсатор с линии CAS.
2). Вместо ИР16 вернул ИР1.
3). 8-ю ногу ИР1 оторвал от +5V и соединил отбратно с 9-й.
После этого проделал всё, что советовал Сапронов:
1). 1-ю ногу D16 (ир1) оторвал от общего.
2). 6-ю ногу D16 оторвал от 11-й D4.
3). 11-ю D4 соединил с 1-й D16.
4). 6-ю D16 соединил с общим.
Включил и прифигел - весь экран в постепенно появляющихся артефактах. Но после 3-го(!) сброса экран очистился и больше, сколько не включал-выключал и не нажимал сброс, никакого мусора на экране не появилось.
Заполнил память кодом 55. Сравнил - всё прекрасно. Спустя 15 минут опять сравнил - по-прежнему всё хорошо. Оставил включенным на сутки, завтра посмотрим.
Пока вроде все работает без всяких конденсаторов.
Откуда мусор при первых включениях после переделки и куда пропал - осталось загадкой. Прогрев чего-то? Врядли, ну секунды буквально прошли, сколько там времени надо, чтобы три раза сброс нажать...
https://i.ibb.co/Hq9K3Pz/1454-D5-BE-2-C75-4-B17-9239-2342-DBBC41-C6.jpg (https://ibb.co/Hq9K3Pz)
Радио-86РК
07.03.2020, 00:30
Мoгу предложить утилиту контролируемого отключения ПДП на строго заданный интервал с отображением артефактов, появившихся в памяти…
Радио-86РК, спасибо большое! Приятно спустя более 30 лет опять встретить живого человека, который пишет программки для РК. Правда, я не совсем понял как утилиткой пользоваться на компьютере, у которого разрушается память. Она же не заговоренная, её саму та же участь (разрушение) постигнет. Или ее можно записать в ПЗУ и вместо тестовой или монитора поставить?
Однако, вернемся к нашим баранам.
Вот снимок сегодняшнего утреннего экрана.
https://i.ibb.co/jvmH5ky/Test-CAS.jpg (https://ibb.co/jvmH5ky)
Результат такой же, как у меня был до этого (с конденсатором на CAS). Ни одна ячейка памяти не "поплыла". Но зато появилось чувство уверенности и надежности. С кондесаторным шаманством такого не было. Спасибо Vital72 за то, что посоветовал не останавливаться, а пойти дальше.
Напомню, что воспользовался методом Сапронова, т.е. поменять местами сигналы, идущие на входы V1(вывод 1) и V2(вывод 6) микросхемы D16 (155ИР1).
Вот так переделка выглядит на оригинальной схеме из журнала:
https://i.ibb.co/RYSVCRp/CAS.png (https://imgbb.com/)
Однако... приключения не закончились.
Выключил компьютер и повторно включил примерно через час. Когда он полностью остыл после ночной работы.
На экран полезли артефакты. И не только на экран. Я не успел даже ввести вторую команду, клавитура слушаться тоже отказалась.
https://i.ibb.co/YQrqXPp/1.jpg (https://ibb.co/YQrqXPp)
Количество мусора нарастало очень быстро. Это снимок через несколько секунд после первого.
https://i.ibb.co/q0wsX3P/2.jpg (https://ibb.co/q0wsX3P)
А теперь самое интересное. Через пару минут, после очередного сброса, компьютер опять заработал как часы - уверенно и надежно. Такое впечатление, что теперь он мусорит только пока холодный. Может пайка у меня где-нибудь плохая, может кто-то и мс дохленький и без подогрева никак в режим не войдет. В общем, надо искать это узкое место.
ppp, проверьте или замените мс D24.
IgorR76, поменял. Жаль нет здесь кнопочки "Большое спасибо" :). Глюк ушел.
Не знаю, связано это как-то или нет, но после замены микросхемы стал работать и автосброс при подаче питания. До этого, я даже увеличивал емкость с 0,47 до 0,68мкф, но всё равно приходилось после включения почти всегда нажимать кнопку сброса. Сейчас вроде нормально включается, со сбросом.
Радио-86РК
07.03.2020, 14:34
Количество мусора нарастало очень быстро. Это снимок через несколько секунд после первого.Кoгда пользовался своим КР-03 с импульсным БП, после одного неудачного опыта БП повредился и после очередного включения "прогревался" минут 20 со случайным попискиванием. Все эти минуты экран засорялся и компьютер был непригоден к эксплуатации…:v2_blush:
Потом, когда БП умолкал и стабилизировался, компьютер работал стабильно…:v2_dizzy_coder:
То есть, как уже поняли, советую поменять источник питания…
Приятно спустя более 30 лет опять встретить живого человека, который пишет программки для РК.Программирование под РК не даёт мозгу в конец одубеть после всех этих благ цивилизации в лице WebGL и Node.JS…:v2_dizzy_fisher:
Она же не заговоренная, её саму та же участь (разрушение) постигнет. Или ее можно записать в ПЗУ и вместо тестовой или монитора поставить?Она написана просто для изучения дегенерации данных вне циклов ПДП.
То есть, утилита годится только когда память практически стабильна и не рушится, но хочется экстремально её проверить и выявить вероятные проблемы.
Под ПЗУ я ещё не разрабатывал код… Нужно переписывать с нуля…:eek_std:
Доработал утилиту (71732): Теперь на время опыта ПДП не отключается, а перенастраивается и происходит регенерация лишь ячеек отображающих счётчик выдержки на экран.
Подробности - в текстовом файле…
То есть, как уже поняли, советую поменять источник питания…
С этого начинал. С БП, их тестирования на максимальной нагрузке и разглядывания осциллограмм на их выходах. Их - потому что подготовил два: и импульсный АТХ, и линейный от Апогея. И с тем, и с другим результат работы РК одинаковый.
Доработал утилиту (Psi_1v1.zip)
Спасибо, очень интересная утилитка. Надо ее тоже записать в ROMdisk, чтобы всегда под рукой была, если что-то смутит в работе РК.
Даже при максимальном установленном интервале [9999] у меня ничего не разрушается и не сбивается. Можно уже радоваться? :)
Кстати, чем эта программка выгодно отличается от множества других, которые можно сегодня найти в интернете - наличием внятного описания. Хочу даже попросить Вас, Радио-86РК, если будет желание и время, выпустить версию 1.2, в которой первый экран будет заполнен не случайным мусором из ОЗУ, а вот этой инструкцией, что сейчас в текстовом файлике. Стало бы еще удобнее.
Радио-86РК
10.03.2020, 02:44
Спасибо, очень интересная утилитка.Будетe смеяться, но изначально я её разрабатывал для исследования влияния на память разных паранормальных явлений (от торсионных полей до лампочки накаливания).:D
(Попадалась как-то статья про взлом системы банальным прогреванием памяти)
Даже при максимальном установленном интервале [9999] у меня ничего не разрушается и не сбивается. Можно уже радоваться?
Тем самым, ничего конкретного сказать не могу…
Хочу даже попросить Вас…
Оказывается, это не так просто, как я думал!
Версию 1.2 написал, но инструкция неверно кодируется и с этим предстоит ещё повозиться.:v2_dizzy_tired2:
А в целом, в 1.2 интервал можно задать максимум [999999] до 80 секунд - приличный период для обрушения любых данных!
И управление слегка изменилось: Подробности - в инструкции…
(И дизайн получился хуже из-за сложностей кодирования…)
Радио-86РК
10.03.2020, 23:08
Кaк и следовало ожидать, после тщательной переработки кода, написал окончательную Версию 1.3…
71771
Добавлена краткая справочная информация при запуске
Управление незначительно изменилось и стало более удобным
Максимальная длительность выдержки теперь может достигать примерно 19 минут
Думаю, уже понятно, что, после активной разработки, данная Версия 1.3 - окончательная.
P.S.: Чем данная утилита отличается от сотен остальных?
Если стандартные утилиты просто проверяют все ячейки на корректность записи/чтения, то эта утилита позволяет нагло прекратить цикл нормальной регенерации памяти усечением до 76%.
Бракованные микросхемы выдадут себя и на самых кратких интервалах…
Потестировал, всё замечательно работает. Спасибо.
https://i.ibb.co/XkTjPg6/2-BBADD7-A-64-CD-4383-A216-0-ECD05-BA6-CFD.jpg (https://ibb.co/XkTjPg6)
Shumadan
11.03.2020, 13:00
Потестировал, всё замечательно работает. Спасибо.
причину выявили?
Радио-86РК
11.03.2020, 14:13
Потестировал, всё замечательно работает. Спасибо.Нe совсем так…
Чем данная утилита отличается от сотен остальных?
Если стандартные утилиты просто проверяют все ячейки на корректность записи/чтения, то эта утилита позволяет нагло прекратить цикл нормальной регенерации памяти усечением до 76%.
Бракованные микросхемы выдадут себя и на самых кратких интервалах…То есть, утилиту мало запустить и нажать «ВК».:D
Сначала клавишами Вверх/Вниз нужно просмотреть всю память…
(Хотя, судя по фотографии экрана, некоторые параметры находятся вне поля зрения…)
Потом следует нажать Пробел и убрать квадратик. После чего нажатием «Стр» обнулить всю память.
И опять, клавишами Вверх/Вниз просмотреть память - везде ли чисто?
Вот теперь жмём Пробел (включаем квадратик для визуализации счётчика) нажимаем «ВК» и ждём.
После чего снова просматриваем память…
Если где-то появились символы, значит ячейки успели разрядиться…
Если же всё чисто - увеличиваем интервал и жмём «ВК».
Если слишком грязно - уменьшаем интервал, жмём «Пробел», «Стр», «Пробел»¹ и «ВК».
(Здесь интересно найти пограничный интервал, достаточный для сохранения данных…)
(¹Такие комбинации кажутся запутанными лишь вначале. Стоит освоиться - станет проще…)
Можно и проще: После первого же запуска просто увеличивать интервал и жать «ВК» до тех пор, пока на странице справки не начнут искажаться символы…
P.S.: Как уже поняли, утилита полностью на ручном управлении и вся параметризация, очистка и анализ должен производиться пользователем внимательно и кропотливо.
(Была ещё очень маленькая протоверсия с простым подсчётом битов «0» и «1» без визуализации памяти. Но, лично мне, интерес представляет именно просмотр памяти с визуальной оценкой ситуации.)
Поэтому, все данные здесь версии - не автоматизированы: Все сбои памяти оценивает именно пользователь!:v2_dizzy_coder:
(Как-то не подумал внести в справку все эти детали…)
причину выявили?
Да. Поправил подключение ИР1 и одна РУ5 «подтекала». Под тестовой ПЗУ притворялась хорошей.
- - - Добавлено - - -
Нe совсем так…
...
(Как-то не подумал внести в справку все эти детали…)
Думаю, это лишнее. Мне хватило двух минут, чтобы разобраться по приложенной справке. Хотя, Вам виднее.
То, что на снимке - это стартовый экран. Фото сделано после того, как наигрался в течении получаса. Снова запустил и снял показать ребятам, которые не могут или лень её запускать.
OldSpeccer
18.03.2020, 22:50
Время от времени каждый изобретает велосипед. И в итоге он всегда одинаковый:) https://zx-pk.ru/threads/11052-radio-86rk-platy-sborka-obsuzhdenie.html?p=1020793&viewfull=1#post1020793
OldSpeccer, да. А всё только из-за того, что нет ни одного интернет ресурса с систематизированной информацией по рк86. Сколько бы времени и нервов я сэкономил, если бы нашел ту Вашу информацию в самом начале...
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot