Не заводится УКНЦ :(

ЭВМ и ПЭВМ, производившиеся в СССР и странах СЭВ
Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 22.03.2021,13:37

Досталась плата от УКНЦ "Квант" с барахолки с полудохлой клавой (цифры, курсор и большая часть букв работают). Раньше с таким чудом дел не имел. Ведет себя так:

- При включении требует чуть повышенного напряжения (~5.2В), с прогревом ПП запускается и на 4.9
- При запуске - черный экран. В настройки и монитор выходит, меню загрузки не появляется, на кнопку "стоп" (и на ее имитацию) не реагирует
- Иногда выдает "ошибка ЦП", причем при сбросах она появляется постоянно, но если передернуть питание - исчезает
- Очень редко выдает "Ошибка ПЗУ 4" (чаще всего при пониженном до 4.9 напряжении)
- На шине ЦП активность есть, но она непостоянная и зависит от передергивания питания. ACL0 идет в 0 по кнопке Reset, DCL0 после нажатия на Reset также кратковременно идет в 0
- На ЦП смущает аномально низкая активность в разряде AD7, остальные сигналы шины шевелятся бодро, но бывает от включения к включению, что активности нет, или она со временем пропадает. Уровни и сопротивления шины нормальные.

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

Вообще под подозрением сам ЦП и ВП1-120, т.к. есть один чуть подсаженный сигнал IAK0 на ЦП, но это на первый взгляд. Есть возможность более точно локализовать проблему?

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 22.03.2021,16:46

Alex_K писал(а): 13.04.2009,20:47 Перезапуск ЦП через регистр 0177716:
0177076 <== 000000 запретить прерывания от источника канала 0 (иначе УКНЦ зависнет)
0177716 <== 000040 установить ACLO и DCLO. Должен появиться сигнал INIT на выходе ЦП.
0177716 <== 000000 снять сигнал DCLO. Должен сняться сигнал INIT
0177716 <== 100000 снять ACLO. ЦП должен запуститься
0177076 <== 000001 разрешить прерывание от источника канала 0
Эта последовательность на плате, вроде как, перезапускает ЦП, но правильной его работы нет. В ответ на команды монитор выводит "зависание", но статус ACL0/DCL0 меняется правильно. Значение регистров при сбросе по умолчанию:
177076 - 00031
177716 - 100200

UPD: Похоже, таки дохлый процессор ЦП. Точнее, полудохлый. Сигналы на соседних ножках /Sel и AD15 повторяют друг друга (точнее /Sel представляет собой чуть уменьшенную по амплитуде копию AD15). Такого, как я понимаю, быть не должно?

Venya_Fox
Advanced Member
Сообщения: 2059
Зарегистрирован: 11.04.2013,10:24
Откуда: Москва, Зеленоград
Контактная информация:

Вклад в сообщество

Не заводится УКНЦ :(

Сообщение Venya_Fox » 24.03.2021,03:09

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

MM
Advanced Member
Сообщения: 5894
Зарегистрирован: 02.08.2013,22:13
Откуда: Павловский Посад Мск.обл.
Контактная информация:

Вклад в сообщество

Не заводится УКНЦ :(

Сообщение MM » 24.03.2021,13:43

Mx_Serg писал(а): 22.03.2021,16:46 Похоже, таки дохлый процессор ЦП
Весьма маловероятно. Скорее, ошибка ОЗУ ( небольшая ) - т.к. в ЦП нет ПЗУ, для его запуска используется участок ОЗУ, для ЦП - в адресах 160000-177000. Отсюда и похожая синхронность AD15 и SEL - в режиме пульта ЦП постоянно работает в адресах свыше 160000, при уровне 0в. на АД15 в момент передачи адреса.

Дохлый ВМ2 - обычно имеет просаженные выводы - на общий или питание, редко - не может читать исполняемые инструкции с шины ( чтение ошибочно ), но что бы сбоил микрокод - Очень большая редкость.

Конденсаторы родные ?
Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 24.03.2021,19:34

Venya_Fox писал(а): 24.03.2021,03:09 Я бы попробовал для начала от заведомо стабильного блока питания запитать, может в нем дело.
БП лабораторный. Я всегда незнакомые железки с ним запускаю с ограничением по току. Здесь выставил 2.3А - в реальности потребление чуть меньше - 1.86, поэтому блок в режим регулятора тока не входит.
MM писал(а): 24.03.2021,13:43 Весьма маловероятно. Скорее, ошибка ОЗУ ( небольшая ) - т.к. в ЦП нет ПЗУ, для его запуска используется участок ОЗУ, для ЦП - в адресах 160000-177000. Отсюда и похожая синхронность AD15 и SEL - в режиме пульта ЦП постоянно работает в адресах свыше 160000, при уровне 0в. на АД15 в момент передачи адреса.
Возможно... Я тоже ОЗУ вначале подозревал, но "подсадка" и проверка осциллографом искажений формы ничего не дала... А как с пульта ПП проверить хотя-бы ту часть ОЗУ, которая отвечает за начальную инициализацию? Как переключаться между ОЗУ ПП/ЦП в теме есть, а вот как его проверить средствами монитора ПП не совсем понятно. Кондеры родные. Часть "синие" и немного "желтых".

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 26.03.2021,16:00

Ссылка на дамп прокисла, но скачал эмуль и сравнил с ним. К сожалению, эмуль не умеет корректно входить в пультовый режим ПП, поэтому сравнил дамп 160000 в отладчике. Вроде, совпадает, хотя все проверить - нужно КС этой области знать. Если процессор ЦП извлечь (переставил его на панельку) - картина не меняется.

P.S. Странно, что комп не пишет "ошибка ЦП", когда его нет. Нет процессора - нет проблемы - все логично :biggrin:

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 06.04.2021,14:30

В общем, странная плата какая-то... Без процессора на ОЗУ ЦП в момент старта R/W проскакивает, значит что-то пишется, но на шине данных каждый раз проскакивает что-то разное, несистемно. Характер поведения шины ОЗУ ЦП меняется не по ресету, а по включению-выключению. При установленном процессоре /Sync тоже не всегда появляется. Вообще непонятно, как данные физически в ОЗУ ЦП попадают - шина ЦП напрямую ПП недоступна. Вот код:

Код: Выделить всё

; Подпрограмма перекачки пультового отладчика в системное ОЗУ ЦП
173252$:MOV     #<160000/2>&77777,@#177010 ; Адрес начала системного ОЗУ ЦП
        MOV     #160000,R1      ; Адрес начала пультового отладчика
        MOV     #5305,R0        ; Размер перек. данных (160000 - 172611)
173270$:MOV     (R1)+,@#177014  ; Цикл перекачки
        INC     @#177010
        SOB     R0,173270$
        MOV     #173356$,R1     ; Адрес подпрограмм для ЦП
        MOV     #44,R0          ; Размер (173356 - 173465)
173312$:MOV     (R1)+,@#177014  ; Цикл перекачки в 172612 - 172721
        INC     @#177010
        SOB     R0,173312$
        MOV     @#177716,@#177014 ; (172722) = системный регистр управления
        MOV     #173466$,R1     ; Адр. мас. для уст. знач. ССП в вект.прер.
173336$:MOV     (R1)+,@#177010  ; Цикл установки
        MOV     #600,@#177014
        TST     @R1             ; Конец массива ?
        BNE     173336$         ; Нет
        RETURN
Через какой "коммутатор" он попадает в ОЗУ ЦП из адресного пространства ПП и на какие ОЗУ в случае их неисправности обратить особое внимание? Квадратно-гнездовой перепайкой заниматься не хотелось-бы. Качество платы не ахти, да еще и память запаяна с загнутыми выводами (у нас тоже была на сборке такая порочная практика - одни вставляли и загибали а другие паяли. Ремонтники в результате матерились, если что-то менять приходилось )) )

UPD: Раскурив кучку разрозненной документации пришел к выводу, что пересылкой ведает видеоконтроллер ХМ1-136 через регистры 177010 и 177014. В принципе, это логично, доступ к обеим шинам памяти у него есть. На момент перекачки по экрану должны проскакивать некие артефакты по стартовому "матрацу", если я правильно понимаю принцип инициализации, причем, т.к. судя по дизасму ПЗУ ЦП стопорится - передача должна идти и без него. И вот тут вопрос - никаких артефактов матраца не наблюдается, а у меня появился новый подозреваемый - видеоконтролер. Вопрос - как его проверить на предмет передачи данных в пространство ОЗУ ЦП. Видимо, придется расчехлять ЛА...

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 08.04.2021,14:58

Выделил немного времени для платы. Подключил анализатор на чип памяти D0 ОЗУ ЦП. Вроде, данные передаются после Reset. Передается 2801 слово за 51.2ms

На осциллограмме 4 бита младших адресов, D0, RAS/CAS, WE. Фрагмент в момент передачи ПП данных после Reset. К сожалению, ПП не очищает память, поэтому мешаются "левые" данные, не относящиеся к передаче. Есть какие-то аномалии? Вроде, на первый взгляд, передача проходит... А после снятия DCL0 процессор каждый раз ведет себя по-разному и выполняет что-то свое, не имеющее отношение к передаваемым данным ))
adrcpu.bmp
(1.4 МБ) 100 скачиваний
UPD: Полный файл в формате kingst studio 21Mb ( http://www.qdkingst.com/en )


UPD2: Наверное, следующий шаг - подкину еще SEL и посмотрю - чем процессор занимается после загрузки его программы (т.е. снятия DCL0), пока нет других соображений уважаемого сообщества...

... Проверил. Непонятно. Каждый раз после сброса или передергивания питания первый SEL после загрузки программы ЦП и снятия DCL сочетается с разными адресами ОЗУ. Никакой системы. Наверное, нужно уделить внимание КП ЦП ? нет, поторопился. Похоже, 54 пульса SEL программа идет одним путем, а дальше идет разными путями.

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 15.04.2021,16:20

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

Теперь по тому, что нашел. Не знаю, насколько корректно сравнивать с дампами 160000 эмулятора и реальной машины, но с точки входа 160300 оба дампа (ЦП, ПП) идентичны дампу эмулятора. А вот в области 160000...160300 есть отличия. ОЗУ ПП совпадает полностью, а в ОЗУ ЦП в адресах, где должны быть, в основном, нули в соответствии с дампом эмулятора (160050... 160170) находится копия ОЗУ ПП (т.е. не нули), кроме адреса 160112, где читается 17777, но там и в эмуле ненулевое значение.

Собственно, вопросы все те же. Возможно ли в принципе локализовать проблему с помощью монитора ПП? Эмулятор тут не 100% помощник. Отладчик - это чуть другое, так как возможно, дампы могут отличаться в зависимости от того из монитора я провожу сравнение или из стартового меню эмулятора... Пока нигде сводную инфу, что должно содержаться в регистрах по умолчанию и как проверить периферию не нашел, а по крупицам такой ремон может на год затянуться )) Вроде, ОЗУ на первый взгляд, в порядке. А 54 пульса SEL это где оно может примерно бродить начиная с 160300?

http://emuverse.ru/wiki/%D0%A3%D0%9A%D0 ... M_disasm_6

Alex_K
Newbie
Сообщения: 22
Зарегистрирован: 11.04.2009,14:56

Не заводится УКНЦ :(

Сообщение Alex_K » 17.04.2021,15:38

Mx_Serg писал(а): 15.04.2021,16:20 а в ОЗУ ЦП в адресах, где должны быть, в основном, нули в соответствии с дампом эмулятора (160050... 160170) находится копия ОЗУ ПП (т.е. не нули), кроме адреса 160112, где читается 17777, но там и в эмуле ненулевое значение.
В системном ОЗУ ЦП в адресах 0160050-0160167 находится ОЗУ пультового отладчика, адресация по регистру R4. Сам регистр загружается из ячейки 0172660, там должно быть 0160050. В ячейке 0160112 (смещение 042) находится ключ теста памяти, делать или нет. При первоначальном старте там содержится 0160270, после теста и очистки ОЗУ в диапазоне 0-0157777, заменяется на 0125252.

При старте ЦП читается вектор 0160000, должно быть 0160300 и 0600. Потом с адреса 0160300, в R4 загружается адрес ОЗУ пультового отладчика, он отрицательный - переход на 0160464. Проверка ключа теста памяти, если делать не надо, то на адрес 0160534. Проверяется память, с адреса 0172674 берется объём ОЗУ в словах (070000), проверяется и очищается память. С адреса 0160534 очищается ОЗУ пультового отладчика и заносятся его первоначальные значения для SP (01000) и PSW (0200), устанавливается ключ запрета теста памяти (0125252).

Так что в ячейке ключа теста памяти по адресу 0160112 значения 017777 быть не должно, что-то с ОЗУ. Можно пультовый отладчик ПП переключить на просмотр памяти ЦП и вручную позаносить разные значения по разным адресам и попробовать почитать. Есть вероятность, что ОЗУ целое, но что-то на шине ЦП, какой-то залип. Но тут нужен хороший логический анализатор на много каналов.

Mx_Serg
Advanced Member
Сообщения: 1847
Зарегистрирован: 04.06.2018,22:47

Не заводится УКНЦ :(

Сообщение Mx_Serg » 17.04.2021,16:24

Спасибо за доп. инфу!
Alex_K писал(а): 17.04.2021,15:38 Так что в ячейке ключа теста памяти по адресу 0160112 значения 017777 быть не должно, что-то с ОЗУ.
Помучил подольше. Оно там не всегда 17777. Бывает, что и другие значения, но отличные от нуля.

Результаты замеров
0172660 - 160050
0160112 - 125252
0160000 - 160300 600

Процессор всегда пытается выполнять команды одинаково (картина в логическом анализаторе после старта ЦП т.е. снятия DCL0 54 пульса SEL одинаковая, затем отличается). При этом идет периодческая запись в память ЦП. Затем она может как продолжаться зацикленно, так и прекратиться т.е. особой системы в поведении после 54 пульсов нет. Вроде, все сигналы (RAS/CAS, арбитраж, CE на БМК и пр.) выглядят правдоподобно, но я могу с нормальной частотой сканировать не более 9-и каналов одновременно. Из странного - есть какие-то редкие несистемные плюхи на сигнале BS КП ЦП (как на входе буфера, так и на его выходе), но, возможно, это так "художник анализатор видит" :)

И да, до очистки ОЗУ ЦП и памяти монитора, похоже дело не доходит. Там более-менее случайные значения.
Заметил еще один интересный глюк. Иногда терминал начинает печатать постоянно один символ (раз на 50 сбросов, наверное). Символы могут быть разные ("у", ":" и т.п.), но чаще всего картина все же статическая - черный экран и мигающий курсор в углу.

Ответить